Skip to content

fix(backend): bump cross-chain finalization wait to 2 minutes#287

Closed
gianalarcon wants to merge 1 commit into
developfrom
fix/cross-chain-finalization-wait-2min
Closed

fix(backend): bump cross-chain finalization wait to 2 minutes#287
gianalarcon wants to merge 1 commit into
developfrom
fix/cross-chain-finalization-wait-2min

Conversation

@gianalarcon

Copy link
Copy Markdown
Contributor

What

Raises CROSS_CHAIN_FINALIZATION_WAIT from 40s → 120s (2 min), applied uniformly to all chains (Base, Horizen, Arbitrum Sepolia).

Why

The zkVerify team confirmed proof aggregation now completes within ~2 minutes across supported networks, including Arbitrum Sepolia (previously slower). The executor waits this duration after a recent aggregation before polling for the cross-chain receipt; 40s was too short for the aggregation-to-finalization window, risking premature/stuck executions. 2 minutes matches the observed aggregation time.

"both issues should have been addressed: arbitrum sepolia aggregation time is down to 2 minutes, and support for Arbitrum One Mainnet has been finalized" — zkVerify team

Changes

  • packages/backend/src/common/constants/timing.tsCROSS_CHAIN_FINALIZATION_WAIT 40_000120_000.
  • packages/backend/src/transaction/transaction-executor.service.ts — log message now derives the duration from the constant (${CROSS_CHAIN_FINALIZATION_WAIT / 1000}s) instead of a hardcoded "40s", so it can't drift.

Notes

Validation

  • No node_modules in this checkout, so local tsc/build not run. Change is a constant value + a log-string interpolation; CI yarn build (lint.yaml) will compile-check.

🤖 Generated with Claude Code

zkVerify confirmed proof aggregation now completes within ~2 minutes
across supported networks (incl. Arbitrum Sepolia). Raise the
post-aggregation finalization wait from 40s to 120s so transactions
wait long enough for cross-chain finalization before the receipt poll,
reducing premature/stuck executions. Applies uniformly to all chains
(Base, Horizen, Arbitrum Sepolia).

Also make the log message derive the duration from the constant so it
can't drift out of sync again.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@gianalarcon

Copy link
Copy Markdown
Contributor Author

Closing — this change should land via the Arbitrum work on feat/arbitrum-support (#282), which already sets CROSS_CHAIN_FINALIZATION_WAIT to 2 minutes. Consolidating there instead of a standalone PR.

@gianalarcon gianalarcon closed this Jun 8, 2026
@gianalarcon gianalarcon deleted the fix/cross-chain-finalization-wait-2min branch June 8, 2026 09:32
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