Deprecate AuxiliaryDataHash
#4810
Merged
IOG Hydra / ci/hydra-build:x86_64-linux.ghc8107.checks.cardano-ledger-conway:test:tests
timed out
Dec 21, 2024 in 10h 0m 0s
Build timed out
1 failed steps
Details
Failed Steps
Step 1
Derivation
/nix/store/pvj9snjyrscjjr6wfrxz9krc4ghn6vrk-cardano-ledger-conway-test-tests-1.19.0.0-check.drv
Log
Running phase: unpackPhase
unpacking source archive /nix/store/rdyxn879fmzshn5imglvv9yl5a3m9s89-source-eras-conway-impl-test-tests-root
source root is source-eras-conway-impl-test-tests-root
Running phase: patchPhase
Running phase: buildPhase
/nix/store/z40kmqkd113sqkyiiksgljmha6qaif0n-cardano-ledger-conway-test-tests-1.19.0.0/bin:
patching script interpreter paths in /build/tmp.pvrGWv169N/bin
Conway
Golden translation tests
golden/translation.cbor [✔] (37095ms)
Various tests for functions defined in Conway
tierRefScriptFee is a linear function when growth is 1 [✔] (2ms)
+++ OK, passed 100 tests.
tierRefScriptFee [✔]
Proposals
Construction
Adding new nodes keeps Proposals consistent [✔] (120662ms)
+++ OK, passed 100 tests.
Removal
Removing leaf nodes keeps Proposals consistent [✔] (1401ms)
+++ OK, passed 100 tests.
Removing root nodes keeps Proposals consistent [✔] (1348ms)
+++ OK, passed 100 tests.
Removing non-member nodes throws an AssertionFailure [✔] (3634ms)
+++ OK, passed 100 tests.
Enactment
Adding votes preserves consistency [✔] (6163ms)
+++ OK, passed 100 tests.
Enacting exhaustive lineages reduces Proposals to their roots [✔] (119391ms)
+++ OK, passed 100 tests.
Enacting non-member nodes throws an AssertionFailure [✔] (4775ms)
+++ OK, passed 100 tests.
Expiring compliments of exhaustive lineages keeps proposals consistent [✔] (115870ms)
+++ OK, passed 100 tests.
Expiring non-member nodes throws an AssertionFailure [✔] (2221ms)
+++ OK, passed 100 tests.
Enacting and expiring conflicting proposals does not lead to removal due to enactment [✔] (62437ms)
+++ OK, passed 100 tests.
Upgrade from Babbage to Conway
upgradeTxOut is preserved through serialization [✔] (423ms)
+++ OK, passed 100 tests.
upgradeTxCert is preserved through serialization [✔] (6ms)
+++ OK, passed 100 tests.
upgradeTxAuxData is preserved through serialization [✔] (272ms)
+++ OK, passed 100 tests.
upgradeTxWits is preserved through serialization [✔] (871ms)
+++ OK, passed 100 tests.
upgradeTxBody is preserved through serialization [✔] (11601ms)
+++ OK, passed 100 tests.
upgradeTx is preserved through serialization [✔] (19737ms)
+++ OK, passed 100 tests.
upgradeScript is preserved through serialization [✔] (79ms)
+++ OK, passed 100 tests.
RoundTrip
GovActionId [✔] (47ms)
+++ OK, passed 100 tests.
GovPurposeId 'PParamUpdatePurpose ConwayEra [✔] (36ms)
+++ OK, passed 100 tests.
GovPurposeId 'HardForkPurpose ConwayEra [✔] (46ms)
+++ OK, passed 100 tests.
GovPurposeId 'CommitteePurpose ConwayEra [✔] (43ms)
+++ OK, passed 100 tests.
GovPurposeId 'ConstitutionPurpose ConwayEra [✔] (83ms)
+++ OK, passed 100 tests.
Vote [✔] (38ms)
+++ OK, passed 100 tests.
Voter [✔] (42ms)
+++ OK, passed 100 tests.
Conway Transaction Types
GovAction ConwayEra [✔] (34286ms)
+++ OK, passed 100 tests.
VotingProcedure ConwayEra [✔] (1ms)
+++ OK, passed 100 tests.
VotingProcedures ConwayEra [✔] (6878ms)
+++ OK, passed 100 tests.
ProposalProcedure ConwayEra [✔] (9243ms)
+++ OK, passed 100 tests.
Constitution ConwayEra [✔] (1ms)
+++ OK, passed 100 tests.
CostModels [✔] (40570ms)
+++ OK, passed 100 tests.
Conway State Types
EnactState ConwayEra [✔] (110146ms)
+++ OK, passed 100 tests.
GovActionState ConwayEra [✔] (2521ms)
+++ OK, passed 100 tests.
Proposals ConwayEra [✔] (55668ms)
+++ OK, passed 100 tests.
DRepPulsingState ConwayEra [✔] (214861ms)
+++ OK, passed 100 tests.
PulsingSnapshot ConwayEra [✔] (105200ms)
+++ OK, passed 100 tests.
RatifyState ConwayEra [✔] (4273121ms)
+++ OK, passed 100 tests.
Alonzo era types
Data ConwayEra [✔] (71ms)
+++ OK, passed 100 tests.
BinaryData ConwayEra [✔] (61ms)
+++ OK, passed 100 tests.
CostModels [✔] (1695348ms)
+++ OK, passed 100 tests.
Datum doesn't roundtrip
Datum ConwayEra [‐]
# PENDING: No reason given
Core Type Families
MaryValue [✔] (6372ms)
+++ OK, passed 100 tests.
CompactForm MaryValue [✔] (22186ms)
+++ OK, passed 100 tests.
BabbageTxOut ConwayEra [✔] (745ms)
+++ OK, passed 100 tests.
ConwayTxCert ConwayEra [✔] (11ms)
+++ OK, passed 100 tests.
PParams ConwayEra [✔] (1352507ms)
+++ OK, passed 100 tests.
PParamsUpdate ConwayEra [✔] (569077ms)
+++ OK, passed 100 tests.
AlonzoScript ConwayEra [✔] (9ms)
+++ OK, passed 100 tests.
AlonzoTxAuxData ConwayEra [✔] (9482ms)
+++ OK, passed 100 tests.
AlonzoTxWits ConwayEra [✔] (23638ms)
+++ OK, passed 100 tests.
ConwayTxBody ConwayEra [✔] (1083267ms)
+++ OK, passed 100 tests.
AlonzoTx ConwayEra [✔] (1120361ms)
+++ OK, passed 100 tests.
Core State Types
BootstrapWitness [✔] (11ms)
+++ OK, passed 100 tests.
SnapShots [✔] (176828ms)
+++ OK, passed 100 tests.
DState ConwayEra [✔] (6435ms)
+++ OK, passed 100 tests.
PState ConwayEra [✔] (103832ms)
+++ OK, passed 100 tests.
CommitteeState ConwayEra [✔] (1752ms)
+++ OK, passed 100 tests.
VState ConwayEra [✔] (20374ms)
+++ OK, passed 100 tests.
CertState ConwayEra [✔] (135184ms)
+++ OK, passed 100 tests.
UTxO ConwayEra [✔] (18406ms)
+++ OK, passed 100 tests.
State Types Families
ConwayGovState ConwayEra [✔] (9125661ms)
+++ OK, passed 100 tests.
State Types
UTxOState ConwayEra [✔] (9437200ms)
+++ OK, passed 100 tests.
EpochState ConwayEra [✔] (5142843ms)
+++ OK, passed 100 tests.
NewEpochState ConwayEra [✔] (129557ms)
+++ OK, passed 100 tests.
Predicate Failures
ConwayGovPredFailure ConwayEra [✔] (549ms)
+++ OK, passed 100 tests.
ConwayUtxosPredFailure ConwayEra [✔] (12270ms)
+++ OK, passed 100 tests.
ConwayLedgerPredFailure ConwayEra [✔] (6ms)
+++ OK, passed 100 tests.
ConwayCertsPredFailure ConwayEra [✔] (10ms)
+++ OK, passed 100 tests.
ConwayCertPredFailure ConwayEra [✔]
+++ OK, passed 100 tests.
ConwayDelegPredFailure ConwayEra [✔]
+++ OK, passed 100 tests.
ConwayGovCertPredFailure ConwayEra [✔]
+++ OK, passed 100 tests.
ConwayUtxowPredFailure ConwayEra [✔] (851ms)
+++ OK, passed 100 tests.
ConwayUtxoPredFailure ConwayEra [✔] (68ms)
+++ OK, passed 100 tests.
ShelleyLedgersPredFailure ConwayEra [✔] (6ms)
+++ OK, passed 100 tests.
ShelleyPoolPredFailure ConwayEra [✔]
+++ OK, passed 100 tests.
ConwayGenesis [✔] (5970ms)
+++ OK, passed 100 tests.
Regression
Drop Ptrs from Incrementasl Stake [✔] (39333ms)
+++ OK, passed 100 tests.
CDDL
Ruby-based
positive_coin: MaryValue [✔] (2427ms)
value: MaryValue [✔] (2400ms)
transaction_body: Annotator (MemoBytes ConwayTxBodyRaw ConwayEra) [✔] (2701ms)
auxiliary_data: Annotator (MemoBytes AlonzoTxAuxDataRaw ConwayEra) [✔] (2418ms)
native_script: Annotator (MemoBytes TimelockRaw ConwayEra) [✔] (2396ms)
plutus_data: Annotator (MemoBytes PlutusData ConwayEra) [✔] (2402ms)
transaction_output: BabbageTxOut ConwayEra [✔] (2432ms)
script: Annotator (AlonzoScript ConwayEra) [✔] (2403ms)
datum_option: Datum ConwayEra [✔] (2407ms)
transaction_witness_set: Annotator (MemoBytes AlonzoTxWitsRaw ConwayEra) [✔] (2433ms)
protocol_param_update: ConwayPParams StrictMaybe ConwayEra [✔] (2621ms)
cost_models: CostModels [✔] (2666ms)
redeemers: Annotator (MemoBytes RedeemersRaw ConwayEra) [✔] (2485ms)
transaction: Annotator (AlonzoTx ConwayEra) [✔] (3168ms)
voting_procedure: VotingProcedure ConwayEra [✔] (2396ms)
proposal_procedure: ProposalProcedure ConwayEra [✔] (2462ms)
gov_action: GovAction ConwayEra [✔] (2421ms)
certificate: ConwayTxCert ConwayEra [✔] (2417ms)
Huddle
positive_coin: MaryValue [✔] (1ms)
value: MaryValue [✔] (3ms)
transaction_body: Annotator (MemoBytes ConwayTxBodyRaw ConwayEra) [✔] (10ms)
auxiliary_data: Annotator (MemoBytes AlonzoTxAuxDataRaw ConwayEra) [✔] (3ms)
native_script: Annotator (MemoBytes TimelockRaw ConwayEra) [✔] (1ms)
plutus_data: Annotator (MemoBytes PlutusData ConwayEra) [✔] (3ms)
transaction_output: BabbageTxOut ConwayEra [✔] (3ms)
script: Annotator (AlonzoScript ConwayEra) [✔]
datum_option: Datum ConwayEra [✔] (1ms)
transaction_witness_set: Annotator (MemoBytes AlonzoTxWitsRaw ConwayEra) [✔] (4ms)
protocol_param_update: ConwayPParams StrictMaybe ConwayEra [✔] (349ms)
cost_models: CostModels [✔] (5099ms)
redeemers: Annotator (MemoBytes RedeemersRaw ConwayEra) [✔] (7ms)
transaction: Annotator (AlonzoTx ConwayEra) [✔] (16ms)
voting_procedure: VotingProcedure ConwayEra [✔]
proposal_procedure: ProposalProcedure ConwayEra [✔] (4ms)
gov_action: GovAction ConwayEra [✔] (2ms)
certificate: ConwayTxCert ConwayEra [✔]
DRep Ratification
PParamsUpdateThreshold always selects a threshold [✔] (2ms)
+++ OK, passed 100 tests.
If there is no stake, accept iff threshold is zero [✔] (3496ms)
+++ OK, passed 100 tests.
DRep vote count for arbitrary vote ratios [✔] (2ms)
+++ OK, passed 100 tests.
If all votes are abstain, accepted ratio is zero [✔] (1ms)
+++ OK, passed 100 tests.
If there are no votes, accepted ratio is zero [✔] (1ms)
+++ OK, passed 100 tests.
If all vote yes, accepted ratio is 1 (unless there is no stake) [✔] (1ms)
+++ OK, passed 100 tests.
If all votes are no confidence, accepted ratio is zero [✔] (1ms)
+++ OK, passed 100 tests.
Committee Ratification
Only NoConfidence or UpdateCommittee should pass without a committee [✔] (2469ms)
+++ 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 [✔] (3211ms)
+++ OK, passed 100 tests.
If there is no stake, accept iff threshold is zero [✔] (2369ms)
+++ OK, passed 100 tests.
If all votes are abstain, accepted ratio is zero [✔] (3232ms)
+++ OK, passed 100 tests.
If there are no votes, accepted ratio is zero [✔] (215ms)
+++ OK, passed 100 tests.
If all vote yes, accepted ratio is 1 (unless there is no stake) [✔] (217ms)
+++ OK, passed 100 tests.
If all votes are no confidence, accepted ratio is zero [✔] (3256ms)
+++ OK, passed 100 tests.
ConwayGenesis
Golden Spec
should deserialize to the default value [✔] (15ms)
Upgrades [✔] (771ms)
+++ OK, passed 100 tests.
Conway governance actions reordering
preserves length when reordered [✔] (132ms)
+++ OK, passed 100 tests.
sorts by priority [✔] (133ms)
+++ OK, passed 100 tests.
same priority actions are not rearranged [✔] (983ms)
+++ OK, passed 100 tests.
orders actions correctly with shuffles [✔] (868ms)
+++ OK, passed 100 tests.
Conway
RoundTrip JSON
PParams ConwayEra [✔] (4078ms)
+++ OK, passed 100 tests.
Imp
ShelleyImpSpec
LEDGER
Transactions update UTxO [✔] (42ms)
EPOCH
Runs basic transaction [✔] (356ms)
Crosses epoch boundaries [✔] (713ms)
UTXOW
Bootstrap Witness
Valid Witnesses [✔] (1ms)
InvalidWitnessesUTXOW [✔] (1ms)
MissingVKeyWitnessesUTXOW [✔]
MissingScriptWitnessesUTXOW [✔] (1ms)
MissingTxBodyMetadataHash [✔]
MissingTxMetadata [✔]
ConflictingMetadataHash [✔]
ExtraneousScriptWitnessesUTXOW [✔]
UTXO
ShelleyUtxoPredFailure
ValueNotConservedUTxO [✔]
ShelleyPureTests
StakeDistrIncludesRewards [✔] (360ms)
+++ OK, passed 100 tests.
AllegraImpSpec
UTXOW
InvalidMetadata [✔]
MaryImpSpec
UTXO
Mint a Token [✔]
ShelleyUtxoPredFailure
ValueNotConservedUTxO [✔] (1ms)
AlonzoImpSpec
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 [✔] (2ms)
UTXOS
PlutusV1
Spending scripts with a Datum
redeemerSameAsDatum [✔] (323ms)
purposeIsWellformedWithDatum [✔] (334ms)
datumIsWellformed [✔] (332ms)
inputsOutputsAreNotEmptyWithDatum [✔] (327ms)
Valid transaction marked as invalid [✔]
Invalid transaction marked as valid [✔] (5ms)
Invalid plutus script fails in phase 2 [✔] (1ms)
Scripts pass in phase 2
purposeIsWellformedWithDatum [✔] (3ms)
datumIsWellformed [✔] (1ms)
inputsOutputsAreNotEmptyWithDatum [✔] (1ms)
No cost model [✔] (1ms)
PlutusV2
Spending scripts with a Datum
redeemerSameAsDatum [✔] (317ms)
purposeIsWellformedWithDatum [✔] (321ms)
datumIsWellformed [✔] (337ms)
inputsOutputsAreNotEmptyWithDatum [✔] (336ms)
Valid transaction marked as invalid [✔]
Invalid transaction marked as valid [✔] (5ms)
Invalid plutus script fails in phase 2 [✔] (1ms)
Scripts pass in phase 2
purposeIsWellformedWithDatum [✔] (2ms)
datumIsWellformed [✔] (2ms)
inputsOutputsAreNotEmptyWithDatum [✔] (1ms)
No cost model [✔] (1ms)
PlutusV3
Spending scripts with a Datum
redeemerSameAsDatum [✔] (326ms)
purposeIsWellformedWithDatum [✔] (337ms)
datumIsWellformed [✔] (333ms)
inputsOutputsAreNotEmptyWithDatum [✔] (327ms)
Valid transaction marked as invalid [✔]
Invalid transaction marked as valid [✔] (8ms)
Invalid plutus script fails in phase 2 [✔] (1ms)
Scripts pass in phase 2
purposeIsWellformedWithDatum [✔] (2ms)
datumIsWellformed [✔] (2ms)
inputsOutputsAreNotEmptyWithDatum [✔] (2ms)
No cost model [✔] (1ms)
UTXOW
Valid transactions
PlutusV1
Validating SPEND script [✔] (1ms)
Not validating SPEND script [✔] (5ms)
Validating CERT script [✔] (1ms)
Not validating CERT script [✔] (4ms)
Validating WITHDRAWAL script [✔] (1ms)
Not validating WITHDRAWAL script [✔] (4ms)
Validating MINT script [✔] (1ms)
Not validating MINT script [✔] (5ms)
PlutusV2
Validating SPEND script [✔] (1ms)
Not validating SPEND script [✔] (4ms)
Validating CERT script [✔] (1ms)
Not validating CERT script [✔] (5ms)
Validating WITHDRAWAL script [✔] (1ms)
Not validating WITHDRAWAL script [✔] (5ms)
Validating MINT script [✔] (1ms)
Not validating MINT script [✔] (4ms)
PlutusV3
Validating SPEND script [✔] (1ms)
Not validating SPEND script [✔] (8ms)
Validating CERT script [✔] (2ms)
Not validating CERT script [✔] (7ms)
Validating WITHDRAWAL script [✔] (1ms)
Not validating WITHDRAWAL script [✔] (7ms)
Validating MINT script [✔] (1ms)
Not validating MINT script [✔] (7ms)
Validating scripts everywhere [‐]
# PENDING: not implemented yet
Acceptable supplimentary datum [‐]
# PENDING: not implemented yet
Multiple identical certificates [‐]
# PENDING: not implemented yet
Non-script output with datum [‐]
# PENDING: not implemented yet
Invalid transactions
Phase 1 script failure [✔]
PlutusV1
MissingRedeemers [✔] (1ms)
MissingRequiredDatums [✔] (1ms)
NotAllowedSupplementalDatums [✔] (1ms)
PPViewHashesDontMatch
Mismatched [✔] (1ms)
Missing [✔] (1ms)
UnspendableUTxONoDatumHash [✔] (1ms)
No ExtraRedeemers on same script certificates [✔] (2ms)
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 [✔] (1ms)
Missing [✔] (1ms)
UnspendableUTxONoDatumHash [✔] (2ms)
No ExtraRedeemers on same script certificates [✔] (2ms)
Missing phase-2 script witness [✔] (1ms)
Redeemer with incorrect purpose [✔] (1ms)
Missing witness for collateral input [✔] (1ms)
PlutusV3
MissingRedeemers [✔] (2ms)
MissingRequiredDatums [✔] (2ms)
NotAllowedSupplementalDatums [✔] (1ms)
PPViewHashesDontMatch
Mismatched [✔] (2ms)
Missing [✔] (1ms)
UnspendableUTxONoDatumHash [✔] (3ms)
No ExtraRedeemers on same script certificates [✔] (3ms)
Missing phase-2 script witness [✔] (1ms)
Redeemer with incorrect purpose [✔] (1ms)
Missing witness for collateral input [✔] (1ms)
BabbageImpSpec
UTXOW
MalformedScriptWitnesses [✔] (1ms)
MalformedReferenceScripts [✔]
ExtraRedeemers/RedeemerPointerPointsToNothing [✔] (3ms)
P1 reference scripts must be witnessed [✔]
ConwayImpSpec - Version 9
BBODY
BBODY
BodyRefScriptsSizeTooBig [✔] (182ms)
CERTS
Withdrawals
Withdrawing from an unregistered reward account [✔] (1538ms)
Withdrawing the wrong amount [✔] (3136ms)
DELEG
Register stake credential
With correct deposit or without any deposit [✔]
Twice the same certificate in the same transaction [✔]
When already already registered [✔] (3ms)
With incorrect deposit [✔]
Unregister stake credentials
When registered [✔] (3ms)
When not registered [✔]
With incorrect deposit [✔] (1ms)
With non-zero reward balance [✔] (1518ms)
Register and unregister in the same transaction [✔]
deregistering returns the deposit [✔] (13179ms)
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 [✔] (4ms)
Delegate and unregister [✔] (1ms)
Delegate vote
Delegate vote of registered stake credentials to registered drep [✔] (830ms)
Delegate vote of registered stake credentials to unregistered drep [✔] (864ms)
Delegate vote of unregistered stake credentials [✔]?7h
Redelegate vote [✔] (2ms)
Delegate vote and unregister stake credentials [✔] (1ms)
Delegate both stake and vote
Delegate and unregister credentials [✔] (1ms)
Delegate to DRep and SPO and change delegation to a different SPO [✔] (2ms)
Delegate, retire and re-register pool [✔] (2640ms)
ENACT
Committee enactment
Enact UpdateCommitee with lengthy lifetime [✔] (3ms)
CC re-election [✔] (695ms)
Removing CC with UpdateCommittee
Non registered [✔] (697ms)
Registered [✔] (706ms)
Treasury withdrawals
Modify EnactState as expected [✔]
Withdrawals exceeding treasury submitted in a single proposal [✔]
Withdrawals exceeding maxBound Word64 submitted in a single proposal [✔]
Withdrawals exceeding treasury submitted in several proposals within the same epoch [✔]
NoConfidence [✔]
HardForkInitiation [✔]
Constitution [✔] (1ms)
Competing proposals
higher action priority wins [✔] (3ms)
proposals of same priority are enacted in order of submission [✔] (822ms)
only the first action of a transaction gets enacted [✔] (852ms)
HardForkInitiation without DRep voting [✔] (1637ms)
futurePParams [✔] (676ms)
EPOCH
DRep
proposal is accepted after two epochs [✔]
Treasury
TreasuryWithdrawal [✔]
TreasuryWithdrawalExtra [✔]
deposit is moved to treasury when the reward address is not registered [✔] (3955ms)
Proposals
Proposals survive multiple epochs without any activity [✔] (2405ms)
Expired proposal deposit refunded [✔] (1152ms)
Proposals are expired and removed as expected [✔]
DRep
expiry is updated based on the number of dormant epochs [✔] (2360ms)
expiry is not updated for inactive DReps [✔] (2378ms)
expiry updates are correct for a mixture of cases [✔] (4863ms)
DRep registration should succeed [✔] (321ms)
Events
emits event
GovInfoEvent [✔] (4958ms)
GOV
Constitution proposals
accepted for
empty PrevGovId before the first constitution is enacted [✔] (1ms)
valid GovPurposeId [✔]
rejected for
empty PrevGovId after the first constitution was enacted [✔] (2ms)
invalid index in GovPurposeId [✔]
valid GovPurposeId but invalid purpose [✔]
Proposals
Consistency
Proposals submitted without proper parent fail [✔] (5ms)
Subtrees are pruned when proposals expire [✔] (2309ms)
Subtrees are pruned when proposals expire over multiple rounds [✔] (5230ms)
Subtrees are pruned when competing proposals are enacted [✔]
Subtrees are pruned when competing proposals are enacted over multiple rounds [✔]
Subtrees are pruned for both enactment and expiry over multiple rounds [✔]
Votes from subsequent epochs are considered for ratification [✔]
Proposals are stored in the expected order [✔]
Voting
VotersDoNotExist [✔] (2ms)
DRep votes are removed [✔] (1ms)
expired gov-actions [✔] (1126ms)
non-existent gov-actions [✔] (2ms)
committee member can not vote on UpdateCommittee action [✔]
committee member can not vote on NoConfidence action [✔]
committee member mixed with other voters can not vote on UpdateCommittee action [✔]
CC cannot ratify if below threshold [✔]
Policy
policy is respected by proposals [✔]
Predicate failures
ProposalReturnAccountDoesNotExist [✔] (1ms)
ExpirationEpochTooSmall [✔] (322ms)
ProposalDepositIncorrect [✔]
ConflictingCommitteeUpdate [✔]
Unknown CostModels
Are accepted [✔] (1166ms)
Withdrawals
Fails predicate when treasury withdrawal has nonexistent return address [✔] (2ms)
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 [✔]
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 [✔] (3ms)
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 [✔]
succeeds for
registering and unregistering a DRep [✔]
resigning a non-CC key [✔]
re-registering a CC hot key [✔] (6ms)
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)
LEDGER
TxRefScriptsSizeTooBig [✔] (35ms)
Withdraw from delegated and non-delegated staking key [✔] (1525ms)
Withdraw from a key delegated to an unregistered DRep [✔] (1557ms)
Withdraw and unregister staking credential in the same transaction [✔] (1574ms)
Withdraw from a key delegated to an expired DRep [✔] (3947ms)
Withdraw from a key delegated to a DRep that expired after delegation [✔] (3947ms)
Withdraw from delegated and non-delegated staking script [✔] (1568ms)
Mempool events
No Mempool events should be emitted via LEDGERS rules [✔]
Mempool events should be emitted via `applyTx` with `mkMempoolEnv` [✔]
RATIFY
Voting
SPO needs to vote on security-relevant parameter changes [✔]
Active voting stake
DRep
UTxOs contribute to active voting stake [✔]
Rewards contribute to active voting stake [✔]
Rewards contribute to active voting stake even in the absence of StakeDistr [✔]
Proposal deposits contribute to active voting stake
Directly [✔]
After switching delegations [✔]
Predefined DReps
acceptedRatio with default DReps [✔]
AlwaysNoConfidence [✔]
AlwaysAbstain [✔]
DRepAlwaysNoConfidence is sufficient to pass NoConfidence [✔]
StakePool
UTxOs contribute to active voting stake [✔]
Rewards contribute to active voting stake [✔]
Rewards contribute to active voting stake even in the absence of StakeDistr [✔]
Proposal deposits contribute to active voting stake
Directly [✔]
After switching delegations [✔]
Interaction between governing bodies
Motion of no-confidence [✔]
Update committee - normal state [✔]
Hard-fork initiation [✔]
A governance action is automatically ratified if threshold is set to 0 for all related governance bodies [✔]
SPO default votes
During bootstrap phase
Default vote is Abstain in general [✔] (717ms)
HardForkInitiation - default vote is No [✔] (710ms)
After bootstrap phase
Default vote is No in general [✔]
HardForkInitiation - default vote is No [✔]
Reward account delegated to AlwaysNoConfidence [✔]
Reward account delegated to AlwaysAbstain [✔][?7h
Delaying actions
A delaying action delays its child even when both ere proposed and ratified in the same epoch [✔]
A delaying action delays all other actions even when all of them may be ratified in the same epoch [✔]
An action expires when delayed enough even after being ratified
Same lineage [✔]
Other lineage [✔]
proposals to update the committee get delayed if the expiration exceeds the max term [✔]
CommitteeMinSize affects in-flight proposals
TreasuryWithdrawal fails to ratify due to an increase in CommitteeMinSize [✔]
TreasuryWithdrawal ratifies due to a decrease in CommitteeMinSize [✔]
ParameterChange affects existing proposals
DRep
Increasing the threshold prevents a hitherto-ratifiable proposal from being ratified [✔]
Decreasing the threshold ratifies a hitherto-unratifiable proposal [✔]
SPO
Increasing the threshold prevents a hitherto-ratifiable proposal from being ratified [✔]
Decreasing the threshold ratifies a hitherto-unratifiable proposal [✔]
A parent ParameterChange proposal can prevent its child from being enacted [✔]
Expired and resigned committee members are discounted from quorum
Expired [✔]
Resigned [✔]
Committee members can serve full `CommitteeMaxTermLength`
maxTermLength = 0 [✔]
maxTermLength = 1 [✔]
Counting of SPO votes
HardForkInitiation [✔] (1601ms)
Hard Fork can still be initiated with less than minimal committee size [✔] (1209ms)
When CC expired
SPOs alone can't enact hard-fork [✔] (8728ms)
SPOs alone can't enact security group parameter change [✔] (8900ms)
When CC threshold is 0
SPOs alone can enact hard-fork during bootstrap [✔] (798ms)
SPOs alone can enact security group parameter change during bootstrap [✔] (782ms)
Many CC Cold Credentials map to the same Hot Credential act as many votes [✔] (1669ms)
UTXO
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 [✔] (2ms)
UTXOS
Gov policy scripts
failing native script govPolicy [✔]
alwaysSucceeds Plutus govPolicy validates [✔]
alwaysFails Plutus govPolicy does not validate [✔]
PlutusV3 Initialization
Updating CostModels with alwaysFails govPolicy does not validate [✔]
Updating CostModels with alwaysSucceeds govPolicy but no PlutusV3 CostModels fails [✔]
Updating CostModels and setting the govPolicy afterwards succeeds [✔]
can use reference scripts [✔] (1ms)
can use regular inputs for reference [✔] (2ms)
fails with same txIn in regular inputs and reference inputs [✔] (1ms)
fails when using inline datums for PlutusV1 [✔] (1ms)
fails with same txIn in regular inputs and reference inputs [✔] (1ms)
fails when using inline datums for PlutusV1 [✔] (1ms)
Conway features fail in Plutusdescribe v1 and v2
Unsupported Fields
CurrentTreasuryValue
V1 [✔] (328ms)
V2 [✔] (333ms)
VotingProcedures
V1 [✔] (3ms)
V2 [✔] (3ms)
ProposalProcedures
V1 [✔] (1ms)
V2 [✔] (1ms)
TreasuryDonation
V1 [✔] (1ms)
V2 [✔] (1ms)
Certificates
Translated
RegDepositTxCert
V1 [✔] (1ms)
V2 [✔] (2ms)
UnRegDepositTxCert
V1 [✔] (3ms)
V2 [✔] (3ms)
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 [✔] (4ms)
Spending script without a Datum
PlutusV1 [✔] (1ms)
PlutusV2 [✔] (1ms)
PlutusV3 [✔] (2ms)
ConwayImpSpec - Version 10
BBODY
BBODY
BodyRefScriptsSizeTooBig [✔] (183ms)
CERTS
Withdrawals
Withdrawing from an unregistered reward account [✔] (1511ms)
Withdrawing the wrong amount [✔] (3125ms)
DELEG
Register stake credential
With correct deposit or without any deposit [✔]
Twice the same certificate in the same transaction [✔]
When already already registered [✔] (3ms)
With incorrect deposit [✔]
Unregister stake credentials
When registered [✔] (3ms)
When not registered [✔]
With incorrect deposit [✔]
With non-zero reward balance [✔] (1529ms)
Register and unregister in the same transaction [✔]
deregistering returns the deposit [✔] (12945ms)
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 [✔] (1ms)
Delegate already delegated credentials [✔] (3ms)
Delegate and unregister [✔] (1ms)
Delegate vote
Delegate vote of registered stake credentials to registered drep [✔] (2ms)
Delegate vote of registered stake credentials to unregistered drep [✔]
Delegate vote of unregistered stake credentials [✔] (1ms)
Redelegate vote [✔] (2ms)
Delegate vote and unregister stake credentials [✔] (1ms)
Delegate both stake and vote
Delegate and unregister credentials [✔] (1ms)
Delegate to DRep and SPO and change delegation to a different SPO [✔] (2ms)
Delegate, retire and re-register pool [✔] (2637ms)
ENACT
Committee enactment
Enact UpdateCommitee with lengthy lifetime [✔] (1162ms)
CC re-election [✔] (4102ms)
Removing CC with UpdateCommittee
Non registered [✔] (1562ms)
Registered [✔] (1520ms)
Treasury withdrawals
Modify EnactState as expected [✔] (4ms)
Withdrawals exceeding treasury submitted in a single proposal [✔] (1591ms)
Withdrawals exceeding maxBound Word64 submitted in a single proposal [✔] (749ms)
Withdrawals exceeding treasury submitted in several proposals within the same epoch [✔] (1190ms)
NoConfidence [✔] (3175ms)
HardForkInitiation [✔] (2463ms)
Constitution [✔] (715ms)
Competing proposals
higher action priority wins [✔] (756ms)
proposals of same priority are enacted in order of submission [✔] (886ms)
only the first action of a transaction gets enacted [✔] (891ms)
HardForkInitiation without DRep voting [✔] (1657ms)
futurePParams [✔] (665ms)
EPOCH
DRep
proposal is accepted after two epochs [✔] (1187ms)
Treasury
TreasuryWithdrawal [✔] (1121ms)
TreasuryWithdrawalExtra [✔] (1172ms)
deposit is moved to treasury when the reward address is not registered [✔] (4060ms)
Proposals
Proposals survive multiple epochs without any activity [✔] (2469ms)
Expired proposal deposit refunded [✔] (1158ms)
Proposals are expired and removed as expected [✔] (742ms)
DRep
expiry is updated based on the number of dormant epochs [✔] (2317ms)
expiry is not updated for inactive DReps [✔] (2377ms)
expiry updates are correct for a mixture of cases [✔] (4828ms)
DRep registration should succeed [✔] (320ms)
Events
emits event
GovInfoEvent [✔] (4992ms)
GOV
Constitution proposals
accepted for
empty PrevGovId before the first constitution is enacted [✔] (1ms)
valid GovPurposeId [✔] (1493ms)
rejected for
empty PrevGovId after the first constitution was enacted [✔] (709ms)
invalid index in GovPurposeId [✔] (751ms)
valid GovPurposeId but invalid purpose [✔] (718ms)
Proposals
Consistency
Proposals submitted without proper parent fail [✔] (5ms)
Subtrees are pruned when proposals expire [✔] (2358ms)
Subtrees are pruned when proposals expire over multiple rounds [✔] (5456ms)
Subtrees are pruned when competing proposals are enacted [✔] (1979ms)
Subtrees are pruned when competing proposals are enacted over multiple rounds [✔] (1497ms)
Subtrees are pruned for both enactment and expiry over multiple rounds [✔] (6463ms)
Votes from subsequent epochs are considered for ratification [✔] (1457ms)
Proposals are stored in the expected order [✔] (3ms)
Voting
VotersDoNotExist [✔] (1ms)
DRep votes are removed [✔] (1ms)
expired gov-actions [✔] (1105ms)
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 [✔] (3190ms)
Policy
policy is respected by proposals [✔] (705ms)
Predicate failures
ProposalReturnAccountDoesNotExist [✔] (1ms)
ExpirationEpochTooSmall [✔] (316ms)
ProposalDepositIncorrect [✔]
ConflictingCommitteeUpdate [✔]
Unknown CostModels
Are accepted [✔] (1131ms)
Withdrawals
Fails predicate when treasury withdrawal has nonexistent return address [✔] (1ms)
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 [✔]
Hardfork majorFollow [✔]
Hardfork cantFollow [✔]
Hardfork is the second one (has a GovPurposeId)
Hardfork minorFollow [✔] (1ms)
Hardfork majorFollow [✔] (1ms)
Hardfork cantFollow [✔] (1ms)
PParamUpdate
PPU needs to be wellformed
ppuMaxBBSizeL cannot be 0 [✔] (1ms)
ppuMaxTxSizeL cannot be 0 [✔] (1ms)
ppuMaxBHSizeL cannot be 0 [✔] (1ms)
ppuMaxValSizeL cannot be 0 [✔] (1ms)
ppuCollateralPercentageL cannot be 0 [✔] (2ms)
ppuCommitteeMaxTermLengthL cannot be 0 [✔] (3ms)
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 [✔] (4ms)
Info action [✔] (4ms)
Treasury withdrawal [✔] (1ms)
NoConfidence [✔]
UpdateCommittee [✔]
NewConstitution [✔]
GOVCERT
Resigning proposed CC key [✔]
succeeds for
registering and unregistering a DRep [✔]
resigning a non-CC key [✔]
re-registering a CC hot key [✔] (6ms)
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)
LEDGER
TxRefScriptsSizeTooBig [✔] (34ms)
Withdraw from delegated and non-delegated staking key [✔] (1503ms)
Withdraw from a key delegated to an unregistered DRep [✔] (1546ms)
Withdraw and unregister staking credential in the same transaction [✔] (1571ms)
Withdraw from a key delegated to an expired DRep [✔] (3976ms)
Withdraw from a key delegated to a DRep that expired after delegation [✔] (3846ms)
Withdraw from delegated and non-delegated staking script [✔] (1513ms)
Mempool events
No Mempool events should be emitted via LEDGERS rules [✔]
Mempool events should be emitted via `applyTx` with `mkMempoolEnv` [✔]
RATIFY
Voting
SPO needs to vote on security-relevant parameter changes [✔] (2619ms)
Active voting stake
DRep
UTxOs contribute to active voting stake [✔] (1588ms)
Rewards contribute to active voting stake [✔] (1528ms)
Rewards contribute to active voting stake even in the absence of StakeDistr [✔] (7832ms)
Proposal deposits contribute to active voting stake
Directly [✔] (1568ms)
After switching delegations [✔] (1558ms)
Predefined DReps
acceptedRatio with default DReps [✔] (2271ms)
AlwaysNoConfidence [✔] (2831ms)
AlwaysAbstain [✔] (2752ms)
DRepAlwaysNoConfidence is sufficient to pass NoConfidence [✔] (1517ms)
StakePool
UTxOs contribute to active voting stake [✔] (1978ms)
Rewards contribute to active voting stake [✔] (2070ms)
Rewards contribute to active voting stake even in the absence of StakeDistr [✔] (8605ms)
Proposal deposits contribute to active voting stake
Directly [✔] (1553ms)
After switching delegations [✔] (1583ms)
Interaction between governing bodies
Motion of no-confidence [✔] (1636ms)
Update committee - normal state [✔] (1563ms)
Hard-fork initiation [✔] (1640ms)
A governance action is automatically ratified if threshold is set to 0 for all related governance bodies [✔] (1524ms)
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 [✔] (698ms)
HardForkInitiation - default vote is No [✔] (1629ms)
Reward account delegated to AlwaysNoConfidence [✔] (1470ms)
Reward account delegated to AlwaysAbstain [✔] (1540ms)
Delaying actions
A delaying action delays its child even when both ere proposed and ratified in the same epoch [✔] (1934ms)
A delaying action delays all other actions even when all of them may be ratified in the same epoch [✔] (1666ms)
An action expires when delayed enough even after being ratified
Same lineage [✔] (1912ms)
Other lineage [✔] (2033ms)
proposals to update the committee get delayed if the expiration exceeds the max term [✔] (4065ms)
CommitteeMinSize affects in-flight proposals
TreasuryWithdrawal fails to ratify due to an increase in CommitteeMinSize [✔] (1216ms)
TreasuryWithdrawal ratifies due to a decrease in CommitteeMinSize [✔] (3597ms)
ParameterChange affects existing proposals
DRep
Increasing the threshold prevents a hitherto-ratifiable proposal from being ratified [✔] (2085ms)
Decreasing the threshold ratifies a hitherto-unratifiable proposal [✔] (3393ms)
SPO
Increasing the threshold prevents a hitherto-ratifiable proposal from being ratified [✔] (2491ms)
Decreasing the threshold ratifies a hitherto-unratifiable proposal [✔] (3364ms)
A parent ParameterChange proposal can prevent its child from being enacted [✔] (826ms)
Expired and resigned committee members are discounted from quorum
Expired [✔] (1547ms)
Resigned [✔] (712ms)
Committee members can serve full `CommitteeMaxTermLength`
maxTermLength = 0 [✔] (1141ms)
maxTermLength = 1 [✔] (1273ms)
Counting of SPO votes
HardForkInitiation [✔] (1604ms)
Hard Fork can still be initiated with less than minimal committee size [✔] (1119ms)
When CC expired
Loading