Skip to main content

Ledger Team Update

· 2 min read
Alexey Kuleshevich

High level summary

Last period we were finally able to drop support for older GHC versions. We also made some cleanup that was necessary as preparation work for further refactoring that is underway, which is necessary for both Leios and Nested Transactions. Refactoring definitions of protocol parameters is quite an accomplishment, since it drastically reduces complexity and eliminates unnecessary duplication for all eras. This refactoring not only reduced amount of code around protocol parameters for previous eras, but will also drastically simplify the process of adding new protocol parameters in the future eras.

Low level summary

Features

  • PR-5028 - Deprecate balance in favor of a better named sumUTxO
  • PR-5034 - Rename ppLens and ppuLens to make them more specific
  • PR-5027 - Refactor PParams CBOR, JSON and Plutus Data serialization for reuse across eras and serializers
  • PR-5007 - Remove ConwayNewEpochPredFailure
  • PR-5011 - Ensure BabbageNonDisjointRefInputs is only checked for PlutusV3 scripts
  • PR-5057 - Change Byron EBB stakeholderid to zero-or-more
  • PR-5066 - Fix occurrence of items in maps in byron.cddl
  • PR-5053 - Fix COMPLETE pragma for NativeScript ShelleyEra

Testing

  • PR-5016 - Bump formal-ledger-specifications
  • PR-5012 - constrained-generators: Split abstract syntax out of Base.hs
  • PR-5037 - Some hacking on improving error messages for lists
  • PR-5049 - Golden tests for PParamsUpdate JSON serialization

Infrastructure and releasing

  • PR-5029 - Remove GHC 8.10 from nix-flake and GHA
  • PR-5040 - Update to fourmolu-0.17.0.0
  • PR-5041 - Update ghc versions
  • PR-5039 - Bump base
  • PR-5051 - Update the haskellNix flake input
  • PR-5055 - Update the iohkNix flake input
  • PR-5060 - Move the shellcheck CI into the main workflow file