- 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
53 lines
2.1 KiB
Markdown
53 lines
2.1 KiB
Markdown
# 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:
|
|
|
|
- [`smom-dbis-138/services/relay/.env.mainnet-weth`](/home/intlc/projects/proxmox/smom-dbis-138/services/relay/.env.mainnet-weth)
|
|
|
|
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.
|