Improve testing setup and genesis json golden test #5243
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
Loading