Skip to main content

ledger

· 3 min read

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 Ord instances 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

Infrastructure and releasing

  • PR-6000 - Bump HLS to 2.14.0.0
  • PR-5838 - Post test failures summary to a PR comment as well as to CI
  • PR-5998 - CHaP flake optimization
  • PR-6005 - Bump actions/checkout from 6 to 7 in the actions group