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):
    21.0% MutateAddUnexpectedOutput
    21.0% MutateThreadTokenQuantity
    21.0% MutateValidityBeforeDeadline
    20.0% MutateFanoutOutputValue
    17.0% MutateDecommitOutputValue

ContestDec

  • is healthy

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

    Details
    +++ OK, passed 200 tests.

    ContestDecMutation (200 in total):
    29.5% ContestUsedDecAlterRedeemerDecommitHash
    19.5% ContestUnusedDecMutateSnapshotVersion
    14.5% ContestUsedDecAlterDatumomegaUTxOHash
    13.5% ContestUsedDecMutateSnapshotVersion
    11.5% ContestUnusedDecAlterDatumomegaUTxOHash
    11.5% ContestUnusedDecAlterRedeemerDecommitHash

ContestCurrent

  • is healthy

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

    Details
    +++ OK, passed 400 tests.

    ContestMutation (400 in total):
    9.8% MutateContestUTxOHash
    6.2% MutateContesters
    6.2% MutatePartiesInOutput
    6.0% ContestFromDifferentHead
    5.8% MutateOutputContestationPeriod
    5.2% MutateNoRequiredSigner
    5.0% MutateInputContesters
    5.0% MutateValueInOutput
    4.8% MutateRequiredSigner
    4.8% MutateSnapshotNumberButNotSignature
    4.8% PushDeadlineAlthoughItShouldNot
    4.5% MutateMultipleRequiredSigner
    4.2% MutateSignatureButNotSnapshotNumber
    4.2% MutateSnapshotVersion
    4.0% NotUpdateDeadlineAlthoughItShould
    4.0% SnapshotNotSignedByAllParties
    3.8% MutateToNonNewerSnapshot
    3.5% MutateTokenMintingOrBurning
    3.0% MutateHeadIdInOutput
    2.8% MutateValidityPastDeadline
    2.5% NotContinueContract

CloseUsedDec

  • is healthy

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

    Details
    +++ OK, passed 400 tests.

    CloseMutation (400 in total):
    6.0% MutateCloseUTxOToDecommitHash
    6.0% MutateValidityInterval
    5.8% MutateCloseUTxOHash
    5.8% MutateValueInOutput
    5.5% MutateHeadIdInOutput
    5.2% MutateRequiredSigner
    5.0% MutateInfiniteUpperBound
    4.8% CloseFromDifferentHead
    4.8% MutatePartiesInOutput
    4.5% MutateContesters
    4.2% MutateNoRequiredSigner
    4.2% MutateSignatureButNotSnapshotNumber
    4.2% MutateSnapshotNumberButNotSignature
    4.2% MutateSnapshotVersion
    4.0% MutateTokenMintingOrBurning
    3.8% MutateContestationDeadline
    3.8% MutateMultipleRequiredSigner
    3.5% MutateCloseType
    3.5% MutateInfiniteLowerBound
    3.5% SnapshotNotSignedByAllParties
    2.8% MutateContestationPeriod
    2.5% MutateCloseSignatures
    2.5% NotContinueContract

CloseUnusedDec

  • is healthy

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

    Details
    +++ OK, passed 400 tests.

    CloseMutation (400 in total):
    6.8% MutateValidityInterval
    6.2% MutateCloseUTxOToDecommitHash
    6.0% MutateHeadIdInOutput
    5.8% MutateCloseUTxOHash
    5.8% MutateValueInOutput
    5.5% MutateRequiredSigner
    5.2% MutateInfiniteUpperBound
    5.0% CloseFromDifferentHead
    5.0% MutatePartiesInOutput
    5.0% MutateSnapshotNumberButNotSignature
    4.8% MutateContesters
    4.8% MutateNoRequiredSigner
    4.5% MutateContestationDeadline
    4.5% MutateSignatureButNotSnapshotNumber
    4.2% MutateSnapshotVersion
    4.2% MutateTokenMintingOrBurning
    4.0% MutateMultipleRequiredSigner
    3.8% SnapshotNotSignedByAllParties
    3.5% MutateInfiniteLowerBound
    3.0% MutateContestationPeriod
    2.5% NotContinueContract

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 200 tests.

    RecoverMutation (200 in total):
    39.5% RemoveTxValidityLowerBound
    31.0% MutateDepositDeadline
    29.5% MutateRecoverOutput

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):
    16.0% DropDecommitOutput
    13.5% AlterRequiredSigner
    13.5% ChangePartiesInOuput
    12.5% ChangeHeadValue
    12.0% ExtractSomeValue
    12.0% ProduceInvalidSignatures
    11.0% ChangeDecrementedValue
    9.5% UseDifferentSnapshotVersion

Increment

  • is healthy

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

    Details
    +++ OK, passed 200 tests.

    IncrementMutation (200 in total):
    16.0% AlterRequiredSigner
    13.5% DepositMutateDepositDeadline
    13.5% IncrementUseDifferentSnapshotVersion
    12.5% ChangeHeadValue
    12.0% IncrementDifferentClaimRedeemer
    12.0% IncrementMutateParties
    11.0% ProduceInvalidSignatures
    9.5% DepositMutateHeadId

CollectCom

  • is healthy

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

    Details
    +++ OK, passed 200 tests.

    CollectComMutation (200 in total):
    14.0% MutateRequiredSigner
    13.5% MutateTokenMintingOrBurning
    11.5% MutateOpenVersion
    11.0% MutateNumberOfParties
    10.5% RemoveSTFromOutput
    9.5% NotContinueContract
    9.0% MutateCommitToInitial
    7.5% MutateHeadId
    7.5% MutateOpenUTxOHash
    6.0% ExtractSomeValue

Commit

  • is healthy

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

    Details
    +++ OK, passed 200 tests.

    CommitMutation (200 in total):
    16.0% UsePTFromDifferentHead
    13.5% MutateCommittedAddress
    13.5% NonContinuousHeadId
    12.5% MutateRequiredSigner
    12.0% MutateCommittedValue
    12.0% MutateTokenMintingOrBurning
    11.0% RecordAllCommittedUTxO
    9.5% MutateCommitOutputValue

Abort

  • is healthy

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

    Details
    +++ OK, passed 200 tests.

    AbortMutation (200 in total):
    11.5% MutateUseDifferentHeadToAbort
    11.0% MutateThreadTokenQuantity
    10.5% ReorderCommitOutputs
    9.0% BurnOneTokenMore
    9.0% MintOnAbort
    7.5% ExtractValue
    7.0% DropOneCommitOutput
    7.0% UseInputFromOtherHead
    6.5% DoNotBurnST
    6.5% MutateParties
    5.5% MutateRequiredSigner
    5.0% DropCollectedInput
    4.0% DoNotBurnSTInitial

Init

  • is healthy

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

    Details
    +++ OK, passed 200 tests.

    InitMutation (200 in total):
    16.0% MutateHeadIdInInitialDatum
    13.5% MintTooManyTokens
    13.5% MutateDropInitialOutput
    12.5% MutateHeadIdInDatum
    12.0% MutateInitialOutputValue
    12.0% MutateSeedInDatum
    11.0% MutateDropSeedInput
    9.5% MutateAddAnotherPT

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; 26 discarded.

Signature validator

  • verifies snapshot multi-signature

    Details
    +++ OK, passed 100 tests.