Skip to main content

· One min read
Damian Nadales

High-level summary

  • Added support for late input block inclusion in the Haskell implementation of the Leios simulator (#413).
  • Held the Consensus Working Group call (recording), where we discussed the tie-breaker change proposed in #1548. A request for comments has been submitted to the Technical Steering Committee.
  • Released cuddle on Hackage.
  • Optimized handle usage in the on-disk backend of UTxO-HD (#1563) and exposed a configuration option for setting the maximum number of open handles (#6256).
  • Incorporated further improvements to resource management in UTxO-HD (#1564).
  • Implemented a new query to retrieve the maximum major protocol version supported by the code (#1562).
  • Introduced new versions of GetPoolDistr and GetStakeDistribution queries, now returning additional information (#1540).

· 2 min read
Jean-Philippe Raynaud

High level overview

This week, the Mithril team focused on implementing the publisher and consumer for the DMQ network using the n2c local message submission and n2c local message notification mini-protocols from the Pallas library. The team also focused on stabilizing the Cardano database v2 backend within the Mithril client CLI and library. Additionally, they initiated the implementation of certificate chain synchronization in the follower aggregator and successfully completed refactoring the mithril-common crate.

Finally, they started upgrading the repository to Rust 2024 edition and continued refactoring the STM cryptographic library.

Low level overview

  • Completed the issue Enhance ledger state snapshot converter command in client CLI #2571
  • Completed the issue Split Docker client download and snapshot convert in manual client test in CI #2578
  • Completed the issue Client WASM npm package publication fails on versions discrepancy #2585
  • Completed the issue Split mithril-common crate - Phase 2 #2392
  • Completed the issue Re-organize STM library structure #2369
  • Completed the issue Split Docker client download and snapshot convert in manual client test in CI #2578
  • Completed the issue Ensure Cargo.lock file is updated in the CI #2549
  • Completed the issue Reactivate v2 version of action-gh-release GitHub in the CI #2581
  • Worked on the issue Implement a publisher with the n2c Local Message Submission mini-protocol with Pallas #2539
  • Worked on the issue Implement a consumer with the n2c Local Message Notification mini-protocol with Pallas #2540
  • Worked on the issue Upgrade to Rust 2024 edition #2582
  • Worked on the issue Stabilize Cardano DB v2 client CLI/library - Phase 2 #2577
  • Worked on the issue Synchronize certificate chain of follower aggregator #2534
  • Worked on the issue Enhance STM library readability #2568

· One min read
Marcin Szamotulski

Overview of sprints 89, 90

We released the ouroboros-network-0.21.2.0 version, which was adopted by cardano-node-10.5.

We created integration branches for ouroboros-network:cardano-diffusion with ouroboros-consensus, ekg-forward and cardano-node repositories (all called coot/cardano-diffusion-integration. We merged cardano-diffusion: integration changes to ouroboros-network.

After the release of QuickCheck-2.16, which includes one of our contributions (Added Every and Some monoid, we removed dependency on quickcheck-monoids and deprecated its API, #5142.

We merged the following pull requests:

We also worked on improving our CI (Hydra) experience. In the short term, we decided not to run computationally expensive simulations on {aarch64,x86_64}-darwin architectures. These simulations are platform independent, and they quite often timed out due to not enough CPU bandwidth, see #5145

Detailed overview

For a more detailed overview, please take a look at the sprint boards:

· 3 min read
Alexey Kuleshevich

High level summary

Unfortunately, due to the ZuriHac conference, we ended up skipping the Ledger update for the last period, therefore this update contains our accomplishments over the period of four weeks.

Extensive investigation into current CDDL specification and efforts of improving our testing tools lead to discovery and fixes of numerous bugs in CDDL specification dating back all the way to the Byron era. We have also improved readability of Ledger CDDL specification through enhancements to our CDDL generation tool. We have further tackled a whole bunch of tech debt and introduced performance improvements. Thanks to dropping support for ghc-8.10 we were able to add some safety improvements as well, that utilize features of the newer compiler.

Besides improvements to the existing code we have started preparation for an upcoming intra-era hard fork, which is planned to happen some time later this year and the new Dijkstra era that will happen no earlier than next year. We have fixed one more bug in preparation for the intra-era hardfork and started preliminary work for Nested Transactions.

Low level summary

Features

  • PR-4996 - CDDL improvements
  • PR-5073 - CDDL fixes
  • PR-5056 - Reinstate Annotator instances to main libs
  • PR-5079 - Fix RequiresNetworkMagic encoding
  • PR-5038 - Remove MemoBytes from ShelleyTx
  • PR-5085 - Also make Conway's pool metadata_hash be just bytes
  • PR-5090 - Renamed AlonzoTx fields
  • PR-5086 - Protocol version upper bound correction
  • PR-5080 - Remove MissingRequiredSigners
  • PR-5089 - Move era definitions to core:internal
  • PR-5030 - Added Dijkstra era
  • PR-5100 - Untaint era definitions, while preserving the safety warning.
  • PR-5109 - Add PParamUpdate minPoolCost to Shelley/Allegra/Mary CDDL
  • PR-5106 - Introduce KeyValuePairs for easier ToJSON deriving
  • PR-5104 - Dijkstra Era Transition functionality
  • PR-5099 - Fix COMPLETE pragmas for TxCert and NativeScript
  • PR-5116 - Simplify ToJSON instance for TransitionConfig
  • PR-5091 - Move unelected CC votes check to GOV
  • PR-5127 - Pure version of plutusDebug
  • PR-5122 - Memoize block body hash computation
  • PR-5125 - Faster upgradeTxOut for alonzo, babbage and conway

Testing

  • PR-4966 - Remove Pretty from cardano-ledger-test
  • PR-5061 - constrained-generators: Simplify HasSpec instance for Bool and move more things to NumSpec
  • PR-5083 - Remove old version of constrained generators
  • PR-5082 - Add doctests to CI
  • PR-5078 - Fix typos, formatting, and broken references in the shelley-ma formal spec PDF
  • PR-5102 - Add an imp test for checking deposit collection and refunds
  • PR-5118 - Fix stake comparison test
  • PR-5088 - Move upgrade functions for tx, body, auxData and wits to testlib
  • PR-5117 - constrained-generators: Separate generation and internal testing out of common modules

Infrastructure and releasing

  • PR-5074 - Bump .git-blame-ignore-revs
  • PR-5081 - Add script for setting up direnv
  • PR-5092 - Fix hackage nix in flake
  • PR-5110 - Upgrade deprecated Sphinx config option in doc/
  • PR-5107 - doctest in nix develop
  • PR-5112 - Remove ghcid related files
  • PR-5114 - cabal.project: Update index-states and drop un-needed SRPs
  • PR-5113 - Bump requests from 2.32.3 to 2.32.4 in /doc

· 2 min read
Jean-Philippe Raynaud

High level overview

This week, the Mithril team released the 2524.0 distribution. This version supports Cardano node v.10.4.1 and introduces a new Mithril client CLI command for converting UTXO-HD ledger state snapshots. It also includes various bug fixes and improvements.

The team completed the first phase of the switch to binary encodings and continued working on the second phase of the standard library refactoring. They also implemented a new command in the client CLI to verify an existing Cardano database using Mithril. Additionally, they worked on implementing the publisher and consumer for the DMQ network, using the n2c local message submission and n2c local message notification mini-protocols from the Pallas library.

Finally, they enhanced the ledger state snapshot converter in the client CLI and continued refactoring the STM cryptographic library.

Low level overview

  • Released the new distribution 2524.0
  • Published a dev blog post about the Switch to Cardano database incremental certification
  • Published a dev blog post about the UTxO-HD ledger state snapshot converter in the client CLI
  • Published a dev blog post about the Distribution 2424 availability
  • Completed the issue Release 2524 distribution #2488
  • Completed the issue Switch messages encoding to binary hex #2536
  • Completed the issue Loose enforcement of OpenAPI compatibility #2535
  • Completed the issue Verify an existing Cardano database with client CLI #2537
  • Worked on the issue Implement a publisher with the n2c Local Message Submission mini-protocol with Pallas #2539
  • Worked on the issue Implement a consumer with the n2c Local Message Notification mini-protocol with Pallas #2540
  • Worked on the issue Split mithril-common crate - Phase 2 #2392
  • Worked on the issue Split Docker client download and snapshot convert in manual client test in CI #2578
  • Worked on the issue Enhance ledger state snapshot converter command in client CLI #2571
  • Worked on the issue Re-organize STM library structure #2369