Files
proxmox/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_ACTIONS.md

285 lines
15 KiB
Markdown
Raw Normal View History

# Mr. Promod Uniswap V2 Phase 1 Funding Actions
- Generated: `2026-04-17T18:13:05Z`
- Signer: `0x4A666F96fC8764181194447A7dFdb7d471b301C8`
- Purpose: strict per-chain action plan for phase-1 funding and deployment.
| Chain | Network | Action | Tokens Missing | Gas Issue | Recommended Seed |
|---|---|---|---|---|---:|
| `1` | Ethereum Mainnet | `seed_now` | `none` | `false` | `8888511.867466` |
| `10` | Optimism | `mint_destination_then_seed` | `cWUSDT`, `cWUSDC` | `true` | `1000` |
| `25` | Cronos | `mint_destination_then_seed` | `cWUSDT`, `cWUSDC` | `false` | `1000` |
| `56` | BSC | `mint_destination_then_seed` | `cWUSDT`, `cWUSDC` | `false` | `1000` |
| `100` | Gnosis | `mint_destination_then_seed` | `cWUSDT`, `cWUSDC` | `false` | `1000` |
| `137` | Polygon | `seed_now` | `none` | `false` | `996.297636` |
| `8453` | Base | `mint_destination_then_seed` | `cWUSDT`, `cWUSDC` | `true` | `1000` |
| `42161` | Arbitrum One | `mint_destination_then_seed` | `cWUSDT`, `cWUSDC` | `false` | `1000` |
| `42220` | Celo | `mint_destination_then_seed` | `cWUSDT`, `cWUSDC` | `false` | `1000` |
| `43114` | Avalanche | `mint_missing_side_then_seed` | `cWUSDC` | `false` | `0.8` |
## Per-Chain Actions
### Chain `1` — Ethereum Mainnet
- Action: `seed_now`
- Tokens missing: `none`
- Gas issue: `false`
- Gas note: No minimum gas top-up issue from the latest preflight snapshot.
- Bridge possible: `true`
- Bridge note: Bridge path is structurally available for chain `1` via `CW_BRIDGE_MAINNET` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.
Post-funding deploy block:
```bash
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${ETHEREUM_MAINNET_RPC}"
export FACTORY="${CHAIN_1_UNISWAP_V2_FACTORY}"
export ROUTER="${CHAIN_1_UNISWAP_V2_ROUTER}"
export CWUSDT="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE"
export CWUSDC="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a"
export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")"
export AMOUNT_RAW="8888511867466"
export DEADLINE="$(( $(date +%s) + 3600 ))"
PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")"
if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then
cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
fi
cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
cast send "$ROUTER" \
'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \
"$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered
bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh
node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json
```
### Chain `10` — Optimism
- Action: `mint_destination_then_seed`
- Tokens missing: `cWUSDT`, `cWUSDC`
- Gas issue: `true`
- Gas note: Top up native gas on Optimism before minting or seeding; current balance is below the 0.001 safety threshold.
- Bridge possible: `true`
- Bridge note: Bridge path is structurally available for chain `10` via `CW_BRIDGE_OPTIMISM` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.
Mint steps:
- Mint `cWUSDT` `1000` with:
```bash
source smom-dbis-138/scripts/load-env.sh >/dev/null
cast send "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \
--rpc-url "${OPTIMISM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000
```
- Mint `cWUSDC` `1000` with:
```bash
source smom-dbis-138/scripts/load-env.sh >/dev/null
cast send "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \
--rpc-url "${OPTIMISM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000
```
### Chain `25` — Cronos
- Action: `mint_destination_then_seed`
- Tokens missing: `cWUSDT`, `cWUSDC`
- Gas issue: `false`
- Gas note: No minimum gas top-up issue from the latest preflight snapshot.
- Bridge possible: `true`
- Bridge note: Bridge path is structurally available for chain `25` via `CW_BRIDGE_CRONOS` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.
Mint steps:
- Mint `cWUSDT` `1000` with:
```bash
source smom-dbis-138/scripts/load-env.sh >/dev/null
cast send "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \
--rpc-url "${CRONOS_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000
```
- Mint `cWUSDC` `1000` with:
```bash
source smom-dbis-138/scripts/load-env.sh >/dev/null
cast send "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \
--rpc-url "${CRONOS_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000
```
### Chain `56` — BSC
- Action: `mint_destination_then_seed`
- Tokens missing: `cWUSDT`, `cWUSDC`
- Gas issue: `false`
- Gas note: No minimum gas top-up issue from the latest preflight snapshot.
- Bridge possible: `true`
- Bridge note: Bridge path is structurally available for chain `56` via `CW_BRIDGE_BSC` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.
Mint steps:
- Mint `cWUSDT` `1000` with:
```bash
source smom-dbis-138/scripts/load-env.sh >/dev/null
cast send "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \
--rpc-url "${BSC_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000
```
- Mint `cWUSDC` `1000` with:
```bash
source smom-dbis-138/scripts/load-env.sh >/dev/null
cast send "0x5355148C4740fcc3D7a96F05EdD89AB14851206b" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \
--rpc-url "${BSC_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000
```
### Chain `100` — Gnosis
- Action: `mint_destination_then_seed`
- Tokens missing: `cWUSDT`, `cWUSDC`
- Gas issue: `false`
- Gas note: No minimum gas top-up issue from the latest preflight snapshot.
- Bridge possible: `true`
- Bridge note: Bridge path is structurally available for chain `100` via `CW_BRIDGE_GNOSIS` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.
Mint steps:
- Mint `cWUSDT` `1000` with:
```bash
source smom-dbis-138/scripts/load-env.sh >/dev/null
cast send "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \
--rpc-url "${GNOSIS_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000
```
- Mint `cWUSDC` `1000` with:
```bash
source smom-dbis-138/scripts/load-env.sh >/dev/null
cast send "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \
--rpc-url "${GNOSIS_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000
```
### Chain `137` — Polygon
- Action: `seed_now`
- Tokens missing: `none`
- Gas issue: `false`
- Gas note: No minimum gas top-up issue from the latest preflight snapshot.
- Bridge possible: `true`
- Bridge note: Bridge path is structurally available for chain `137` via `CW_BRIDGE_POLYGON` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.
Post-funding deploy block:
```bash
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${POLYGON_MAINNET_RPC}"
export FACTORY="${CHAIN_137_UNISWAP_V2_FACTORY}"
export ROUTER="${CHAIN_137_UNISWAP_V2_ROUTER}"
export CWUSDT="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF"
export CWUSDC="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4"
export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")"
export AMOUNT_RAW="996297636"
export DEADLINE="$(( $(date +%s) + 3600 ))"
PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$CWUSDT" "$CWUSDC" --rpc-url "$RPC_URL")"
if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then
cast send "$FACTORY" 'createPair(address,address)(address)' "$CWUSDT" "$CWUSDC" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
fi
cast send "$CWUSDT" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
cast send "$CWUSDC" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
cast send "$ROUTER" \
'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \
"$CWUSDT" "$CWUSDC" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$AMOUNT_RAW" "$SIGNER" "$DEADLINE" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered
bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh
node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json
```
### Chain `8453` — Base
- Action: `mint_destination_then_seed`
- Tokens missing: `cWUSDT`, `cWUSDC`
- Gas issue: `true`
- Gas note: Top up native gas on Base before minting or seeding; current balance is below the 0.001 safety threshold.
- Bridge possible: `true`
- Bridge note: Bridge path is structurally available for chain `8453` via `CW_BRIDGE_BASE` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.
Mint steps:
- Mint `cWUSDT` `1000` with:
```bash
source smom-dbis-138/scripts/load-env.sh >/dev/null
cast send "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \
--rpc-url "${BASE_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000
```
- Mint `cWUSDC` `1000` with:
```bash
source smom-dbis-138/scripts/load-env.sh >/dev/null
cast send "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \
--rpc-url "${BASE_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000
```
### Chain `42161` — Arbitrum One
- Action: `mint_destination_then_seed`
- Tokens missing: `cWUSDT`, `cWUSDC`
- Gas issue: `false`
- Gas note: No minimum gas top-up issue from the latest preflight snapshot.
- Bridge possible: `true`
- Bridge note: Bridge path is structurally available for chain `42161` via `CW_BRIDGE_ARBITRUM` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.
Mint steps:
- Mint `cWUSDT` `1000` with:
```bash
source smom-dbis-138/scripts/load-env.sh >/dev/null
cast send "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \
--rpc-url "${ARBITRUM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000
```
- Mint `cWUSDC` `1000` with:
```bash
source smom-dbis-138/scripts/load-env.sh >/dev/null
cast send "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \
--rpc-url "${ARBITRUM_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000
```
### Chain `42220` — Celo
- Action: `mint_destination_then_seed`
- Tokens missing: `cWUSDT`, `cWUSDC`
- Gas issue: `false`
- Gas note: No minimum gas top-up issue from the latest preflight snapshot.
- Bridge possible: `true`
- Bridge note: Bridge path is structurally available for chain `42220` via `CW_BRIDGE_CELO` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.
Mint steps:
- Mint `cWUSDT` `1000` with:
```bash
source smom-dbis-138/scripts/load-env.sh >/dev/null
cast send "0x73376eB92c16977B126dB9112936A20Fa0De3442" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \
--rpc-url "${CELO_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000
```
- Mint `cWUSDC` `1000` with:
```bash
source smom-dbis-138/scripts/load-env.sh >/dev/null
cast send "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "1000000000" \
--rpc-url "${CELO_MAINNET_RPC}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000
```
### Chain `43114` — Avalanche
- Action: `mint_missing_side_then_seed`
- Tokens missing: `cWUSDC`
- Gas issue: `false`
- Gas note: No minimum gas top-up issue from the latest preflight snapshot.
- Bridge possible: `true`
- Bridge note: Bridge path is structurally available for chain `43114` via `CW_BRIDGE_AVALANCHE` and `bridgeAvailable=true`, but the repo-native executable path today is destination-side cW minting. Cross-chain c* -> cW delivery still follows `docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md` and `docs/07-ccip/CW_BRIDGE_APPROACH.md` rather than a single helper script.
Mint steps:
- Mint `cWUSDC` `0.8` with:
```bash
source smom-dbis-138/scripts/load-env.sh >/dev/null
cast send "0x0C242b513008Cd49C89078F5aFb237A3112251EB" 'mint(address,uint256)' "$(cast wallet address --private-key "$PRIVATE_KEY")" "800000" \
--rpc-url "${AVALANCHE_RPC_URL}" --private-key "$PRIVATE_KEY" --legacy --gas-limit 100000
```