Skip to content

feat(op-reth): register eth_config RPC endpoint#20158

Open
joshklop wants to merge 1 commit intodevelopfrom
joshklop/eth-config
Open

feat(op-reth): register eth_config RPC endpoint#20158
joshklop wants to merge 1 commit intodevelopfrom
joshklop/eth-config

Conversation

@joshklop
Copy link
Copy Markdown
Contributor

Wire EthConfigHandler into OpAddOns so the eth_config method (EIP-7910) is served on the eth namespace. Extend the generic bounds on the NodeAddOns and RethRpcAddOns impls to satisfy EthConfigHandler::new: ChainSpec must also implement Hardforks (OpHardforks only implies EthereumHardforks), and the primitives' header must implement HeaderMut so per-fork configs can be built by cloning and retiming the latest header.

Implement HeaderMut for the custom-node example's CustomHeader so the example keeps compiling.

Add an integration test in crates/node/tests/it/rpc.rs that launches an OpNode against BASE_MAINNET and calls eth_config via the jsonrpsee HTTP client, verifying the endpoint is wired up.

@joshklop joshklop requested a review from a team as a code owner April 19, 2026 19:14
@joshklop joshklop force-pushed the joshklop/eth-config branch from 88fb3eb to 515cf81 Compare April 19, 2026 19:14
@wiz-0f98cca50a
Copy link
Copy Markdown

wiz-0f98cca50a Bot commented Apr 19, 2026

Wiz Scan Summary

Scanner Findings
Vulnerability Finding Vulnerabilities -
Data Finding Sensitive Data -
Secret Finding Secrets -
IaC Misconfiguration IaC Misconfigurations -
SAST Finding SAST Findings -
Software Management Finding Software Management Findings -
Total -

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

@joshklop joshklop linked an issue Apr 19, 2026 that may be closed by this pull request
@joshklop joshklop force-pushed the joshklop/eth-config branch 2 times, most recently from ed74e5f to 8ef1cd9 Compare April 20, 2026 14:40
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 20, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.5%. Comparing base (de1b557) to head (8ef1cd9).
⚠️ Report is 5 commits behind head on develop.

❗ There is a different number of reports uploaded between BASE (de1b557) and HEAD (8ef1cd9). Click for more details.

HEAD has 13 uploads less than BASE
Flag BASE (de1b557) HEAD (8ef1cd9)
cannon-go-tests-64 1 0
contracts-bedrock-tests 12 0
Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #20158      +/-   ##
===========================================
- Coverage     75.8%     0.5%   -75.3%     
===========================================
  Files          183      486     +303     
  Lines        10536    61736   +51200     
===========================================
- Hits          7987      320    -7667     
- Misses        2405    61416   +59011     
+ Partials       144        0     -144     
Flag Coverage Δ
cannon-go-tests-64 ?
contracts-bedrock-tests ?
unit 0.5% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 669 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Wire EthConfigHandler into OpAddOns so the eth_config method
(EIP-7910) is served on the eth namespace. Extend the generic
bounds on the NodeAddOns and RethRpcAddOns impls to satisfy
EthConfigHandler::new: ChainSpec must also implement Hardforks
(OpHardforks only implies EthereumHardforks), and the primitives'
header must implement HeaderMut so per-fork configs can be built
by cloning and retiming the latest header.

Implement HeaderMut for the custom-node example's CustomHeader
so the example keeps compiling.

Add an integration test in crates/node/tests/it/rpc.rs that
launches an OpNode against BASE_MAINNET and calls eth_config via
the jsonrpsee HTTP client, verifying the endpoint is wired up.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@joshklop joshklop force-pushed the joshklop/eth-config branch from 8ef1cd9 to 85c6f19 Compare April 20, 2026 17:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Osaka on L2: add test for EIP 7910 (eth_config endpoint)

1 participant