# 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 ```