IntersectMBO / IntersectMBO/mithril
Update `ed25519-dalek` dependency
- 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
Assessment
This issue has not been assessed yet.