Support Plutus V4 CBOR tag in AlonzoScript decoder #5567
+1
−0
IOG Hydra / ci/hydra-build:x86_64-linux.required
failed
Feb 9, 2026 in 17m 2s
Build dependency failed
1 failed steps
Details
Failed Steps
Step 2
Derivation
/nix/store/dlp2kw58rs2y1x4l93w4valnfmb21vc3-cardano-ledger-dijkstra-test-tests-0.2.0.0-check.drv
Log
Running phase: unpackPhase
unpacking source archive /nix/store/phzl6hqdnwdm6fw01ij9qvz5glxd9c9v-source-eras-dijkstra-impl-test-tests-root
source root is source-eras-dijkstra-impl-test-tests-root
Running phase: patchPhase
Running phase: buildPhase
/nix/store/7nbcxdmpwxmbhwbqpdxqlf5da6x9h3zv-cardano-ledger-dijkstra-test-tests-0.2.0.0/bin:
patching script interpreter paths in /build/tmp.D99fzwGZFo/bin
Dijkstra
RoundTrip
Dijkstra Transaction Types
GovAction DijkstraEra [✔] (928ms)
+++ OK, passed 100 tests.
VotingProcedure DijkstraEra [✔]
+++ OK, passed 100 tests.
VotingProcedures DijkstraEra [✔] (505ms)
+++ OK, passed 100 tests.
ProposalProcedure DijkstraEra [✔] (1403ms)
+++ OK, passed 100 tests.
Constitution DijkstraEra [✔]
+++ OK, passed 100 tests.
CostModels [✔] (10022ms)
+++ OK, passed 100 tests.
Dijkstra State Types
EnactState DijkstraEra [✔] (20083ms)
+++ OK, passed 100 tests.
GovActionState DijkstraEra [✔] (745ms)
+++ OK, passed 100 tests.
Proposals DijkstraEra [✔] (18286ms)
+++ OK, passed 100 tests.
DRepPulsingState DijkstraEra [✔] (80719ms)
+++ OK, passed 100 tests.
PulsingSnapshot DijkstraEra [✔] (27398ms)
+++ OK, passed 100 tests.
RatifyState DijkstraEra [✔] (47208ms)
+++ OK, passed 100 tests.
VState DijkstraEra [✔] (199ms)
+++ OK, passed 100 tests.
Alonzo era types
Data DijkstraEra [✔] (3ms)
+++ OK, passed 100 tests.
Data DijkstraEra [✔] (1ms)
+++ OK, passed 100 tests.
BinaryData DijkstraEra [✔] (1ms)
+++ OK, passed 100 tests.
CostModels [✔] (13154ms)
+++ OK, passed 100 tests.
Datum doesn't roundtrip
Datum DijkstraEra [‐]
# PENDING: No reason given
TxDats [✔] (15ms)
+++ OK, passed 100 tests.
Redeemers [✔] (17ms)
+++ OK, passed 100 tests.
Core Type Families
MaryValue [✔] (50ms)
+++ OK, passed 100 tests.
CompactForm MaryValue [✔] (184ms)
+++ OK, passed 100 tests.
BabbageTxOut DijkstraEra [✔] (16ms)
+++ OK, passed 100 tests.
DijkstraTxCert DijkstraEra [✔] (4ms)
+++ OK, passed 100 tests.
PParams DijkstraEra [✔] (11401ms)
+++ OK, passed 100 tests.
PParamsUpdate DijkstraEra [✔] (7217ms)
+++ OK, passed 100 tests.
AlonzoScript DijkstraEra [✔] (1ms)
+++ OK, passed 100 tests.
AlonzoScript DijkstraEra [✔] (2ms)
+++ OK, passed 100 tests.
AlonzoTxAuxData DijkstraEra [✔] (35ms)
+++ OK, passed 100 tests.
AlonzoTxAuxData DijkstraEra [✔] (24ms)
+++ OK, passed 100 tests.
AlonzoTxWits DijkstraEra [✔] (273ms)
+++ OK, passed 100 tests.
AlonzoTxWits DijkstraEra [✔] (297ms)
+++ OK, passed 100 tests.
TxBody TopTx DijkstraEra [✔] (46087ms)
+++ OK, passed 100 tests.
TxBody TopTx DijkstraEra [✔] (64728ms)
+++ OK, passed 100 tests.
Tx TopTx DijkstraEra [✔] (44782ms)
+++ OK, passed 100 tests.
Tx TopTx DijkstraEra [✔] (63787ms)
+++ OK, passed 100 tests.
MemPack/CBOR Roundtrip BabbageTxOut DijkstraEra [✔] (27ms)
+++ OK, passed 100 tests.
ConwayCertState DijkstraEra [✔] (1764ms)
+++ OK, passed 100 tests.
Core State Types
SnapShots [✔] (1991ms)
+++ OK, passed 100 tests.
DState DijkstraEra [✔] (41ms)
+++ OK, passed 100 tests.
PState DijkstraEra [✔] (1335ms)
+++ OK, passed 100 tests.
CommitteeState DijkstraEra [✔] (10ms)
+++ OK, passed 100 tests.
UTxO DijkstraEra [✔] (218ms)
+++ OK, passed 100 tests.
State Types Families
ConwayGovState DijkstraEra [✔] (125640ms)
+++ OK, passed 100 tests.
State Types
UTxOState DijkstraEra [✔] (108200ms)
+++ OK, passed 100 tests.
EpochState DijkstraEra [✔] (119946ms)
+++ OK, passed 100 tests.
NewEpochState DijkstraEra [✔] (128261ms)
+++ OK, passed 100 tests.
Predicate Failures
DijkstraBbodyPredFailure DijkstraEra [✔] (5ms)
+++ OK, passed 100 tests.
ConwayCertPredFailure DijkstraEra [✔]
+++ OK, passed 100 tests.
ConwayCertsPredFailure DijkstraEra [✔] (5ms)
+++ OK, passed 100 tests.
ConwayDelegPredFailure DijkstraEra [✔]
+++ OK, passed 100 tests.
DijkstraGovCertPredFailure DijkstraEra [✔]
+++ OK, passed 100 tests.
DijkstraGovPredFailure DijkstraEra [✔] (233ms)
+++ OK, passed 100 tests.
DijkstraLedgerPredFailure DijkstraEra [✔] (117ms)
+++ OK, passed 100 tests.
ShelleyLedgersPredFailure DijkstraEra [✔] (119ms)
+++ OK, passed 100 tests.
ShelleyPoolPredFailure DijkstraEra [✔]
+++ OK, passed 100 tests.
DijkstraUtxoPredFailure DijkstraEra [✔] (541ms)
+++ OK, passed 100 tests.
ConwayUtxosPredFailure DijkstraEra [✔] (9282ms)
+++ OK, passed 100 tests.
DijkstraUtxowPredFailure DijkstraEra [✔] (215ms)
+++ OK, passed 100 tests.
CDDL
Generate bytestring from CDDL and decode/encode
account_balance_interval: AccountBalanceInterval DijkstraEra [✔] (6ms)
Generate bytestring from CDDL and decode/encode
account_balance_intervals: Map AccountId (AccountBalanceInterval DijkstraEra) [✔] (5ms)
Encode an arbitrary value and check against CDDL
account_balance_interval: AccountBalanceInterval DijkstraEra [✔]
+++ OK, passed 100 tests.
Generate bytestring from CDDL and decode/encode
positive_coin: MaryValue [✔]
Encode an arbitrary value and check against CDDL
value: MaryValue [✔] (25ms)
+++ OK, passed 100 tests.
MultiAsset
Generate bytestring from CDDL and decode/encode
value: MaryValue [✔] (2ms)
fix TxBody
transaction_body: Annotator (MemoBytes (DijkstraTxBodyRaw TopTx DijkstraEra)) [✔] (20ms)
Generate bytestring from CDDL and decode/encode
transaction_body: MemoBytes (DijkstraTxBodyRaw TopTx DijkstraEra) [✔] (18ms)
sub_transaction_body: Annotator (MemoBytes (DijkstraTxBodyRaw SubTx DijkstraEra)) [✔] (14ms)
Generate bytestring from CDDL and decode/encode
sub_transaction_body: MemoBytes (DijkstraTxBodyRaw SubTx DijkstraEra) [✔] (12ms)
hangs
Encode an arbitrary value and check against CDDL
transaction_body: MemoBytes (DijkstraTxBodyRaw TopTx DijkstraEra) [‐]?7h
# PENDING: No reason given
Encode an arbitrary value and check against CDDL
sub_transaction_body: MemoBytes (DijkstraTxBodyRaw SubTx DijkstraEra) [‐]
# PENDING: No reason given
auxiliary_data: Annotator (MemoBytes (AlonzoTxAuxDataRaw DijkstraEra)) [✔] (4ms)
fix plutus scripts
Encode an arbitrary value and check against CDDL
auxiliary_data: MemoBytes (AlonzoTxAuxDataRaw DijkstraEra) [‐]
# PENDING: No reason given
Generate bytestring from CDDL and decode/encode
auxiliary_data: MemoBytes (AlonzoTxAuxDataRaw DijkstraEra) [‐]
# PENDING: No reason given
native_script: Annotator (DijkstraNativeScript DijkstraEra) [✔] (2ms)
Encode an arbitrary value and check against CDDL
native_script: DijkstraNativeScript DijkstraEra [✔] (1ms)
+++ OK, passed 100 tests.
Generate bytestring from CDDL and decode/encode
native_script: DijkstraNativeScript DijkstraEra [✔] (2ms)
plutus_data: Annotator (MemoBytes (PlutusData DijkstraEra)) [✔] (5ms)
Encode an arbitrary value and check against CDDL
plutus_data: MemoBytes (PlutusData DijkstraEra) [✔] (1ms)
+++ OK, passed 100 tests.
Generate bytestring from CDDL and decode/encode
plutus_data: MemoBytes (PlutusData DijkstraEra) [✔] (4ms)
fix TxOut
Generate bytestring from CDDL and decode/encode
transaction_output: BabbageTxOut DijkstraEra [‐]
# PENDING: No reason given
fix address
Encode an arbitrary value and check against CDDL
transaction_output: BabbageTxOut DijkstraEra [‐]
# PENDING: No reason given
fix Script
script: Annotator (AlonzoScript DijkstraEra) [‐]
# PENDING: No reason given
Generate bytestring from CDDL and decode/encode
script: AlonzoScript DijkstraEra [‐]
# PENDING: No reason given
fix plutus_v1_script
Encode an arbitrary value and check against CDDL
script: AlonzoScript DijkstraEra [‐]
# PENDING: No reason given
Generate bytestring from CDDL and decode/encode
datum_option: Datum DijkstraEra [✔] (1ms)
fix NoDatum
Encode an arbitrary value and check against CDDL
datum_option: Datum DijkstraEra [‐]
# PENDING: No reason given
fix duplicates in maps
transaction_witness_set: Annotator (MemoBytes (AlonzoTxWitsRaw DijkstraEra)) [‐]
# PENDING: No reason given
Generate bytestring from CDDL and decode/encode
transaction_witness_set: MemoBytes (AlonzoTxWitsRaw DijkstraEra) [‐]
# PENDING: No reason given
fix plutus_v1_script
Encode an arbitrary value and check against CDDL
transaction_witness_set: MemoBytes (AlonzoTxWitsRaw DijkstraEra) [‐]
# PENDING: No reason given
Generate bytestring from CDDL and decode/encode
protocol_param_update: PParamsUpdate DijkstraEra [✔] (141ms)
hangs
Encode an arbitrary value and check against CDDL
protocol_param_update: PParamsUpdate DijkstraEra [‐]?7h
# PENDING: No reason given
Generate bytestring from CDDL and decode/encode
cost_models: CostModels [✔] (5893ms)
Encode an arbitrary value and check against CDDL
cost_models: CostModels [✔] (2592ms)
+++ OK, passed 100 tests.
redeemers: Annotator (MemoBytes (RedeemersRaw DijkstraEra)) [✔] (8ms)
fix redeemers
Encode an arbitrary value and check against CDDL
redeemers: MemoBytes (RedeemersRaw DijkstraEra) [‐]?7h
# PENDING: No reason given
Generate bytestring from CDDL and decode/encode
redeemers: MemoBytes (RedeemersRaw DijkstraEra) [✔] (8ms)
fix Transaction
transaction: Annotator (Tx TopTx DijkstraEra) [‐]
# PENDING: No reason given
Generate bytestring from CDDL and decode/encode
transaction: DijkstraTx TopTx DijkstraEra [‐]
# PENDING: No reason given
hangs
Encode an arbitrary value and check against CDDL
transaction: DijkstraTx TopTx DijkstraEra [‐]
# PENDING: No reason given
Generate bytestring from CDDL and decode/encode
voting_procedure: VotingProcedure DijkstraEra [✔]
Encode an arbitrary value and check against CDDL
voting_procedure: VotingProcedure DijkstraEra [✔]
+++ OK, passed 100 tests.
Generate bytestring from CDDL and decode/encode
proposal_procedure: ProposalProcedure DijkstraEra [✔] (5ms)
fix reward_account
Encode an arbitrary value and check against CDDL
proposal_procedure: ProposalProcedure DijkstraEra [‐]
# PENDING: No reason given
Generate bytestring from CDDL and decode/encode
gov_action: GovAction DijkstraEra [✔] (3ms)
hangs
Encode an arbitrary value and check against CDDL
gov_action: GovAction DijkstraEra [‐]
# PENDING: No reason given
TxCert
Generate bytestring from CDDL and decode/encode
certificate: DijkstraTxCert DijkstraEra [✔] (1ms)
fix unit_interval
Encode an arbitrary value and check against CDDL
certificate: DijkstraTxCert DijkstraEra [‐]
# PENDING: No reason given
DecCBOR instances equivalence via CDDL
transaction_body: MemoBytes (DijkstraTxBodyRaw TopTx DijkstraEra) [✔] (20ms)
sub_transaction_body: MemoBytes (DijkstraTxBodyRaw SubTx DijkstraEra) [✔] (13ms)
Fix decoder equivalence of TxAuxData
auxiliary_data: MemoBytes (AlonzoTxAuxDataRaw DijkstraEra) [‐]
# PENDING: No reason given
native_script: DijkstraNativeScript DijkstraEra [✔] (1ms)
plutus_data: MemoBytes (PlutusData DijkstraEra) [✔] (4ms)
script: AlonzoScript DijkstraEra [✘] (22ms)
transaction_witness_set: MemoBytes (AlonzoTxWitsRaw DijkstraEra) [✔] (6ms)
redeemers: MemoBytes (RedeemersRaw DijkstraEra) [✔] (7ms)
Fix decoder equivalence of Tx
transaction: DijkstraTx TopTx DijkstraEra [‐]
# PENDING: No reason given
Golden
Golden JSON specs for PParams [✔] (2ms)
Golden JSON specs for PParamsUpdate [✔] (30ms)
Shelley era JSON Roundtrip: Dijkstra
TransitionConfig DijkstraEra [✔] (8619ms)
+++ OK, passed 100 tests.
Imp
ShelleyImpSpec
Protocol Version 12
DELEG
Register stake credential
With correct deposit or without any deposit [✔] (117ms)
When already already registered [✔] (1ms)
Unregister stake credentials
When registered [✔] (1ms)
When not registered [✔]
With non-zero reward balance [✔] (198ms)
Register and unregister in the same transaction [✔] (9ms)
Delegate stake
Delegate registered stake credentials to registered pool [✔] (2ms)
Register and delegate in the same transaction [✔] (1ms)
Delegate unregistered stake credentials [✔] (1ms)
Delegate already delegated credentials [✔] (4ms)
Delegate and unregister [✔] (1ms)
EPOCH
Runs basic transaction [✔] (56ms)
Crosses epoch boundaries [✔] (49ms)
LEDGER
Transactions update UTxO [✔] (1ms)
POOL
Register and re-register pools
register a pool with too low cost [✔] (1ms)
register a pool with a staking address having the wrong network id [✔]
register a pool with too big metadata [✔]
register a new pool with an already registered VRF [✔] (1ms)
re-register a pool and change its delegations in the same epoch [✔] (134ms)
re-register a pool with an already registered VRF [✔] (2ms)
re-register a pool with its own VRF [✔] (56ms)
re-register a pool with a fresh VRF [✔] (54ms)
register a new pool with the VRF of a re-registered pool [✔] (54ms)
after the epoch changes, reuse VRFs that get overwritten [✔] (185ms)
before the epoch changes, try to reuse VRFs that get overwritten [✔] (2ms)
Retiring pools
retire an unregistered pool [✔]
retire a pool with too high a retirement epoch [✔] (1ms)
retire a pool with too low a retirement epoch [✔] (1ms)
re-register a retiring pool with an already registered vrf [✔] (2ms)
re-register retiring pool with its own VRF [✔] (2ms)
re-register a retiring pool with a fresh VRF [✔] (56ms)
register a pool with the VRF of a retiring pool [✔] (53ms)
retiring a pool clears its delegations [✔] (58ms)
Retired pools
re-register a pool with the same keyhash and VRF [✔] (59ms)
register a pool with the VRF of a retired pool [✔] (54ms)
UTXOW
Bootstrap Witness
Valid Witnesses [✔] (1ms)
InvalidWitnessesUTXOW [✔] (1ms)
MissingVKeyWitnessesUTXOW [✔]
MissingScriptWitnessesUTXOW [✔]
MissingTxBodyMetadataHash [✔]
MissingTxMetadata [✔]
ConflictingMetadataHash [✔]
ExtraneousScriptWitnessesUTXOW [✔]
UTXO
ShelleyUtxoPredFailure
ValueNotConservedUTxO [✔] (10ms)
ShelleyPureTests
InstantStakeIncludesRewards [✔] (447ms)
+++ OK, passed 100 tests.
AllegraImpSpec
Protocol Version 12
UTXOW
InvalidMetadata [✔] (1ms)
MaryImpSpec
Protocol Version 12
UTXO
Mint a Token [✔] (1ms)
ShelleyUtxoPredFailure
ValueNotConservedUTxO [✔] (1ms)
AlonzoImpSpec
Protocol Version 12
BBODY
PlutusV1
succeeds with eight Plutus scripts [✔] (38ms)
enforces ppMaxBlockExUnits [✔] (30ms)
PlutusV2
succeeds with eight Plutus scripts [✔] (14ms)
enforces ppMaxBlockExUnits [✔] (29ms)
PlutusV3
succeeds with eight Plutus scripts [✔] (15ms)
enforces ppMaxBlockExUnits [✔] (32ms)
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
transaction validity interval has closed upper bound when protocol version < 9 and open otherwise [✔] (1ms)
PlutusV1
ExUnits
Calculate ExUnits [✔] (1ms)
Attempt to calculate ExUnits with an invalid tx [✔] (1ms)
Spending scripts with a Datum
redeemerSameAsDatum [✔] (56ms)
purposeIsWellformedWithDatum [✔] (54ms)
datumIsWellformed [✔] (55ms)
inputsOutputsAreNotEmptyWithDatum [✔] (51ms)
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
ExUnits
Calculate ExUnits [✔] (1ms)
Attempt to calculate ExUnits with an invalid tx [✔] (1ms)
Spending scripts with a Datum
redeemerSameAsDatum [✔] (55ms)
purposeIsWellformedWithDatum [✔] (53ms)
datumIsWellformed [✔] (55ms)
inputsOutputsAreNotEmptyWithDatum [✔] (55ms)
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)
PlutusV3
ExUnits
Calculate ExUnits [✔] (1ms)
Attempt to calculate ExUnits with an invalid tx [✔] (1ms)
Spending scripts with a Datum
redeemerSameAsDatum [✔] (52ms)
purposeIsWellformedWithDatum [✔] (56ms)
datumIsWellformed [✔] (59ms)
inputsOutputsAreNotEmptyWithDatum [✔] (54ms)
Valid transaction marked as invalid [✔]
Invalid transaction marked as valid [✔] (3ms)
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 [✔] (1ms)
PlutusV1
Validating SPEND script [✔] (1ms)
Not validating SPEND script [✔] (2ms)
Validating CERT script [✔] (1ms)
Validating WITHDRAWAL script [✔] (1ms)
Validating MINT script [✔] (1ms)
Not validating MINT script [✔] (1ms)
Acceptable supplementary datum [✔] (1ms)
PlutusV2
Validating SPEND script [✔] (1ms)
Not validating SPEND script [✔] (2ms)
Validating CERT script [✔] (1ms)
Validating WITHDRAWAL script [✔] (1ms)
Validating MINT script [✔] (1ms)
Not validating MINT script [✔] (1ms)
Acceptable supplementary datum [✔]
PlutusV3
Validating SPEND script [✔] (1ms)
Not validating SPEND script [✔] (2ms)
Validating CERT script [✔] (1ms)
Validating WITHDRAWAL script [✔] (2ms)
Validating MINT script [✔] (1ms)
Not validating MINT script [✔] (2ms)
Acceptable supplementary datum [✔] (1ms)
Invalid transactions
Phase 1 script failure [✔]
PlutusV1
MissingRedeemers [✔] (1ms)
MissingRequiredDatums [✔] (1ms)
NotAllowedSupplementalDatums [✔] (1ms)
PPViewHashesDontMatch
Mismatched [✔]
Missing [✔]
UnspendableUTxONoDatumHash [✔] (1ms)
Missing phase-2 script witness [✔] (1ms)
Redeemer with incorrect purpose [✔] (10ms)
Missing witness for collateral input [✔] (2ms)
Extra Redeemer
Minting [✔] (1ms)
Spending [✔] (1ms)
PlutusV2
MissingRedeemers [✔] (1ms)
MissingRequiredDatums [✔] (1ms)
NotAllowedSupplementalDatums [✔] (1ms)
PPViewHashesDontMatch
Mismatched [✔]
Missing [✔]
UnspendableUTxONoDatumHash [✔] (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)
Missing phase-2 script witness [✔] (1ms)
Redeemer with incorrect purpose [✔] (1ms)
Missing witness for collateral input [✔] (1ms)
Protocol Version 12
BabbageImpSpec - era generic tests
UTXO
Min-utxo value with output too large [✔]
UTXOW
Valid
Native reference scripts must not be witnessed [✔]
Spend native script output with reference script [✔] (1ms)
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 [✔] (1ms)
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 [✔] (1ms)
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 [✔] (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)
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
PlutusV1 with references
succeeds with a reference script [✔] (1ms)
succeeds with a reference input [✔] (2ms)
PlutusV2 with references
succeeds with same txIn in regular inputs and reference inputs [✔] (2ms)
Incorrect collateral total [✔] (1ms)
Protocol Version 12
BBODY
BodyRefScriptsSizeTooBig [✔] (397ms)
BodyRefScriptsSizeTooBig with reference scripts in the same block [✔] (572ms)
totalRefScriptSizeInBlock [✔] (2ms)
Use a reference script in a collateral output [disabled in conformance] [✔] (3ms)
CERTS
Withdrawals
Withdrawing from an unregistered staking address [✔] (243ms)
Withdrawing the wrong amount [✔] (496ms)
DELEG
Register stake credential
With correct deposit [✔]
Twice the same certificate in the same transaction [✔]
With incorrect deposit [✔]
Unregister stake credentials
With incorrect refund [✔] (1ms)
Deregistering returns the deposit [✔] (2010ms)
Delegate stake
Delegate to unregistered pool [✔]
Delegate vote
Delegate vote of registered stake credentials to registered drep [✔] (1ms)
Redelegate vote to the same 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 [✔] (1ms)
Delegate vote and unregister after hardfork [✔] (717ms)
Delegate vote and undelegate after delegating to some stake pools [✔] (363ms)
Delegate, retire and re-register pool [✔] (446ms)
Delegate both stake and vote
Delegate and unregister credentials [✔] (2ms)
Delegate to DRep and SPO and change delegation to a different SPO [✔] (2ms)
Transition creates the delegations correctly [✔] (4ms)
ENACT
Committee enactment
Enact UpdateCommitee with lengthy lifetime [✔] (181ms)
CC re-election [✔] (608ms)
Removing CC with UpdateCommittee
Non registered [✔] (233ms)
Registered [✔] (239ms)
Treasury withdrawals
Modify EnactState as expected [✔] (14ms)
Withdrawals exceeding treasury submitted in a single proposal [✔] (253ms)
Withdrawals exceeding maxBound Word64 submitted in a single proposal [✔] (127ms)
Withdrawals exceeding treasury submitted in several proposals within the same epoch [✔] (201ms)
NoConfidence [✔] (493ms)
HardForkInitiation [✔] (410ms)
Constitution [✔] (126ms)
Competing proposals
higher action priority wins [✔] (124ms)
proposals of same priority are enacted in order of submission [✔] (150ms)
only the first action of a transaction gets enacted [✔] (143ms)
HardForkInitiation without DRep voting [✔] (286ms)
futurePParams [✔] (118ms)
EPOCH
DRep
proposal is accepted after two epochs [✔] (214ms)
Treasury
TreasuryWithdrawal [✔] (181ms)
TreasuryWithdrawalExtra [✔] (194ms)
deposit is moved to treasury when the reward address is not registered [✔] (598ms)
Proposals
Proposals survive multiple epochs without any activity [✔] (404ms)
Expired proposal deposit refunded [✔] (179ms)
Proposals are expired and removed as expected [✔] (123ms)
DRep
expiry is updated based on the number of dormant epochs [disabled in conformance] [✔] (373ms)
expiry is not updated for inactive DReps [disabled in conformance] [✔] (389ms)
expiry updates are correct for a mixture of cases [disabled in conformance] [✔] (753ms)
DRep registration should succeed [✔] (52ms)
Events
emits event
GovInfoEvent [✔] (767ms)
GOV
Constitution proposals
accepted for
empty PrevGovId before the first constitution is enacted [✔] (1ms)
valid GovPurposeId [✔] (240ms)
rejected for
empty PrevGovId after the first constitution was enacted [✔] (123ms)
invalid index in GovPurposeId [✔] (116ms)
valid GovPurposeId but invalid purpose [✔] (117ms)
Proposals
Consistency
Proposals submitted without proper parent fail [✔] (5ms)
Subtrees are pruned when proposals expire [✔] (369ms)
Subtrees are pruned when proposals expire over multiple rounds [✔] (845ms)
Subtrees are pruned when competing proposals are enacted [✔] (306ms)
Subtrees are pruned when competing proposals are enacted over multiple rounds [✔] (256ms)
Subtrees are pruned for both enactment and expiry over multiple rounds [disabled in conformance] [✔] (1010ms)
Votes from subsequent epochs are considered for ratification [✔] (245ms)
Proposals are stored in the expected order [✔] (4ms)
Voting
VotersDoNotExist [✔] (2ms)
DRep votes are removed [✔] (2ms)
expired gov-actions [disabled in conformance] [✔] (174ms)
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 [disabled in conformance] [✔] (497ms)
can submit SPO votes [✔] (187ms)
Policy
policy is respected by proposals [✔] (119ms)
Predicate failures
ProposalReturnAccountDoesNotExist [✔] (1ms)
ExpirationEpochTooSmall [✔] (55ms)
ProposalDepositIncorrect [✔]
ConflictingCommitteeUpdate [✔] (1ms)
Unknown CostModels
Are accepted [✔] (203ms)
Withdrawals
Fails predicate when treasury withdrawal has nonexistent return address [✔] (3ms)
Fails with invalid network ID in withdrawal addresses [✔] (1ms)
Fails for empty withdrawals [✔] (7ms)
HardFork
Hardfork is the first one (doesn't have a GovPurposeId)
Hardfork minorFollow [✔] (1ms)
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 [✔] (2ms)
ppuMaxValSizeL cannot be 0 [✔] (2ms)
ppuCollateralPercentageL cannot be 0 [✔] (2ms)
ppuCommitteeMaxTermLengthL cannot be 0 [✔] (2ms)
ppuGovActionLifetimeL cannot be 0 [✔] (1ms)
ppuPoolDepositL cannot be 0 [✔] (1ms)
ppuGovActionDepositL cannot be 0 [✔] (1ms)
ppuDRepDepositL cannot be 0 [✔] (2ms)
PPU cannot be empty [✔] (1ms)
Network ID
Fails with invalid network ID in proposal return address [✔]
Proposing and voting
Parameter change [✔] (5ms)
Hardfork initiation [✔] (5ms)
Info action [✔] (5ms)
Treasury withdrawal [✔] (2ms)
NoConfidence [✔]
UpdateCommittee [✔] (1ms)
NewConstitution [✔]
GOVCERT
Resigning proposed CC key [✔] (1ms)
succeeds for
registering and unregistering a DRep [✔] (1ms)
resigning a non-CC key [✔]
re-registering a CC hot key [✔] (8ms)
fails for
invalid deposit provided with DRep registration cert [✔]
invalid refund provided with DRep deregistration cert [✔] (1ms)
DRep already registered [✔] (1ms)
unregistering a nonexistent DRep [✔]
registering a resigned CC member hotkey [✔] (3ms)
resigning a nonexistent CC member hotkey [✔] (1ms)
LEDGER
TxRefScriptsSizeTooBig [✔] (54ms)
Withdraw from delegated and non-delegated staking key [✔] (246ms)
Withdraw from a key delegated to an unregistered DRep [✔] (246ms)
Withdraw and unregister staking credential in the same transaction [disabled in conformance] [✔] (252ms)
Withdraw from a key delegated to an expired DRep [✔] (623ms)
Withdraw from a key delegated to a DRep that expired after delegation [disabled in conformance] [✔] (605ms)
Withdraw from delegated and non-delegated staking script [✔] (251ms)
Mempool
Duplicate transactions [✔]
Unelected Committee voting [✔] (4ms)
HARDFORK
VRF Keyhashes get populated at v11 HardFork [✔]
Retiring a stake pool with a duplicate VRF Keyhash after v11 HardFork [✔]
RATIFY
Voting
SPO needs to vote on security-relevant parameter changes [✔] (400ms)
Active voting stake
DRep
UTxOs contribute to active voting stake [✔] (249ms)
Rewards contribute to active voting stake [✔] (244ms)
Rewards contribute to active voting stake even in the absence of StakeDistr [disabled in conformance] [✔] (1248ms)
Proposal deposits contribute to active voting stake
Directly [✔] (249ms)
After switching delegations [✔] (249ms)
Predefined DReps
acceptedRatio with default DReps [✔] (374ms)
AlwaysNoConfidence [✔] (441ms)
AlwaysAbstain [✔] (436ms)
DRepAlwaysNoConfidence is sufficient to pass NoConfidence [✔] (239ms)
StakePool
UTxOs contribute to active voting stake [✔] (303ms)
Rewards contribute to active voting stake [✔] (303ms)
Rewards contribute to active voting stake even in the absence of StakeDistr [✔] (1316ms)
Proposal deposits contribute to active voting stake
Directly [✔] (241ms)
After switching delegations [✔] (243ms)
Interaction between governing bodies
Motion of no-confidence [✔] (235ms)
Update committee - normal state [✔] (236ms)
Hard-fork initiation [✔] (253ms)
A governance action is automatically ratified if threshold is set to 0 for all related governance bodies [✔] (241ms)
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 [✔] (117ms)
HardForkInitiation - default vote is No [✔] (266ms)
Staking address delegated to AlwaysNoConfidence [✔] (241ms)
Staking address delegated to AlwaysAbstain [✔] (248ms)
Delaying actions
A delaying action delays its child even when both ere proposed and ratified in the same epoch [✔] (308ms)
A delaying action delays all other actions even when all of them may be ratified in the same epoch [✔] (275ms)
An action expires when delayed enough even after being ratified
Same lineage [disabled in conformance] [✔] (319ms)
Other lineage [disabled in conformance] [✔] (325ms)
proposals to update the committee get delayed if the expiration exceeds the max term [✔] (668ms)
CommitteeMinSize affects in-flight proposals
TreasuryWithdrawal fails to ratify due to an increase in CommitteeMinSize [✔] (213ms)
TreasuryWithdrawal ratifies due to a decrease in CommitteeMinSize [✔] (617ms)
ParameterChange affects existing proposals
DRep
Increasing the threshold prevents a hitherto-ratifiable proposal from being ratified [✔] (351ms)
Decreasing the threshold ratifies a hitherto-unratifiable proposal [✔] (575ms)
SPO
Increasing the threshold prevents a hitherto-ratifiable proposal from being ratified [✔] (440ms)
Decreasing the threshold ratifies a hitherto-unratifiable proposal [✔] (573ms)
A parent ParameterChange proposal can prevent its child from being enacted [✔] (167ms)
Expired and resigned committee members are discounted from quorum
Expired [✔] (270ms)
Resigned [✔] (133ms)
Committee members can serve full `CommitteeMaxTermLength`
maxTermLength = 0 [✔] (278ms)
maxTermLength = 1 [✔] (269ms)
maxTermLength = 2 [✔] (276ms)
Counting of SPO votes
HardForkInitiation [✔] (264ms)
Hard Fork can still be initiated with less than minimal committee size [✔] (182ms)
When CC expired
SPOs alone can't enact hard-fork [✔] (1403ms)
SPOs alone can't enact security group parameter change [✔] (1394ms)
Committee proposals pass [✔] (510ms)
When CC threshold is 0
SPOs alone can enact hard-fork during bootstrap [✔] (121ms)
SPOs alone can enact security group parameter change during bootstrap [✔] (122ms)
When min size is not 0
Constitution cannot be changed if active committee size is below min size [✔] (393ms)
Constitution cannot be changed if committee is not active because it doesn't have registered hot credentials [✔] (119ms)
Constitution can be changed when an active committee doesn't vote [✔] (121ms)
Constitution can be changed regardless of active committee votes [✔] (125ms)
When min size is 0
Constitution can be changed if the commitee is inactive but has some active members [✔] (512ms)
Constitution can be changed if there are no active members [✔] (121ms)
When CC threshold is not 0
Constitution cannot be changed if min committee size is 0 [✔] (511ms)
Many CC Cold Credentials map to the same Hot Credential act as many votes [✔] (273ms)
UTXO
Certificates
Reg/UnReg collect and refund correct amounts [✔] (55ms)
Reference scripts
required reference script counts towards the minFee calculation [✔] (1ms)
reference scripts not required for spending the input count towards the minFee calculation [✔] (2ms)
a scripts referenced several times counts for each reference towards the minFee calculation [✔] (2ms)
UTXOS
Gov policy scripts
failing native script govPolicy [✔] (122ms)
alwaysSucceeds Plutus govPolicy validates [✔] (128ms)
alwaysFails Plutus govPolicy does not validate [✔] (123ms)
PlutusV3 Initialization
Updating CostModels with alwaysFails govPolicy does not validate [✔] (460ms)
Updating CostModels with alwaysSucceeds govPolicy but no PlutusV3 CostModels fails [✔] (148ms)
Updating CostModels and setting the govPolicy afterwards succeeds [✔] (601ms)
PlutusV1
can use reference scripts [✔] (1ms)
can use regular inputs for reference [✔] (1ms)
fails with same txIn in regular inputs and reference inputs [✔]
using inline datums [✔] (1ms)
PlutusV2
can use reference scripts [✔] (1ms)
can use regular inputs for reference [✔] (1ms)
fails with same txIn in regular inputs and reference inputs [✔]?7h
using inline datums [✔] (1ms)
PlutusV3
can use reference scripts [✔] (1ms)
can use regular inputs for reference [✔] (1ms)
fails with same txIn in regular inputs and reference inputs [✔] (1ms)
using inline datums [✔] (1ms)
Conway features fail in Plutusdescribe v1 and v2
Unsupported Fields
CurrentTreasuryValue
V1 [✔] (60ms)
V2 [✔] (55ms)
VotingProcedures
V1 [✔] (4ms)
V2 [✔] (5ms)
ProposalProcedures
V1 [✔] (1ms)
V2 [✔] (2ms)
TreasuryDonation
V1 [✔] (1ms)
V2 [✔] (1ms)
Certificates
Translated
RegDepositTxCert
V1 [✔] (1ms)
V2 [✔] (1ms)
UnRegDepositTxCert
V1 [✔] (3ms)
V2 [✔] (2ms)
Unsupported
DelegTxCert
V1 [✔] (2ms)
V2 [✔] (3ms)
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 [✔] (3ms)
Spending script without a Datum
PlutusV1 [✔] (1ms)
PlutusV2 [✔] (1ms)
PlutusV3 [✔] (1ms)
UTXOW
Fails with PPViewHashesDontMatch before PV 11 [disabled in conformance] [✔]
Fails with PPViewHashesDontMatchInformative after PV 11 [✔] (1ms)
Transaction containing SPO vote but no witness for it fails [✔] (2ms)
Protocol Version 12
LEDGER
Spending sub-transaction outputs
Fails when top-level transaction spends output from its own sub-transaction [✔] (1ms)
Fails when sub-transaction spends output from another sub-transaction [✔] (1ms)
Succeeds when inputs don't reference sub-transaction outputs [✔] (1ms)
CERTS
Subtransaction consumes correct refund after keyDeposit is changed [‐]
# PENDING: No reason given
Multiple subtransactions cannot get the same refund [‐]
# PENDING: No reason given
UTXOW
RequireGuard native scripts
Spending inputs locked by script requiring a keyhash guard [✔] (1ms)
A native script required as guard needs to be witnessed [✔] (1ms)
A failing native script required as guard results in a predicate failure [✔]
A redundant guard is ignored [✔]
Nested RequiredGuard scripts [✔] (1ms)
UTXO
Collaterals
Fails to submit a transaction containing a Ptr in collateral return [✔]
TxInfo
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 [✔]
SPlutusV3
translation error on byron txout [✔]
translation error on byron txin [✔]
translation error on unknown txin (logic error) [✔]
use inline datum in input [✔]
use inline datum in output [✔]
use reference script in input [✔]
use reference script in output [✔]
SPlutusV4
translation error on byron txout [✔]
translation error on byron txin [✔]
translation error on unknown txin (logic error) [✔]
use inline datum in input [✔]
use inline datum in output [✔]
use reference script in input [✔]
use reference script in output [✔]
TxInfo
PlutusV4
Fails translation when Ptr present in outputs [✔] (75ms)
+++ OK, passed 100 tests.
Golden
Version 12
Redeemers
Decoding Redeemers encoded as a list fails [✔]
TxCert
Decoding duplicate delegation certs fails [✔]
TxWits
Decoding a TxWits with duplicate VKeyWits fails [✔]
Decoding a TxWits with duplicate native scripts fails [✔]
Decoding a TxWits with duplicate SPlutusV1 scripts fails [✔]
Decoding a TxWits with duplicate SPlutusV2 scripts fails [✔]
Decoding a TxWits with duplicate SPlutusV3 scripts fails [✔]
Decoding a TxWits with duplicate plutus data fails [✔]
Empty fields not allowed
Untagged
addrTxWits [✔]
nativeScripts [✔]
bootstrapWitness [✔]
plutusV1Script [✔]
plutusData [✔]
redeemers [✔]
plutusV2Script [✔]
plutusV3Script [✔]
Tagged
addrTxWits [✔]
nativeScripts [✔]
bootstrapWitness [✔]
plutusV1Script [✔]
plutusData [✔]
plutusV2Script [✔]
plutusV3Script [✔]
Invalid field [✔]
+++ OK, passed 100 tests; 25 discarded.
Subtransactions
TxBody with subtransactions decoded as expected [✔]
Subtransactions have to be non-empty if the field is present [✔]
Subtransactions have to be distinct [✔]
IsValid flag
Deserialize transactions with missing `isValid` flag [✔]
Deserialize transactions with `isValid` flag set to true [✔]
Fail to deserialize transactions with `isValid` flag set to false [✔]
Failures:
testlib/Test/Cardano/Ledger/Binary.hs:82:7:
1) Dijkstra.CDDL, DecCBOR instances equivalence via CDDL, script: AlonzoScript DijkstraEra
Decoding result:
Left
(DecoderErrorDeserialiseFailure
"AlonzoScript DijkstraEra"
(DeserialiseFailure
2
"An error occured while decoding (Int,(AlonzoScript DijkstraEra)) not a valid key:.\nError: 4"))
did not match the one via Annotator:
Right
PlutusScript
PlutusV4
ScriptHash
"359cb15f4d537448ef4a5f6fc94194457e14e78d2ff87fee92196049"
CBOR:
82 # list(2)
04 # int(4)
48 b0 6f dc 62 94 e0 48 a6 # bytes(8)
To rerun use: --match "/Dijkstra/CDDL/DecCBOR instances equivalence via CDDL/script: AlonzoScript DijkstraEra/" --seed 1890654909
Randomized with seed 1890654909
Finished in 1020.9053 seconds
616 examples, 1 failure, 26 pending
Loading