ethereum-optimism / ethereum-optimism/optimism
rust: decouple reth from crates.io op-alloy-consensus
- Dominant language
- Go
- Stars
- 6.5k
- Forks
- 4k
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 145
Description
## Context
The following reth git crates depend on `op-alloy-consensus` from crates.io, which creates a type duplication with the local path version in the optimism monorepo:
- `reth-codecs`
- `reth-db-api`
- `reth-primitives-traits`
- `reth-rpc-convert`
## Resolution
These crates need to use a version of `op-alloy-consensus` that is compatible with the local workspace version, either by:
- Updating reth to a release that re-exports or path-depends on our local `op-alloy-consensus`
- Publishing a new `op-alloy-consensus` to crates.io that matches the local version
---
Once resolved, the `op-alloy-consensus` entry in `[patch.crates-io]` in `rust/Cargo.toml` can be removed.
Contributor guide
Research direction
Start with rust/Cargo.toml and inspect the dependency declarations for reth-codecs, reth-db-api, reth-primitives-traits, and reth-rpc-convert. Determine whether a compatible reth release or a new crates.io op-alloy-consensus version is required. Done means the local [patch.crates-io] entry can be removed without type duplication or dependency-resolution failures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100