Mithril Team Update
High level overview
The Mithril team completed decentralizing the signature orchestration of the Mithril network. They also completed refactoring the Prometheus metrics in the signer and started implementing them in the aggregator. Additionally, the team kept working on supporting the new Pythagoras Mithril era and created the new distribution pre-release 2442.0-pre.
Finally, they kept implementing optimizations on the node logs and enhanced the release creation workflow in the CI.
Low level overview
- Completed the issue Aggregator uses stored signing configurations when creating signed entity type #1961
- Completed the issue Make Cardano transactions stable in client #1952
- Completed the issue Remove chain calls from
register-signer
route #1982 - Completed the issue Aggregator panics when handling discrepancies at startup in CI #1983
- Completed the issue Use a new GitHub Action for creating releases #1691
- Completed the issue Refactor Prometheus metrics for signer #1990
- Worked on the issue Release
2442
distribution #1943 - Worked on the issue Prepare new
Pythagoras
Mithril era #1946 - Worked on the issue Enhance readability of node logs #1981
- Worked on the issue Expose Prometheus metrics for aggregator #1980
Node API & CLI Team Update
2024-10-02T00:00:00Z - 2024-10-16T00:00:00Z
High level summary
- More anchor data hash checks were added to cardano-cli commands.
- Support to create certificates that can register and delegate stake.
- Moved various era agnostic commands to the top level of cardano-cli.
- Added Cardano.Api.Tx.Compatible to cardano-api which allows the creation of simple unbalanced transactions that can submit protocol updates in any era.
cardano-cli
- Add hash checks for
drep registration-certificate
anddrep update-certificate
- Add metadata validation, hash checking, and URL support to
stake-pool registration-certificate
, and hash checking and URL support tostake-pool metadata-hash
- Add url support to metadata hash cmd
- Add support for certificates to register and delegate stake simultaneously
- Hide free instances of
HashCheckParamInfo
into functions - Move address commands to top level
- Move key commands to top level
- Move node commands to top level
- Remove unnecessary era parameters and use ShelleyBasedEra era
cardano-api
- Add Cardano.Api.Tx.Compatible
- Add voting to simple tx interface
- Export GenesisHashByron
- Expose AnyVote
- Expose functions and types from
cardano-ledger-alonzo
andcardano-ledger-byron
required by cardano-cli - Handle plutus related ledger events in Conway
- Make
Some
accept forall k. instead of Type kind - Release 9.4.0.0
cardano-node
cardano-testnet
- cardano-testnet | configurable SPO and relays count, enable parallel execution of the test suite
- cardano-testnet | Reenable chairman test
- cardano-testnet | Remove
NodeRuntime
type - cardano-testnet: don't specify delegated supply anymore. Use create-testnet-data default behavior
- cardano-testnet: remove unused ForkPoint datatype
docs
CI & project maintenance
Network Team Update
Overview of sprint 72
cardano-node
release: 10.0
We have been working on the cardano-node-10.0
release.
Tx-Submission
We have been running an experimental build of cardano-node
with new
tx-sumbission
logic ouroboros-network#3311. Some performance bottlenecks have been found by Karl
Knutsson (CF), but not deadlocks or race conditions.
- Send TraceTxSubmissionProcessed for the new TX submission
- Let the thread which fetched a TX add it to the mempool
Preparations for removal of Non-P2P network code
In order to prepare for removal of the network stack we addressed two issues:
- expose
Mux
API fornode-to-client
s, so that they have more control over how mini-protocols are running (e.g. implement ones own mini-protocol restart policy) ouroboros-network#3231, ouroboros-network#4979 - reimplement
cardano-client
without using non-p2p network code (e.g. the subscribtion worker), ouroboros-network#4979
On the way we also addressed a few technical debt items:
- removed
Network.Mux.Compat
interface: ouroboros-network#4974 - Clean-up Network.Mux.Channel
- Add bearer name
Documentation
We updated the documentation of the peer-sharing mini-protocol: ouroboros-network#4981, ouroboros-network#4983.
We updated the SECURITY.md
file according to the IntersectMBO's
Open-Source Committee guidance, ouroboros-network#4986.
io-sim
- Distinct TVarIds for various TVar roles
- Reviewed PRs contributed by Javier Sagredo (IOG, Consensus Team):
Ledger Team Update
High level summary
We implemented the remaining improvements and fixes discovered in Conway, to be fixed during the bootstrap period:
* protection against deposit loses
* ensuring that DReps exist before delegating
* updates to SPO vote threshold calculation
* improved well-formedness check
Additionally, we added two new rules: Mempool and HardFork, that will allow us to flexibly add processing logic in the future. We also dropped pointers for Conway and enhanced predicate failure reporting for pre-Conway eras.
Finally, we added more tests - both unit and conformance tests.
Low level summary
- pull-4647 - Drop pointers from UMap in Conway
- pull-4642 - Mempool rule
- pull-4553 - Address issues in auto-generated CDDL specification
- pull-4650 - Check
ppuCoinsPerUTxOBytes
well-formedness - pull-4648 - Updated conformance to work with new MAlonzo types
- pull-4653 - Improve color output in Imp spec
- pull-4603 - Add more tests for voting behaviour
- pull-4639 - Prevent non-registered return accounts for proposals' deposits and
TreasuryWithdrawals
- pull-4632 - Export Unsafe constructors for
TxBody
,TxBodyRaw
andMemoBytes
- pull-4654 - Add
applyTxOpts
toApplyTx
- pull-4657 - HardFork rule
- pull-4659 - Change how SPO votes are counted
- pull-4660 - UTXO conformance with Babbage transactions
- pull-4652 - Ensure dreps exist prior to delegation
- pull-4649 - Mismatch type for predicate failures
- pull-4676 -
constrained-generators
:(++.)
andsingleton_
for lists - pull-4679 - Fixes for release