OpenZeppelin / OpenZeppelin/openzeppelin-relayer
EVM status-check poll cadence is not env-configurable
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 150
- Forks
- 72
- Avg merge
- 8d 9h
- Merged PRs (30d)
- 2
Description
Describe the feature
Stellar's status poll cadence became env-configurable in #846. The EVM equivalent is still compiled in:
EVM_STATUS_CHECK_INITIAL_DELAY_SECONDS = 8—src/constants/evm_transaction.rsSTATUS_EVM_BACKOFF= 8000ms initial / 12000ms max —src/queues/retry_config.rs
So the first status check lands 8s after submission no matter how fast the chain is, and a missed first check waits another 8–12s. retry_config.rs asserts the ladder directly:
status_check_retry_delay_secs(Some(NetworkType::Evm), 0) == 8
status_check_retry_delay_secs(Some(NetworkType::Evm), 1) == 12
On a chain with sub-second blocks and required_confirmations: 1, that 8s is a floor on how quickly a transaction can be reported confirmed — it has been on-chain for ~7s by the time the first check runs. A client polling the status endpoint sees a p50 that tracks the constant rather than the chain, and there's no way to tune it without forking.
Additional context
Happy to open a PR mirroring #846 for EVM — same three knobs, same 0-60 / 500-60000 validation, defaults unchanged so existing deployments are unaffected.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the Stellar implementation in #846 with src/constants/evm_transaction.rs and src/queues/retry_config.rs. Trace the existing EVM delay constants and retry assertions, then mirror the three configurable knobs with the stated 0-60 and 500-60000 validation. Done means the defaults remain unchanged and the EVM retry-delay tests cover the configurable values.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- blockchain
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100