Skip to main content

· 2 min read
Alexey Kuleshevich

High level summary

Major milestone was reached this period. We've implemented CIP-0069 that improves PlutusV3 functionality by making spending datums optional and enforcing all scripts to have exactly one argument. This feature allows for spending scripts to be usable for other purposes, like minting for example.

Couple of important bugs have been fixed:

  • Script execution for certificates with the same plutus script did not execute correctly.
  • Prevent delegation to a non-existent pool.

With this feature complete and a few bug fixes we were also able to mark Conway era and CIP-1694 as feature complete and ready for release. Naturally, testing of Conway era will continue all the way into the hard fork.

Low level summary

Conway

  • pull-4374 - CIP-0069
  • pull-4394 - Fix Certifying Redeemer issue
  • pull-4400 - Check that the pool being delegated to exists for ConwayDelegCert
  • pull-4409 - Update to plutus-ledger-api-1.30

Testing

  • pull-4384 - Re-enabled Full NewEpochstate test
  • pull-4397 - Add a lens to HasSubState
  • pull-4399 - New simple examples for maps
  • pull-4403 - constrained-generators: Add lookup_ for maps
  • pull-4414 - constrained-generators: Hotfix failing test
  • pull-4411 - constrained-generators: introduce a hook for naming variables

Infrastructure and releasing

  • pull-4424 - GHA: Downgrade the version of actions/upload-artifact
  • pull-4426 - Take care of all compiler warnings for GHC-9.8
  • pull-4407 - Change the default ghc version to 9.6.5
  • pull-4416 - Bump urllib3 from 1.26.18 to 1.26.19 in /doc

· 2 min read
Jean-Philippe Raynaud

High level overview

This week, the Mithril team continued implementing the certification of Cardano transactions in Mithril networks. They implemented a warmup strategy for the signer and aggregator to begin importing transactions as early as possible, thus minimizing the impact of network activation on certification. They also significantly improved the throughput of the prover route of the aggregator by addressing database access bottlenecks. Additionally, the team made progress on low-latency certification by completing the handling of chain rollbacks and nearly completing the retrieval of transactions using the chain sync mini-protocol and Pallas.

Finally, they made final modifications to the threat modeling explainer for the documentation website, which will be released shortly, and worked on a bug that occurs when parsing some blocks of the SanchoNet network.

Low level overview

  • Completed the issue Handle rollbacks in Cardano transactions #1724
  • Completed the issue Pooled resources should be reset when given back #1743
  • Completed the issue Lock signature of signed entity types during warm-up #1693
  • Completed the issue Warmup import Cardano transactions at node startup #1692
  • Completed the issue Build, test and package arm64 binaries in CI #1751
  • Worked on the issue Threat modeling and risk analysis #1350
  • Worked on the issue Import Cardano transactions with ChainReader #1705
  • Worked on the issue Import Cardano transactions by sequences of block ranges #1766
  • Worked on the issue Implement database connection pooling for Cardano transaction repository #1760
  • Worked on the issue Cardano signatures are not produced on testing-sanchonet #1750

· 2 min read
Jean-Philippe Raynaud

High level overview

This week, the Mithril team released the new distribution 2423.0, which includes the removal of the snaphot command of the client CLI, as well as bug fixes and optimizations. They also continued implementing the certification of Cardano transactions in Mithril networks and improved the throughput of the prover route of the aggregator by fixing some bottlenecks in the Merkle proof computation. Additionally, the team made progress on low-latency certification by working on the retrieval of the transactions with the chain sync mini-protocol and Pallas, as well as the handling of rollbacks of the chain.

Finally, they kept working on the threat modeling explainer for the documentation website and provided support for multiple TLS implementations in the client library thanks to a community contribution.

