Skip to main content

Ledger Team Update

· 2 min read
Alexey Kuleshevich

High level summary

This period Ledger team completed full definion in Haskell and binary representation with CDDL specification of what it means to be a Nested Transaction. Besides this important milestone we've tackled some tech dept, added ability to inject a Cost Model for any Plutus version upon startup for the purpose of testing and benchmarking, optimized memory accounts representation and improved usability of some predicate failures. We made some very nice progress on enhancing CDDL specification with cuddle, which will allow us to reduce quite a bit of code duplication and improve CDDL conformance property testing.

Low level summary

Features

  • PR-5419 - Type-class-based CDDL generation
  • PR-5413 - Subtransactions CBOR deserializer
  • PR-5379 - Add ability to inject any cost models via AlonzoGenesis
  • PR-5416 - Switch to Credential Staking from RewardAccount in StakePoolState
  • PR-5449 - Improve memory representation of ConwayAccountState
  • PR-5442 - Deprecate StakeCredential and PaymentCredential synonyms
  • PR-5429 - Fail PlutusV4 TxInfo translation when Ptr is present in the TxOuts
  • PR-5455 - Make IncompleteWithdrawals more informative
  • PR-5457 - Required top level guards
  • PR-5441 - Redefine predicate failures in Dijkstra without using CBOR group encoding
  • PR-5450 - Remove set-algebra library and all its usage
  • PR-5443 - CDDL with typeclasses: mary, alonzo, babbage
  • PR-5460 - Ensure EraBlockBody instances are not orphans.
  • PR-5451 - Switch to CompactForm Coin in PParams
  • PR-5383 - Remove listLenBound from EncCBORGroup class

Testing

  • PR-5426 - Test "accepted" predicates in conformance
  • PR-5434 - Add Imp test reproducer for #5418
  • PR-5433 - Make ticking a bit more realistic in Imp tests
  • PR-5440 - Bump constrained-generators

Infrastructure and releasing