ethereum-optimism / ethereum-optimism/optimism

rust: decouple reth and rollup-boost from crates.io op-alloy-rpc-types-engine

Open
#18,996 0 comments 0 reactions 0 assignees Claimed by @theochap View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.