IntersectMBO / IntersectMBO/mithril

Update `ed25519-dalek` dependency

Open
#3,471 1 comment 0 reactions 1 assignee Claimed by @damrobi View on GitHub
cryptography :closed_lock_with_key: dependencies :repeat:
Dominant language
Rust
Stars
154
Forks
51
Avg merge
1d 23h
Merged PRs (30d)
38

Description

## Why

The Pogun stack requires `ed25519-dalek` `3.0.0`and the associated bump of the crypto ecosystem crates (`signature` and `ed25519` v3, `rand_core` v0.10, `sha2` and `sha3` v0.11). Mithril still pins `ed25519-dalek` `2.2.0` in `mithril-common`, which keeps the workspace on the previous major of these crates and would result in duplicated crypto dependencies.

## What

Update the `ed25519-dalek` crate to `3.0.0` and align the related crypto dependencies of the workspace.

## How

- [ ] Update `ed25519-dalek` from `2.2.0` to `3.0.0` in `mithril-common` (check if there is specific version to use for Pogun)
- [ ] Align the related workspace dependencies (`rand_core` from `0.6.4` to `0.10`, `sha2` and `digest` to `0.11`)
- [ ] Handle `kes-summed-ed25519` which is pinned on `ed25519-dalek` v2 and `rand_core` v0.5 (upstream update, fork or accept the duplicated dependency)
- [ ] Adapt the code impacted by the breaking changes (removal of the `std` feature, `SignatureAlgorithmIdentifier`, `rand_core` API)
- [ ] Verify that the encoding of the keys and signatures is unchanged (genesis, era markers, operational certificates) with the golden tests
- [ ] Assess the impact on the other crates using the same dependencies (`mithril-stm`, `mithril-signer`, `mithril-cardano-node-chain`, `protocol-demo`)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.