Skip to content

feat(fault-proof): make proposer tx confirmation timeout configurable#137

Merged
seolaoh merged 1 commit into
developfrom
seolaoh/increase-timeout
Apr 13, 2026
Merged

feat(fault-proof): make proposer tx confirmation timeout configurable#137
seolaoh merged 1 commit into
developfrom
seolaoh/increase-timeout

Conversation

@seolaoh
Copy link
Copy Markdown
Collaborator

@seolaoh seolaoh commented Apr 9, 2026

The signer's hardcoded TIMEOUT_SECONDS=60 is too tight for 3 L1 confirmations on Ethereum mainnet (~36s of pure block time leaves only ~24s for mempool inclusion). Under any congestion the watcher gives up while the tx is still in flight, returns an error, and the proposer immediately retries - racing the original tx and producing duplicate sibling games when the original eventually lands.

To prevent this, add tx_confirmation_timeout (env: TX_CONFIRMATION_TIMEOUT) to ProposerConfig with a default of 180s, plumb a new send_transaction_request_with_timeout through the signer, and use it for all four proposer L1 tx paths (creation, proving, resolution, bond claim). Challenger and validity proposer continue to use the existing 60s default via the unchanged send_transaction_request wrapper.

Upstream PR is also opened, but want to merge it until the upstream changes are pulled in.

The signer's hardcoded TIMEOUT_SECONDS=60 is too tight for 3 L1
confirmations on Ethereum mainnet (~36s of pure block time leaves
only ~24s for mempool inclusion). Under any congestion the watcher
gives up while the tx is still in flight, returns an error, and the
proposer immediately retries - racing the original tx and producing
duplicate sibling games when the original eventually lands.

Add `tx_confirmation_timeout` (env: TX_CONFIRMATION_TIMEOUT) to
ProposerConfig with a default of 180s, plumb a new
`send_transaction_request_with_timeout` through the signer, and use
it for all four proposer L1 tx paths (creation, proving, resolution,
bond claim). Challenger and validity proposer continue to use the
existing 60s default via the unchanged `send_transaction_request`
wrapper.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@seolaoh seolaoh force-pushed the seolaoh/increase-timeout branch from 4c074b7 to 6899941 Compare April 9, 2026 14:30
@seolaoh seolaoh marked this pull request as ready for review April 13, 2026 12:57
@seolaoh seolaoh merged commit bc44784 into develop Apr 13, 2026
13 checks passed
@seolaoh seolaoh deleted the seolaoh/increase-timeout branch April 13, 2026 12:59
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.

2 participants