Files
proxmox/docs/03-deployment/MAINNET_WETH_RELAY_BACKLOG_POLICY.md
defiQUG 0d29343941 chore: update .env.master.example with new deployment scripts and treasury manager parameters; enhance AGENTS.md with GRU reference primacy details
- Added new deployment script references for Aave quote-push and treasury manager in .env.master.example.
- Updated AGENTS.md to include information on GRU reference primacy versus public PMM mesh execution model.
- Minor updates to various documentation files to reflect changes in policy and operational guidelines.

Made-with: Cursor
2026-04-12 18:20:41 -07:00

2.1 KiB

Mainnet WETH Relay Backlog Policy

This note documents the intentional backlog policy for the mainnet-weth relay worker.

Current policy

  • The worker runs in forward-only mode with START_BLOCK=latest.
  • Historical oversized WETH release messages that are not meant to be replayed on every restart are explicitly parked in RELAY_SKIP_MESSAGE_IDS.
  • The worker remains operational with:
    • RELAY_SHEDDING=0
    • RELAY_DELIVERY_ENABLED=1
    • RELAY_ENFORCE_BRIDGE_TOKEN_BALANCE=1

Why this exists

The Chain 138 -> Ethereum Mainnet WETH lane had accumulated historical source messages whose release amounts were larger than the current Mainnet relay bridge float. Replaying them on every service restart created stale queue debt and made lane health depend on old backlog instead of current forward traffic.

Parking those known historical message IDs is safer than repeatedly replaying them when:

  • there is no active intent to fund and deliver those exact historical releases now
  • there is no source-side cancel path
  • the goal is to keep the worker truthful for current traffic

What stays live

  • New source MessageSent events are still monitored.
  • Current forward traffic still relays normally.
  • Underfunded new releases are deferred by the bridge-inventory guard instead of spending gas on a reverting destination transaction.

Operational rule

If you deliberately want to replay a parked historical WETH release later, do all of the following in one planned operator pass:

  1. Remove only the specific message ID from RELAY_SKIP_MESSAGE_IDS.
  2. Set an explicit replay START_BLOCK that includes the source message.
  3. Restart only ccip-relay.
  4. Restore START_BLOCK=latest after the replay window is complete.

Known historical WETH backlog posture

The current parked IDs live in:

Treat that env list as the enforced machine-readable source, and this document as the human policy reference explaining why those IDs are intentionally skipped.