forked from paradigmxyz/reth
-
Notifications
You must be signed in to change notification settings - Fork 2
Add new legacy RPCs and fix block hash routing #36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
JimmyShi22
approved these changes
Nov 13, 2025
xzav3r
reviewed
Nov 13, 2025
xzav3r
approved these changes
Nov 14, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds legacy RPC forwarding support for additional methods and improves block hash routing.
Support Legacy RPC List
Base on PR:#6
1. Added Legacy RPC Forwarding
Added legacy RPC forwarding support for the following methods:
eth_transactionPreExec- Transaction pre-execution simulationeth_call- Contract call executioneth_createAccessList- Access list creation (EIP-2930)eth_estimateGas- Gas estimationeth_getInternalTransactions- Get internal transactions by tx hasheth_getBlockInternalTransactions- Get all internal transactions in a blockWhen querying historical data (block number <
cutoff_blockor block hash not found locally), these methods automatically forward requests to the configured legacy RPC endpoint.2. Fixed Block Hash Routing
Improved
should_route_block_id_to_legacy()to correctly handle block hash queries:block_number < cutoff_blockmatch provider.block_number(block_hash) {
Some(_) => query_local(), // Found locally
None => forward_to_legacy(), // Not found, try legacy
}This ensures block hash queries work correctly across the cutoff boundary.