- Submodule pins: dbis_core, cross-chain-pmm-lps, mcp-proxmox (local, push may be pending), metamask-integration, smom-dbis-138 - Atomic swap + cross-chain-pmm-lops-publish, deploy-portal workflow, phoenix deploy-targets, routing/aggregator matrices - Docs, token-lists, forge proxy, phoenix API, runbooks, verify scripts Made-with: Cursor
2.8 KiB
Mainnet cWUSDC/USDC Repeg Runbook
Purpose: Turn the latest read-only preflight into an exact inventory plan for restoring the Mainnet cWUSDC/USDC rail toward 1:1.
Scope: Defended DODO PMM reserve-gap sizing, public Uniswap V2 floor shortfalls, treasury-manager funding needs, and copy-paste operator commands.
Safety: The planner is read-only. It does not broadcast or move funds.
What this planner answers
- How far the defended PMM is from simple
1:1reserve parity - How much USDC is needed to fund one max-sized automated defense cycle
- How far the public pair is below the current policy floor
- Whether the current operator wallet can cover any of those gaps
- Exact commands to fund the manager, top up the defended PMM, and reseed the public pair once inventory exists
Prereqs
- Run the preflight first:
bash scripts/verify/snapshot-mainnet-cwusdc-usdc-preflight.sh
castinstalledpython3installedETHEREUM_MAINNET_RPCavailable- Optional but useful:
PRIVATE_KEYorKEEPER_PRIVATE_KEYso the planner can inspect the current operator wallet
Command
Run from the repo root:
bash scripts/verify/plan-mainnet-cwusdc-usdc-repeg.sh
Artifacts
The wrapper writes:
reports/status/mainnet-cwusdc-usdc-repeg-plan-<UTC timestamp>.jsonreports/status/mainnet-cwusdc-usdc-repeg-plan-latest.json
Key fields to inspect
defendedVenue.simpleReserveParity.addQuoteUnitsautomation.managerFundingForOneMaxCycle.shortfallUnitspublicLane.policyFloorBaseShortfallUnitspublicLane.policyFloorQuoteShortfallUnitsholderStateholderFundingChecksblockersoperatorCommands
Interpretation notes
- The defended-pool
1:1number is an inference from matched 6-decimal tokens and equal reserve targets. - DODO PMM price can still differ from reserve ratio because the PMM curve is not a constant-product pool.
- Re-run the preflight after every liquidity move. Treat the planner as a live calculator, not a one-time document.
Operator sequence once funding exists
-
Fund the treasury manager with at least one max-sized automated tranche. Use
operatorCommands.fundManagerUsdc. -
Sell the planned USDC amount into the defended PMM. Use
operatorCommands.tradeDefendedPoolQuoteIn. -
Reseed the public pair to at least the current policy floor if public routing / discovery should be healthy again. Use
operatorCommands.reseedPublicPair. -
Re-run both read-only checks.
bash scripts/verify/snapshot-mainnet-cwusdc-usdc-preflight.sh
bash scripts/verify/plan-mainnet-cwusdc-usdc-repeg.sh
- Only after the defended lane is re-funded should you consider a managed quote-push cycle.
bash scripts/maintenance/run-mainnet-cwusdc-usdc-support.sh --health-only