Support Plutus V4 CBOR tag in AlonzoScript decoder #5567
+1
−0
IOG Hydra / ci/hydra-build:aarch64-darwin.required
failed
Feb 9, 2026 in 52m 56s
Build dependency failed
1 failed steps
Details
Failed Steps
Step 2
Derivation
/nix/store/zsvryhk54si2cag484hxkdl1qzkifscv-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/8x9rf3m6vmdipa9v82fz318a77nd7f3d-cardano-ledger-dijkstra-test-tests-0.2.0.0/bin:
patching script interpreter paths in /private/tmp/nix-build-cardano-ledger-dijkstra-test-tests-0.2.0.0-check.drv-0/tmp.hILG4jZRB8/bin
Dijkstra
RoundTrip
Dijkstra Transaction Types
GovAction DijkstraEra [✔] (1188ms)
+++ OK, passed 100 tests.
VotingProcedure DijkstraEra [✔]?7h
+++ OK, passed 100 tests.
VotingProcedures DijkstraEra [✔] (766ms)
+++ OK, passed 100 tests.
ProposalProcedure DijkstraEra [✔] (861ms)
+++ OK, passed 100 tests.
Constitution DijkstraEra [✔]
+++ OK, passed 100 tests.
CostModels [✔] (17707ms)
+++ OK, passed 100 tests.
Dijkstra State Types
EnactState DijkstraEra [✔] (28420ms)
+++ OK, passed 100 tests.
GovActionState DijkstraEra [✔] (2089ms)
+++ OK, passed 100 tests.
Proposals DijkstraEra [✔] (36633ms)
+++ OK, passed 100 tests.
DRepPulsingState DijkstraEra [✔] (119243ms)
+++ OK, passed 100 tests.
PulsingSnapshot DijkstraEra [✔] (46530ms)
+++ OK, passed 100 tests.
RatifyState DijkstraEra [✔] (68563ms)
+++ OK, passed 100 tests.
VState DijkstraEra [✔] (239ms)
+++ 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 [✔] (15992ms)
+++ OK, passed 100 tests.
Datum doesn't roundtrip
Datum DijkstraEra [‐]
# PENDING: No reason given
TxDats [✔] (23ms)
+++ OK, passed 100 tests.
Redeemers [✔] (25ms)
+++ OK, passed 100 tests.
Core Type Families
MaryValue [✔] (77ms)
+++ OK, passed 100 tests.
CompactForm MaryValue [✔] (271ms)
+++ OK, passed 100 tests.
BabbageTxOut DijkstraEra [✔] (17ms)
+++ OK, passed 100 tests.
DijkstraTxCert DijkstraEra [✔] (5ms)
+++ OK, passed 100 tests.
PParams DijkstraEra [✔] (12477ms)
+++ OK, passed 100 tests.
PParamsUpdate DijkstraEra [✔] (10165ms)
+++ OK, passed 100 tests.
AlonzoScript DijkstraEra [✔] (1ms)
+++ OK, passed 100 tests.
AlonzoScript DijkstraEra [✔] (1ms)
+++ OK, passed 100 tests.
AlonzoTxAuxData DijkstraEra [✔] (56ms)
+++ OK, passed 100 tests.
AlonzoTxAuxData DijkstraEra [✔] (34ms)
+++ OK, passed 100 tests.
AlonzoTxWits DijkstraEra [✔] (374ms)
+++ OK, passed 100 tests.
AlonzoTxWits DijkstraEra [✔] (403ms)
+++ OK, passed 100 tests.
TxBody TopTx DijkstraEra [✔] (52682ms)
+++ OK, passed 100 tests.
TxBody TopTx DijkstraEra [✔] (76865ms)
+++ OK, passed 100 tests.
Tx TopTx DijkstraEra [✔] (80939ms)
+++ OK, passed 100 tests.
Tx TopTx DijkstraEra [✔] (220808ms)
+++ OK, passed 100 tests.
MemPack/CBOR Roundtrip BabbageTxOut DijkstraEra [✔] (17ms)
+++ OK, passed 100 tests.
ConwayCertState DijkstraEra [✔] (4909ms)
+++ OK, passed 100 tests.
Core State Types
SnapShots [✔] (5276ms)
+++ OK, passed 100 tests.
DState DijkstraEra [✔] (91ms)
+++ OK, passed 100 tests.
PState DijkstraEra [✔] (3492ms)
+++ OK, passed 100 tests.
CommitteeState DijkstraEra [✔] (40ms)
+++ OK, passed 100 tests.
UTxO DijkstraEra [✔] (643ms)
+++ OK, passed 100 tests.
State Types Families
ConwayGovState DijkstraEra [✔] (486505ms)
+++ OK, passed 100 tests.
State Types
UTxOState DijkstraEra [✔] (482195ms)
+++ OK, passed 100 tests.
EpochState DijkstraEra [✔] (688927ms)
+++ OK, passed 100 tests.
NewEpochState DijkstraEra [✔] (519620ms)
+++ OK, passed 100 tests.
Predicate Failures
DijkstraBbodyPredFailure DijkstraEra [✔] (5ms)
+++ OK, passed 100 tests.
ConwayCertPredFailure DijkstraEra [✔]
+++ OK, passed 100 tests.
ConwayCertsPredFailure DijkstraEra [✔] (23ms)
+++ OK, passed 100 tests.
ConwayDelegPredFailure DijkstraEra [✔] (1ms)
+++ OK, passed 100 tests.
DijkstraGovCertPredFailure DijkstraEra [✔] (1ms)
+++ OK, passed 100 tests.
DijkstraGovPredFailure DijkstraEra [✔] (16ms)
+++ OK, passed 100 tests.
DijkstraLedgerPredFailure DijkstraEra [✔] (357ms)
+++ OK, passed 100 tests.
ShelleyLedgersPredFailure DijkstraEra [✔] (310ms)
+++ OK, passed 100 tests.
ShelleyPoolPredFailure DijkstraEra [✔] (1ms)
+++ OK, passed 100 tests.
DijkstraUtxoPredFailure DijkstraEra [✔] (867ms)
+++ OK, passed 100 tests.
ConwayUtxosPredFailure DijkstraEra [✔] (18229ms)
+++ OK, passed 100 tests.
DijkstraUtxowPredFailure DijkstraEra [✔] (580ms)
+++ OK, passed 100 tests.
CDDL
Generate bytestring from CDDL and decode/encode
account_balance_interval: AccountBalanceInterval DijkstraEra [✔] (8ms)
Generate bytestring from CDDL and decode/encode
account_balance_intervals: Map AccountId (AccountBalanceInterval DijkstraEra) [✔] (6ms)
Encode an arbitrary value and check against CDDL
account_balance_interval: AccountBalanceInterval DijkstraEra [✔]?7h
+++ OK, passed 100 tests.
Generate bytestring from CDDL and decode/encode
positive_coin: MaryValue [✔]
Encode an arbitrary value and check against CDDL
value: MaryValue [✔] (76ms)
+++ OK, passed 100 tests.
MultiAsset
Generate bytestring from CDDL and decode/encode
value: MaryValue [✔] (6ms)
fix TxBody
transaction_body: Annotator (MemoBytes (DijkstraTxBodyRaw TopTx DijkstraEra)) [✔] (48ms)
Generate bytestring from CDDL and decode/encode
transaction_body: MemoBytes (DijkstraTxBodyRaw TopTx DijkstraEra) [✔] (40ms)
sub_transaction_body: Annotator (MemoBytes (DijkstraTxBodyRaw SubTx DijkstraEra)) [✔] (40ms)
Generate bytestring from CDDL and decode/encode
sub_transaction_body: MemoBytes (DijkstraTxBodyRaw SubTx DijkstraEra) [✔] (40ms)
hangs
Encode an arbitrary value and check against CDDL
transaction_body: MemoBytes (DijkstraTxBodyRaw TopTx DijkstraEra) [‐] (1ms)
# 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)) [✔] (10ms)
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) [✔] (3ms)
Encode an arbitrary value and check against CDDL
native_script: DijkstraNativeScript DijkstraEra [✔] (3ms)
+++ OK, passed 100 tests.
Generate bytestring from CDDL and decode/encode
native_script: DijkstraNativeScript DijkstraEra [✔] (4ms)
plutus_data: Annotator (MemoBytes (PlutusData DijkstraEra)) [✔] (14ms)
Encode an arbitrary value and check against CDDL
plutus_data: MemoBytes (PlutusData DijkstraEra) [✔] (5ms)
+++ OK, passed 100 tests.
Generate bytestring from CDDL and decode/encode
plutus_data: MemoBytes (PlutusData DijkstraEra) [✔] (13ms)
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 [✔] (3ms)
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 [✔] (410ms)
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 [✔] (19594ms)
Encode an arbitrary value and check against CDDL
cost_models: CostModels [✔] (9024ms)
+++ OK, passed 100 tests.
redeemers: Annotator (MemoBytes (RedeemersRaw DijkstraEra)) [✔] (57ms)
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) [✔] (44ms)
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 [‐]?7h
# PENDING: No reason given
Generate bytestring from CDDL and decode/encode
voting_procedure: VotingProcedure DijkstraEra [✔] (2ms)
Encode an arbitrary value and check against CDDL
voting_procedure: VotingProcedure DijkstraEra [✔] (1ms)
+++ OK, passed 100 tests.
Generate bytestring from CDDL and decode/encode
proposal_procedure: ProposalProcedure DijkstraEra [✔] (12ms)
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 [✔] (9ms)
hangs
Encode an arbitrary value and check against CDDL
gov_action: GovAction DijkstraEra [‐]?7h
# PENDING: No reason given
TxCert
Generate bytestring from CDDL and decode/encode
certificate: DijkstraTxCert DijkstraEra [✔] (3ms)
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) [✔] (64ms)
sub_transaction_body: MemoBytes (DijkstraTxBodyRaw SubTx DijkstraEra) [✔] (35ms)
Fix decoder equivalence of TxAuxData
auxiliary_data: MemoBytes (AlonzoTxAuxDataRaw DijkstraEra) [‐]
# PENDING: No reason given
native_script: DijkstraNativeScript DijkstraEra [✔] (3ms)
plutus_data: MemoBytes (PlutusData DijkstraEra) [✔] (17ms)
script: AlonzoScript DijkstraEra [✘] (2ms)
transaction_witness_set: MemoBytes (AlonzoTxWitsRaw DijkstraEra) [✔] (15ms)
redeemers: MemoBytes (RedeemersRaw DijkstraEra) [✔] (33ms)
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 [✔] (97ms)
Shelley era JSON Roundtrip: Dijkstra
TransitionConfig DijkstraEra [✔] (29475ms)
+++ OK, passed 100 tests.
Imp
ShelleyImpSpec
Protocol Version 12
DELEG
Register stake credential
With correct deposit or without any deposit [✔] (155ms)
When already already registered [✔] (1ms)
Unregister stake credentials
When registered [✔] (2ms)
When not registered [✔] (1ms)
With non-zero reward balance [✔] (679ms)
Register and unregister in the same transaction [✔] (1ms)
Delegate stake
Delegate registered stake credentials to registered pool [✔] (1ms)
Register and delegate in the same transaction [✔] (4ms)
Delegate unregistered stake credentials [✔] (5ms)
Delegate already delegated credentials [✔] (12ms)
Delegate and unregister [✔] (2ms)
EPOCH
Runs basic transaction [✔] (93ms)
Crosses epoch boundaries [✔] (123ms)
LEDGER
Transactions update UTxO [✔] (2ms)
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 [✔] (2ms)
register a new pool with an already registered VRF [✔] (5ms)
re-register a pool and change its delegations in the same epoch [✔] (245ms)
re-register a pool with an already registered VRF [✔] (4ms)
re-register a pool with its own VRF [✔] (135ms)
re-register a pool with a fresh VRF [✔] (148ms)
register a new pool with the VRF of a re-registered pool [✔] (99ms)
after the epoch changes, reuse VRFs that get overwritten [✔] (379ms)
before the epoch changes, try to reuse VRFs that get overwritten [✔] (3ms)
Retiring pools
retire an unregistered pool [✔]
retire a pool with too high a retirement epoch [✔] (4ms)
retire a pool with too low a retirement epoch [✔] (3ms)
re-register a retiring pool with an already registered vrf [✔] (8ms)
re-register retiring pool with its own VRF [✔] (6ms)
re-register a retiring pool with a fresh VRF [✔] (115ms)
register a pool with the VRF of a retiring pool [✔] (114ms)
retiring a pool clears its delegations [✔] (112ms)
Retired pools
re-register a pool with the same keyhash and VRF [✔] (145ms)
register a pool with the VRF of a retired pool [✔] (127ms)
UTXOW
Bootstrap Witness
Valid Witnesses [✔] (3ms)
InvalidWitnessesUTXOW [✔] (1ms)
MissingVKeyWitnessesUTXOW [✔] (1ms)
MissingScriptWitnessesUTXOW [✔] (1ms)
MissingTxBodyMetadataHash [✔] (1ms)
MissingTxMetadata [✔]
ConflictingMetadataHash [✔] (1ms)
ExtraneousScriptWitnessesUTXOW [✔] (1ms)
UTXO
ShelleyUtxoPredFailure
ValueNotConservedUTxO [✔] (2ms)
ShelleyPureTests
InstantStakeIncludesRewards [✔] (1486ms)
+++ OK, passed 100 tests.
AllegraImpSpec
Protocol Version 12
UTXOW
InvalidMetadata [✔] (1ms)
MaryImpSpec
Protocol Version 12
UTXO
Mint a Token [✔] (6ms)
ShelleyUtxoPredFailure
ValueNotConservedUTxO [✔] (3ms)
AlonzoImpSpec
Protocol Version 12
BBODY
PlutusV1
succeeds with eight Plutus scripts [✔] (31ms)
enforces ppMaxBlockExUnits [✔] (59ms)
PlutusV2
succeeds with eight Plutus scripts [✔] (33ms)
enforces ppMaxBlockExUnits [✔] (73ms)
PlutusV3
succeeds with eight Plutus scripts [✔] (35ms)
enforces ppMaxBlockExUnits [✔] (67ms)
UTXO
Wrong network ID [✔]
PlutusV1
Too many execution units for tx [✔] (2ms)
Insufficient collateral [✔] (2ms)
PlutusV2
Too many execution units for tx [✔] (2ms)
Insufficient collateral [✔] (2ms)
PlutusV3
Too many execution units for tx [✔] (3ms)
Insufficient collateral [✔] (3ms)
UTXOS
transaction validity interval has closed upper bound when protocol version < 9 and open otherwise [✔] (1ms)
PlutusV1
ExUnits
Calculate ExUnits [✔] (2ms)
Attempt to calculate ExUnits with an invalid tx [✔] (1ms)
Spending scripts with a Datum
redeemerSameAsDatum [✔] (109ms)
purposeIsWellformedWithDatum [✔] (124ms)
datumIsWellformed [✔] (133ms)
inputsOutputsAreNotEmptyWithDatum [✔] (118ms)
Valid transaction marked as invalid [✔]
Invalid transaction marked as valid [✔] (2ms)
Invalid plutus script fails in phase 2 [✔] (3ms)
Scripts pass in phase 2
purposeIsWellformedWithDatum [✔] (3ms)
datumIsWellformed [✔] (3ms)
inputsOutputsAreNotEmptyWithDatum [✔] (2ms)
No cost model [✔] (4ms)
PlutusV2
ExUnits
Calculate ExUnits [✔] (3ms)
Attempt to calculate ExUnits with an invalid tx [✔] (2ms)
Spending scripts with a Datum
redeemerSameAsDatum [✔] (103ms)
purposeIsWellformedWithDatum [✔] (104ms)
datumIsWellformed [✔] (114ms)
inputsOutputsAreNotEmptyWithDatum [✔] (119ms)
Valid transaction marked as invalid [✔] (1ms)
Invalid transaction marked as valid [✔] (5ms)
Invalid plutus script fails in phase 2 [✔] (4ms)
Scripts pass in phase 2
purposeIsWellformedWithDatum [✔] (2ms)
datumIsWellformed [✔] (3ms)
inputsOutputsAreNotEmptyWithDatum [✔] (3ms)
No cost model [✔] (5ms)
PlutusV3
ExUnits
Calculate ExUnits [✔] (5ms)
Attempt to calculate ExUnits with an invalid tx [✔] (2ms)
Spending scripts with a Datum
redeemerSameAsDatum [✔] (133ms)
purposeIsWellformedWithDatum [✔] (124ms)
datumIsWellformed [✔] (100ms)
inputsOutputsAreNotEmptyWithDatum [✔] (96ms)
Valid transaction marked as invalid [✔]
Invalid transaction marked as valid [✔] (4ms)
Invalid plutus script fails in phase 2 [✔] (4ms)
Scripts pass in phase 2
purposeIsWellformedWithDatum [✔] (2ms)
datumIsWellformed [✔] (4ms)
inputsOutputsAreNotEmptyWithDatum [✔] (3ms)
No cost model [✔] (2ms)
UTXOW
Valid transactions
Non-script output with datum [✔] (2ms)
PlutusV1
Validating SPEND script [✔] (16ms)
Not validating SPEND script [✔] (5ms)
Validating CERT script [✔] (5ms)
Validating WITHDRAWAL script [✔] (3ms)
Validating MINT script [✔] (3ms)
Not validating MINT script [✔] (4ms)
Acceptable supplementary datum [✔] (1ms)
PlutusV2
Validating SPEND script [✔] (4ms)
Not validating SPEND script [✔] (5ms)
Validating CERT script [✔] (2ms)
Validating WITHDRAWAL script [✔] (8ms)
Validating MINT script [✔] (4ms)
Not validating MINT script [✔] (4ms)
Acceptable supplementary datum [✔] (3ms)
PlutusV3
Validating SPEND script [✔] (4ms)
Not validating SPEND script [✔] (15ms)
Validating CERT script [✔] (2ms)
Validating WITHDRAWAL script [✔] (4ms)
Validating MINT script [✔] (5ms)
Not validating MINT script [✔] (6ms)
Acceptable supplementary datum [✔] (3ms)
Invalid transactions
Phase 1 script failure [✔] (1ms)
PlutusV1
MissingRedeemers [✔] (2ms)
MissingRequiredDatums [✔] (2ms)
NotAllowedSupplementalDatums [✔] (1ms)
PPViewHashesDontMatch
Mismatched [✔]
Missing [✔]
UnspendableUTxONoDatumHash [✔] (2ms)
Missing phase-2 script witness [✔] (1ms)
Redeemer with incorrect purpose [✔] (3ms)
Missing witness for collateral input [✔] (2ms)
Extra Redeemer
Minting [✔] (4ms)
Spending [✔] (1ms)
PlutusV2
MissingRedeemers [✔] (2ms)
MissingRequiredDatums [✔] (2ms)
NotAllowedSupplementalDatums [✔] (4ms)
PPViewHashesDontMatch
Mismatched [✔]
Missing [✔]
UnspendableUTxONoDatumHash [✔] (1ms)
Missing phase-2 script witness [✔] (1ms)
Redeemer with incorrect purpose [✔] (2ms)
Missing witness for collateral input [✔] (1ms)
PlutusV3
MissingRedeemers [✔] (5ms)
MissingRequiredDatums [✔] (1ms)
NotAllowedSupplementalDatums [✔] (1ms)
PPViewHashesDontMatch
Mismatched [✔]
Missing [✔]
UnspendableUTxONoDatumHash [✔] (3ms)
Missing phase-2 script witness [✔] (4ms)
Redeemer with incorrect purpose [✔] (3ms)
Missing witness for collateral input [✔] (3ms)
Protocol Version 12
BabbageImpSpec - era generic tests
UTXO
Min-utxo value with output too large [✔] (4ms)
UTXOW
Valid
Native reference scripts must not be witnessed [✔] (1ms)
Spend native script output with reference script [✔]
Reference input with data hash, no data witness [✔] (3ms)
Reference input with data hash, with data witness [✔] (1ms)
PlutusV2
Spend outputs locked by scripts
With an inline datum [✔] (2ms)
Passed as a reference script [✔] (3ms)
Passed as a reference script and with an inline datum [✔] (3ms)
Use a reference script to authorize a delegation certificate [✔] (2ms)
PlutusV3
Spend outputs locked by scripts
With an inline datum [✔]
Passed as a reference script [✔] (2ms)
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 [✔] (6ms)
MalformedReferenceScripts [✔] (1ms)
ExtraRedeemers/RedeemerPointerPointsToNothing [✔] (3ms)
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 [✔] (2ms)
PlutusV3
MalformedScriptWitnesses [✔] (4ms)
MalformedReferenceScripts [✔]
ExtraRedeemers/RedeemerPointerPointsToNothing [✔] (4ms)
Inline datum with a failing script [✔] (8ms)
Use a collateral output [✔] (7ms)
Inline datum and ref script and redundant script witness [✔] (2ms)
Inline datum with redundant datum witness [✔] (2ms)
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 [✔] (3ms)
Incorrect collateral total [✔] (3ms)
Protocol Version 12
BBODY
BodyRefScriptsSizeTooBig [✔] (1023ms)
BodyRefScriptsSizeTooBig with reference scripts in the same block [✔] (1590ms)
totalRefScriptSizeInBlock [✔] (5ms)
Use a reference script in a collateral output [disabled in conformance] [✔] (22ms)
CERTS
Withdrawals
Withdrawing from an unregistered staking address [✔] (553ms)
Withdrawing the wrong amount [✔] (1168ms)
DELEG
Register stake credential
With correct deposit [✔] (1ms)
Twice the same certificate in the same transaction [✔] (2ms)
With incorrect deposit [✔] (2ms)
Unregister stake credentials
With incorrect refund [✔] (6ms)
Deregistering returns the deposit [✔] (4553ms)
Delegate stake
Delegate to unregistered pool [✔] (18ms)
Delegate vote
Delegate vote of registered stake credentials to registered drep [✔] (5ms)
Redelegate vote to the same DRep [✔] (3ms)
Delegate vote of registered stake credentials to unregistered drep [✔] (2ms)
Delegate vote of unregistered stake credentials [✔] (3ms)
Redelegate vote [✔] (4ms)
Delegate vote and unregister stake credentials [✔] (3ms)
Delegate vote and unregister after hardfork [✔] (3058ms)
Delegate vote and undelegate after delegating to some stake pools [✔] (1024ms)
Delegate, retire and re-register pool [✔] (1257ms)
Delegate both stake and vote
Delegate and unregister credentials [✔] (15ms)
Delegate to DRep and SPO and change delegation to a different SPO [✔] (8ms)
Transition creates the delegations correctly [✔] (11ms)
ENACT
Committee enactment
Enact UpdateCommitee with lengthy lifetime [✔] (465ms)
CC re-election [✔] (1946ms)
Removing CC with UpdateCommittee
Non registered [✔] (652ms)
Registered [✔] (574ms)
Treasury withdrawals
Modify EnactState as expected [✔] (12ms)
Withdrawals exceeding treasury submitted in a single proposal [✔] (536ms)
Withdrawals exceeding maxBound Word64 submitted in a single proposal [✔] (268ms)
Withdrawals exceeding treasury submitted in several proposals within the same epoch [✔] (430ms)
NoConfidence [✔] (1020ms)
HardForkInitiation [✔] (908ms)
Constitution [✔] (237ms)
Competing proposals
higher action priority wins [✔] (266ms)
proposals of same priority are enacted in order of submission [✔] (292ms)
only the first action of a transaction gets enacted [✔] (303ms)
HardForkInitiation without DRep voting [✔] (550ms)
futurePParams [✔] (249ms)
EPOCH
DRep
proposal is accepted after two epochs [✔] (447ms)
Treasury
TreasuryWithdrawal [✔] (372ms)
TreasuryWithdrawalExtra [✔] (373ms)
deposit is moved to treasury when the reward address is not registered [✔] (1244ms)
Proposals
Proposals survive multiple epochs without any activity [✔] (951ms)
Expired proposal deposit refunded [✔] (335ms)
Proposals are expired and removed as expected [✔] (219ms)
DRep
expiry is updated based on the number of dormant epochs [disabled in conformance] [✔] (735ms)
expiry is not updated for inactive DReps [disabled in conformance] [✔] (964ms)
expiry updates are correct for a mixture of cases [disabled in conformance] [✔] (2502ms)
DRep registration should succeed [✔] (110ms)
Events
emits event
GovInfoEvent [✔] (1743ms)
GOV
Constitution proposals
accepted for
empty PrevGovId before the first constitution is enacted [✔] (5ms)
valid GovPurposeId [✔] (503ms)
rejected for
empty PrevGovId after the first constitution was enacted [✔] (214ms)
invalid index in GovPurposeId [✔] (232ms)
valid GovPurposeId but invalid purpose [✔] (233ms)
Proposals
Consistency
Proposals submitted without proper parent fail [✔] (12ms)
Subtrees are pruned when proposals expire [✔] (1269ms)
Subtrees are pruned when proposals expire over multiple rounds [✔] (2176ms)
Subtrees are pruned when competing proposals are enacted [✔] (628ms)
Subtrees are pruned when competing proposals are enacted over multiple rounds [✔] (588ms)
Subtrees are pruned for both enactment and expiry over multiple rounds [disabled in conformance] [✔] (2096ms)
Votes from subsequent epochs are considered for ratification [✔] (463ms)
Proposals are stored in the expected order [✔] (8ms)
Voting
VotersDoNotExist [✔] (3ms)
DRep votes are removed [✔] (5ms)
expired gov-actions [disabled in conformance] [✔] (359ms)
non-existent gov-actions [✔] (5ms)
committee member can not vote on UpdateCommittee action [✔] (4ms)
committee member can not vote on NoConfidence action [✔] (3ms)
committee member mixed with other voters can not vote on UpdateCommittee action [✔] (6ms)
CC cannot ratify if below threshold [disabled in conformance] [✔] (1023ms)
can submit SPO votes [✔] (424ms)
Policy
policy is respected by proposals [✔] (242ms)
Predicate failures
ProposalReturnAccountDoesNotExist [✔] (1ms)
ExpirationEpochTooSmall [✔] (85ms)
ProposalDepositIncorrect [✔] (3ms)
ConflictingCommitteeUpdate [✔] (2ms)
Unknown CostModels
Are accepted [✔] (370ms)
Withdrawals
Fails predicate when treasury withdrawal has nonexistent return address [✔] (19ms)
Fails with invalid network ID in withdrawal addresses [✔] (4ms)
Fails for empty withdrawals [✔] (18ms)
HardFork
Hardfork is the first one (doesn't have a GovPurposeId)
Hardfork minorFollow [✔] (2ms)
Hardfork majorFollow [✔] (3ms)
Hardfork cantFollow [✔] (3ms)
Hardfork is the second one (has a GovPurposeId)
Hardfork minorFollow [✔] (2ms)
Hardfork majorFollow [✔] (4ms)
Hardfork cantFollow [✔] (2ms)
PParamUpdate
PPU needs to be wellformed
ppuMaxBBSizeL cannot be 0 [✔] (4ms)
ppuMaxTxSizeL cannot be 0 [✔] (17ms)
ppuMaxBHSizeL cannot be 0 [✔] (7ms)
ppuMaxValSizeL cannot be 0 [✔] (5ms)
ppuCollateralPercentageL cannot be 0 [✔] (3ms)
ppuCommitteeMaxTermLengthL cannot be 0 [✔] (6ms)
ppuGovActionLifetimeL cannot be 0 [✔] (5ms)
ppuPoolDepositL cannot be 0 [✔] (3ms)
ppuGovActionDepositL cannot be 0 [✔] (5ms)
ppuDRepDepositL cannot be 0 [✔] (5ms)
PPU cannot be empty [✔] (4ms)
Network ID
Fails with invalid network ID in proposal return address [✔] (1ms)
Proposing and voting
Parameter change [✔] (14ms)
Hardfork initiation [✔] (11ms)
Info action [✔] (9ms)
Treasury withdrawal [✔] (3ms)
NoConfidence [✔] (3ms)
UpdateCommittee [✔] (2ms)
NewConstitution [✔] (2ms)
GOVCERT
Resigning proposed CC key [✔] (4ms)
succeeds for
registering and unregistering a DRep [✔] (1ms)
resigning a non-CC key [✔] (2ms)
re-registering a CC hot key [✔] (14ms)
fails for
invalid deposit provided with DRep registration cert [✔] (2ms)
invalid refund provided with DRep deregistration cert [✔] (3ms)
DRep already registered [✔] (4ms)
unregistering a nonexistent DRep [✔] (1ms)
registering a resigned CC member hotkey [✔] (3ms)
resigning a nonexistent CC member hotkey [✔] (3ms)
LEDGER
TxRefScriptsSizeTooBig [✔] (150ms)
Withdraw from delegated and non-delegated staking key [✔] (591ms)
Withdraw from a key delegated to an unregistered DRep [✔] (572ms)
Withdraw and unregister staking credential in the same transaction [disabled in conformance] [✔] (862ms)
Withdraw from a key delegated to an expired DRep [✔] (1317ms)
Withdraw from a key delegated to a DRep that expired after delegation [disabled in conformance] [✔] (1353ms)
Withdraw from delegated and non-delegated staking script [✔] (548ms)
Mempool
Duplicate transactions [✔]
Unelected Committee voting [✔] (12ms)
HARDFORK
VRF Keyhashes get populated at v11 HardFork [✔] (1ms)
Retiring a stake pool with a duplicate VRF Keyhash after v11 HardFork [✔]
RATIFY
Voting
SPO needs to vote on security-relevant parameter changes [✔] (983ms)
Active voting stake
DRep
UTxOs contribute to active voting stake [✔] (533ms)
Rewards contribute to active voting stake [✔] (594ms)
Rewards contribute to active voting stake even in the absence of StakeDistr [disabled in conformance] [✔] (2658ms)
Proposal deposits contribute to active voting stake
Directly [✔] (543ms)
After switching delegations [✔] (619ms)
Predefined DReps
acceptedRatio with default DReps [✔] (815ms)
AlwaysNoConfidence [✔] (1098ms)
AlwaysAbstain [✔] (1019ms)
DRepAlwaysNoConfidence is sufficient to pass NoConfidence [✔] (543ms)
StakePool
UTxOs contribute to active voting stake [✔] (696ms)
Rewards contribute to active voting stake [✔] (704ms)
Rewards contribute to active voting stake even in the absence of StakeDistr [✔] (2908ms)
Proposal deposits contribute to active voting stake
Directly [✔] (644ms)
After switching delegations [✔] (438ms)
Interaction between governing bodies
Motion of no-confidence [✔] (469ms)
Update committee - normal state [✔] (545ms)
Hard-fork initiation [✔] (688ms)
A governance action is automatically ratified if threshold is set to 0 for all related governance bodies [✔] (719ms)
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 [✔] (277ms)
HardForkInitiation - default vote is No [✔] (572ms)
Staking address delegated to AlwaysNoConfidence [✔] (549ms)
Staking address delegated to AlwaysAbstain [✔] (553ms)
Delaying actions
A delaying action delays its child even when both ere proposed and ratified in the same epoch [✔] (604ms)
A delaying action delays all other actions even when all of them may be ratified in the same epoch [✔] (572ms)
An action expires when delayed enough even after being ratified
Same lineage [disabled in conformance] [✔] (780ms)
Other lineage [disabled in conformance] [✔] (584ms)
proposals to update the committee get delayed if the expiration exceeds the max term [✔] (1262ms)
CommitteeMinSize affects in-flight proposals
TreasuryWithdrawal fails to ratify due to an increase in CommitteeMinSize [✔] (413ms)
TreasuryWithdrawal ratifies due to a decrease in CommitteeMinSize [✔] (1095ms)
ParameterChange affects existing proposals
DRep
Increasing the threshold prevents a hitherto-ratifiable proposal from being ratified [✔] (601ms)
Decreasing the threshold ratifies a hitherto-unratifiable proposal [✔] (987ms)
SPO
Increasing the threshold prevents a hitherto-ratifiable proposal from being ratified [✔] (950ms)
Decreasing the threshold ratifies a hitherto-unratifiable proposal [✔] (1005ms)
A parent ParameterChange proposal can prevent its child from being enacted [✔] (331ms)
Expired and resigned committee members are discounted from quorum
Expired [✔] (562ms)
Resigned [✔] (276ms)
Committee members can serve full `CommitteeMaxTermLength`
maxTermLength = 0 [✔] (559ms)
maxTermLength = 1 [✔] (970ms)
maxTermLength = 2 [✔] (857ms)
Counting of SPO votes
HardForkInitiation [✔] (567ms)
Hard Fork can still be initiated with less than minimal committee size [✔] (393ms)
When CC expired
SPOs alone can't enact hard-fork [✔] (3134ms)
SPOs alone can't enact security group parameter change [✔] (2672ms)
Committee proposals pass [✔] (1017ms)
When CC threshold is 0
SPOs alone can enact hard-fork during bootstrap [✔] (241ms)
SPOs alone can enact security group parameter change during bootstrap [✔] (271ms)
When min size is not 0
Constitution cannot be changed if active committee size is below min size [✔] (795ms)
Constitution cannot be changed if committee is not active because it doesn't have registered hot credentials [✔] (251ms)
Constitution can be changed when an active committee doesn't vote [✔] (277ms)
Constitution can be changed regardless of active committee votes [✔] (240ms)
When min size is 0
Constitution can be changed if the commitee is inactive but has some active members [✔] (1319ms)
Constitution can be changed if there are no active members [✔] (420ms)
When CC threshold is not 0
Constitution cannot be changed if min committee size is 0 [✔] (1679ms)
Many CC Cold Credentials map to the same Hot Credential act as many votes [✔] (939ms)
UTXO
Certificates
Reg/UnReg collect and refund correct amounts [✔] (132ms)
Reference scripts
required reference script counts towards the minFee calculation [✔] (4ms)
reference scripts not required for spending the input count towards the minFee calculation [✔] (4ms)
a scripts referenced several times counts for each reference towards the minFee calculation [✔] (3ms)
UTXOS
Gov policy scripts
failing native script govPolicy [✔] (226ms)
alwaysSucceeds Plutus govPolicy validates [✔] (493ms)
alwaysFails Plutus govPolicy does not validate [✔] (297ms)
PlutusV3 Initialization
Updating CostModels with alwaysFails govPolicy does not validate [✔] (1609ms)
Updating CostModels with alwaysSucceeds govPolicy but no PlutusV3 CostModels fails [✔] (323ms)
Updating CostModels and setting the govPolicy afterwards succeeds [✔] (1502ms)
PlutusV1
can use reference scripts [✔] (5ms)
can use regular inputs for reference [✔] (15ms)
fails with same txIn in regular inputs and reference inputs [✔] (2ms)
using inline datums [✔] (7ms)
PlutusV2
can use reference scripts [✔] (5ms)
can use regular inputs for reference [✔] (3ms)
fails with same txIn in regular inputs and reference inputs [✔] (3ms)
using inline datums [✔] (3ms)
PlutusV3
can use reference scripts [✔] (5ms)
can use regular inputs for reference [✔] (4ms)
fails with same txIn in regular inputs and reference inputs [✔] (4ms)
using inline datums [✔] (19ms)
Conway features fail in Plutusdescribe v1 and v2
Unsupported Fields
CurrentTreasuryValue
V1 [✔] (113ms)
V2 [✔] (130ms)
VotingProcedures
V1 [✔] (13ms)
V2 [✔] (9ms)
ProposalProcedures
V1 [✔] (3ms)
V2 [✔] (6ms)
TreasuryDonation
V1 [✔] (2ms)
V2 [✔] (5ms)
Certificates
Translated
RegDepositTxCert
V1 [✔] (5ms)
V2 [✔] (3ms)
UnRegDepositTxCert
V1 [✔] (7ms)
V2 [✔] (7ms)
Unsupported
DelegTxCert
V1 [✔] (2ms)
V2 [✔] (2ms)
RegDepositDelegTxCert
V1 [✔] (9ms)
V2 [✔] (5ms)
AuthCommitteeHotKeyTxCert
V1 [✔] (3ms)
V2 [✔] (3ms)
ResignCommitteeColdTxCert
V1 [✔] (2ms)
V2 [✔] (2ms)
RegDRepTxCert
V1 [✔] (4ms)
V2 [✔] (1ms)
UnRegDRepTxCert
V1 [✔] (3ms)
V1 [✔] (4ms)
UpdateDRepTxCert
V1 [✔] (3ms)
V2 [✔] (2ms)
Spending script without a Datum
PlutusV1 [✔] (3ms)
PlutusV2 [✔] (3ms)
PlutusV3 [✔] (2ms)
UTXOW
Fails with PPViewHashesDontMatch before PV 11 [disabled in conformance] [✔]
Fails with PPViewHashesDontMatchInformative after PV 11 [✔] (2ms)
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 [✔] (3ms)
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 [✔] (2ms)
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 [✔] (1ms)
TxInfo
txInfo translation
Plutus V1
translation error on byron txout [✔] (8ms)
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 [✔] (120ms)
+++ 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 [✔] (3ms)
+++ OK, passed 100 tests; 27 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
"d74ed2f68fcfc19f24ac565cfde5ad3a4f6997cd1279bdf9cb0e6840"
CBOR:
82 # list(2)
04 # int(4)
50 36 87 7a 06 d5 67 9b 8b 1a 63 40 e3 7b b3 97
b3 # bytes(16)
To rerun use: --match "/Dijkstra/CDDL/DecCBOR instances equivalence via CDDL/script: AlonzoScript DijkstraEra/" --seed 641174772
Randomized with seed 641174772
Finished in 3172.4301 seconds
616 examples, 1 failure, 26 pending
Loading