Improve testing setup and genesis json golden test #5243
IOG Hydra / ci/hydra-build:x86_64-linux.ghc9121.checks.cardano-ledger-dijkstra:test:tests
failed
Aug 22, 2025 in 16m 57s
Build failed
1 failed steps
Details
Failed Steps
Step 1
Derivation
/nix/store/6vzg6cpahhlph8jlq124p04z8pq16zz4-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/8nck4z3qd85g1qwz0f0ih0ppqxkc2xqj-cardano-ledger-dijkstra-test-tests-0.1.0.0/bin:
patching script interpreter paths in /build/tmp.R20v6LJLwx/bin
Spec for every Era
JSON
Golden
Genesis [✘]
Dijkstra
Conway features
Proposals
Construction
Adding new nodes keeps Proposals consistent [✔] (7035ms)
+++ OK, passed 100 tests.
Removal
Removing leaf nodes keeps Proposals consistent [✔] (4539ms)
+++ OK, passed 100 tests.
Removing root nodes keeps Proposals consistent [✔] (4542ms)
+++ OK, passed 100 tests.
Removing non-member nodes throws an AssertionFailure [✔] (6669ms)
+++ OK, passed 100 tests.
Enactment
Adding votes preserves consistency [✔] (8300ms)
+++ OK, passed 100 tests.
Enacting exhaustive lineages reduces Proposals to their roots [✔] (6998ms)
+++ OK, passed 100 tests.
Enacting non-member nodes throws an AssertionFailure [✔] (5043ms)
+++ OK, passed 100 tests.
Expiring compliments of exhaustive lineages keeps proposals consistent [✔] (6867ms)
+++ OK, passed 100 tests.
Expiring non-member nodes throws an AssertionFailure [✔] (6647ms)
+++ OK, passed 100 tests.
Enacting and expiring conflicting proposals does not lead to removal due to enactment [✔] (6684ms)
+++ OK, passed 100 tests.
RoundTrip
GovActionId [✔] (3ms)
+++ OK, passed 100 tests.
GovPurposeId 'PParamUpdatePurpose [✔] (4ms)
+++ OK, passed 100 tests.
GovPurposeId 'HardForkPurpose [✔] (2ms)
+++ OK, passed 100 tests.
GovPurposeId 'CommitteePurpose [✔] (3ms)
+++ OK, passed 100 tests.
GovPurposeId 'ConstitutionPurpose [✔] (5ms)
+++ OK, passed 100 tests.
Vote [✔] (2ms)
+++ OK, passed 100 tests.
Voter [✔] (1ms)
+++ OK, passed 100 tests.
Dijkstra Transaction Types
GovAction DijkstraEra [✔] (784ms)
+++ OK, passed 100 tests.
VotingProcedure DijkstraEra [✔]
+++ OK, passed 100 tests.
VotingProcedures DijkstraEra [✔] (647ms)
+++ OK, passed 100 tests.
ProposalProcedure DijkstraEra [✔] (1579ms)
+++ OK, passed 100 tests.
Constitution DijkstraEra [✔]
+++ OK, passed 100 tests.
CostModels [✔] (8536ms)
+++ OK, passed 100 tests.
Dijkstra State Types
EnactState DijkstraEra [✔] (17291ms)
+++ OK, passed 100 tests.
GovActionState DijkstraEra [✔] (837ms)
+++ OK, passed 100 tests.
Proposals DijkstraEra [✔] (18722ms)
+++ OK, passed 100 tests.
DRepPulsingState DijkstraEra [✔] (68977ms)
+++ OK, passed 100 tests.
PulsingSnapshot DijkstraEra [✔] (26464ms)
+++ OK, passed 100 tests.
RatifyState DijkstraEra [✔] (42289ms)
+++ OK, passed 100 tests.
VState DijkstraEra [✔] (179ms)
+++ OK, passed 100 tests.
Alonzo era types
Data DijkstraEra [✔] (1ms)
+++ OK, passed 100 tests.
Data DijkstraEra [✔]
+++ OK, passed 100 tests.
BinaryData DijkstraEra [✔] (1ms)
+++ OK, passed 100 tests.
CostModels [✔] (11068ms)
+++ OK, passed 100 tests.
Datum doesn't roundtrip
Datum DijkstraEra [‐]
# PENDING: No reason given
TxDats [✔] (16ms)
+++ OK, passed 100 tests.
Redeemers [✔] (18ms)
+++ OK, passed 100 tests.
Core Type Families
MaryValue [✔] (49ms)
+++ OK, passed 100 tests.
CompactForm MaryValue [✔] (167ms)
+++ OK, passed 100 tests.
BabbageTxOut DijkstraEra [✔] (9ms)
+++ OK, passed 100 tests.
ConwayTxCert DijkstraEra [✔] (2ms)
+++ OK, passed 100 tests.
PParams DijkstraEra [✔] (9136ms)
+++ OK, passed 100 tests.
PParamsUpdate DijkstraEra [✔] (5849ms)
+++ OK, passed 100 tests.
AlonzoScript DijkstraEra [✔] (1ms)
+++ OK, passed 100 tests.
AlonzoScript DijkstraEra [✔] (1ms)
+++ OK, passed 100 tests.
AlonzoTxAuxData DijkstraEra [✔] (37ms)
+++ OK, passed 100 tests.
AlonzoTxAuxData DijkstraEra [✔] (28ms)
+++ OK, passed 100 tests.
AlonzoTxWits DijkstraEra [✔] (244ms)
+++ OK, passed 100 tests.
AlonzoTxWits DijkstraEra [✔] (232ms)
+++ OK, passed 100 tests.
TxBody DijkstraEra [✔] (10963ms)
+++ OK, passed 100 tests.
TxBody DijkstraEra [✔] (15663ms)
+++ OK, passed 100 tests.
Tx DijkstraEra [✔] (13439ms)
+++ OK, passed 100 tests.
Tx DijkstraEra [✔] (19011ms)
+++ OK, passed 100 tests.
MemPack/CBOR Roundtrip BabbageTxOut DijkstraEra [✔] (7ms)
+++ OK, passed 100 tests.
ConwayCertState DijkstraEra [✔] (1503ms)
+++ OK, passed 100 tests.
Core State Types
SnapShots [✔] (1796ms)
+++ OK, passed 100 tests.
DState DijkstraEra [✔] (40ms)
+++ OK, passed 100 tests.
PState DijkstraEra [✔] (1125ms)
+++ OK, passed 100 tests.
CommitteeState DijkstraEra [✔] (11ms)
+++ OK, passed 100 tests.
UTxO DijkstraEra [✔] (250ms)
+++ OK, passed 100 tests.
State Types Families
ConwayGovState DijkstraEra [✔] (104841ms)
+++ OK, passed 100 tests.
State Types
UTxOState DijkstraEra [✔] (102282ms)
+++ OK, passed 100 tests.
EpochState DijkstraEra [✔] (108283ms)
+++ OK, passed 100 tests.
NewEpochState DijkstraEra [✔] (103038ms)
+++ OK, passed 100 tests.
Predicate Failures
ConwayBbodyPredFailure DijkstraEra [✔] (1ms)
+++ OK, passed 100 tests.
ConwayCertPredFailure DijkstraEra [✔]
+++ OK, passed 100 tests.
ConwayCertsPredFailure DijkstraEra [✔] (6ms)
+++ OK, passed 100 tests.
ConwayDelegPredFailure DijkstraEra [✔]
+++ OK, passed 100 tests.
ConwayGovCertPredFailure DijkstraEra [✔]
+++ OK, passed 100 tests.
ConwayGovPredFailure DijkstraEra [✔] (34ms)
+++ OK, passed 100 tests.
ConwayLedgerPredFailure DijkstraEra [✔] (2ms)
+++ OK, passed 100 tests.
ShelleyLedgersPredFailure DijkstraEra [✔] (3ms)
+++ OK, passed 100 tests.
ShelleyPoolPredFailure DijkstraEra [✔]
+++ OK, passed 100 tests.
ConwayUtxoPredFailure DijkstraEra [✔] (62ms)
+++ OK, passed 100 tests.
ConwayUtxosPredFailure DijkstraEra [✔] (10516ms)
+++ OK, passed 100 tests.
ConwayUtxowPredFailure DijkstraEra [✔] (256ms)
+++ OK, passed 100 tests.
ConwayGenesis [✔] (2939ms)
+++ 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 [✔] (37ms)
+++ OK, passed 100 tests.
AlonzoTxWits DijkstraEra [✔] (232ms)
+++ OK, passed 100 tests.
TxBody DijkstraEra [✔] (10365ms)
+++ OK, passed 100 tests.
Tx DijkstraEra [✔] (12649ms)
+++ OK, passed 100 tests.
TxDats DijkstraEra [✔] (32ms)
+++ OK, passed 100 tests.
Redeemers DijkstraEra [✔] (35ms)
+++ OK, passed 100 tests.
Transaction size
should match the size of the cbor encoding [✔] (6448ms)
+++ OK, passed 100 tests.
MultiAsset constraints
TxOut
Completely empty MultiAsset fails deserialisation since Dijkstra [✔] (2ms)
+++ OK, passed 100 tests.
Empty nested asset maps fails deserialisation since Conway [✔] (2ms)
+++ 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 [✔] (1421ms)
+++ OK, passed 100 tests.
If there is no stake, accept iff threshold is zero [✔] (3759ms)
+++ 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 [✔] (2371ms)
+++ 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 [✔] (4ms)
+++ OK, passed 100 tests.
SPO Ratification
SPO vote count for arbitrary vote ratios [✔] (3943ms)
+++ OK, passed 100 tests.
If there is no stake, accept iff threshold is zero [✔] (2627ms)
+++ OK, passed 100 tests.
If all votes are abstain, accepted ratio is zero [✔] (3836ms)
+++ OK, passed 100 tests.
If there are no votes, accepted ratio is zero [✔] (253ms)
+++ OK, passed 100 tests.
If all vote yes, accepted ratio is 1 (unless there is no stake) [✔] (259ms)
+++ OK, passed 100 tests.
If all votes are no confidence, accepted ratio is zero [✔] (4110ms)
+++ OK, passed 100 tests.
Dijkstra
RoundTrip JSON
PParams DijkstraEra [✔] (4347ms)
+++ OK, passed 100 tests.
DijkstraGenesis [✔] (1ms)
+++ OK, passed 100 tests.
Imp
ShelleyImpSpec
Version 12
LEDGER
Transactions update UTxO [✔] (68ms)
EPOCH
Runs basic transaction [✔] (219ms)
Crosses epoch boundaries [✔] (215ms)
UTXOW
Bootstrap Witness
Valid Witnesses [✔] (1ms)
InvalidWitnessesUTXOW [✔] (1ms)
MissingVKeyWitnessesUTXOW [✔]
MissingScriptWitnessesUTXOW [✔]
MissingTxBodyMetadataHash [✔]
MissingTxMetadata [✔]
ConflictingMetadataHash [✔]
ExtraneousScriptWitnessesUTXOW [✔]
UTXO
ShelleyUtxoPredFailure
ValueNotConservedUTxO [✔]
ShelleyPureTests
InstantStakeIncludesRewards [✔] (373ms)
+++ OK, passed 100 tests.
AllegraImpSpec
Version 12
UTXOW
InvalidMetadata [✔]
MaryImpSpec
Version 12
UTXO
Mint a Token [✔] (1ms)
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 [✔] (216ms)
purposeIsWellformedWithDatum [✔] (213ms)
datumIsWellformed [✔] (217ms)
inputsOutputsAreNotEmptyWithDatum [✔] (220ms)
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 [✔] (216ms)
purposeIsWellformedWithDatum [✔] (214ms)
datumIsWellformed [✔] (217ms)
inputsOutputsAreNotEmptyWithDatum [✔] (215ms)
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 [✔] (218ms)
purposeIsWellformedWithDatum [✔] (216ms)
datumIsWellformed [✔] (215ms)
inputsOutputsAreNotEmptyWithDatum [✔] (220ms)
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)
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 [✔] (1ms)
Not validating MINT script [✔] (1ms)
Validating scripts everywhere [✔] (2ms)
Acceptable supplementary datum [✔]
Multiple identical certificates [✔]
PlutusV3
Validating SPEND script [✔] (1ms)
Not validating SPEND script [✔] (1ms)
Validating CERT script [✔] (1ms)
Not validating CERT script [✔] (2ms)
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 [✔]
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 [✔]
Redeemer with incorrect purpose [✔] (1ms)
Missing witness for collateral input [✔] (1ms)
PlutusV3
MissingRedeemers [✔] (1ms)
MissingRequiredDatums [✔] (2ms)
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 [✔]
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 [✔]
Invalid
Inline datum with Plutus V1 [✔] (1ms)
PlutusV2
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)
PlutusV3
MalformedScriptWitnesses [✔] (1ms)
MalformedReferenceScripts [✔]
ExtraRedeemers/RedeemerPointerPointsToNothing [✔] (1ms)
Inline datum with a failing script [✔] (2ms)
Use a collateral output [✔] (2ms)
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 [✔] (338ms)
BodyRefScriptsSizeTooBig with reference scripts in the same block [✔] (492ms)
totalRefScriptSizeInBlock [✔] (2ms)
Use a reference script in a collateral output [✔] (2ms)
CERTS
Withdrawals
Withdrawing from an unregistered reward account [✔] (1021ms)
Withdrawing the wrong amount [✔] (2048ms)
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 [✔] (1045ms)
Register and unregister in the same transaction [✔]
deregistering returns the deposit [✔] (8394ms)
Delegate stake
Delegate registered stake credentials to registered pool [✔] (1ms)
Register and delegate in the same transaction [✔] (2ms)
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 [✔] (2ms)
Delegate vote and unregister stake credentials [✔]
Delegate vote and unregister after hardfork [✔] (2946ms)
Delegate vote and undelegate after delegating to some stake pools [✔] (1529ms)
Delegate both stake and vote - separated out for conformance mismatch
Delegate, retire and re-register pool [✔] (1830ms)
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 [✔] (732ms)
CC re-election [✔] (2584ms)
Removing CC with UpdateCommittee
Non registered [✔] (1007ms)
Registered [✔] (1010ms)
Treasury withdrawals
Modify EnactState as expected [✔] (4ms)
Withdrawals exceeding treasury submitted in a single proposal [✔] (1014ms)
Withdrawals exceeding maxBound Word64 submitted in a single proposal [✔] (488ms)
Withdrawals exceeding treasury submitted in several proposals within the same epoch [✔] (763ms)
NoConfidence [✔] (2057ms)
HardForkInitiation [✔] (1629ms)
Constitution [✔] (492ms)
Competing proposals
higher action priority wins [✔] (498ms)
proposals of same priority are enacted in order of submission [✔] (566ms)
only the first action of a transaction gets enacted [✔] (553ms)
HardForkInitiation without DRep voting [✔] (1105ms)
futurePParams [✔] (467ms)
EPOCH
DRep
proposal is accepted after two epochs [✔] (818ms)
Treasury
TreasuryWithdrawal [✔] (743ms)
TreasuryWithdrawalExtra [✔] (749ms)
deposit is moved to treasury when the reward address is not registered [✔] (2605ms)
Proposals
Proposals survive multiple epochs without any activity [✔] (1581ms)
Expired proposal deposit refunded [✔] (745ms)
Proposals are expired and removed as expected [✔] (480ms)
DRep
expiry is updated based on the number of dormant epochs [✔] (1565ms)
expiry is not updated for inactive DReps [✔] (1560ms)
expiry updates are correct for a mixture of cases [✔] (3105ms)
DRep registration should succeed [✔] (217ms)
Events
emits event
GovInfoEvent [✔] (3205ms)
GOV
Constitution proposals
accepted for
empty PrevGovId before the first constitution is enacted [✔] (1ms)
valid GovPurposeId [✔] (1000ms)
rejected for
empty PrevGovId after the first constitution was enacted [✔] (482ms)
invalid index in GovPurposeId [✔] (478ms)
valid GovPurposeId but invalid purpose [✔] (473ms)
Proposals
Consistency
Proposals submitted without proper parent fail [✔] (6ms)
Subtrees are pruned when proposals expire [✔] (1526ms)
Subtrees are pruned when proposals expire over multiple rounds [✔] (3391ms)
Subtrees are pruned when competing proposals are enacted [✔] (1279ms)
Subtrees are pruned when competing proposals are enacted over multiple rounds [✔] (1029ms)
Subtrees are pruned for both enactment and expiry over multiple rounds [✔] (4244ms)
Votes from subsequent epochs are considered for ratification [✔] (1010ms)
Proposals are stored in the expected order [✔] (4ms)
Voting
VotersDoNotExist [✔] (1ms)
DRep votes are removed [✔] (1ms)
expired gov-actions [✔] (733ms)
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 [✔] (2077ms)
can submit SPO votes [✔] (734ms)
Policy
policy is respected by proposals [✔] (490ms)
Predicate failures
ProposalReturnAccountDoesNotExist [✔] (1ms)
ExpirationEpochTooSmall [✔] (217ms)
ProposalDepositIncorrect [✔]
ConflictingCommitteeUpdate [✔]
Unknown CostModels
Are accepted [✔] (719ms)
Withdrawals
Fails predicate when treasury withdrawal has nonexistent return address [✔] (1ms)
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 [✔] (1ms)
ppuMaxTxSizeL cannot be 0 [✔] (1ms)
ppuMaxBHSizeL cannot be 0 [✔] (1ms)
ppuMaxValSizeL cannot be 0 [✔] (2ms)
ppuCollateralPercentageL cannot be 0 [✔] (2ms)
ppuCommitteeMaxTermLengthL cannot be 0 [✔] (1ms)
ppuGovActionLifetimeL cannot be 0 [✔] (2ms)
ppuPoolDepositL cannot be 0 [✔] (2ms)
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 [✔] (5ms)
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 [✔] (1ms)
LEDGER
TxRefScriptsSizeTooBig [✔] (46ms)
Withdraw from delegated and non-delegated staking key [✔] (996ms)
Withdraw from a key delegated to an unregistered DRep [✔] (1005ms)
Withdraw and unregister staking credential in the same transaction [✔] (1011ms)
Withdraw from a key delegated to an expired DRep [✔] (2582ms)
Withdraw from a key delegated to a DRep that expired after delegation [✔] (2564ms)
Withdraw from delegated and non-delegated staking script [✔] (1021ms)
Mempool
Duplicate transactions [✔] (3ms)
Unelected Committee voting [✔] (3ms)
RATIFY
Voting
SPO needs to vote on security-relevant parameter changes [✔] (1671ms)
Active voting stake
DRep
UTxOs contribute to active voting stake [✔] (1020ms)
Rewards contribute to active voting stake [✔] (1004ms)
Rewards contribute to active voting stake even in the absence of StakeDistr [✔] (5208ms)
Proposal deposits contribute to active voting stake
Directly [✔] (1011ms)
After switching delegations [✔] (1016ms)
Predefined DReps
acceptedRatio with default DReps [✔] (1544ms)
AlwaysNoConfidence [✔] (1808ms)
AlwaysAbstain [✔] (1827ms)
DRepAlwaysNoConfidence is sufficient to pass NoConfidence [✔] (1052ms)
StakePool
UTxOs contribute to active voting stake [✔] (1290ms)
Rewards contribute to active voting stake [✔] (1267ms)
Rewards contribute to active voting stake even in the absence of StakeDistr [✔] (5483ms)
Proposal deposits contribute to active voting stake
Directly [✔] (1013ms)
After switching delegations [✔] (1011ms)
Interaction between governing bodies
Motion of no-confidence [✔] (1002ms)
Update committee - normal state [✔] (1013ms)
Hard-fork initiation [✔] (1071ms)
A governance action is automatically ratified if threshold is set to 0 for all related governance bodies [✔] (1013ms)
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 [✔] (478ms)
HardForkInitiation - default vote is No [✔] (1063ms)
Reward account delegated to AlwaysNoConfidence [✔] (1003ms)
Reward account delegated to AlwaysAbstain [✔] (995ms)
Delaying actions
A delaying action delays its child even when both ere proposed and ratified in the same epoch [✔] (1260ms)
A delaying action delays all other actions even when all of them may be ratified in the same epoch [✔] (1095ms)
An action expires when delayed enough even after being ratified
Same lineage [✔] (1314ms)
Other lineage [✔] (1316ms)
proposals to update the committee get delayed if the expiration exceeds the max term [✔] (2598ms)
CommitteeMinSize affects in-flight proposals
TreasuryWithdrawal fails to ratify due to an increase in CommitteeMinSize [✔] (804ms)
TreasuryWithdrawal ratifies due to a decrease in CommitteeMinSize [✔] (2363ms)
ParameterChange affects existing proposals
DRep
Increasing the threshold prevents a hitherto-ratifiable proposal from being ratified [✔] (1335ms)
Decreasing the threshold ratifies a hitherto-unratifiable proposal [✔] (2142ms)
SPO
Increasing the threshold prevents a hitherto-ratifiable proposal from being ratified [✔] (1613ms)
Decreasing the threshold ratifies a hitherto-unratifiable proposal [✔] (2154ms)
A parent ParameterChange proposal can prevent its child from being enacted [✔] (543ms)
Expired and resigned committee members are discounted from quorum
Expired [✔] (1002ms)
Resigned [✔] (479ms)
Committee members can serve full `CommitteeMaxTermLength`
maxTermLength = 0 [✔] (1003ms)
maxTermLength = 1 [✔] (1027ms)
maxTermLength = 2 [✔] (1085ms)
Counting of SPO votes
HardForkInitiation [✔] (1077ms)
Hard Fork can still be initiated with less than minimal committee size [✔] (745ms)
When CC expired
SPOs alone can't enact hard-fork [✔] (5692ms)
SPOs alone can't enact security group parameter change [✔] (5766ms)
When CC threshold is 0
SPOs alone can enact hard-fork during bootstrap [✔] (479ms)
SPOs alone can enact security group parameter change during bootstrap [✔] (482ms)
Many CC Cold Credentials map to the same Hot Credential act as many votes [✔] (1059ms)
UTXO
Certificates
Reg/UnReg collect and refund correct amounts [✔] (209ms)
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 [✔] (476ms)
alwaysSucceeds Plutus govPolicy validates [✔] (478ms)
alwaysFails Plutus govPolicy does not validate [✔] (482ms)
PlutusV3 Initialization
Updating CostModels with alwaysFails govPolicy does not validate [✔] (1469ms)
Updating CostModels with alwaysSucceeds govPolicy but no PlutusV3 CostModels fails [✔] (413ms)
Updating CostModels and setting the govPolicy afterwards succeeds [✔] (2084ms)
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 [✔] (211ms)
V2 [✔] (218ms)
VotingProcedures
V1 [✔] (3ms)
V2 [✔] (4ms)
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 [✔] (1ms)
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 [✔] (2250ms)
+++ OK, passed 100 tests.
CostModels with less than expected parameters within PParamsUpdate [✔] (1020ms)
+++ OK, passed 100 tests.
unknown CostModels deserialize correctly within PParamsUpdate starting with Conway [✔] (1ms)
+++ OK, passed 100 tests.
applyPPUpdates [✔] (11545ms)
+++ 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 [✔] (2ms)
+++ OK, passed 100 tests.
fails to deserialize if empty, starting with Conway [✔] (1ms)
+++ OK, passed 100 tests.
Regression
DeserialiseFailure on resubmitting Conway Tx with invalid plutus script #4198 [✔]
ImpTest
InsufficientCollateral is not encoded with negative coin #4198 [✔] (1ms)
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 [✔] (6943ms)
+++ OK, passed 100 tests.
Golden
Golden JSON specs for PParams [✔] (8ms)
Golden JSON specs for PParamsUpdate [✔] (20ms)
Failures:
testlib/Test/Cardano/Ledger/Era/Spec.hs:35:11:
1) Spec for every Era, JSON, Golden, Genesis
Uncaught Exception: /nix/store/ln5w6bm0py4blbpx028ka6jkybxslx5m-cardano-ledger-dijkstra-lib-testlib-0.1.0.0-data/share/ghc-9.12.1/x86_64-linux-ghc-9.12.1/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 1380317442
Randomized with seed 1380317442
Finished in 1015.5783 seconds
539 examples, 1 failure, 9 pending
Loading