Skip to content

fix/nitro worker output root rpc - #978

Open
0xOsiris wants to merge 5 commits into
chore/pin-nitro-enclave-imagefrom
fix/nitro-worker-output-root-rpc
Open

fix/nitro worker output root rpc#978
0xOsiris wants to merge 5 commits into
chore/pin-nitro-enclave-imagefrom
fix/nitro-worker-output-root-rpc

Conversation

@0xOsiris

@0xOsiris 0xOsiris commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Stack created with GitHub Stacks CLIGive Feedback 💬


Note

Medium Risk
Misconfigured L2 consensus URLs could break witness/output-root collection; new L1 RPC timeouts may surface failures on slow providers that previously hung silently.

Overview
Witness building no longer uses the L2 execution RPC for optimism_outputAtBlock when eth_getProof fails. OnlineHostConfig gains optional l2_consensus_rpc; Nitro/SP1 workers and the prover CLI expose --l2-consensus-rpc / L2_CONSENSUS_RPC_URL, and missing consensus RPC now fails with an explicit error instead of calling the wrong endpoint.

metered_http_client takes a per-request request_timeout (default 10s via DEFAULT_RPC_REQUEST_TIMEOUT_SECONDS). Challenger, defender, and proposer add L1_RPC_TIMEOUT_SECONDS so hung L1 connections cannot block poll loops indefinitely.

Devnet SP1 worker passes None for consensus RPC because local reth serves eth_getProof directly.

Reviewed by Cursor Bugbot for commit cc17e5d. Configure here.

0xOsiris and others added 2 commits August 4, 2026 14:28
* fix: add request timeout to clients

* fix: make rpc timeout configurable
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit cc17e5d. Configure here.

l1_beacon_rpc,
l2_rpc,
// No op-node in this fixture; the eth_getProof path is expected to succeed.
None,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

E2E skips available consensus RPC

Medium Severity

The e2e host config passes None for l2_consensus_rpc with a comment claiming there is no op-node, but this test already requires ROLLUP_RPC_URL as the op-node for output roots. That leaves the new eth_getProof fallback unwired, so any eth_getProof failure fails the run even though a consensus endpoint is available.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit cc17e5d. Configure here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

1 participant