Files
proxmox/docs/03-deployment/PROMOD_UNISWAP_V2_PROMOTION_GATES.md
defiQUG 4fab998e51
All checks were successful
Deploy to Phoenix / deploy (push) Successful in 9s
chore: sync workspace docs, configs, and submodules
2026-04-18 12:07:15 -07:00

35 lines
3.5 KiB
Markdown

# Mr. Promod Uniswap V2 Promotion Gates
- Generated: `2026-04-18T02:19:49Z`
- Purpose: exact per-chain env vars and registry records required before the first live Uniswap V2 pool can be promoted.
- Mainnet funding posture: `triple-rail-support` via `cWUSDC, cWUSDT, cWAUSDT`
- Chains in scope: `10`
- Currently blocked: `6`
## Global Rule
- Promotion requires all of the following on the target chain: Uniswap V2 factory/router/start-block env set, indexer code support present, a live pair discoverable on-chain, and the pool address recorded in `deployment-status.json`.
## Operator Table
| Chain | Network | Code Support | Exact Env Vars To Fill | Registry Records To Fill |
|---|---|---|---|---|
| `1` | Ethereum Mainnet | `ready` | `CHAIN_1_UNISWAP_V2_FACTORY`, `CHAIN_1_UNISWAP_V2_ROUTER`, `CHAIN_1_UNISWAP_V2_START_BLOCK` | `chains[1].cwTokens.cWUSDC`, `chains[1].cwTokens.cWUSDT`, `chains[1].anchorAddresses.USDC` |
| `10` | Optimism | `ready` | `CHAIN_10_UNISWAP_V2_FACTORY`, `CHAIN_10_UNISWAP_V2_ROUTER`, `CHAIN_10_UNISWAP_V2_START_BLOCK` | `chains[10].cwTokens.cWUSDC`, `chains[10].cwTokens.cWUSDT`, `chains[10].anchorAddresses.USDC` |
| `25` | Cronos | `ready` | `CHAIN_25_UNISWAP_V2_FACTORY`, `CHAIN_25_UNISWAP_V2_ROUTER`, `CHAIN_25_UNISWAP_V2_START_BLOCK` | `chains[25].cwTokens.cWUSDC`, `chains[25].cwTokens.cWUSDT`, `chains[25].anchorAddresses.USDT` |
| `56` | BSC | `ready` | `CHAIN_56_UNISWAP_V2_FACTORY`, `CHAIN_56_UNISWAP_V2_ROUTER`, `CHAIN_56_UNISWAP_V2_START_BLOCK` | `chains[56].cwTokens.cWAUSDT`, `chains[56].cwTokens.cWUSDC`, `chains[56].cwTokens.cWUSDT` |
| `100` | Gnosis | `ready` | `CHAIN_100_UNISWAP_V2_FACTORY`, `CHAIN_100_UNISWAP_V2_ROUTER`, `CHAIN_100_UNISWAP_V2_START_BLOCK` | `chains[100].cwTokens.cWUSDC`, `chains[100].cwTokens.cWUSDT`, `chains[100].anchorAddresses.USDC` |
| `137` | Polygon | `ready` | `CHAIN_137_UNISWAP_V2_FACTORY`, `CHAIN_137_UNISWAP_V2_ROUTER`, `CHAIN_137_UNISWAP_V2_START_BLOCK` | `chains[137].cwTokens.cWAUSDT`, `chains[137].cwTokens.cWUSDC`, `chains[137].cwTokens.cWUSDT` |
| `8453` | Base | `ready` | `CHAIN_8453_UNISWAP_V2_FACTORY`, `CHAIN_8453_UNISWAP_V2_ROUTER`, `CHAIN_8453_UNISWAP_V2_START_BLOCK` | `chains[8453].cwTokens.cWUSDC`, `chains[8453].cwTokens.cWUSDT`, `chains[8453].anchorAddresses.USDC` |
| `42161` | Arbitrum One | `ready` | `CHAIN_42161_UNISWAP_V2_FACTORY`, `CHAIN_42161_UNISWAP_V2_ROUTER`, `CHAIN_42161_UNISWAP_V2_START_BLOCK` | `chains[42161].cwTokens.cWUSDC`, `chains[42161].cwTokens.cWUSDT`, `chains[42161].anchorAddresses.USDC` |
| `42220` | Celo | `ready` | `CHAIN_42220_UNISWAP_V2_FACTORY`, `CHAIN_42220_UNISWAP_V2_ROUTER`, `CHAIN_42220_UNISWAP_V2_START_BLOCK` | `chains[42220].cwTokens.cWAUSDT`, `chains[42220].cwTokens.cWUSDC`, `chains[42220].cwTokens.cWUSDT` |
| `43114` | Avalanche C-Chain | `ready` | `CHAIN_43114_UNISWAP_V2_FACTORY`, `CHAIN_43114_UNISWAP_V2_ROUTER`, `CHAIN_43114_UNISWAP_V2_START_BLOCK` | `chains[43114].cwTokens.cWAUSDT`, `chains[43114].cwTokens.cWUSDC`, `chains[43114].cwTokens.cWUSDT` |
## First Live Pool Minimum Checklist
1. Add `CHAIN_<id>_UNISWAP_V2_FACTORY`, `CHAIN_<id>_UNISWAP_V2_ROUTER`, and `CHAIN_<id>_UNISWAP_V2_START_BLOCK` for the target chain.
2. Extend token-aggregation code support for that chain if `code_support_status` is `blocked`.
3. Create the pool on-chain and record its `base`, `quote`, and `poolAddress` in `cross-chain-pmm-lps/config/deployment-status.json`.
4. Rebuild live-pair discovery and promotion-gate artifacts so the new pair is visible to operator tooling.
5. Only then promote the pair as live in operator-facing docs or routing artifacts.