Skip to content

Add Genesis test

23567d5
Select commit
Loading
Failed to load commit list.
Draft

Improve testing setup and genesis json golden test #5243

Add Genesis test
23567d5
Select commit
Loading
Failed to load commit list.
IOG Hydra / ci/hydra-build:aarch64-darwin.checks.cardano-ledger-dijkstra:test:tests failed Aug 22, 2025 in 27m 36s

Build failed

1 failed steps

Details

Failed Steps

Step 1

Derivation

/nix/store/0g0dh6wnq11qa1v98bm6zxr0larq2vc3-cardano-ledger-dijkstra-test-tests-0.1.0.0-check.drv

Log

Running phase: unpackPhase
unpacking source archive /nix/store/25zklaaqhjwr454c50m35m4w6lm2xdkd-source-eras-dijkstra-test-tests-root
source root is source-eras-dijkstra-test-tests-root
Running phase: patchPhase
Running phase: buildPhase
/nix/store/j4w0p5bg0cx3csn38jvmi87g2inlpxxc-cardano-ledger-dijkstra-test-tests-0.1.0.0/bin:
patching script interpreter paths in /private/tmp/nix-build-cardano-ledger-dijkstra-test-tests-0.1.0.0-check.drv-0/tmp.hF5d6PNuoL/bin

Spec for every Era
  JSON
    Golden
      Genesis [✘] (1ms)
