ethereum-optimism / ethereum-optimism/optimism
rust: decouple reth and rollup-boost from crates.io op-alloy-rpc-types-engine
- Dominant language
- Go
- Stars
- 6.5k
- Forks
- 4k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 134
Description
## Context
The following external crates depend on `op-alloy-rpc-types-engine` from crates.io, which creates a type duplication with the local path version in the optimism monorepo:
- `reth-payload-primitives` (reth git dependency)
- `reth-engine-local` (reth git dependency)
- `rollup-boost` (crates.io)
- `rollup-boost-types` (crates.io)
## Resolution
These crates need to use a version of `op-alloy-rpc-types-engine` 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-rpc-types-engine`
- Publishing a new `op-alloy-rpc-types-engine` to crates.io that matches the local version
- Vendoring `rollup-boost` / `rollup-boost-types` or updating them to a compatible release
---
Once resolved, the `op-alloy-rpc-types-engine` entry in `[patch.crates-io]` in `rust/Cargo.toml` can be removed.
Contributor guide
Research direction
Start in rust/Cargo.toml at the [patch.crates-io] entry for op-alloy-rpc-types-engine, then inspect the listed reth and rollup-boost dependencies and their versions. Determine which compatible release or vendoring approach removes the type duplication; done means the patch entry can be removed without breaking the workspace dependency resolution.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100