Conversation
Pre-L2 eth_getLogs and eth_getBlockReceipts are answered locally and return empty results; the forwarded set is the one in op-reth v2.3.1. Also correct the OP_RETH__SNAPSHOT default and drop the archive-only wording for the Historical RPC Service.
This branch has not been deployed
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
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.
The operator docs say the mainnet snapshot provides the pre-L2 history, and imply that op-reth serves all of it. Neither is true. The snapshot holds only the Celo L1 state at the migration, and op-reth forwards only some pre-L2 requests to the Historical RPC Service, so pre-L2
eth_getLogsquietly returns no logs andeth_getBlockReceiptsreturnsnull. This corrects the snapshot wording, adds a warning to the archive node page that lists what is forwarded and what is not, and fixes the documentedOP_RETH__SNAPSHOTdefault and some archive-only wording that contradicted the new text.The hole, and the fix
run-node.mdx,archive-node.mdx,configuration.mdxandnetwork-config.mdxsaid the mainnet snapshot provides the pre-L2 history.import-celo-statewrites pre-migration headers without bodies or receipts, so the snapshot provides only the L1 state at block 31,056,500.<Warning>under "Configure Historical RPC Service" lists the 17 methods that op-reth v2.3.1 forwards (rust/op-reth/crates/rpc/src/historical.rs), which is the version the celo-reth release line pins. Everything else is answered locally. Foreth_getLogsthat means[]for a pre-L2 range, only the L2 logs for a range across the migration, and "block not found" for a pre-L2blockHash. The filter methods are not forwarded, andeth_getBlockReceiptsreturnsnull.eth_getLogsto the historical node directly, and names op-reth: forward pre-bedrock eth_getLogs to historical endpoint ethereum-optimism/optimism#22663 as the upstream change that forwardingeth_getLogsdepends on.OP_RETH__SNAPSHOTwas documented with defaultfalse. The compose repo shipstrueinmainnet.envandcelo-sepolia.env, and its README callstruethe default. The table and the Sepolia instructions now match.configuration.mdxandmaintenance.mdxdescribed the Historical RPC Service as an archive-node feature. The compose start script passes--rollup.historicalrpcfor anyNODE_TYPE, and op-reth installs the forwarding layer regardless of prune mode.I checked the forwarded list against the code, and the
eth_getLogsandeth_getBlockReceiptsbehaviour against celo-reth backends on forno.celo.org, batching each request withweb3_clientVersionto see which client answered.What this does NOT do / residual risk
eth_getBlockReceipts,eth_getHeaderBy*, and the by-index and count methods to the forwarded set. If it lands in a release, the warning needs an update.mintlify@4.2.920would not install. CI validation is the first render check.<Warning>further downarchive-node.mdxindents its body by 8 spaces and may render as a code block. This PR leaves it alone.Judgement calls
The
OP_RETH__SNAPSHOTdefault and the archive-only wording were wrong before this change. I fixed them because they sit in lines this PR edits and contradicted the new text. Happy to split them out.Issues
Refs celo-org/celo-blockchain-planning#1464
Stacking / conflicts
Branched off main, independent of my other open PRs.