Dijkstra
  Conway features
    Proposals
      Construction
        Adding new nodes keeps Proposals consistent [✔] (21898ms)
          +++ OK, passed 100 tests.
      Removal
        Removing leaf nodes keeps Proposals consistent [✔] (10302ms)
          +++ OK, passed 100 tests.
        Removing root nodes keeps Proposals consistent [✔] (11283ms)
          +++ OK, passed 100 tests.
        Removing non-member nodes throws an AssertionFailure [✔] (24342ms)
          +++ OK, passed 100 tests.
      Enactment
        Adding votes preserves consistency [✔] (17579ms)
          +++ OK, passed 100 tests.
        Enacting exhaustive lineages reduces Proposals to their roots [✔] (17806ms)
          +++ OK, passed 100 tests.
        Enacting non-member nodes throws an AssertionFailure [✔] (7066ms)
          +++ OK, passed 100 tests.
        Expiring compliments of exhaustive lineages keeps proposals consistent [✔] (20699ms)
          +++ OK, passed 100 tests.
        Expiring non-member nodes throws an AssertionFailure [✔] (21755ms)
          +++ OK, passed 100 tests.
        Enacting and expiring conflicting proposals does not lead to removal due to enactment [✔] (15557ms)
          +++ OK, passed 100 tests.
    RoundTrip
      GovActionId [✔] (11ms)
        +++ OK, passed 100 tests.
      GovPurposeId 'PParamUpdatePurpose [✔] (8ms)
        +++ OK, passed 100 tests.
      GovPurposeId 'HardForkPurpose [✔] (13ms)
        +++ OK, passed 100 tests.
      GovPurposeId 'CommitteePurpose [✔] (7ms)
        +++ OK, passed 100 tests.
      GovPurposeId 'ConstitutionPurpose [✔] (9ms)
        +++ OK, passed 100 tests.
      Vote [✔] (2ms)
        +++ OK, passed 100 tests.
      Voter [✔] (5ms)
        +++ OK, passed 100 tests.
      Dijkstra Transaction Types
        GovAction DijkstraEra [✔] (2393ms)
          +++ OK, passed 100 tests.
        VotingProcedure DijkstraEra [✔] (1ms)
          +++ OK, passed 100 tests.
        VotingProcedures DijkstraEra [✔] (1460ms)
          +++ OK, passed 100 tests.
        ProposalProcedure DijkstraEra [✔] (1985ms)
          +++ OK, passed 100 tests.
        Constitution DijkstraEra [✔] (1ms)
          +++ OK, passed 100 tests.
        CostModels [✔] (17987ms)
          +++ OK, passed 100 tests.
      Dijkstra State Types
        EnactState DijkstraEra [✔] (41236ms)
          +++ OK, passed 100 tests.
        GovActionState DijkstraEra [✔] (1432ms)
          +++ OK, passed 100 tests.
        Proposals DijkstraEra [✔] (39920ms)
          +++ OK, passed 100 tests.
        DRepPulsingState DijkstraEra [✔] (139061ms)
          +++ OK, passed 100 tests.
        PulsingSnapshot DijkstraEra [✔] (55961ms)
          +++ OK, passed 100 tests.
        RatifyState DijkstraEra [✔] (83631ms)
          +++ OK, passed 100 tests.
        VState DijkstraEra [✔] (353ms)
          +++ OK, passed 100 tests.
      Alonzo era types
        Data DijkstraEra [✔] (1ms)
          +++ OK, passed 100 tests.
        Data DijkstraEra [✔] (1ms)
          +++ OK, passed 100 tests.
        BinaryData DijkstraEra [✔] (1ms)
          +++ OK, passed 100 tests.
        CostModels [✔] (19759ms)
          +++ OK, passed 100 tests.
        Datum doesn't roundtrip
          Datum DijkstraEra [‐]
            # PENDING: No reason given
        TxDats [✔] (24ms)
          +++ OK, passed 100 tests.
        Redeemers [✔] (31ms)
          +++ OK, passed 100 tests.
      Core Type Families
        MaryValue [✔] (80ms)
          +++ OK, passed 100 tests.
        CompactForm MaryValue [✔] (278ms)
          +++ OK, passed 100 tests.
        BabbageTxOut DijkstraEra [✔] (13ms)
          +++ OK, passed 100 tests.
        ConwayTxCert DijkstraEra [✔] (5ms)
          +++ OK, passed 100 tests.
        PParams DijkstraEra [✔] (15828ms)
          +++ OK, passed 100 tests.
        PParamsUpdate DijkstraEra [✔] (11693ms)
          +++ OK, passed 100 tests.
        AlonzoScript DijkstraEra [✔] (1ms)
          +++ OK, passed 100 tests.
        AlonzoScript DijkstraEra [✔] (1ms)
          +++ OK, passed 100 tests.
        AlonzoTxAuxData DijkstraEra [✔] (47ms)
          +++ OK, passed 100 tests.
        AlonzoTxAuxData DijkstraEra [✔] (37ms)
          +++ OK, passed 100 tests.
        AlonzoTxWits DijkstraEra [✔] (308ms)
          +++ OK, passed 100 tests.
        AlonzoTxWits DijkstraEra [✔] (280ms)
          +++ OK, passed 100 tests.
        TxBody DijkstraEra [✔] (15993ms)
          +++ OK, passed 100 tests.
        TxBody DijkstraEra [✔] (22170ms)
          +++ OK, passed 100 tests.
        Tx DijkstraEra [✔] (16349ms)
          +++ OK, passed 100 tests.
        Tx DijkstraEra [✔] (25624ms)
          +++ OK, passed 100 tests.
        MemPack/CBOR Roundtrip BabbageTxOut DijkstraEra [✔] (8ms)
          +++ OK, passed 100 tests.
        ConwayCertState DijkstraEra [✔] (2631ms)
          +++ OK, passed 100 tests.
      Core State Types
        SnapShots [✔] (2949ms)
          +++ OK, passed 100 tests.
        DState DijkstraEra [✔] (64ms)
          +++ OK, passed 100 tests.
        PState DijkstraEra [✔] (1921ms)
          +++ OK, passed 100 tests.
        CommitteeState DijkstraEra [✔] (16ms)
          +++ OK, passed 100 tests.
        UTxO DijkstraEra [✔] (339ms)
          +++ OK, passed 100 tests.
      State Types Families
        ConwayGovState DijkstraEra [✔] (126679ms)
          +++ OK, passed 100 tests.
      State Types
        UTxOState DijkstraEra [✔] (227464ms)
          +++ OK, passed 100 tests.
        EpochState DijkstraEra [✔] (128039ms)
          +++ OK, passed 100 tests.
        NewEpochState DijkstraEra [✔] (121240ms)
          +++ OK, passed 100 tests.
      Predicate Failures
        ConwayBbodyPredFailure DijkstraEra [✔] (192ms)
          +++ OK, passed 100 tests.
        ConwayCertPredFailure DijkstraEra [✔]
          +++ OK, passed 100 tests.
        ConwayCertsPredFailure DijkstraEra [✔] (5ms)
          +++ OK, passed 100 tests.
        ConwayDelegPredFailure DijkstraEra [✔]
          +++ OK, passed 100 tests.
        ConwayGovCertPredFailure DijkstraEra [✔]
          +++ OK, passed 100 tests.
        ConwayGovPredFailure DijkstraEra [✔] (106ms)
          +++ OK, passed 100 tests.
        ConwayLedgerPredFailure DijkstraEra [✔] (3ms)
          +++ OK, passed 100 tests.
        ShelleyLedgersPredFailure DijkstraEra [✔] (3ms)
          +++ OK, passed 100 tests.
        ShelleyPoolPredFailure DijkstraEra [✔]
          +++ OK, passed 100 tests.
        ConwayUtxoPredFailure DijkstraEra [✔] (509ms)
          +++ OK, passed 100 tests.
        ConwayUtxosPredFailure DijkstraEra [✔] (19091ms)
          +++ OK, passed 100 tests.
        ConwayUtxowPredFailure DijkstraEra [✔] (6ms)
          +++ OK, passed 100 tests.
      ConwayGenesis [✔] (3591ms)
        +++ OK, passed 100 tests.
    DecCBOR instances equivalence
      DecCBOR instances equivalence
        Data DijkstraEra [✔] (1ms)
          +++ OK, passed 100 tests.
        AlonzoScript DijkstraEra [✔] (1ms)
          +++ OK, passed 100 tests.
        AlonzoTxAuxData DijkstraEra [✔] (46ms)
          +++ OK, passed 100 tests.
        AlonzoTxWits DijkstraEra [✔] (296ms)
          +++ OK, passed 100 tests.
        TxBody DijkstraEra [✔] (14884ms)
          +++ OK, passed 100 tests.
        Tx DijkstraEra [✔] (15903ms)
          +++ OK, passed 100 tests.
      TxDats DijkstraEra [✔] (39ms)
        +++ OK, passed 100 tests.
      Redeemers DijkstraEra [✔] (50ms)
        +++ OK, passed 100 tests.
    Transaction size
      should match the size of the cbor encoding [✔] (8115ms)
        +++ OK, passed 100 tests.
    MultiAsset constraints
      TxOut
        Completely empty MultiAsset fails deserialisation since Dijkstra [✔] (3ms)
          +++ OK, passed 100 tests.
        Empty nested asset maps fails deserialisation since Conway [✔] (3ms)
          +++ OK, passed 100 tests.
      Mint field in Tx
        Completely empty mint MultiAsset fails deserialisation since Conway [✔]
          +++ OK, passed 100 tests.
        Empty nested asset maps in mint MultiAsset fails deserialisation since Conway [✔]
          +++ OK, passed 100 tests.
    DRep Ratification
      PParamsUpdateThreshold always selects a threshold [✔] (1994ms)
        +++ OK, passed 100 tests.
      If there is no stake, accept iff threshold is zero [✔] (4401ms)
        +++ OK, passed 100 tests.
      DRep vote count for arbitrary vote ratios [✔] (3ms)
        +++ 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 [✔] (2960ms)
        +++ 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 [✔] (4596ms)
        +++ OK, passed 100 tests.
      If there is no stake, accept iff threshold is zero [✔] (3070ms)
        +++ OK, passed 100 tests.
      If all votes are abstain, accepted ratio is zero [✔] (4247ms)
        +++ OK, passed 100 tests.
      If there are no votes, accepted ratio is zero [✔] (219ms)
        +++ OK, passed 100 tests.
      If all vote yes, accepted ratio is 1 (unless there is no stake)  [✔] (218ms)
        +++ OK, passed 100 tests.
      If all votes are no confidence, accepted ratio is zero [✔] (4670ms)
        +++ OK, passed 100 tests.
    Dijkstra
      RoundTrip JSON
        PParams DijkstraEra [✔] (4931ms)
          +++ OK, passed 100 tests.
        DijkstraGenesis [✔] (1ms)
          +++ OK, passed 100 tests.
    Imp
      ShelleyImpSpec
        Version 12
          LEDGER
            Transactions update UTxO [✔] (46ms)
          EPOCH
            Runs basic transaction [✔] (313ms)
            Crosses epoch boundaries [✔] (308ms)
          UTXOW
            Bootstrap Witness
              Valid Witnesses [✔] (1ms)
              InvalidWitnessesUTXOW [✔]
            MissingVKeyWitnessesUTXOW [✔]
            MissingScriptWitnessesUTXOW [✔]
            MissingTxBodyMetadataHash [✔]
            MissingTxMetadata [✔]
            ConflictingMetadataHash [✔]
            ExtraneousScriptWitnessesUTXOW [✔]
          UTXO
            ShelleyUtxoPredFailure
              ValueNotConservedUTxO [✔]
      ShelleyPureTests
        InstantStakeIncludesRewards [✔] (554ms)
          +++ OK, passed 100 tests.
      AllegraImpSpec
        Version 12
          UTXOW
            InvalidMetadata [✔]
      MaryImpSpec
        Version 12
          UTXO
            Mint a Token [✔]
            ShelleyUtxoPredFailure
              ValueNotConservedUTxO [✔] (1ms)
      AlonzoImpSpec
        Version 12
          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 [✔] (1ms)
          UTXOS
            PlutusV1
              Spending scripts with a Datum
                redeemerSameAsDatum [✔] (309ms)
                purposeIsWellformedWithDatum [✔] (310ms)
                datumIsWellformed [✔] (313ms)
                inputsOutputsAreNotEmptyWithDatum [✔] (311ms)
              Valid transaction marked as invalid [✔]
              Invalid transaction marked as valid [✔] (2ms)
              Invalid plutus script fails in phase 2 [✔] (1ms)
              Scripts pass in phase 2
                purposeIsWellformedWithDatum [✔] (1ms)
                datumIsWellformed [✔] (1ms)
                inputsOutputsAreNotEmptyWithDatum [✔] (1ms)
              No cost model [✔] (1ms)
            PlutusV2
              Spending scripts with a Datum
                redeemerSameAsDatum [✔] (311ms)
                purposeIsWellformedWithDatum [✔] (311ms)
                datumIsWellformed [✔] (311ms)
                inputsOutputsAreNotEmptyWithDatum [✔] (314ms)
              Valid transaction marked as invalid [✔]
              Invalid transaction marked as valid [✔] (1ms)
              Invalid plutus script fails in phase 2 [✔] (1ms)
              Scripts pass in phase 2
                purposeIsWellformedWithDatum [✔] (1ms)
                datumIsWellformed [✔] (1ms)
                inputsOutputsAreNotEmptyWithDatum [✔] (1ms)
              No cost model [✔] (1ms)
            PlutusV3
              Spending scripts with a Datum
                redeemerSameAsDatum [✔] (310ms)
                purposeIsWellformedWithDatum [✔] (310ms)
                datumIsWellformed [✔] (310ms)
                inputsOutputsAreNotEmptyWithDatum [✔] (309ms)
              Valid transaction marked as invalid [✔]
              Invalid transaction marked as valid [✔] (2ms)
              Invalid plutus script fails in phase 2 [✔] (1ms)
              Scripts pass in phase 2
                purposeIsWellformedWithDatum [✔] (1ms)
                datumIsWellformed [✔] (1ms)
                inputsOutputsAreNotEmptyWithDatum [✔] (1ms)
              No cost model [✔] (1ms)
          UTXOW
            Valid transactions
              Non-script output with datum [✔]
              PlutusV1
                Validating SPEND script [✔] (1ms)
                Not validating SPEND script [✔] (1ms)
                Validating CERT script [✔] (1ms)
                Not validating CERT script [✔] (1ms)
                Validating WITHDRAWAL script [✔] (1ms)
                Not validating WITHDRAWAL script [✔] (1ms)
                Validating MINT script [✔]
                Not validating MINT script [✔] (1ms)
                Validating scripts everywhere [✔] (2ms)
                Acceptable supplementary datum [✔]
                Multiple identical certificates [✔] (1ms)
              PlutusV2
                Validating SPEND script [✔] (1ms)
                Not validating SPEND script [✔] (1ms)
                Validating CERT script [✔] (1ms)
                Not validating CERT script [✔] (1ms)
                Validating WITHDRAWAL script [✔] (1ms)
                Not validating WITHDRAWAL script [✔] (1ms)
                Validating MINT script [✔]
                Not validating MINT script [✔] (1ms)
                Validating scripts everywhere [✔] (2ms)
                Acceptable supplementary datum [✔]
                Multiple identical certificates [✔] (1ms)
              PlutusV3
                Validating SPEND script [✔] (1ms)
                Not validating SPEND script [✔] (2ms)
                Validating CERT script [✔] (1ms)
                Not validating CERT script [✔] (1ms)
                Validating WITHDRAWAL script [✔] (1ms)
                Not validating WITHDRAWAL script [✔] (1ms)
                Validating MINT script [✔] (1ms)
                Not validating MINT script [✔] (1ms)
                Validating scripts everywhere [✔] (2ms)
                Acceptable supplementary datum [✔]
                Multiple identical certificates [✔] (1ms)
            Invalid transactions
              Phase 1 script failure [✔]
              PlutusV1
                MissingRedeemers [✔] (1ms)
                MissingRequiredDatums [✔] (1ms)
                NotAllowedSupplementalDatums [✔] (1ms)
                PPViewHashesDontMatch
                  Mismatched [✔]
                  Missing [✔]
                UnspendableUTxONoDatumHash [✔] (1ms)
                No ExtraRedeemers on same script certificates [✔] (1ms)
                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 [✔]
                  Missing [✔]
                UnspendableUTxONoDatumHash [✔] (1ms)
                No ExtraRedeemers on same script certificates [✔] (1ms)
                Missing phase-2 script witness [✔] (1ms)
                Redeemer with incorrect purpose [✔] (1ms)
                Missing witness for collateral input [✔] (1ms)
              PlutusV3
                MissingRedeemers [✔] (1ms)
                MissingRequiredDatums [✔] (1ms)
                NotAllowedSupplementalDatums [✔] (1ms)
                PPViewHashesDontMatch
                  Mismatched [✔]
                  Missing [✔]
                UnspendableUTxONoDatumHash [✔] (2ms)
                No ExtraRedeemers on same script certificates [✔] (1ms)
                Missing phase-2 script witness [✔] (1ms)
                Redeemer with incorrect purpose [✔] (1ms)
                Missing witness for collateral input [✔] (1ms)
      Version 12
        BabbageImpSpec
          UTXO
            Reference scripts
              Reference inputs can overlap with regular inputs in PlutusV2 [✔] (2ms)
            Incorrect collateral total [✔] (1ms)
            Min-utxo value with output too large [✔]
          UTXOW
            Valid
              Native reference scripts must not be witnessed [✔]
              Spend native script output with reference script [✔]
              Reference input with data hash, no data witness [✔]
              Reference input with data hash, with data witness [✔]
              PlutusV2
                Spend outputs locked by scripts
                  With an inline datum [✔]
                  Passed as a reference script [✔] (1ms)
                  Passed as a reference script and with an inline datum [✔] (1ms)
                Use a reference script to authorize a delegation certificate [✔]
              PlutusV3
                Spend outputs locked by scripts
                  With an inline datum [✔]
                  Passed as a reference script [✔] (1ms)
                  Passed as a reference script and with an inline datum [✔] (1ms)
                Use a reference script to authorize a delegation certificate [✔]?7h
            Invalid
              Inline datum with Plutus V1 [✔] (1ms)
              PlutusV2
                MalformedScriptWitnesses [✔] (1ms)
                MalformedReferenceScripts [✔]
                ExtraRedeemers/RedeemerPointerPointsToNothing [✔] (1ms)
                Inline datum with a failing script [✔] (1ms)
                Use a collateral output [✔] (1ms)
                Inline datum and ref script and redundant script witness [✔] (1ms)
                Inline datum with redundant datum witness [✔] (1ms)
                No such thing as a reference datum [✔] (1ms)
              PlutusV3
                MalformedScriptWitnesses [✔] (1ms)
                MalformedReferenceScripts [✔]
                ExtraRedeemers/RedeemerPointerPointsToNothing [✔] (1ms)
                Inline datum with a failing script [✔] (2ms)
                Use a collateral output [✔] (1ms)
                Inline datum and ref script and redundant script witness [✔] (1ms)
                Inline datum with redundant datum witness [✔] (1ms)
                No such thing as a reference datum [✔] (1ms)
          UTXOS
            Plutus V1 with references
              succeeds with a reference script [✔] (1ms)
              succeeds with a reference input [✔] (1ms)
      Version 12
        BBODY
          BodyRefScriptsSizeTooBig [✔] (361ms)
          BodyRefScriptsSizeTooBig with reference scripts in the same block [✔] (531ms)
          totalRefScriptSizeInBlock [✔] (2ms)
          Use a reference script in a collateral output [✔] (2ms)
        CERTS
          Withdrawals
            Withdrawing from an unregistered reward account [✔] (1449ms)
            Withdrawing the wrong amount [✔] (2949ms)
        DELEG
          Register stake credential
            With correct deposit or without any deposit [✔]
            Twice the same certificate in the same transaction [✔]
            When already already registered [✔] (1ms)
            With incorrect deposit [✔]
          Unregister stake credentials
            When registered [✔] (1ms)
            When not registered [✔]
            With incorrect refund [✔]
            With non-zero reward balance [✔] (1441ms)
            Register and unregister in the same transaction [✔]
            deregistering returns the deposit [✔] (12133ms)
          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 [✔] (3ms)
            Delegate and unregister [✔] (1ms)
          Delegate vote
            Delegate vote of registered stake credentials to registered drep [✔] (1ms)
            Delegate vote of registered stake credentials to unregistered drep [✔]
            Delegate vote of unregistered stake credentials [✔]
            Redelegate vote [✔] (1ms)
            Delegate vote and unregister stake credentials [✔] (1ms)
            Delegate vote and unregister after hardfork [✔] (4265ms)
            Delegate vote and undelegate after delegating to some stake pools [✔] (2231ms)
          Delegate both stake and vote - separated out for conformance mismatch
            Delegate, retire and re-register pool [✔] (2613ms)
          Delegate both stake and vote
            Delegate and unregister credentials [✔] (2ms)
            Delegate to DRep and SPO and change delegation to a different SPO [✔] (2ms)
        ENACT
          Committee enactment
            Enact UpdateCommitee with lengthy lifetime [✔] (1083ms)
            CC re-election [✔] (3756ms)
            Removing CC with UpdateCommittee
              Non registered [✔] (1446ms)
              Registered [✔] (1445ms)
          Treasury withdrawals
            Modify EnactState as expected [✔] (7ms)
            Withdrawals exceeding treasury submitted in a single proposal [✔] (1452ms)
            Withdrawals exceeding maxBound Word64 submitted in a single proposal [✔] (698ms)
            Withdrawals exceeding treasury submitted in several proposals within the same epoch [✔] (1094ms)
          NoConfidence [✔] (2987ms)
          HardForkInitiation [✔] (2344ms)
          Constitution [✔] (691ms)
          Competing proposals
            higher action priority wins [✔] (700ms)
            proposals of same priority are enacted in order of submission [✔] (789ms)
            only the first action of a transaction gets enacted [✔] (786ms)
          HardForkInitiation without DRep voting [✔] (1550ms)
          futurePParams [✔] (672ms)
        EPOCH
          DRep
            proposal is accepted after two epochs [✔] (1161ms)
          Treasury
            TreasuryWithdrawal [✔] (1073ms)
            TreasuryWithdrawalExtra [✔] (1073ms)
            deposit is moved to treasury when the reward address is not registered [✔] (3718ms)
          Proposals
            Proposals survive multiple epochs without any activity [✔] (2214ms)
            Expired proposal deposit refunded [✔] (1070ms)
            Proposals are expired and removed as expected [✔] (688ms)
          DRep
            expiry is updated based on the number of dormant epochs [✔] (2200ms)
            expiry is not updated for inactive DReps [✔] (2201ms)
            expiry updates are correct for a mixture of cases [✔] (4487ms)
            DRep registration should succeed [✔] (308ms)
          Events
            emits event
              GovInfoEvent [✔] (4605ms)
        GOV
          Constitution proposals
            accepted for
              empty PrevGovId before the first constitution is enacted [✔] (1ms)
              valid GovPurposeId [✔] (1453ms)
            rejected for
              empty PrevGovId after the first constitution was enacted [✔] (695ms)
              invalid index in GovPurposeId [✔] (694ms)
              valid GovPurposeId but invalid purpose [✔] (690ms)
          Proposals
            Consistency
              Proposals submitted without proper parent fail [✔] (5ms)
              Subtrees are pruned when proposals expire [✔] (2213ms)
              Subtrees are pruned when proposals expire over multiple rounds [✔] (4907ms)
              Subtrees are pruned when competing proposals are enacted [✔] (1858ms)
              Subtrees are pruned when competing proposals are enacted over multiple rounds [✔] (1474ms)
              Subtrees are pruned for both enactment and expiry over multiple rounds [✔] (6012ms)
              Votes from subsequent epochs are considered for ratification [✔] (1448ms)
              Proposals are stored in the expected order [✔] (3ms)
          Voting
            VotersDoNotExist [✔] (1ms)
            DRep votes are removed [✔] (1ms)
            expired gov-actions [✔] (1065ms)
            non-existent gov-actions [✔] (1ms)
            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 [✔] (2988ms)
            can submit SPO votes [✔] (1065ms)
          Policy
            policy is respected by proposals [✔] (696ms)
          Predicate failures
            ProposalReturnAccountDoesNotExist [✔]
            ExpirationEpochTooSmall [✔] (310ms)
            ProposalDepositIncorrect [✔]
            ConflictingCommitteeUpdate [✔]
          Unknown CostModels
            Are accepted [✔] (988ms)
          Withdrawals
            Fails predicate when treasury withdrawal has nonexistent return address [✔] (2ms)
            Fails with invalid network ID in withdrawal addresses [✔] (1ms)
            Fails for empty withdrawals [✔] (6ms)
          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 [✔] (1ms)
              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 [✔] (1ms)
          succeeds for
            registering and unregistering a DRep [✔]
            resigning a non-CC key [✔]
            re-registering a CC hot key [✔] (7ms)
          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)
            resigning a nonexistent CC member hotkey [✔]
        LEDGER
          TxRefScriptsSizeTooBig [✔] (46ms)
          Withdraw from delegated and non-delegated staking key [✔] (1446ms)
          Withdraw from a key delegated to an unregistered DRep [✔] (1445ms)
          Withdraw and unregister staking credential in the same transaction [✔] (1445ms)
          Withdraw from a key delegated to an expired DRep [✔] (3723ms)
          Withdraw from a key delegated to a DRep that expired after delegation [✔] (3704ms)
          Withdraw from delegated and non-delegated staking script [✔] (1448ms)
          Mempool
            Duplicate transactions [✔] (4ms)
            Unelected Committee voting [✔] (3ms)
        RATIFY
          Voting
            SPO needs to vote on security-relevant parameter changes [✔] (2415ms)
            Active voting stake
              DRep
                UTxOs contribute to active voting stake [✔] (1457ms)
                Rewards contribute to active voting stake [✔] (1464ms)
                Rewards contribute to active voting stake even in the absence of StakeDistr [✔] (7560ms)
                Proposal deposits contribute to active voting stake
                  Directly [✔] (1454ms)
                  After switching delegations [✔] (1460ms)
              Predefined DReps
                acceptedRatio with default DReps [✔] (2230ms)
                AlwaysNoConfidence [✔] (2606ms)
                AlwaysAbstain [✔] (2607ms)
                DRepAlwaysNoConfidence is sufficient to pass NoConfidence [✔] (1451ms)
              StakePool
                UTxOs contribute to active voting stake [✔] (1844ms)
                Rewards contribute to active voting stake [✔] (1848ms)
                Rewards contribute to active voting stake even in the absence of StakeDistr [✔] (7962ms)
                Proposal deposits contribute to active voting stake
                  Directly [✔] (1456ms)
                  After switching delegations [✔] (1456ms)
            Interaction between governing bodies
              Motion of no-confidence [✔] (1459ms)
              Update committee - normal state [✔] (1457ms)
              Hard-fork initiation [✔] (1541ms)
              A governance action is automatically ratified if threshold is set to 0 for all related governance bodies [✔] (1458ms)
            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 [✔] (693ms)
                HardForkInitiation - default vote is No [✔] (1547ms)
                Reward account delegated to AlwaysNoConfidence [✔] (1456ms)
                Reward account delegated to AlwaysAbstain [✔] (1457ms)
          Delaying actions
            A delaying action delays its child even when both ere proposed and ratified in the same epoch [✔] (1832ms)
            A delaying action delays all other actions even when all of them may be ratified in the same epoch [✔] (1551ms)
            An action expires when delayed enough even after being ratified
              Same lineage [✔] (1833ms)
              Other lineage [✔] (1849ms)
              proposals to update the committee get delayed if the expiration exceeds the max term [✔] (3749ms)
          CommitteeMinSize affects in-flight proposals
            TreasuryWithdrawal fails to ratify due to an increase in CommitteeMinSize [✔] (1169ms)
            TreasuryWithdrawal ratifies due to a decrease in CommitteeMinSize [✔] (3385ms)
          ParameterChange affects existing proposals
            DRep
              Increasing the threshold prevents a hitherto-ratifiable proposal from being ratified [✔] (1937ms)
              Decreasing the threshold ratifies a hitherto-unratifiable proposal [✔] (3096ms)
            SPO
              Increasing the threshold prevents a hitherto-ratifiable proposal from being ratified [✔] (2329ms)
              Decreasing the threshold ratifies a hitherto-unratifiable proposal [✔] (3106ms)
            A parent ParameterChange proposal can prevent its child from being enacted [✔] (785ms)
          Expired and resigned committee members are discounted from quorum
            Expired [✔] (1454ms)
            Resigned [✔] (693ms)
          Committee members can serve full `CommitteeMaxTermLength`
            maxTermLength = 0 [✔] (1456ms)
            maxTermLength = 1 [✔] (1463ms)
            maxTermLength = 2 [✔] (1550ms)
          Counting of SPO votes
            HardForkInitiation [✔] (1556ms)
          Hard Fork can still be initiated with less than minimal committee size [✔] (1073ms)
          When CC expired
            SPOs alone can't enact hard-fork [✔] (8253ms)
            SPOs alone can't enact security group parameter change [✔] (8229ms)
          When CC threshold is 0
            SPOs alone can enact hard-fork during bootstrap [✔] (692ms)
            SPOs alone can enact security group parameter change during bootstrap [✔] (690ms)
          Many CC Cold Credentials map to the same Hot Credential act as many votes [✔] (1538ms)
        UTXO
          Certificates
            Reg/UnReg collect and refund correct amounts [✔] (311ms)
          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 [✔] (1ms)
            Cannot run scripts that expect inputs and refInputs to overlap (PV 9/10) [✔]
            Same script cannot appear in regular and reference inputs in PlutusV3 (PV 11) [✔] (1ms)
        UTXOS
          Gov policy scripts
            failing native script govPolicy [✔] (692ms)
            alwaysSucceeds Plutus govPolicy validates [✔] (693ms)
            alwaysFails Plutus govPolicy does not validate [✔] (699ms)
          PlutusV3 Initialization
            Updating CostModels with alwaysFails govPolicy does not validate [✔] (2093ms)
            Updating CostModels with alwaysSucceeds govPolicy but no PlutusV3 CostModels fails [✔] (579ms)
            Updating CostModels and setting the govPolicy afterwards succeeds [✔] (3028ms)
          can use reference scripts [✔] (1ms)
          can use regular inputs for reference [✔] (1ms)
          fails with same txIn in regular inputs and reference inputs (PlutusV1) [✔] (1ms)
          fails when using inline datums for PlutusV1 [✔] (1ms)
          fails with same txIn in regular inputs and reference inputs (PlutusV3) [✔] (1ms)
          fails when using inline datums for PlutusV1 [✔] (1ms)
          Conway features fail in Plutusdescribe v1 and v2
            Unsupported Fields
              CurrentTreasuryValue
                V1 [✔] (310ms)
                V2 [✔] (310ms)
              VotingProcedures
                V1 [✔] (3ms)
                V2 [✔] (3ms)
              ProposalProcedures
                V1 [✔] (1ms)
                V2 [✔] (1ms)
              TreasuryDonation
                V1 [✔] (1ms)
                V2 [✔] (1ms)
            Certificates
              Translated
                RegDepositTxCert
                  V1 [✔] (1ms)
                  V2 [✔] (1ms)
                UnRegDepositTxCert
                  V1 [✔] (2ms)
                  V2 [✔] (2ms)
              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 [✔] (2ms)
          Spending script without a Datum
            PlutusV1 [✔] (1ms)
            PlutusV2 [✔] (1ms)
            PlutusV3 [✔] (1ms)
        UTXOW
          Fails with PPViewHashesDontMatch before PV 11 [✔]
          Fails with PPViewHashesDontMatchInformative after PV 11 [✔] (1ms)
    CostModels
      CBOR deserialization
        valid CostModels deserialize correctly, both independently and within PParamsUpdate [✔] (2672ms)
          +++ OK, passed 100 tests.
        CostModels with less than expected parameters within PParamsUpdate [✔] (1250ms)
          +++ OK, passed 100 tests.
        unknown CostModels deserialize correctly within PParamsUpdate starting with Conway [✔] (1ms)
          +++ OK, passed 100 tests.
      applyPPUpdates [✔] (14594ms)
        +++ OK, passed 100 tests.
    TxWits
      AlonzoTxWits deserialization
        plutus scripts
          fails to deserialize if fields contain an empty collection [✔]
            +++ OK, passed 100 tests.
          fails to deserialize if empty or if it contains duplicates, starting with Conway [✔] (3ms)
            +++ OK, passed 100 tests.
          fails to deserialize if empty, starting with Conway [✔]
            +++ OK, passed 100 tests.
    Regression
      DeserialiseFailure on resubmitting Conway Tx with invalid plutus script #4198 [✔]
      ImpTest
        InsufficientCollateral is not encoded with negative coin #4198 [✔] (2ms)
    TxInfo
      TxInfo
        Deposit in registration certs [✔]
          +++ OK, passed 100 tests.
        Deposit in unregistration certs [✔]
          +++ OK, passed 100 tests.
        validity interval's upper bound is open when protocol >= 9 [✔]
      txInfo translation
        Plutus V1
          translation error on byron txout [✔]
          translation error on byron txin [✔]
          translation error on unknown txin (logic error) [✔]
          translation error on inline datum in input [✔]
          translation error on inline datum in output [✔]
        SPlutusV2
          translation error on byron txout [✔]
          translation error on byron txin [✔]
          translation error on unknown txin (logic error) [✔]
          use reference input starting in Babbage [✔]
          use inline datum in input [✔]
          use inline datum in output [✔]
          use reference script in input [✔]
          use reference script in output [✔]
      PlutusV3
        SPlutusV3
          translation error on byron txout [‐]
            # PENDING: No reason given
          translation error on byron txin [‐]
            # PENDING: No reason given
          translation error on unknown txin (logic error) [‐]
            # PENDING: No reason given
          use reference input starting in Babbage [‐]
            # PENDING: No reason given
          use inline datum in input [‐]
            # PENDING: No reason given
          use inline datum in output [‐]
            # PENDING: No reason given
          use reference script in input [‐]
            # PENDING: No reason given
          use reference script in output [‐]
            # PENDING: No reason given
Shelley era JSON Roundtrip: Dijkstra
  TransitionConfig DijkstraEra [✔] (9224ms)
    +++ OK, passed 100 tests.
Golden
  Golden JSON specs for PParams [✔]
  Golden JSON specs for PParamsUpdate [✔] (26ms)

Failures:

  testlib/Test/Cardano/Ledger/Era/Spec.hs:35:11: 
  1) Spec for every Era, JSON, Golden, Genesis
       
       Uncaught Exception: /nix/store/712ib5ip3kb3n8lvd349hd4l7rgiqray-cardano-ledger-dijkstra-lib-testlib-0.1.0.0-data/share/ghc-9.6.7/aarch64-osx-ghc-9.6.7/cardano-ledger-dijkstra-0.1.0.0/golden/json/dijkstra-genesis.json: withBinaryFile: does not exist (No such file or directory)

  To rerun use: --match "/Spec for every Era/JSON/Golden/Genesis/" --seed 1564440040

Randomized with seed 1564440040

Finished in 1651.5066 seconds
539 examples, 1 failure, 9 pending