Skip to content

Ledger properties dashboard

This is the human-facing dashboard of ledger properties across eras. It is generated from the catalog (build-tools/scripts/property-tracking/properties.yaml) with each property's status derived from the Agda source by build-tools/scripts/property-tracking/scan_properties.py. Do not edit the generated region below by hand; edit the catalog and regenerate.

See the "Tracking Properties of the Ledger" section of CONTRIBUTING.md for the conventions and workflow.

Status legend: โœ… proved ยท ๐ŸŸก stated (proof pending) ยท ๐ŸŸฆ planned (drafted on another branch/PR) ยท โšช idea (not yet in Agda).

Generated by build-tools/scripts/property-tracking/scan_properties.py from the catalog reconciled against the Agda โ€” do not edit this region by hand.

Summary

Era proved stated planned idea total
conway 15 5 0 2 22
dijkstra 0 0 0 15 15

Conway

Status Property STS Agda module Issue(s)
โœ… proved CERT and CERTS preserve value CERTS Ledger.Conway.Specification.Certs.Properties.PoV #1240
โœ… proved GA deposits are eventually refunded CHAIN Ledger.Conway.Specification.Chain.Properties.EventuallyRefunded #414
โœ… proved govDepsMatch is a CHAIN invariant CHAIN Ledger.Conway.Specification.Chain.Properties.GovDepsMatch #1235
โœ… proved EPOCH preserves the DReps equivalence (expired-DReps parametricity) EPOCH Ledger.Conway.Specification.Epoch.Properties.ExpiredDReps #1241
โœ… proved govDepsMatch is an EPOCH invariant EPOCH Ledger.Conway.Specification.Epoch.Properties.GovDepsMatch #1237
โœ… proved ChangePParams proposals have a non-empty update group GOV Ledger.Conway.Specification.Gov.Properties.ChangePPGroup #1234
โœ… proved A voter's (last) vote in a block is applied to the GA GOV Ledger.Conway.Specification.Gov.Properties.LastVoteApplied #417
โœ… proved ChangePParams proposals of an accepted transaction have a non-empty update group LEDGER Ledger.Conway.Specification.Ledger.Properties.ChangePPGroup #1234
โœ… proved govDepsMatch is a LEDGER invariant LEDGER Ledger.Conway.Specification.Ledger.Properties.GovDepsMatch #1236
โœ… proved The last vote is applied at the LEDGER level LEDGER Ledger.Conway.Specification.Ledger.Properties.LastVoteApplied #417
โœ… proved LEDGER preserves value LEDGER Ledger.Conway.Specification.Ledger.Properties.PoV #1238
โœ… proved Rewards domain is unchanged by POOLREAP, EPOCH, and NEWEPOCH (rewards are constant at the epoch boundary) NEWEPOCH Ledger.Conway.Specification.Epoch.Properties.ConstRwds #1229
โœ… proved k proposals grow the GA deposit pot by k * govActionDeposit UTXO Ledger.Conway.Specification.Utxo.Properties.GenMinSpend #413
โœ… proved Coin consumed is at least the sum of GA deposits of the proposals UTXO Ledger.Conway.Specification.Utxo.Properties.MinSpend #1228
โœ… proved UTXO preserves value UTXO Ledger.Conway.Specification.Utxo.Properties.PoV #1239
๐ŸŸก stated voteDelegs range is contained in VDelegs built from its domain CERTS Ledger.Conway.Specification.Certs.Properties.VoteDelegsVDeleg #1233
๐ŸŸก stated dom rewards = CredentialDeposit^-1 (dom deposits) is a CHAIN invariant CHAIN Ledger.Conway.Specification.Chain.Properties.CredDepsEqualDomRwds #1230
๐ŸŸก stated EnactState only changes at an epoch boundary (new enact state => new epoch) CHAIN Ledger.Conway.Specification.Chain.Properties.EpochStep #412
๐ŸŸก stated Well-formedness of PParams is a CHAIN invariant CHAIN Ledger.Conway.Specification.Chain.Properties.PParamsWellFormed #1231
๐ŸŸก stated Active DReps are unchanged across an epoch when there are no proposals EPOCH Ledger.Conway.Specification.Epoch.Properties.NoPropSameDReps #1232
โšช idea The last vote is applied at the CHAIN level CHAIN โ€” #1312
โšช idea Voting power of a stake credential does not decrease on self-funded proposal EPOCH โ€” #415

Dijkstra

Status Property STS Agda module Issue(s)
โšช idea [port] voteDelegs range is contained in VDelegs built from its domain CERTS โ€” โ€”
โšช idea [port] dom rewards = CredentialDeposit^-1 (dom deposits) is a CHAIN invariant CHAIN โ€” โ€”
โšช idea [port] EnactState only changes at an epoch boundary CHAIN โ€” โ€”
โšช idea [port] GA deposits are eventually refunded CHAIN โ€” โ€”
โšช idea [port] Well-formedness of PParams is a CHAIN invariant CHAIN โ€” โ€”
โšช idea [port] EPOCH preserves the DReps equivalence EPOCH โ€” โ€”
โšช idea [port] Active DReps are unchanged across an epoch with no proposals EPOCH โ€” โ€”
โšช idea [port] Voting power does not decrease on a self-funded proposal EPOCH โ€” โ€”
โšช idea [port] ChangePParams proposals have a non-empty update group GOV โ€” โ€”
โšช idea [port] A voter's (last) vote in a block is applied to the GA GOV โ€” โ€”
โšช idea [port] govDepsMatch is a CHAIN/LEDGER/EPOCH invariant CHAIN โ€” โ€”
โšช idea [port] Rewards domain is unchanged by NEWEPOCH NEWEPOCH โ€” โ€”
โšช idea [port] Preservation of value (LEDGER/UTXO/CERTS/CERT) LEDGER โ€” โ€”
โšช idea [port] k proposals grow the GA deposit pot by k * govActionDeposit UTXO โ€” โ€”
โšช idea [port] Coin consumed is at least the sum of GA deposits of the proposals UTXO โ€” โ€”