Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate AuxiliaryDataHash #4810

Merged
merged 3 commits into from
Dec 20, 2024

Extract `indexProxy` from `HashAnnotated` type class and deprecate it

e8f0bea
Select commit
Loading
Failed to load commit list.
Merged

Deprecate AuxiliaryDataHash #4810

Extract `indexProxy` from `HashAnnotated` type class and deprecate it
e8f0bea
Select commit
Loading
Failed to load commit list.
IOG Hydra / ci/hydra-build:x86_64-linux.ghc8107.checks.cardano-ledger-conway:test:tests timed out Dec 21, 2024 in 10h 0m 0s

Build timed out

1 failed steps

Details

Failed Steps

Step 1

Derivation

/nix/store/pvj9snjyrscjjr6wfrxz9krc4ghn6vrk-cardano-ledger-conway-test-tests-1.19.0.0-check.drv

Log

Running phase: unpackPhase
unpacking source archive /nix/store/rdyxn879fmzshn5imglvv9yl5a3m9s89-source-eras-conway-impl-test-tests-root
source root is source-eras-conway-impl-test-tests-root
Running phase: patchPhase
Running phase: buildPhase
/nix/store/z40kmqkd113sqkyiiksgljmha6qaif0n-cardano-ledger-conway-test-tests-1.19.0.0/bin:
patching script interpreter paths in /build/tmp.pvrGWv169N/bin

