Apply LEDGER validations in SUBLEDGER
Home /
Input Output /
cardano-ledger-specs
Feb 13, 4-5 AM (0)
Feb 13, 5-6 AM (0)
Feb 13, 6-7 AM (7)
Feb 13, 7-8 AM (0)
Feb 13, 8-9 AM (0)
Feb 13, 9-10 AM (0)
Feb 13, 10-11 AM (0)
Feb 13, 11-12 PM (1)
Feb 13, 12-1 PM (1)
Feb 13, 1-2 PM (0)
Feb 13, 2-3 PM (0)
Feb 13, 3-4 PM (0)
Feb 13, 4-5 PM (0)
Feb 13, 5-6 PM (0)
Feb 13, 6-7 PM (4)
Feb 13, 7-8 PM (0)
Feb 13, 8-9 PM (0)
Feb 13, 9-10 PM (0)
Feb 13, 10-11 PM (0)
Feb 13, 11-12 AM (0)
Feb 14, 12-1 AM (0)
Feb 14, 1-2 AM (0)
Feb 14, 2-3 AM (0)
Feb 14, 3-4 AM (0)
Feb 14, 4-5 AM (0)
Feb 14, 5-6 AM (0)
Feb 14, 6-7 AM (0)
Feb 14, 7-8 AM (1)
Feb 14, 8-9 AM (0)
Feb 14, 9-10 AM (1)
Feb 14, 10-11 AM (0)
Feb 14, 11-12 PM (0)
Feb 14, 12-1 PM (0)
Feb 14, 1-2 PM (0)
Feb 14, 2-3 PM (0)
Feb 14, 3-4 PM (0)
Feb 14, 4-5 PM (0)
Feb 14, 5-6 PM (4)
Feb 14, 6-7 PM (0)
Feb 14, 7-8 PM (0)
Feb 14, 8-9 PM (0)
Feb 14, 9-10 PM (0)
Feb 14, 10-11 PM (0)
Feb 14, 11-12 AM (0)
Feb 15, 12-1 AM (0)
Feb 15, 1-2 AM (0)
Feb 15, 2-3 AM (0)
Feb 15, 3-4 AM (0)
Feb 15, 4-5 AM (0)
Feb 15, 5-6 AM (0)
Feb 15, 6-7 AM (0)
Feb 15, 7-8 AM (0)
Feb 15, 8-9 AM (0)
Feb 15, 9-10 AM (0)
Feb 15, 10-11 AM (0)
Feb 15, 11-12 PM (0)
Feb 15, 12-1 PM (0)
Feb 15, 1-2 PM (0)
Feb 15, 2-3 PM (0)
Feb 15, 3-4 PM (0)
Feb 15, 4-5 PM (0)
Feb 15, 5-6 PM (0)
Feb 15, 6-7 PM (0)
Feb 15, 7-8 PM (0)
Feb 15, 8-9 PM (0)
Feb 15, 9-10 PM (0)
Feb 15, 10-11 PM (0)
Feb 15, 11-12 AM (0)
Feb 16, 12-1 AM (0)
Feb 16, 1-2 AM (0)
Feb 16, 2-3 AM (0)
Feb 16, 3-4 AM (0)
Feb 16, 4-5 AM (0)
Feb 16, 5-6 AM (0)
Feb 16, 6-7 AM (0)
Feb 16, 7-8 AM (0)
Feb 16, 8-9 AM (0)
Feb 16, 9-10 AM (0)
Feb 16, 10-11 AM (0)
Feb 16, 11-12 PM (2)
Feb 16, 12-1 PM (7)
Feb 16, 1-2 PM (0)
Feb 16, 2-3 PM (0)
Feb 16, 3-4 PM (1)
Feb 16, 4-5 PM (0)
Feb 16, 5-6 PM (0)
Feb 16, 6-7 PM (0)
Feb 16, 7-8 PM (0)
Feb 16, 8-9 PM (0)
Feb 16, 9-10 PM (0)
Feb 16, 10-11 PM (0)
Feb 16, 11-12 AM (0)
Feb 17, 12-1 AM (0)
Feb 17, 1-2 AM (0)
Feb 17, 2-3 AM (0)
Feb 17, 3-4 AM (0)
Feb 17, 4-5 AM (0)
Feb 17, 5-6 AM (0)
Feb 17, 6-7 AM (0)
Feb 17, 7-8 AM (0)
Feb 17, 8-9 AM (0)
Feb 17, 9-10 AM (0)
Feb 17, 10-11 AM (0)
Feb 17, 11-12 PM (1)
Feb 17, 12-1 PM (13)
Feb 17, 1-2 PM (0)
Feb 17, 2-3 PM (1)
Feb 17, 3-4 PM (12)
Feb 17, 4-5 PM (0)
Feb 17, 5-6 PM (0)
Feb 17, 6-7 PM (0)
Feb 17, 7-8 PM (0)
Feb 17, 8-9 PM (0)
Feb 17, 9-10 PM (0)
Feb 17, 10-11 PM (0)
Feb 17, 11-12 AM (1)
Feb 18, 12-1 AM (0)
Feb 18, 1-2 AM (0)
Feb 18, 2-3 AM (0)
Feb 18, 3-4 AM (0)
Feb 18, 4-5 AM (2)
Feb 18, 5-6 AM (3)
Feb 18, 6-7 AM (0)
Feb 18, 7-8 AM (1)
Feb 18, 8-9 AM (0)
Feb 18, 9-10 AM (0)
Feb 18, 10-11 AM (0)
Feb 18, 11-12 PM (0)
Feb 18, 12-1 PM (0)
Feb 18, 1-2 PM (0)
Feb 18, 2-3 PM (0)
Feb 18, 3-4 PM (0)
Feb 18, 4-5 PM (0)
Feb 18, 5-6 PM (3)
Feb 18, 6-7 PM (1)
Feb 18, 7-8 PM (0)
Feb 18, 8-9 PM (0)
Feb 18, 9-10 PM (0)
Feb 18, 10-11 PM (0)
Feb 18, 11-12 AM (0)
Feb 19, 12-1 AM (0)
Feb 19, 1-2 AM (0)
Feb 19, 2-3 AM (0)
Feb 19, 3-4 AM (0)
Feb 19, 4-5 AM (0)
Feb 19, 5-6 AM (0)
Feb 19, 6-7 AM (0)
Feb 19, 7-8 AM (1)
Feb 19, 8-9 AM (0)
Feb 19, 9-10 AM (1)
Feb 19, 10-11 AM (1)
Feb 19, 11-12 PM (0)
Feb 19, 12-1 PM (0)
Feb 19, 1-2 PM (0)
Feb 19, 2-3 PM (7)
Feb 19, 3-4 PM (2)
Feb 19, 4-5 PM (1)
Feb 19, 5-6 PM (1)
Feb 19, 6-7 PM (0)
Feb 19, 7-8 PM (0)
Feb 19, 8-9 PM (0)
Feb 19, 9-10 PM (1)
Feb 19, 10-11 PM (1)
Feb 19, 11-12 AM (0)
Feb 20, 12-1 AM (0)
Feb 20, 1-2 AM (0)
Feb 20, 2-3 AM (0)
Feb 20, 3-4 AM (0)
Feb 20, 4-5 AM (0)
83 commits this week
Feb 13, 2026
-
Feb 20, 2026
Merge pull request #5584 from IntersectMBO/lehins/use-accountId-for-stake-pools
Use `AccountId` for stake pools
Apply LEDGER validations in SUBLEDGER
Remove unnecessary SUBLEDGER predicate failures
Update fls hash in flake.lock
Set scriptIntegrityHash to 0 to match the behavior of Agda in conformance tests
Set scriptIntegrityHash to 0 to match the behavior of Agda in conformance tests
add Haskell Benchmark (customSmallerIsBetter) benchmark result for e0b55d557149a8330c23e4c9ce81e6e96c53d445
Swithc to using `AccountId` for stake pools:
* Rename `spsAccountAddress` -> `spsAccountId` and change its type to `AccountId` instead of `Credential Staking` * Change type of `spssAccountId` from `AccountId` to `Credential Staking`
Refactor DijkstraBBODY, use DijkstraEraBlockHeader.
Introduce DijkstraEraBlockHeader to have a lens to the previous nonce, and the DijkstraBbodySignal GADT to constrain the header existantially, same as for BbodySignal. Move PerasCert, PerasKey and validatePerasCert to dijkstra's BlockBody. Remove PrevEpochNonceNotPresent because the field is implicitly present in the signal to the BBODY rule now. Refactor the dijkstra BBODY rule to reuse validations from shelley, alonzo, conway, inlined, because the change in the type of Signal makes calling earlier BBODY transitions impossible.
Introduce new canonical namespace for the pool_stake
Change lens type for `committeeMinSize` from `Natural` to `Word16`
to match the type in the PParams data type
Remove assertions and no longer needed arguments to `mkPoolRewardInfo`
Make `ssDelegations` strict
That field is actually needed for the rewards pulser. However, the goal is to reduce the number of tables that will be needed for LedgerHD and this field can be removed, since it, by definition, has a domain that is a superset of `ssActiveStake` and it is only the entries that are also present in `ssActiveStake` that are needed, because for reward calculation we need non-zero stake taht is delegated to a stake pool. Therefore this filed is marked to be subsumed by the `ssActiveStake`
Make `ssDelegations` strict
That field is actually needed for the rewards pulser. However, the goal is to reduce the number of tables that will be needed for LedgerHD and this field can be removed, since it, by definition, has a domain that is a superset of `ssActiveStake` and it is only the entries that are also present in `ssActiveStake` that are needed, because for reward calculation we need non-zero stake taht is delegated to a stake pool. Therefore this filed is marked to be subsumed by the `ssActiveStake`
Fix changelog for cardano-ledger-shelley-test
Remove assertions and no longer needed arguments to `mkPoolRewardInfo`
Swap order of arguments in `stakePoolStateToStakePoolParams`
This is done for convenience of partial application with `mapWithKey` like functions
Move `Arbitrary` instances to `cardano-strict-containers`