Skip to main content

Test results for hydra-tx

Hydra.Tx.IsTx

Tx

JSON encoding of (ReasonablySized (Tx ConwayEra))

  • allows to encode values with aeson and read them back

    Details
    +++ OK, passed 100 tests.
  • produces the same JSON as is found in golden/ReasonablySized (Tx ConwayEra).json

  • Same TxId before/after JSON encoding

    Details
    +++ OK, passed 100 tests.
  • Same TxId as TxBody after JSON decoding

    Details
    +++ OK, passed 100 tests.
  • Roundtrip to and from Ledger

    Details
    +++ OK, passed 100 tests.
  • Roundtrip CBOR encoding

    Details
    +++ OK, passed 100 tests.
  • JSON decode Babbage era transactions

    Details
    +++ OK, passed 100 tests.
  • CBOR decode Babbage era transactions

    Details
    +++ OK, passed 100 tests.

UTxO

JSON encoding of (UTxO' (TxOut CtxUTxO ConwayEra))

  • allows to encode values with aeson and read them back

    Details
    +++ OK, passed 100 tests.
  • produces the same JSON as is found in golden/UTxO' (TxOut CtxUTxO ConwayEra).json

  • Roundtrip to and from Api

    Details
    +++ OK, passed 100 tests.

Hydra.Tx.Contract.Contract

Fanout

  • is healthy

    Details
    +++ OK, passed 100 tests.
  • does not survive random adversarial mutations

    Details
    +++ OK, passed 200 tests.

    FanoutMutation (200 in total):
    23.5% MutateDecommitOutputValue
    22.5% MutateAddUnexpectedOutput
    20.5% MutateThreadTokenQuantity
    20.0% MutateFanoutOutputValue
    13.5% MutateValidityBeforeDeadline

ContestCurrent

  • is healthy

    Details
    +++ OK, passed 100 tests.
  • does not survive random adversarial mutations

    Details
    +++ OK, passed 200 tests.

    ContestMutation (200 in total):
    7.0% MutateContestUTxOHash
    7.0% PushDeadlineAlthoughItShouldNot
    6.5% MutateOutputContestationPeriod
    6.5% MutateSignatureButNotSnapshotNumber
    6.5% MutateSnapshotVersion
    6.0% MutateHeadIdInOutput
    6.0% MutateRequiredSigner
    5.5% MutateValidityPastDeadline
    5.0% ContestFromDifferentHead
    5.0% MutateMultipleRequiredSigner
    4.5% MutateSnapshotNumberButNotSignature
    4.5% MutateTokenMintingOrBurning
    4.5% NotContinueContract
    4.0% MutatePartiesInOutput
    4.0% MutateValueInOutput
    3.5% MutateContesters
    3.0% MutateInputContesters
    3.0% NotUpdateDeadlineAlthoughItShould
    3.0% SnapshotNotSignedByAllParties
    2.5% MutateNoRequiredSigner
    2.5% MutateToNonNewerSnapshot

CloseUsed

  • is healthy

    Details
    +++ OK, passed 100 tests.
  • does not survive random adversarial mutations

    Details
    +++ OK, passed 200 tests.

    CloseMutation (200 in total):
    7.0% MutateContesters
    6.5% MutateSignatureButNotSnapshotNumber
    6.5% MutateSnapshotVersion
    6.5% MutateValueInOutput
    6.0% MutateCloseSignatures
    6.0% MutatePartiesInOutput
    5.5% MutateContestationDeadline
    5.0% MutateContestationPeriod
    4.5% MutateInfiniteLowerBound
    4.5% MutateMultipleRequiredSigner
    4.5% MutateRequiredSigner
    4.5% MutateSnapshotNumberButNotSignature
    4.5% NotContinueContract
    3.5% CloseFromDifferentHead
    3.5% MutateCloseType
    3.0% MutateCloseUTxOHash
    3.0% MutateCloseUTxOToDecommitHash
    3.0% MutateTokenMintingOrBurning
    3.0% MutateValidityInterval
    2.5% MutateInfiniteUpperBound
    2.5% MutateNoRequiredSigner
    2.5% SnapshotNotSignedByAllParties
    2.0% MutateHeadIdInOutput

CloseUnused

  • is healthy

    Details
    +++ OK, passed 100 tests.
  • does not survive random adversarial mutations

    Details
    +++ OK, passed 200 tests.

    CloseMutation (200 in total):
    7.5% MutateSignatureButNotSnapshotNumber
    7.0% MutateContesters
    7.0% MutateSnapshotVersion
    6.5% MutateValueInOutput
    6.0% MutateContestationDeadline
    6.0% MutateInfiniteLowerBound
    6.0% MutatePartiesInOutput
    5.0% MutateContestationPeriod
    5.0% MutateRequiredSigner
    5.0% NotContinueContract
    4.5% CloseFromDifferentHead
    4.5% MutateCloseUTxOToDecommitHash
    4.5% MutateMultipleRequiredSigner
    4.5% MutateSnapshotNumberButNotSignature
    3.5% MutateTokenMintingOrBurning
    3.5% MutateValidityInterval
    3.0% MutateCloseUTxOHash
    3.0% MutateInfiniteUpperBound
    3.0% SnapshotNotSignedByAllParties
    2.5% MutateHeadIdInOutput
    2.5% MutateNoRequiredSigner

CloseInitial

  • is healthy

    Details
    +++ OK, passed 100 tests.
  • does not survive random adversarial mutations

    Details
    +++ OK, passed 400 tests.

    CloseInitialMutation (400 in total):
    100.0% MutateCloseContestationDeadline'

Recover

  • is healthy

    Details
    +++ OK, passed 100 tests.
  • does not survive random adversarial mutations

    Details
    +++ OK, passed 100 tests.

    RecoverMutation (100 in total):
    37% MutateRecoverOutput
    33% MutateDepositDeadline
    30% RemoveTxValidityLowerBound

Deposit

  • is healthy

    Details
    +++ OK, passed 100 tests.

Decrement

  • is healthy

    Details
    +++ OK, passed 100 tests.
  • does not survive random adversarial mutations

    Details
    +++ OK, passed 200 tests.

    DecrementMutation (200 in total):
    17.0% ProduceInvalidSignatures
    16.5% AlterRequiredSigner
    16.5% ChangeHeadValue
    12.0% ExtractSomeValue
    11.0% ChangeDecrementedValue
    10.0% UseDifferentSnapshotVersion
    9.5% DropDecommitOutput
    7.5% ChangePartiesInOuput

Increment

  • is healthy

    Details
    +++ OK, passed 100 tests.
  • does not survive random adversarial mutations

    Details
    +++ OK, passed 200 tests.

    IncrementMutation (200 in total):
    55.0% DepositMutateHeadId
    45.0% DepositMutateDepositDeadline

CollectCom

  • is healthy

    Details
    +++ OK, passed 100 tests.
  • does not survive random adversarial mutations

    Details
    +++ OK, passed 400 tests.

    CollectComMutation (400 in total):
    14.0% MutateOpenUTxOHash
    13.0% MutateOpenVersion
    12.5% MutateHeadId
    12.0% MutateCommitToInitial
    9.2% ExtractSomeValue
    8.2% MutateRequiredSigner
    8.2% RemoveSTFromOutput
    8.0% NotContinueContract
    7.5% MutateTokenMintingOrBurning
    7.2% MutateNumberOfParties

Commit

  • is healthy

    Details
    +++ OK, passed 100 tests.
  • does not survive random adversarial mutations

    Details
    +++ OK, passed 200 tests.

    CommitMutation (200 in total):
    17.0% MutateCommittedValue
    16.5% MutateCommittedAddress
    16.5% MutateRequiredSigner
    12.0% MutateTokenMintingOrBurning
    11.0% RecordAllCommittedUTxO
    10.0% MutateCommitOutputValue
    9.5% UsePTFromDifferentHead
    7.5% NonContinuousHeadId

Abort

  • is healthy

    Details
    +++ OK, passed 100 tests.
  • does not survive random adversarial mutations

    Details
    +++ OK, passed 400 tests.

    AbortMutation (400 in total):
    11.2% DropOneCommitOutput
    10.5% MutateRequiredSigner
    9.8% MutateThreadTokenQuantity
    8.8% UseInputFromOtherHead
    8.5% DoNotBurnST
    7.8% DoNotBurnSTInitial
    7.5% DropCollectedInput
    7.2% MintOnAbort
    7.0% ExtractValue
    5.8% BurnOneTokenMore
    5.8% MutateParties
    5.5% ReorderCommitOutputs
    4.8% MutateUseDifferentHeadToAbort

Init

  • is healthy

    Details
    +++ OK, passed 100 tests.
  • does not survive random adversarial mutations

    Details
    +++ OK, passed 200 tests.

    InitMutation (200 in total):
    17.0% MutateInitialOutputValue
    16.5% MutateDropInitialOutput
    16.5% MutateHeadIdInDatum
    12.0% MutateSeedInDatum
    11.0% MutateDropSeedInput
    10.0% MutateAddAnotherPT
    9.5% MutateHeadIdInInitialDatum
    7.5% MintTooManyTokens

Serializing commits

  • deserializeCommit . serializeCommit === id

    Details
    +++ OK, passed 100 tests.

TxOut hashing

  • hashUTxO == OnChain.hashTxOuts (on sorted tx outs)

    Details
    +++ OK, passed 20 tests.
  • OnChain.hashPreSerializedCommits == OnChain.hashTxOuts (on sorted tx outs)

    Details
    +++ OK, passed 20 tests.
  • does care about ordering of TxOut

    Details
    +++ OK, passed 20 tests; 34 discarded.

Signature validator

  • verifies snapshot multi-signature

    Details
    +++ OK, passed 100 tests.