Skip to main content

· 2 min read
Carlos LopezDeLara

· 3 min read
Alexey Kuleshevich

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 of BoundedRatio 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 and quickcheck-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

Releasing

· 2 min read
Jean-Philippe Raynaud

High level overview

This week, the Mithril team kept implementing a new data type for certifying Cardano transactions within Mithril networks. They completed the upgrade of the client library and the CLI to support the verification of Cardano transactions. They also released the new Mithril network running on SanchoNet. Additionally, the team rolled out a new feature of the Pallas chain observer (that now supports the retrieval of Mithril era markers), and kept investigating some flakiness occurring in the CI end-to-end tests.

Finally, the team kept working on the threat modeling and risk analysis for the Mithril network and updated the Mithril network architecture documentation.

Low level overview

  • Published a development blog post Mithril SanchoNet network released
  • Completed the issue Implement transactions verification in client library #1468
  • Completed the issue Implement Cardano Transactions commands in the client binary #1469
  • Completed the issue Create a test network on SanchoNet #1173
  • Completed the issue Update Mithril network architecture documentation #1488
  • Completed the issue Upgrade http dependency #1474
  • Completed the issue Extract database feature from common crate #1492
  • Worked on the issue P2P threat modeling and risk analysis #1350
  • Worked on the issue Enhance Mithril/Cardano node communication #1315
  • Worked on the issue Some end to end tests are flaky in the CI #1147
  • Worked on the issue Add an example crate for the CardanoTransactions type #1495
  • Worked on the issue Generate automatic documentation for CLIs #1471

· One min read
Daniel Firth

High-level Summary

This week, the Hydra team worked on forward compatibility for Conway support, deployed the hydra explorer tool, and improved the model based testing to support more actions (Fanout and Rollbacks).

What did the team achieve this week

  • Addressed flakyness in two types of integration tests
  • Fixed our tooling (HLS 2.6 on GHC 9.6.4)
  • Fixed configuration of running head in preview
  • Added Fanout and Rollbacks to our Model basd test suite #1296
  • Deployed the hydra explorer to http://explorer.hydra.family:9090/heads (url will change a bit more)
  • Updated smoke test to run sanchonet

What are the goals of next week

  • Fix the fanout after contest bug
  • Specify the on-chain validators for incremental decommits
  • Complete smoke tests on sanchonet

· One min read
Damian Nadales

High level summary

This week we managed to integrate in the node the Consensus version of the UTxO-HD prototype that features the second version of the Ledger DB API. We also changed the epoch structure for Conway, made progress towards the Bootstrap State Machine and Peras planning. On the support front, we are investigating the impact of snapshots on missed leadership checks.