Files
proxmox/docs/03-deployment/PROMOD_UNISWAP_V2_PHASE1_FUNDING_ACTIONS.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

15 KiB

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:

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:
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:
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:
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:
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:
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:
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:
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:
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:

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:
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:
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:
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:
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:
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:
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:
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