High level summary
This period we have finally finished significant refactoring on how we represent reward account state in the Ledger codebase, which not only allowed us to completely get rid of pointers in Conway era, but also drastically reduced complexity of accounts functionality and improved Ledger performance. More importantly this refactoring made accounts more extensible and will in future facilitate new features like: changes needed for Leios, full Chimeric Ledger through promotion of reward accounts to proper accounts, as well as ability to store multi-assets in the Treasury and submitting TreasuryWithdrawals governance actions that withdraw other assets except ADA.
Furthe more, we progressed with some features for the next intra-era hard fork as well as for the next Dijkstra era. We've implemented a long asked feature to report the pre-image of the script integrity hash upon validation failures, which will improve user experience and is planned to become available upon the next intra-era hardfork. With respect to Dijkstra implementation we've added new protocol parameters for values that ended up being hard coded in the Conway era. We also started on CDDL specification for the next era.
Besides that we had some progress on improving our test suite, took care of some technical debt and reduced complexity of certain aspects of Ledger implementation.
Low level summary
Features
- PR-5156 - Rename EraSegWits to EraBlockBody and TxSeq to BlockBody
- PR-5128 - Stop using
UMap
in favor ofAccounts
type family - PR-5179 - Add mkBasicBlockBody{Shelley,Alonzo} and txSeqBlockBody{Shelley,Alonzo}L
- PR-5164 - Added
DijkstraPParams
- PR-5182 - Remove tx wrappers
- PR-5163 - Change the type of
dRepDeposits
toCompactForm Coin
- PR-5178 - Dijkstra: Prevent empty MultiAsset
- PR-5172 - Replace
PPViewHashesDontMatch
withScriptIntegrityHashMismatch
starting from PV 11 - PR-5192 - CDDL for Dijkstra
Testing
- PR-5173 - Add a nix sha256 for the
constrained-generators
srp - PR-5059 - Translate some tests from BabbageFeatures to Imp test
- PR-5180 - Fix for CERTS constraint generators
- PR-5188 - SRP for constrained generators via nix inputs
- PR-5189 - Update and fix formal-ledger-specifications
- PR-5193 - Translate tests from BabbageFeatures to Imp test (part 2)
Infrastructure and releasing
- PR-5185 - Update
data-files
in Dijkstra cabal file to fix tests failing in hydra