ledger
title: Ledger Team Update slug: 2026-08-19-ledger authors: lehins tags: [ledger] hide_table_of_contents: false
High level summary
Leios support continued: following the addition of a real BlsKey in the pool parameters, the pool distribution now carries the corresponding LeiosKey and a per-pool BLS-attributed stake, so that BLS-related pool information is available wherever the rest of the pool distribution is consumed.
Groundwork was laid for a broader refactor of predicate failures toward standalone, reusable units that can be shared across rules and eras. The first such predicate failure landed as a template for the transition, with sub-transactions in Dijkstra as the initial target.
Ord instances were also added uniformly across the predicate-failure hierarchy so that failures can be collected into sets, which fits the same push toward standalone, composable predicate failures.
A number of CBOR decoders in the ledger were relaxed to accept indefinite-length encodings in addition to the definite-length ones they previously required. This makes the decoders tolerant of structurally equivalent CBOR variants.
Test infrastructure received substantial attention. On the Imp side, sub-transaction fixup was implemented (Plutus scripts aside), directly addressing the sub-transaction testing gap flagged last cycle. On the conformance side, several test suites were re-enabled after fixes to the underlying constrained generators. Twiddling tests were also enabled in Dijkstra, providing more robust serialization tests.
Low level summary
Features
- PR-5988 - Leios: add LeiosKey to PoolDistr
- PR-5992 - Add individualPoolStakeBls to PoolDistr
- PR-5850 - Add
Ordinstances for predicate failures - PR-5979 - Make GenerateCBOR exit with nonzero when generation fails, retry failed attempts
- PR-5772 - Adding first standalone AccountAlreadyRegistered predicate failure
- PR-5862 - Enable Dijkstra Twiddling tests, relax some decoders in PV12
Testing
- PR-5964 - Enable UTXOW/UTXO/UTXOS tests from all eras in conformance
- PR-5990 - Fix infinite loop in initialLedgerState test generator, re-enable UTXO/UTXOW/LEDGER/LEDGERS conformance tests
- PR-5980 - Implement subtransaction-fixup in Imp framework (except Plutus scripts)
- PR-6008 - Enact state constrained generator fix