Conway
  Golden translation tests
    golden/translation.cbor [✔] (37095ms)
  Various tests for functions defined in Conway
    tierRefScriptFee is a linear function when growth is 1 [✔] (2ms)
      +++ OK, passed 100 tests.
    tierRefScriptFee [✔]
  Proposals
    Construction
      Adding new nodes keeps Proposals consistent [✔] (120662ms)
        +++ OK, passed 100 tests.
    Removal
      Removing leaf nodes keeps Proposals consistent [✔] (1401ms)
        +++ OK, passed 100 tests.
      Removing root nodes keeps Proposals consistent [✔] (1348ms)
        +++ OK, passed 100 tests.
      Removing non-member nodes throws an AssertionFailure [✔] (3634ms)
        +++ OK, passed 100 tests.
    Enactment
      Adding votes preserves consistency [✔] (6163ms)
        +++ OK, passed 100 tests.
      Enacting exhaustive lineages reduces Proposals to their roots [✔] (119391ms)
        +++ OK, passed 100 tests.
      Enacting non-member nodes throws an AssertionFailure [✔] (4775ms)
        +++ OK, passed 100 tests.
      Expiring compliments of exhaustive lineages keeps proposals consistent [✔] (115870ms)
        +++ OK, passed 100 tests.
      Expiring non-member nodes throws an AssertionFailure [✔] (2221ms)
        +++ OK, passed 100 tests.
      Enacting and expiring conflicting proposals does not lead to removal due to enactment [✔] (62437ms)
        +++ OK, passed 100 tests.
  Upgrade from Babbage to Conway
    upgradeTxOut is preserved through serialization [✔] (423ms)
      +++ OK, passed 100 tests.
    upgradeTxCert is preserved through serialization [✔] (6ms)
      +++ OK, passed 100 tests.
    upgradeTxAuxData is preserved through serialization [✔] (272ms)
      +++ OK, passed 100 tests.
    upgradeTxWits is preserved through serialization [✔] (871ms)
      +++ OK, passed 100 tests.
    upgradeTxBody is preserved through serialization [✔] (11601ms)
      +++ OK, passed 100 tests.
    upgradeTx is preserved through serialization [✔] (19737ms)
      +++ OK, passed 100 tests.
    upgradeScript is preserved through serialization [✔] (79ms)
      +++ OK, passed 100 tests.
  RoundTrip
    GovActionId [✔] (47ms)
      +++ OK, passed 100 tests.
    GovPurposeId 'PParamUpdatePurpose ConwayEra [✔] (36ms)
      +++ OK, passed 100 tests.
    GovPurposeId 'HardForkPurpose ConwayEra [✔] (46ms)
      +++ OK, passed 100 tests.
    GovPurposeId 'CommitteePurpose ConwayEra [✔] (43ms)
      +++ OK, passed 100 tests.
    GovPurposeId 'ConstitutionPurpose ConwayEra [✔] (83ms)
      +++ OK, passed 100 tests.
    Vote [✔] (38ms)
      +++ OK, passed 100 tests.
    Voter [✔] (42ms)
      +++ OK, passed 100 tests.
    Conway Transaction Types
      GovAction ConwayEra [✔] (34286ms)
        +++ OK, passed 100 tests.
      VotingProcedure ConwayEra [✔] (1ms)
        +++ OK, passed 100 tests.
      VotingProcedures ConwayEra [✔] (6878ms)
        +++ OK, passed 100 tests.
      ProposalProcedure ConwayEra [✔] (9243ms)
        +++ OK, passed 100 tests.
      Constitution ConwayEra [✔] (1ms)
        +++ OK, passed 100 tests.
      CostModels [✔] (40570ms)
        +++ OK, passed 100 tests.
    Conway State Types
      EnactState ConwayEra [✔] (110146ms)
        +++ OK, passed 100 tests.
      GovActionState ConwayEra [✔] (2521ms)
        +++ OK, passed 100 tests.
      Proposals ConwayEra [✔] (55668ms)
        +++ OK, passed 100 tests.
      DRepPulsingState ConwayEra [✔] (214861ms)
        +++ OK, passed 100 tests.
      PulsingSnapshot ConwayEra [✔] (105200ms)
        +++ OK, passed 100 tests.
      RatifyState ConwayEra [✔] (4273121ms)
        +++ OK, passed 100 tests.
    Alonzo era types
      Data ConwayEra [✔] (71ms)
        +++ OK, passed 100 tests.
      BinaryData ConwayEra [✔] (61ms)
        +++ OK, passed 100 tests.
      CostModels [✔] (1695348ms)
        +++ OK, passed 100 tests.
      Datum doesn't roundtrip
        Datum ConwayEra [‐]
          # PENDING: No reason given
    Core Type Families
      MaryValue [✔] (6372ms)
        +++ OK, passed 100 tests.
      CompactForm MaryValue [✔] (22186ms)
        +++ OK, passed 100 tests.
      BabbageTxOut ConwayEra [✔] (745ms)
        +++ OK, passed 100 tests.
      ConwayTxCert ConwayEra [✔] (11ms)
        +++ OK, passed 100 tests.
      PParams ConwayEra [✔] (1352507ms)
        +++ OK, passed 100 tests.
      PParamsUpdate ConwayEra [✔] (569077ms)
        +++ OK, passed 100 tests.
      AlonzoScript ConwayEra [✔] (9ms)
        +++ OK, passed 100 tests.
      AlonzoTxAuxData ConwayEra [✔] (9482ms)
        +++ OK, passed 100 tests.
      AlonzoTxWits ConwayEra [✔] (23638ms)
        +++ OK, passed 100 tests.
      ConwayTxBody ConwayEra [✔] (1083267ms)
        +++ OK, passed 100 tests.
      AlonzoTx ConwayEra [✔] (1120361ms)
        +++ OK, passed 100 tests.
    Core State Types
      BootstrapWitness [✔] (11ms)
        +++ OK, passed 100 tests.
      SnapShots [✔] (176828ms)
        +++ OK, passed 100 tests.
      DState ConwayEra [✔] (6435ms)
        +++ OK, passed 100 tests.
      PState ConwayEra [✔] (103832ms)
        +++ OK, passed 100 tests.
      CommitteeState ConwayEra [✔] (1752ms)
        +++ OK, passed 100 tests.
      VState ConwayEra [✔] (20374ms)
        +++ OK, passed 100 tests.
      CertState ConwayEra [✔] (135184ms)
        +++ OK, passed 100 tests.
      UTxO ConwayEra [✔] (18406ms)
        +++ OK, passed 100 tests.
    State Types Families
      ConwayGovState ConwayEra [✔] (9125661ms)
        +++ OK, passed 100 tests.
    State Types
      UTxOState ConwayEra [✔] (9437200ms)
        +++ OK, passed 100 tests.
      EpochState ConwayEra [✔] (5142843ms)
        +++ OK, passed 100 tests.
      NewEpochState ConwayEra [✔] (129557ms)
        +++ OK, passed 100 tests.
    Predicate Failures
      ConwayGovPredFailure ConwayEra [✔] (549ms)
        +++ OK, passed 100 tests.
      ConwayUtxosPredFailure ConwayEra [✔] (12270ms)
        +++ OK, passed 100 tests.
      ConwayLedgerPredFailure ConwayEra [✔] (6ms)
        +++ OK, passed 100 tests.
      ConwayCertsPredFailure ConwayEra [✔] (10ms)
        +++ OK, passed 100 tests.
      ConwayCertPredFailure ConwayEra [✔]
        +++ OK, passed 100 tests.
      ConwayDelegPredFailure ConwayEra [✔]
        +++ OK, passed 100 tests.
      ConwayGovCertPredFailure ConwayEra [✔]
        +++ OK, passed 100 tests.
      ConwayUtxowPredFailure ConwayEra [✔] (851ms)
        +++ OK, passed 100 tests.
      ConwayUtxoPredFailure ConwayEra [✔] (68ms)
        +++ OK, passed 100 tests.
      ShelleyLedgersPredFailure ConwayEra [✔] (6ms)
        +++ OK, passed 100 tests.
      ShelleyPoolPredFailure ConwayEra [✔]
        +++ OK, passed 100 tests.
    ConwayGenesis [✔] (5970ms)
      +++ OK, passed 100 tests.
    Regression
      Drop Ptrs from Incrementasl Stake [✔] (39333ms)
        +++ OK, passed 100 tests.
  CDDL
    Ruby-based
      positive_coin: MaryValue [✔] (2427ms)
      value: MaryValue [✔] (2400ms)
      transaction_body: Annotator (MemoBytes ConwayTxBodyRaw ConwayEra) [✔] (2701ms)
      auxiliary_data: Annotator (MemoBytes AlonzoTxAuxDataRaw ConwayEra) [✔] (2418ms)
      native_script: Annotator (MemoBytes TimelockRaw ConwayEra) [✔] (2396ms)
      plutus_data: Annotator (MemoBytes PlutusData ConwayEra) [✔] (2402ms)
      transaction_output: BabbageTxOut ConwayEra [✔] (2432ms)
      script: Annotator (AlonzoScript ConwayEra) [✔] (2403ms)
      datum_option: Datum ConwayEra [✔] (2407ms)
      transaction_witness_set: Annotator (MemoBytes AlonzoTxWitsRaw ConwayEra) [✔] (2433ms)
      protocol_param_update: ConwayPParams StrictMaybe ConwayEra [✔] (2621ms)
      cost_models: CostModels [✔] (2666ms)
      redeemers: Annotator (MemoBytes RedeemersRaw ConwayEra) [✔] (2485ms)
      transaction: Annotator (AlonzoTx ConwayEra) [✔] (3168ms)
      voting_procedure: VotingProcedure ConwayEra [✔] (2396ms)
      proposal_procedure: ProposalProcedure ConwayEra [✔] (2462ms)
      gov_action: GovAction ConwayEra [✔] (2421ms)
      certificate: ConwayTxCert ConwayEra [✔] (2417ms)
    Huddle
      positive_coin: MaryValue [✔] (1ms)
      value: MaryValue [✔] (3ms)
      transaction_body: Annotator (MemoBytes ConwayTxBodyRaw ConwayEra) [✔] (10ms)
      auxiliary_data: Annotator (MemoBytes AlonzoTxAuxDataRaw ConwayEra) [✔] (3ms)
      native_script: Annotator (MemoBytes TimelockRaw ConwayEra) [✔] (1ms)
      plutus_data: Annotator (MemoBytes PlutusData ConwayEra) [✔] (3ms)
      transaction_output: BabbageTxOut ConwayEra [✔] (3ms)
      script: Annotator (AlonzoScript ConwayEra) [✔]
      datum_option: Datum ConwayEra [✔] (1ms)
      transaction_witness_set: Annotator (MemoBytes AlonzoTxWitsRaw ConwayEra) [✔] (4ms)
      protocol_param_update: ConwayPParams StrictMaybe ConwayEra [✔] (349ms)
      cost_models: CostModels [✔] (5099ms)
      redeemers: Annotator (MemoBytes RedeemersRaw ConwayEra) [✔] (7ms)
      transaction: Annotator (AlonzoTx ConwayEra) [✔] (16ms)
      voting_procedure: VotingProcedure ConwayEra [✔]
      proposal_procedure: ProposalProcedure ConwayEra [✔] (4ms)
      gov_action: GovAction ConwayEra [✔] (2ms)
      certificate: ConwayTxCert ConwayEra [✔]
  DRep Ratification
    PParamsUpdateThreshold always selects a threshold [✔] (2ms)
      +++ OK, passed 100 tests.
    If there is no stake, accept iff threshold is zero [✔] (3496ms)
      +++ OK, passed 100 tests.
    DRep vote count for arbitrary vote ratios [✔] (2ms)
      +++ OK, passed 100 tests.
    If all votes are abstain, accepted ratio is zero [✔] (1ms)
      +++ OK, passed 100 tests.
    If there are no votes, accepted ratio is zero [✔] (1ms)
      +++ OK, passed 100 tests.
    If all vote yes, accepted ratio is 1 (unless there is no stake)  [✔] (1ms)
      +++ OK, passed 100 tests.
    If all votes are no confidence, accepted ratio is zero [✔] (1ms)
      +++ OK, passed 100 tests.
  Committee Ratification
    Only NoConfidence or UpdateCommittee should pass without a committee [✔] (2469ms)
      +++ OK, passed 100 tests.
    Committee vote count for arbitrary vote ratios [✔] (2ms)
      +++ OK, passed 100 tests.
    If all vote yes, ratio is 1 [✔] (2ms)
      +++ OK, passed 100 tests.
    If all vote no, ratio is 0 [✔] (2ms)
      +++ OK, passed 100 tests.
    If all abstain, ratio is 0 [✔] (2ms)
      +++ OK, passed 100 tests.
    Expired or resigned members are not counted [✔] (3ms)
      +++ OK, passed 100 tests.
  SPO Ratification
    SPO vote count for arbitrary vote ratios [✔] (3211ms)
      +++ OK, passed 100 tests.
    If there is no stake, accept iff threshold is zero [✔] (2369ms)
      +++ OK, passed 100 tests.
    If all votes are abstain, accepted ratio is zero [✔] (3232ms)
      +++ OK, passed 100 tests.
    If there are no votes, accepted ratio is zero [✔] (215ms)
      +++ OK, passed 100 tests.
    If all vote yes, accepted ratio is 1 (unless there is no stake)  [✔] (217ms)
      +++ OK, passed 100 tests.
    If all votes are no confidence, accepted ratio is zero [✔] (3256ms)
      +++ OK, passed 100 tests.
  ConwayGenesis
    Golden Spec
      should deserialize to the default value [✔] (15ms)
    Upgrades [✔] (771ms)
      +++ OK, passed 100 tests.
  Conway governance actions reordering
    preserves length when reordered [✔] (132ms)
      +++ OK, passed 100 tests.
    sorts by priority [✔] (133ms)
      +++ OK, passed 100 tests.
    same priority actions are not rearranged [✔] (983ms)
      +++ OK, passed 100 tests.
    orders actions correctly with shuffles [✔] (868ms)
      +++ OK, passed 100 tests.
  Conway
    RoundTrip JSON
      PParams ConwayEra [✔] (4078ms)
        +++ OK, passed 100 tests.
  Imp
    ShelleyImpSpec
      LEDGER
        Transactions update UTxO [✔] (42ms)
      EPOCH
        Runs basic transaction [✔] (356ms)
        Crosses epoch boundaries [✔] (713ms)
      UTXOW
        Bootstrap Witness
          Valid Witnesses [✔] (1ms)
          InvalidWitnessesUTXOW [✔] (1ms)
        MissingVKeyWitnessesUTXOW [✔]
        MissingScriptWitnessesUTXOW [✔] (1ms)
        MissingTxBodyMetadataHash [✔]
        MissingTxMetadata [✔]
        ConflictingMetadataHash [✔]
        ExtraneousScriptWitnessesUTXOW [✔]
      UTXO
        ShelleyUtxoPredFailure
          ValueNotConservedUTxO [✔]
    ShelleyPureTests
      StakeDistrIncludesRewards [✔] (360ms)
        +++ OK, passed 100 tests.
    AllegraImpSpec
      UTXOW
        InvalidMetadata [✔]
    MaryImpSpec
      UTXO
        Mint a Token [✔]
        ShelleyUtxoPredFailure
          ValueNotConservedUTxO [✔] (1ms)
    AlonzoImpSpec
      UTXO
        Wrong network ID [✔]
        PlutusV1
          Too many execution units for tx [✔] (1ms)
          Insufficient collateral [✔] (1ms)
        PlutusV2
          Too many execution units for tx [✔] (1ms)
          Insufficient collateral [✔] (1ms)
        PlutusV3
          Too many execution units for tx [✔] (1ms)
          Insufficient collateral [✔] (2ms)
      UTXOS
        PlutusV1
          Spending scripts with a Datum
            redeemerSameAsDatum [✔] (323ms)
            purposeIsWellformedWithDatum [✔] (334ms)
            datumIsWellformed [✔] (332ms)
            inputsOutputsAreNotEmptyWithDatum [✔] (327ms)
          Valid transaction marked as invalid [✔]
          Invalid transaction marked as valid [✔] (5ms)
          Invalid plutus script fails in phase 2 [✔] (1ms)
          Scripts pass in phase 2
            purposeIsWellformedWithDatum [✔] (3ms)
            datumIsWellformed [✔] (1ms)
            inputsOutputsAreNotEmptyWithDatum [✔] (1ms)
          No cost model [✔] (1ms)
        PlutusV2
          Spending scripts with a Datum
            redeemerSameAsDatum [✔] (317ms)
            purposeIsWellformedWithDatum [✔] (321ms)
            datumIsWellformed [✔] (337ms)
            inputsOutputsAreNotEmptyWithDatum [✔] (336ms)
          Valid transaction marked as invalid [✔]
          Invalid transaction marked as valid [✔] (5ms)
          Invalid plutus script fails in phase 2 [✔] (1ms)
          Scripts pass in phase 2
            purposeIsWellformedWithDatum [✔] (2ms)
            datumIsWellformed [✔] (2ms)
            inputsOutputsAreNotEmptyWithDatum [✔] (1ms)
          No cost model [✔] (1ms)
        PlutusV3
          Spending scripts with a Datum
            redeemerSameAsDatum [✔] (326ms)
            purposeIsWellformedWithDatum [✔] (337ms)
            datumIsWellformed [✔] (333ms)
            inputsOutputsAreNotEmptyWithDatum [✔] (327ms)
          Valid transaction marked as invalid [✔]
          Invalid transaction marked as valid [✔] (8ms)
          Invalid plutus script fails in phase 2 [✔] (1ms)
          Scripts pass in phase 2
            purposeIsWellformedWithDatum [✔] (2ms)
            datumIsWellformed [✔] (2ms)
            inputsOutputsAreNotEmptyWithDatum [✔] (2ms)
          No cost model [✔] (1ms)
      UTXOW
        Valid transactions
          PlutusV1
            Validating SPEND script [✔] (1ms)
            Not validating SPEND script [✔] (5ms)
            Validating CERT script [✔] (1ms)
            Not validating CERT script [✔] (4ms)
            Validating WITHDRAWAL script [✔] (1ms)
            Not validating WITHDRAWAL script [✔] (4ms)
            Validating MINT script [✔] (1ms)
            Not validating MINT script [✔] (5ms)
          PlutusV2
            Validating SPEND script [✔] (1ms)
            Not validating SPEND script [✔] (4ms)
            Validating CERT script [✔] (1ms)
            Not validating CERT script [✔] (5ms)
            Validating WITHDRAWAL script [✔] (1ms)
            Not validating WITHDRAWAL script [✔] (5ms)
            Validating MINT script [✔] (1ms)
            Not validating MINT script [✔] (4ms)
          PlutusV3
            Validating SPEND script [✔] (1ms)
            Not validating SPEND script [✔] (8ms)
            Validating CERT script [✔] (2ms)
            Not validating CERT script [✔] (7ms)
            Validating WITHDRAWAL script [✔] (1ms)
            Not validating WITHDRAWAL script [✔] (7ms)
            Validating MINT script [✔] (1ms)
            Not validating MINT script [✔] (7ms)
          Validating scripts everywhere [‐]
            # PENDING: not implemented yet
          Acceptable supplimentary datum [‐]
            # PENDING: not implemented yet
          Multiple identical certificates [‐]
            # PENDING: not implemented yet
          Non-script output with datum [‐]
            # PENDING: not implemented yet
        Invalid transactions
          Phase 1 script failure [✔]
          PlutusV1
            MissingRedeemers [✔] (1ms)
            MissingRequiredDatums [✔] (1ms)
            NotAllowedSupplementalDatums [✔] (1ms)
            PPViewHashesDontMatch
              Mismatched [✔] (1ms)
              Missing [✔] (1ms)
            UnspendableUTxONoDatumHash [✔] (1ms)
            No ExtraRedeemers on same script certificates [✔] (2ms)
            Missing phase-2 script witness [✔] (1ms)
            Redeemer with incorrect purpose [✔] (1ms)
            Missing witness for collateral input [✔] (1ms)
            Extra Redeemer
              Minting [✔] (1ms)
              Spending [✔] (1ms)
              Multiple equal plutus-locked certs [✔] (1ms)
          PlutusV2
            MissingRedeemers [✔] (1ms)
            MissingRequiredDatums [✔] (1ms)
            NotAllowedSupplementalDatums [✔] (1ms)
            PPViewHashesDontMatch
              Mismatched [✔] (1ms)
              Missing [✔] (1ms)
            UnspendableUTxONoDatumHash [✔] (2ms)
            No ExtraRedeemers on same script certificates [✔] (2ms)
            Missing phase-2 script witness [✔] (1ms)
            Redeemer with incorrect purpose [✔] (1ms)
            Missing witness for collateral input [✔] (1ms)
          PlutusV3
            MissingRedeemers [✔] (2ms)
            MissingRequiredDatums [✔] (2ms)
            NotAllowedSupplementalDatums [✔] (1ms)
            PPViewHashesDontMatch
              Mismatched [✔] (2ms)
              Missing [✔] (1ms)
            UnspendableUTxONoDatumHash [✔] (3ms)
            No ExtraRedeemers on same script certificates [✔] (3ms)
            Missing phase-2 script witness [✔] (1ms)
            Redeemer with incorrect purpose [✔] (1ms)
            Missing witness for collateral input [✔] (1ms)
    BabbageImpSpec
      UTXOW
        MalformedScriptWitnesses [✔] (1ms)
        MalformedReferenceScripts [✔]
        ExtraRedeemers/RedeemerPointerPointsToNothing [✔] (3ms)
        P1 reference scripts must be witnessed [✔]
    ConwayImpSpec - Version 9
      BBODY
        BBODY
          BodyRefScriptsSizeTooBig [✔] (182ms)
      CERTS
        Withdrawals
          Withdrawing from an unregistered reward account [✔] (1538ms)
          Withdrawing the wrong amount [✔] (3136ms)
      DELEG
        Register stake credential
          With correct deposit or without any deposit [✔]
          Twice the same certificate in the same transaction [✔]
          When already already registered [✔] (3ms)
          With incorrect deposit [✔]
        Unregister stake credentials
          When registered [✔] (3ms)
          When not registered [✔]
          With incorrect deposit [✔] (1ms)
          With non-zero reward balance [✔] (1518ms)
          Register and unregister in the same transaction [✔]
          deregistering returns the deposit [✔] (13179ms)
        Delegate stake
          Delegate registered stake credentials to registered pool [✔] (1ms)
          Register and delegate in the same transaction [✔] (1ms)
          Delegate unregistered stake credentials [✔] (1ms)
          Delegate to unregistered pool [✔]
          Delegate already delegated credentials [✔] (4ms)
          Delegate and unregister [✔] (1ms)
        Delegate vote
          Delegate vote of registered stake credentials to registered drep [✔] (830ms)
          Delegate vote of registered stake credentials to unregistered drep [✔] (864ms)
          Delegate vote of unregistered stake credentials [✔]?7h
          Redelegate vote [✔] (2ms)
          Delegate vote and unregister stake credentials [✔] (1ms)
        Delegate both stake and vote
          Delegate and unregister credentials [✔] (1ms)
          Delegate to DRep and SPO and change delegation to a different SPO [✔] (2ms)
          Delegate, retire and re-register pool [✔] (2640ms)
      ENACT
        Committee enactment
          Enact UpdateCommitee with lengthy lifetime [✔] (3ms)
          CC re-election [✔] (695ms)
          Removing CC with UpdateCommittee
            Non registered [✔] (697ms)
            Registered [✔] (706ms)
        Treasury withdrawals
          Modify EnactState as expected [✔]
          Withdrawals exceeding treasury submitted in a single proposal [✔]
          Withdrawals exceeding maxBound Word64 submitted in a single proposal [✔]
          Withdrawals exceeding treasury submitted in several proposals within the same epoch [✔]
        NoConfidence [✔]
        HardForkInitiation [✔]
        Constitution [✔] (1ms)
        Competing proposals
          higher action priority wins [✔] (3ms)
          proposals of same priority are enacted in order of submission [✔] (822ms)
          only the first action of a transaction gets enacted [✔] (852ms)
        HardForkInitiation without DRep voting [✔] (1637ms)
        futurePParams [✔] (676ms)
      EPOCH
        DRep
          proposal is accepted after two epochs [✔]
        Treasury
          TreasuryWithdrawal [✔]
          TreasuryWithdrawalExtra [✔]
          deposit is moved to treasury when the reward address is not registered [✔] (3955ms)
        Proposals
          Proposals survive multiple epochs without any activity [✔] (2405ms)
          Expired proposal deposit refunded [✔] (1152ms)
          Proposals are expired and removed as expected [✔]
        DRep
          expiry is updated based on the number of dormant epochs [✔] (2360ms)
          expiry is not updated for inactive DReps [✔] (2378ms)
          expiry updates are correct for a mixture of cases [✔] (4863ms)
          DRep registration should succeed [✔] (321ms)
        Events
          emits event
            GovInfoEvent [✔] (4958ms)
      GOV
        Constitution proposals
          accepted for
            empty PrevGovId before the first constitution is enacted [✔] (1ms)
            valid GovPurposeId [✔]
          rejected for
            empty PrevGovId after the first constitution was enacted [✔] (2ms)
            invalid index in GovPurposeId [✔]
            valid GovPurposeId but invalid purpose [✔]
        Proposals
          Consistency
            Proposals submitted without proper parent fail [✔] (5ms)
            Subtrees are pruned when proposals expire [✔] (2309ms)
            Subtrees are pruned when proposals expire over multiple rounds [✔] (5230ms)
            Subtrees are pruned when competing proposals are enacted [✔]
            Subtrees are pruned when competing proposals are enacted over multiple rounds [✔]
            Subtrees are pruned for both enactment and expiry over multiple rounds [✔]
            Votes from subsequent epochs are considered for ratification [✔]
            Proposals are stored in the expected order [✔]
        Voting
          VotersDoNotExist [✔] (2ms)
          DRep votes are removed [✔] (1ms)
          expired gov-actions [✔] (1126ms)
          non-existent gov-actions [✔] (2ms)
          committee member can not vote on UpdateCommittee action [✔]
          committee member can not vote on NoConfidence action [✔]
          committee member mixed with other voters can not vote on UpdateCommittee action [✔]
          CC cannot ratify if below threshold [✔]
        Policy
          policy is respected by proposals [✔]
        Predicate failures
          ProposalReturnAccountDoesNotExist [✔] (1ms)
          ExpirationEpochTooSmall [✔] (322ms)
          ProposalDepositIncorrect [✔]
          ConflictingCommitteeUpdate [✔]
        Unknown CostModels
          Are accepted [✔] (1166ms)
        Withdrawals
          Fails predicate when treasury withdrawal has nonexistent return address [✔] (2ms)
          Fails with invalid network ID in withdrawal addresses [✔] (1ms)
          Fails for empty withdrawals [✔] (7ms)
        HardFork
          Hardfork is the first one (doesn't have a GovPurposeId) 
            Hardfork minorFollow [✔]
            Hardfork majorFollow [✔]
            Hardfork cantFollow [✔]
          Hardfork is the second one (has a GovPurposeId)
            Hardfork minorFollow [✔] (1ms)
            Hardfork majorFollow [✔] (1ms)
            Hardfork cantFollow [✔] (1ms)
        PParamUpdate
          PPU needs to be wellformed
            ppuMaxBBSizeL cannot be 0 [✔] (2ms)
            ppuMaxTxSizeL cannot be 0 [✔] (1ms)
            ppuMaxBHSizeL cannot be 0 [✔] (1ms)
            ppuMaxValSizeL cannot be 0 [✔] (1ms)
            ppuCollateralPercentageL cannot be 0 [✔] (1ms)
            ppuCommitteeMaxTermLengthL cannot be 0 [✔] (1ms)
            ppuGovActionLifetimeL cannot be 0 [✔] (1ms)
            ppuPoolDepositL cannot be 0 [✔] (3ms)
            ppuGovActionDepositL cannot be 0 [✔] (1ms)
            ppuDRepDepositL cannot be 0 [✔] (1ms)
            PPU cannot be empty [✔] (1ms)
        Network ID
          Fails with invalid network ID in proposal return address [✔]
        Proposing and voting
          Parameter change [✔] (5ms)
          Hardfork initiation [✔] (4ms)
          Info action [✔] (4ms)
          Treasury withdrawal [✔] (2ms)
          NoConfidence [✔]
          UpdateCommittee [✔]
          NewConstitution [✔]
      GOVCERT
        Resigning proposed CC key [✔]
        succeeds for
          registering and unregistering a DRep [✔]
          resigning a non-CC key [✔]
          re-registering a CC hot key [✔] (6ms)
        fails for
          invalid deposit provided with DRep registration cert [✔]
          invalid refund provided with DRep deregistration cert [✔]
          DRep already registered [✔]
          unregistering a nonexistent DRep [✔]
          registering a resigned CC member hotkey [✔] (2ms)
      LEDGER
        TxRefScriptsSizeTooBig [✔] (35ms)
        Withdraw from delegated and non-delegated staking key [✔] (1525ms)
        Withdraw from a key delegated to an unregistered DRep [✔] (1557ms)
        Withdraw and unregister staking credential in the same transaction [✔] (1574ms)
        Withdraw from a key delegated to an expired DRep [✔] (3947ms)
        Withdraw from a key delegated to a DRep that expired after delegation [✔] (3947ms)
        Withdraw from delegated and non-delegated staking script [✔] (1568ms)
        Mempool events
          No Mempool events should be emitted via LEDGERS rules  [✔]
          Mempool events should be emitted via `applyTx` with `mkMempoolEnv` [✔]
      RATIFY
        Voting
          SPO needs to vote on security-relevant parameter changes [✔]
          Active voting stake
            DRep
              UTxOs contribute to active voting stake [✔]
              Rewards contribute to active voting stake [✔]
              Rewards contribute to active voting stake even in the absence of StakeDistr [✔]
              Proposal deposits contribute to active voting stake
                Directly [✔]
                After switching delegations [✔]
            Predefined DReps
              acceptedRatio with default DReps [✔]
              AlwaysNoConfidence [✔]
              AlwaysAbstain [✔]
              DRepAlwaysNoConfidence is sufficient to pass NoConfidence [✔]
            StakePool
              UTxOs contribute to active voting stake [✔]
              Rewards contribute to active voting stake [✔]
              Rewards contribute to active voting stake even in the absence of StakeDistr [✔]
              Proposal deposits contribute to active voting stake
                Directly [✔]
                After switching delegations [✔]
          Interaction between governing bodies
            Motion of no-confidence [✔]
            Update committee - normal state [✔]
            Hard-fork initiation [✔]
            A governance action is automatically ratified if threshold is set to 0 for all related governance bodies [✔]
          SPO default votes
            During bootstrap phase
              Default vote is Abstain in general [✔] (717ms)
              HardForkInitiation - default vote is No [✔] (710ms)
            After bootstrap phase
              Default vote is No in general [✔]
              HardForkInitiation - default vote is No [✔]
              Reward account delegated to AlwaysNoConfidence [✔]
              Reward account delegated to AlwaysAbstain [✔][?7h
        Delaying actions
          A delaying action delays its child even when both ere proposed and ratified in the same epoch [✔]
          A delaying action delays all other actions even when all of them may be ratified in the same epoch [✔]
          An action expires when delayed enough even after being ratified
            Same lineage [✔]
            Other lineage [✔]
            proposals to update the committee get delayed if the expiration exceeds the max term [✔]
        CommitteeMinSize affects in-flight proposals
          TreasuryWithdrawal fails to ratify due to an increase in CommitteeMinSize [✔]
          TreasuryWithdrawal ratifies due to a decrease in CommitteeMinSize [✔]
        ParameterChange affects existing proposals
          DRep
            Increasing the threshold prevents a hitherto-ratifiable proposal from being ratified [✔]
            Decreasing the threshold ratifies a hitherto-unratifiable proposal [✔]
          SPO
            Increasing the threshold prevents a hitherto-ratifiable proposal from being ratified [✔]
            Decreasing the threshold ratifies a hitherto-unratifiable proposal [✔]
          A parent ParameterChange proposal can prevent its child from being enacted [✔]
        Expired and resigned committee members are discounted from quorum
          Expired [✔]
          Resigned [✔]
        Committee members can serve full `CommitteeMaxTermLength`
          maxTermLength = 0 [✔]
          maxTermLength = 1 [✔]
        Counting of SPO votes
          HardForkInitiation [✔] (1601ms)
        Hard Fork can still be initiated with less than minimal committee size [✔] (1209ms)
        When CC expired
          SPOs alone can't enact hard-fork [✔] (8728ms)
          SPOs alone can't enact security group parameter change [✔] (8900ms)
        When CC threshold is 0
          SPOs alone can enact hard-fork during bootstrap [✔] (798ms)
          SPOs alone can enact security group parameter change during bootstrap [✔] (782ms)
        Many CC Cold Credentials map to the same Hot Credential act as many votes [✔] (1669ms)
      UTXO
        Reference scripts
          required reference script counts towards the minFee calculation [✔] (1ms)
          reference scripts not required for spending the input count towards the minFee calculation [✔] (1ms)
          a scripts referenced several times counts for each reference towards the minFee calculation [✔] (2ms)
      UTXOS
        Gov policy scripts
          failing native script govPolicy [✔]
          alwaysSucceeds Plutus govPolicy validates [✔]
          alwaysFails Plutus govPolicy does not validate [✔]
        PlutusV3 Initialization
          Updating CostModels with alwaysFails govPolicy does not validate [✔]
          Updating CostModels with alwaysSucceeds govPolicy but no PlutusV3 CostModels fails [✔]
          Updating CostModels and setting the govPolicy afterwards succeeds [✔]
        can use reference scripts [✔] (1ms)
        can use regular inputs for reference [✔] (2ms)
        fails with same txIn in regular inputs and reference inputs [✔] (1ms)
        fails when using inline datums for PlutusV1 [✔] (1ms)
        fails with same txIn in regular inputs and reference inputs [✔] (1ms)
        fails when using inline datums for PlutusV1 [✔] (1ms)
        Conway features fail in Plutusdescribe v1 and v2
          Unsupported Fields
            CurrentTreasuryValue
              V1 [✔] (328ms)
              V2 [✔] (333ms)
            VotingProcedures
              V1 [✔] (3ms)
              V2 [✔] (3ms)
            ProposalProcedures
              V1 [✔] (1ms)
              V2 [✔] (1ms)
            TreasuryDonation
              V1 [✔] (1ms)
              V2 [✔] (1ms)
          Certificates
            Translated
              RegDepositTxCert
                V1 [✔] (1ms)
                V2 [✔] (2ms)
              UnRegDepositTxCert
                V1 [✔] (3ms)
                V2 [✔] (3ms)
            Unsupported
              DelegTxCert
                V1 [✔] (2ms)
                V2 [✔] (2ms)
              RegDepositDelegTxCert
                V1 [✔] (2ms)
                V2 [✔] (2ms)
              AuthCommitteeHotKeyTxCert
                V1 [✔] (1ms)
                V2 [✔] (1ms)
              ResignCommitteeColdTxCert
                V1 [✔] (1ms)
                V2 [✔] (1ms)
              RegDRepTxCert
                V1 [✔] (1ms)
                V2 [✔] (1ms)
              UnRegDRepTxCert
                V1 [✔] (2ms)
                V1 [✔] (2ms)
              UpdateDRepTxCert
                V1 [✔] (2ms)
                V2 [✔] (4ms)
        Spending script without a Datum
          PlutusV1 [✔] (1ms)
          PlutusV2 [✔] (1ms)
          PlutusV3 [✔] (2ms)
    ConwayImpSpec - Version 10
      BBODY
        BBODY
          BodyRefScriptsSizeTooBig [✔] (183ms)
      CERTS
        Withdrawals
          Withdrawing from an unregistered reward account [✔] (1511ms)
          Withdrawing the wrong amount [✔] (3125ms)
      DELEG
        Register stake credential
          With correct deposit or without any deposit [✔]
          Twice the same certificate in the same transaction [✔]
          When already already registered [✔] (3ms)
          With incorrect deposit [✔]
        Unregister stake credentials
          When registered [✔] (3ms)
          When not registered [✔]
          With incorrect deposit [✔]
          With non-zero reward balance [✔] (1529ms)
          Register and unregister in the same transaction [✔]
          deregistering returns the deposit [✔] (12945ms)
        Delegate stake
          Delegate registered stake credentials to registered pool [✔] (1ms)
          Register and delegate in the same transaction [✔] (1ms)
          Delegate unregistered stake credentials [✔] (1ms)
          Delegate to unregistered pool [✔] (1ms)
          Delegate already delegated credentials [✔] (3ms)
          Delegate and unregister [✔] (1ms)
        Delegate vote
          Delegate vote of registered stake credentials to registered drep [✔] (2ms)
          Delegate vote of registered stake credentials to unregistered drep [✔]
          Delegate vote of unregistered stake credentials [✔] (1ms)
          Redelegate vote [✔] (2ms)
          Delegate vote and unregister stake credentials [✔] (1ms)
        Delegate both stake and vote
          Delegate and unregister credentials [✔] (1ms)
          Delegate to DRep and SPO and change delegation to a different SPO [✔] (2ms)
          Delegate, retire and re-register pool [✔] (2637ms)
      ENACT
        Committee enactment
          Enact UpdateCommitee with lengthy lifetime [✔] (1162ms)
          CC re-election [✔] (4102ms)
          Removing CC with UpdateCommittee
            Non registered [✔] (1562ms)
            Registered [✔] (1520ms)
        Treasury withdrawals
          Modify EnactState as expected [✔] (4ms)
          Withdrawals exceeding treasury submitted in a single proposal [✔] (1591ms)
          Withdrawals exceeding maxBound Word64 submitted in a single proposal [✔] (749ms)
          Withdrawals exceeding treasury submitted in several proposals within the same epoch [✔] (1190ms)
        NoConfidence [✔] (3175ms)
        HardForkInitiation [✔] (2463ms)
        Constitution [✔] (715ms)
        Competing proposals
          higher action priority wins [✔] (756ms)
          proposals of same priority are enacted in order of submission [✔] (886ms)
          only the first action of a transaction gets enacted [✔] (891ms)
        HardForkInitiation without DRep voting [✔] (1657ms)
        futurePParams [✔] (665ms)
      EPOCH
        DRep
          proposal is accepted after two epochs [✔] (1187ms)
        Treasury
          TreasuryWithdrawal [✔] (1121ms)
          TreasuryWithdrawalExtra [✔] (1172ms)
          deposit is moved to treasury when the reward address is not registered [✔] (4060ms)
        Proposals
          Proposals survive multiple epochs without any activity [✔] (2469ms)
          Expired proposal deposit refunded [✔] (1158ms)
          Proposals are expired and removed as expected [✔] (742ms)
        DRep
          expiry is updated based on the number of dormant epochs [✔] (2317ms)
          expiry is not updated for inactive DReps [✔] (2377ms)
          expiry updates are correct for a mixture of cases [✔] (4828ms)
          DRep registration should succeed [✔] (320ms)
        Events
          emits event
            GovInfoEvent [✔] (4992ms)
      GOV
        Constitution proposals
          accepted for
            empty PrevGovId before the first constitution is enacted [✔] (1ms)
            valid GovPurposeId [✔] (1493ms)
          rejected for
            empty PrevGovId after the first constitution was enacted [✔] (709ms)
            invalid index in GovPurposeId [✔] (751ms)
            valid GovPurposeId but invalid purpose [✔] (718ms)
        Proposals
          Consistency
            Proposals submitted without proper parent fail [✔] (5ms)
            Subtrees are pruned when proposals expire [✔] (2358ms)
            Subtrees are pruned when proposals expire over multiple rounds [✔] (5456ms)
            Subtrees are pruned when competing proposals are enacted [✔] (1979ms)
            Subtrees are pruned when competing proposals are enacted over multiple rounds [✔] (1497ms)
            Subtrees are pruned for both enactment and expiry over multiple rounds [✔] (6463ms)
            Votes from subsequent epochs are considered for ratification [✔] (1457ms)
            Proposals are stored in the expected order [✔] (3ms)
        Voting
          VotersDoNotExist [✔] (1ms)
          DRep votes are removed [✔] (1ms)
          expired gov-actions [✔] (1105ms)
          non-existent gov-actions [✔] (2ms)
          committee member can not vote on UpdateCommittee action [✔] (1ms)
          committee member can not vote on NoConfidence action [✔] (1ms)
          committee member mixed with other voters can not vote on UpdateCommittee action [✔] (3ms)
          CC cannot ratify if below threshold [✔] (3190ms)
        Policy
          policy is respected by proposals [✔] (705ms)
        Predicate failures
          ProposalReturnAccountDoesNotExist [✔] (1ms)
          ExpirationEpochTooSmall [✔] (316ms)
          ProposalDepositIncorrect [✔]
          ConflictingCommitteeUpdate [✔]
        Unknown CostModels
          Are accepted [✔] (1131ms)
        Withdrawals
          Fails predicate when treasury withdrawal has nonexistent return address [✔] (1ms)
          Fails with invalid network ID in withdrawal addresses [✔] (1ms)
          Fails for empty withdrawals [✔] (7ms)
        HardFork
          Hardfork is the first one (doesn't have a GovPurposeId) 
            Hardfork minorFollow [✔]
            Hardfork majorFollow [✔]
            Hardfork cantFollow [✔]
          Hardfork is the second one (has a GovPurposeId)
            Hardfork minorFollow [✔] (1ms)
            Hardfork majorFollow [✔] (1ms)
            Hardfork cantFollow [✔] (1ms)
        PParamUpdate
          PPU needs to be wellformed
            ppuMaxBBSizeL cannot be 0 [✔] (1ms)
            ppuMaxTxSizeL cannot be 0 [✔] (1ms)
            ppuMaxBHSizeL cannot be 0 [✔] (1ms)
            ppuMaxValSizeL cannot be 0 [✔] (1ms)
            ppuCollateralPercentageL cannot be 0 [✔] (2ms)
            ppuCommitteeMaxTermLengthL cannot be 0 [✔] (3ms)
            ppuGovActionLifetimeL cannot be 0 [✔] (1ms)
            ppuPoolDepositL cannot be 0 [✔] (1ms)
            ppuGovActionDepositL cannot be 0 [✔] (1ms)
            ppuDRepDepositL cannot be 0 [✔] (2ms)
            PPU cannot be empty [✔] (1ms)
        Network ID
          Fails with invalid network ID in proposal return address [✔]
        Proposing and voting
          Parameter change [✔] (5ms)
          Hardfork initiation [✔] (4ms)
          Info action [✔] (4ms)
          Treasury withdrawal [✔] (1ms)
          NoConfidence [✔]
          UpdateCommittee [✔]
          NewConstitution [✔]
      GOVCERT
        Resigning proposed CC key [✔]
        succeeds for
          registering and unregistering a DRep [✔]
          resigning a non-CC key [✔]
          re-registering a CC hot key [✔] (6ms)
        fails for
          invalid deposit provided with DRep registration cert [✔]
          invalid refund provided with DRep deregistration cert [✔]
          DRep already registered [✔]
          unregistering a nonexistent DRep [✔]
          registering a resigned CC member hotkey [✔] (2ms)
      LEDGER
        TxRefScriptsSizeTooBig [✔] (34ms)
        Withdraw from delegated and non-delegated staking key [✔] (1503ms)
        Withdraw from a key delegated to an unregistered DRep [✔] (1546ms)
        Withdraw and unregister staking credential in the same transaction [✔] (1571ms)
        Withdraw from a key delegated to an expired DRep [✔] (3976ms)
        Withdraw from a key delegated to a DRep that expired after delegation [✔] (3846ms)
        Withdraw from delegated and non-delegated staking script [✔] (1513ms)
        Mempool events
          No Mempool events should be emitted via LEDGERS rules  [✔]
          Mempool events should be emitted via `applyTx` with `mkMempoolEnv` [✔]
      RATIFY
        Voting
          SPO needs to vote on security-relevant parameter changes [✔] (2619ms)
          Active voting stake
            DRep
              UTxOs contribute to active voting stake [✔] (1588ms)
              Rewards contribute to active voting stake [✔] (1528ms)
              Rewards contribute to active voting stake even in the absence of StakeDistr [✔] (7832ms)
              Proposal deposits contribute to active voting stake
                Directly [✔] (1568ms)
                After switching delegations [✔] (1558ms)
            Predefined DReps
              acceptedRatio with default DReps [✔] (2271ms)
              AlwaysNoConfidence [✔] (2831ms)
              AlwaysAbstain [✔] (2752ms)
              DRepAlwaysNoConfidence is sufficient to pass NoConfidence [✔] (1517ms)
            StakePool
              UTxOs contribute to active voting stake [✔] (1978ms)
              Rewards contribute to active voting stake [✔] (2070ms)
              Rewards contribute to active voting stake even in the absence of StakeDistr [✔] (8605ms)
              Proposal deposits contribute to active voting stake
                Directly [✔] (1553ms)
                After switching delegations [✔] (1583ms)
          Interaction between governing bodies
            Motion of no-confidence [✔] (1636ms)
            Update committee - normal state [✔] (1563ms)
            Hard-fork initiation [✔] (1640ms)
            A governance action is automatically ratified if threshold is set to 0 for all related governance bodies [✔] (1524ms)
          SPO default votes
            During bootstrap phase
              Default vote is Abstain in general [✔]
              HardForkInitiation - default vote is No [✔]
            After bootstrap phase
              Default vote is No in general [✔] (698ms)
              HardForkInitiation - default vote is No [✔] (1629ms)
              Reward account delegated to AlwaysNoConfidence [✔] (1470ms)
              Reward account delegated to AlwaysAbstain [✔] (1540ms)
        Delaying actions
          A delaying action delays its child even when both ere proposed and ratified in the same epoch [✔] (1934ms)
          A delaying action delays all other actions even when all of them may be ratified in the same epoch [✔] (1666ms)
          An action expires when delayed enough even after being ratified
            Same lineage [✔] (1912ms)
            Other lineage [✔] (2033ms)
            proposals to update the committee get delayed if the expiration exceeds the max term [✔] (4065ms)
        CommitteeMinSize affects in-flight proposals
          TreasuryWithdrawal fails to ratify due to an increase in CommitteeMinSize [✔] (1216ms)
          TreasuryWithdrawal ratifies due to a decrease in CommitteeMinSize [✔] (3597ms)
        ParameterChange affects existing proposals
          DRep
            Increasing the threshold prevents a hitherto-ratifiable proposal from being ratified [✔] (2085ms)
            Decreasing the threshold ratifies a hitherto-unratifiable proposal [✔] (3393ms)
          SPO
            Increasing the threshold prevents a hitherto-ratifiable proposal from being ratified [✔] (2491ms)
            Decreasing the threshold ratifies a hitherto-unratifiable proposal [✔] (3364ms)
          A parent ParameterChange proposal can prevent its child from being enacted [✔] (826ms)
        Expired and resigned committee members are discounted from quorum
          Expired [✔] (1547ms)
          Resigned [✔] (712ms)
        Committee members can serve full `CommitteeMaxTermLength`
          maxTermLength = 0 [✔] (1141ms)
          maxTermLength = 1 [✔] (1273ms)
        Counting of SPO votes
          HardForkInitiation [✔] (1604ms)
        Hard Fork can still be initiated with less than minimal committee size [✔] (1119ms)
        When CC expired