Low level overview

  • Released the new distribution 2423.0
  • Publication of a dev blog post about the removed Mithril client CLI 'snapshot' command
  • Completed the issue Client verification fails with an already stored but non certified yet transaction #1719
  • Completed the issue Computation of Merkle proof has bottleneck with multiple transactions #1730
  • Completed the issue Automatic rollback on SQL transactions #1741
  • Completed the issue Allow the underlying TLS implementation to be selectable when using a library. #1737
  • Completed the issue Release 2423 distribution #1695
  • Completed the issue Mithril Signer Local Error Policy : Error 182 - MuxError #1632
  • Worked on the issue Handle rollbacks in Cardano transactions #1724
  • Worked on the issue Pooled resources should be reset when given back #1743
  • Worked on the issue Threat modeling and risk analysis #1350
  • Worked on the issue Import Cardano transactions with ChainReader #1705

· One min read
Daniel Firth

High-level Summary

This sprint, the Hydra team updated the node to be compatible with cardano-node 8.11-pre. We continued work on increment decommits, investigating adversarial attacks on the smart contract and preparing it to be merged. We also discussed options for the incremental commit work, including designs for a hydra-ledger.

Next sprint we aim to merge incremental decommits and make further progress on the incremental commit design.

What did the team achieve this sprint?

  • Update to cardano-node 8.11-pre #1439
  • Allow committing internal wallet utxos #1442
  • Rewrite introduction section and fknown issues section. #1451
  • Make specification editing in markdown possible #1187
  • Fix ignored hydra-plutus tests #1458
  • Re-open internal head with blueprint commits.

What are the goals of the next sprint?

  • Incremental decommit #1057
  • Make progress on the design for incremental commit #199
  • Test combinations of decrement/close/fanout #1390

· 3 min read
Alexey Kuleshevich

High level summary

This time around we continued on testing the Conway era and improving our conformance tests. Thanks to this extensive testing we found and fixed a few more bugs in the Conway implementation. We fixed bugs related to DRep expiry and the choice of correct threshold for the committee voting. One important feature that was implemented is ignoring the minimun committee size during the bootstrap phase, in order to avoid a deadlock situation in case that enough committeee members were to resign. We've also improved the correctness of our CDDL specification and improved the safety by restricting some of the types of protocol parameters.

Low level summary

Conway

  • pull-4350 - Add identity instance for Inject
  • pull-4361 - Fixed a bug in RATIFY
  • pull-4358 - DRep expiry update with number of dormant epochs
  • pull-4365 - Create pool stake distribution query for voting
  • pull-4376 - Ignore ppCommitteeMinSize during bootstrap
  • pull-4364 - DRep state query and related tests
  • pull-4357 - Specify numeric ranges explicitly in conway cddl files

Testing and formal spec

  • pull-4339 - constrained-generators: introduce tools for controlling test case distribution
  • pull-4348 - Conformance: GOVCERT
  • pull-4213 - Utxow Predicate failure tests
  • pull-4351 - Enable retrying flaky tests in nightly CI
  • pull-4345 - constrained-generators: Add explanation :: [String] -> Pred fn -> Pred fn
  • pull-4362 - Threshold translation in conformance testing
  • pull-4369 - constrained-generators: Add flip_ to avoid having to add new native functions
  • pull-4377 - constrained-generators: propagate information backwards in the solver
  • pull-4389 - Fixed issue #4340. Problem with futurePParams not adequate in Conway.
  • pull-4378 - Conformance: POOL
  • pull-4388 - Improved the translation of PParamUpdate in conformance
  • pull-4355 - Fix order of arguments to verifyVrf

Infrastructure and releasing

  • pull-4352 - Remove dependency on deprecated ansi-wl-print package
  • pull-4344 - constrained-generators: identify and fix an issue with big bodies to ifElse
  • pull-4338 - Add conformance testing for ENACT
  • pull-4354 - Added conformance test for DELEG
  • pull-4367 - Fixed 8.10 not building
  • pull-4368 - Ensure GitHub CI fails when tests are skipped due to a build failure
  • pull-4373 - Add -rtsopts to all test suites