High level summary
Last few weeks were spent mostly on implementing various fixes, writing tests and improving capabilities of our testing frameworks. Important bug fixes are:
- Retention of Anchor for proposal procedures in the ledger state in order for users to be able to query the node for those anchors
- JSON serialization of rational numbers in protocol parameters and governance procedures are encoded without loss of precision
Feature wise, we've added a new protocol parameter that controls the contribution of reference scripts sizes in the transaction fee calculation formula.
Major achievement that is worth announcing is a Haskell package named
cuddle
that we developed over the last few
months. Soon we will be transitioning to specifying CDDL in Haskell for all eras using
that package. It will be used to compile the CDDL specification that developers in the
community rely on so much. There are enormous benefits in using this tool, when compared
to writing CDDL specification manually. Namely it allows us to reduce duplication and
reuse common and unchanged specification from previous eras. It also improves safety and
correctness of our specification and decoders, because it ensures that the specification
is well typed and it uses QuickCheck to generate random data for validating that our
decoders are implemented according to the spec.
Low level summary
Conway
- pull-4031 - Further proposals improvements. Take 2
- pull-3996 - Index aware PlutusPurpose
- pull-3983 - Include reference scripts size in min fee calculation
- pull-4040 - Redeemers serialization fixes
- pull-4033 - Make Conway-specific queries only available in Conway
- pull-4028 - Embed ProposalProcedure in GovActionState
- pull-4056 - Reduce duplication in Conway UTXOW rule
- pull-4055 - Update MinFeeRefScriptCoinsPerByte.
- pull-4053 - Rename committeeQuorum to committeeThreshold
- pull-4058 - Fix
ToJSON
instance ofBoundedRatio
to avoid precision loss - pull-4070 - Rename AsIndex to AsIx
- pull-4065 - Remove
ConwayPool
rule definition
Improvements
- pull-4037 - Add capability to hash
Plutus
scripts directly - pull-4030 - Report Plutus
ScriptHash
upon execution failure
Testing
- pull-3895 - Constrained v2
- pull-3981 - Test proposals rewrite
- pull-4051 - Full support of
random
andquickcheck-transformers
in impTest - pull-4050 - Fixed the "All Tx are valid on traces of length 150" intermittent bug
- pull-4049 - Support for Plutus scripts in ImpTest
- pull-4075 - Discontinue the mingw target in the nix build
- pull-4072 - Fix ouroborus-consensus serialization roundtrip test
- pull-4080 - Test that a resigned CC cannot be reelected without removal
- pull-4083 - Fix flakyness at the cost of turning test on during development
- pull-4084 - Fix intermittent test failures in leader-proportion test
Specification
- pull-4015 - Shelley ledger spec: amend erratum on nonce stabilization window
- pull-4064 - Fix wrong prose for new epoch environment
- pull-4081 - Fix MIR rule using wrong values for treasury and reserves