# Mr. Promod Uniswap V2 Phase 2 Wave 2 Operator Sequence - Generated: `2026-04-18T11:55:19Z` - Program: `promod-uniswap-v2-phase2-wave2-operator-sequence` - Purpose: exact phase-2 wave-2 operator sequence for the remaining `cW*` wrapped-mesh rollout after wave 1. - Funding rule: each pair uses explicit raw amount env vars because BTC, gold, FX, and fiat rails do not share a safe default seed size. - Total wave-2 pairs: `174` | Chain | Network | Remaining Assets | Wave 2 Pair Count | RPC Keys | Required Env | |---|---|---|---:|---|---| | `1` | Ethereum Mainnet | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `16` | `ETHEREUM_MAINNET_RPC` | `CHAIN_1_UNISWAP_V2_FACTORY`, `CHAIN_1_UNISWAP_V2_ROUTER`, `CHAIN_1_UNISWAP_V2_START_BLOCK` | | `10` | Optimism | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `16` | `OPTIMISM_RPC_URL`, `OPTIMISM_MAINNET_RPC` | `CHAIN_10_UNISWAP_V2_FACTORY`, `CHAIN_10_UNISWAP_V2_ROUTER`, `CHAIN_10_UNISWAP_V2_START_BLOCK` | | `25` | Cronos | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `16` | `CRONOS_RPC_URL`, `CRONOS_MAINNET_RPC` | `CHAIN_25_UNISWAP_V2_FACTORY`, `CHAIN_25_UNISWAP_V2_ROUTER`, `CHAIN_25_UNISWAP_V2_START_BLOCK` | | `56` | BSC (BNB Chain) | `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` | `20` | `BSC_RPC_URL`, `BSC_MAINNET_RPC` | `CHAIN_56_UNISWAP_V2_FACTORY`, `CHAIN_56_UNISWAP_V2_ROUTER`, `CHAIN_56_UNISWAP_V2_START_BLOCK` | | `100` | Gnosis Chain | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `16` | `GNOSIS_RPC_URL`, `GNOSIS_MAINNET_RPC`, `GNOSIS_RPC` | `CHAIN_100_UNISWAP_V2_FACTORY`, `CHAIN_100_UNISWAP_V2_ROUTER`, `CHAIN_100_UNISWAP_V2_START_BLOCK` | | `137` | Polygon | `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `18` | `POLYGON_MAINNET_RPC`, `POLYGON_RPC_URL` | `CHAIN_137_UNISWAP_V2_FACTORY`, `CHAIN_137_UNISWAP_V2_ROUTER`, `CHAIN_137_UNISWAP_V2_START_BLOCK` | | `8453` | Base | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `16` | `BASE_RPC_URL`, `BASE_MAINNET_RPC` | `CHAIN_8453_UNISWAP_V2_FACTORY`, `CHAIN_8453_UNISWAP_V2_ROUTER`, `CHAIN_8453_UNISWAP_V2_START_BLOCK` | | `42161` | Arbitrum One | `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` | `16` | `ARBITRUM_RPC_URL`, `ARBITRUM_MAINNET_RPC` | `CHAIN_42161_UNISWAP_V2_FACTORY`, `CHAIN_42161_UNISWAP_V2_ROUTER`, `CHAIN_42161_UNISWAP_V2_START_BLOCK` | | `42220` | Celo | `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` | `20` | `CELO_RPC_URL`, `CELO_MAINNET_RPC`, `CELO_RPC` | `CHAIN_42220_UNISWAP_V2_FACTORY`, `CHAIN_42220_UNISWAP_V2_ROUTER`, `CHAIN_42220_UNISWAP_V2_START_BLOCK` | | `43114` | Avalanche C-Chain | `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` | `20` | `AVALANCHE_RPC_URL`, `AVALANCHE_MAINNET_RPC` | `CHAIN_43114_UNISWAP_V2_FACTORY`, `CHAIN_43114_UNISWAP_V2_ROUTER`, `CHAIN_43114_UNISWAP_V2_START_BLOCK` | ## Per-Chain Sequence ### Chain `1` — Ethereum Mainnet - Bridge available: `True` - Remaining wave-2 assets: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` - Wave-2 pair count: `16` #### `cWBTC/cWUSDC` - Amount envs: `PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW` - Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000001`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0xcb7c000000000000000000000000000000000001" export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0xcb7c000000000000000000000000000000000001" export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWBTC/cWUSDT` - Amount envs: `PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW` - Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000001`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0xcb7c000000000000000000000000000000000001" export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0xcb7c000000000000000000000000000000000001" export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDC` - Amount envs: `PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW` - Token addresses: `cWCADC=0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDT` - Amount envs: `PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW` - Token addresses: `cWCADC=0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4" export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDC` - Amount envs: `PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW` - Token addresses: `cWCHFC=0x0F91C5E6Ddd46403746aAC970D05d70FFe404780`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDT` - Amount envs: `PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW` - Token addresses: `cWCHFC=0x0F91C5E6Ddd46403746aAC970D05d70FFe404780`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x0F91C5E6Ddd46403746aAC970D05d70FFe404780" export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDC` - Amount envs: `PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW` - Token addresses: `cWEURT=0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDT` - Amount envs: `PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW` - Token addresses: `cWEURT=0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC" export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDC` - Amount envs: `PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW` - Token addresses: `cWGBPT=0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDT` - Amount envs: `PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW` - Token addresses: `cWGBPT=0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F" export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDC` - Amount envs: `PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW` - Token addresses: `cWJPYC=0x07EEd0D7dD40984e47B9D3a3bdded1c536435582`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDT` - Amount envs: `PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW` - Token addresses: `cWJPYC=0x07EEd0D7dD40984e47B9D3a3bdded1c536435582`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582" export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDC` - Amount envs: `PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW` - Token addresses: `cWXAUC=0x572Be0fa8CA0534d642A567CEDb398B771D8a715`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDT` - Amount envs: `PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW` - Token addresses: `cWXAUC=0x572Be0fa8CA0534d642A567CEDb398B771D8a715`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x572Be0fa8CA0534d642A567CEDb398B771D8a715" export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDC` - Amount envs: `PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW` - Token addresses: `cWXAUT=0xACE1DBF857549a11aF1322e1f91F2F64b029c906`, `cWUSDC=0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" export TOKEN_B="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDT` - Amount envs: `PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW` - Token addresses: `cWXAUT=0xACE1DBF857549a11aF1322e1f91F2F64b029c906`, `cWUSDT=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0xACE1DBF857549a11aF1322e1f91F2F64b029c906" export TOKEN_B="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" export AMOUNT_A_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_1_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` Post-pair refresh commands: - `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` - `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` - `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` - `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` ### Chain `10` — Optimism - Bridge available: `True` - Remaining wave-2 assets: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` - Wave-2 pair count: `16` #### `cWBTC/cWUSDC` - Amount envs: `PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW` - Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000000a`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c00000000000000000000000000000000000a" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c00000000000000000000000000000000000a" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWBTC/cWUSDT` - Amount envs: `PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW` - Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000000a`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c00000000000000000000000000000000000a" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c00000000000000000000000000000000000a" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDC` - Amount envs: `PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW` - Token addresses: `cWCADC=0x9f6d2578003fe04e58a9819a4943732f2a203a61`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDT` - Amount envs: `PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW` - Token addresses: `cWCADC=0x9f6d2578003fe04e58a9819a4943732f2a203a61`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDC` - Amount envs: `PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW` - Token addresses: `cWCHFC=0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDT` - Amount envs: `PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW` - Token addresses: `cWCHFC=0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDC` - Amount envs: `PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW` - Token addresses: `cWEURT=0x6f521cd9fcf7884cd4e9486c7790e818638e09dd`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDT` - Amount envs: `PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW` - Token addresses: `cWEURT=0x6f521cd9fcf7884cd4e9486c7790e818638e09dd`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDC` - Amount envs: `PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW` - Token addresses: `cWGBPT=0x456373d095d6b9260f01709f93fccf1d8aa14d11`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDT` - Amount envs: `PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW` - Token addresses: `cWGBPT=0x456373d095d6b9260f01709f93fccf1d8aa14d11`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x456373d095d6b9260f01709f93fccf1d8aa14d11" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDC` - Amount envs: `PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW` - Token addresses: `cWJPYC=0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDT` - Amount envs: `PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW` - Token addresses: `cWJPYC=0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDC` - Amount envs: `PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW` - Token addresses: `cWXAUC=0xddc4063f770f7c49d00b5a10fb552e922aa39b2c`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDT` - Amount envs: `PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW` - Token addresses: `cWXAUC=0xddc4063f770f7c49d00b5a10fb552e922aa39b2c`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDC` - Amount envs: `PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW` - Token addresses: `cWXAUT=0x145e8e8c49b6a021969dd9d2c01c8fea44374f61`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDT` - Amount envs: `PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW` - Token addresses: `cWXAUT=0x145e8e8c49b6a021969dd9d2c01c8fea44374f61`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${OPTIMISM_RPC_URL}" export FACTORY="${CHAIN_10_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_10_UNISWAP_V2_ROUTER}" export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_10_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` Post-pair refresh commands: - `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` - `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` - `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` - `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` ### Chain `25` — Cronos - Bridge available: `True` - Remaining wave-2 assets: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` - Wave-2 pair count: `16` #### `cWBTC/cWUSDC` - Amount envs: `PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW` - Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000019`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c000000000000000000000000000000000019" export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c000000000000000000000000000000000019" export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWBTC/cWUSDT` - Amount envs: `PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW` - Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000019`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c000000000000000000000000000000000019" export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c000000000000000000000000000000000019" export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDC` - Amount envs: `PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW` - Token addresses: `cWCADC=0x32aD687F24F77bF8C86605c202c829163Ac5Ab36`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDT` - Amount envs: `PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW` - Token addresses: `cWCADC=0x32aD687F24F77bF8C86605c202c829163Ac5Ab36`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0x32aD687F24F77bF8C86605c202c829163Ac5Ab36" export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDC` - Amount envs: `PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW` - Token addresses: `cWCHFC=0xB55F49D6316322d5caA96D34C6e4b1003BD3E670`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDT` - Amount envs: `PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW` - Token addresses: `cWCHFC=0xB55F49D6316322d5caA96D34C6e4b1003BD3E670`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xB55F49D6316322d5caA96D34C6e4b1003BD3E670" export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDC` - Amount envs: `PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW` - Token addresses: `cWEURT=0x9f833b4f1012F52eb3317b09922a79c6EdFca77D`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDT` - Amount envs: `PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW` - Token addresses: `cWEURT=0x9f833b4f1012F52eb3317b09922a79c6EdFca77D`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0x9f833b4f1012F52eb3317b09922a79c6EdFca77D" export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDC` - Amount envs: `PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW` - Token addresses: `cWGBPT=0xBb58fa16bAc8E789f09C14243adEE6480D8213A2`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDT` - Amount envs: `PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW` - Token addresses: `cWGBPT=0xBb58fa16bAc8E789f09C14243adEE6480D8213A2`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xBb58fa16bAc8E789f09C14243adEE6480D8213A2" export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDC` - Amount envs: `PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW` - Token addresses: `cWJPYC=0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDT` - Amount envs: `PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW` - Token addresses: `cWJPYC=0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203" export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDC` - Amount envs: `PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW` - Token addresses: `cWXAUC=0xf1B771c95573113E993374c0c7cB2dc1a7908B12`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDT` - Amount envs: `PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW` - Token addresses: `cWXAUC=0xf1B771c95573113E993374c0c7cB2dc1a7908B12`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xf1B771c95573113E993374c0c7cB2dc1a7908B12" export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDC` - Amount envs: `PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW` - Token addresses: `cWXAUT=0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE`, `cWUSDC=0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" export TOKEN_B="0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDT` - Amount envs: `PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW` - Token addresses: `cWXAUT=0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE`, `cWUSDT=0x72948a7a813B60b37Cd0c920C4657DbFF54312b8` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CRONOS_RPC_URL}" export FACTORY="${CHAIN_25_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_25_UNISWAP_V2_ROUTER}" export TOKEN_A="0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE" export TOKEN_B="0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" export AMOUNT_A_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_25_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` Post-pair refresh commands: - `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` - `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` - `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` - `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` ### Chain `56` — BSC (BNB Chain) - Bridge available: `True` - Remaining wave-2 assets: `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` - Wave-2 pair count: `20` #### `cWAUSDT/cWUSDC` - Amount envs: `PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW` - Token addresses: `cWAUSDT=0xe1a51Bc037a79AB36767561B147eb41780124934`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWAUSDT/cWUSDT` - Amount envs: `PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW` - Token addresses: `cWAUSDT=0xe1a51Bc037a79AB36767561B147eb41780124934`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWAUSDT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWBTC/cWUSDC` - Amount envs: `PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW` - Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000038`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c000000000000000000000000000000000038" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c000000000000000000000000000000000038" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWBTC/cWUSDT` - Amount envs: `PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW` - Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000038`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c000000000000000000000000000000000038" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c000000000000000000000000000000000038" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDC` - Amount envs: `PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW` - Token addresses: `cWCADC=0x9AE7a6B311584D60Fa93f973950d609061875775`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDT` - Amount envs: `PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW` - Token addresses: `cWCADC=0x9AE7a6B311584D60Fa93f973950d609061875775`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0x9AE7a6B311584D60Fa93f973950d609061875775" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDC` - Amount envs: `PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW` - Token addresses: `cWCHFC=0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDT` - Amount envs: `PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW` - Token addresses: `cWCHFC=0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDC` - Amount envs: `PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW` - Token addresses: `cWEURT=0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDT` - Amount envs: `PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW` - Token addresses: `cWEURT=0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDC` - Amount envs: `PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW` - Token addresses: `cWGBPT=0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDT` - Amount envs: `PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW` - Token addresses: `cWGBPT=0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDC` - Amount envs: `PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW` - Token addresses: `cWJPYC=0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDT` - Amount envs: `PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW` - Token addresses: `cWJPYC=0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWUSDW/cWUSDC` - Amount envs: `PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW` - Token addresses: `cWUSDW=0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWUSDW/cWUSDT` - Amount envs: `PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW` - Token addresses: `cWUSDW=0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWUSDW_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDC` - Amount envs: `PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW` - Token addresses: `cWXAUC=0xCB145bA9A370681e3545F60e55621eBf218B1031`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDT` - Amount envs: `PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW` - Token addresses: `cWXAUC=0xCB145bA9A370681e3545F60e55621eBf218B1031`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0xCB145bA9A370681e3545F60e55621eBf218B1031" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDC` - Amount envs: `PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW` - Token addresses: `cWXAUT=0x73E0CF8BF861D376B3a4C87c136F975027f045ff`, `cWUSDC=0x5355148C4740fcc3D7a96F05EdD89AB14851206b` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDT` - Amount envs: `PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW` - Token addresses: `cWXAUT=0x73E0CF8BF861D376B3a4C87c136F975027f045ff`, `cWUSDT=0x9a1D0dBEE997929ED02fD19E0E199704d20914dB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BSC_RPC_URL}" export FACTORY="${CHAIN_56_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_56_UNISWAP_V2_ROUTER}" export TOKEN_A="0x73E0CF8BF861D376B3a4C87c136F975027f045ff" export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" export AMOUNT_A_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_56_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` Post-pair refresh commands: - `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` - `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` - `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` - `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` ### Chain `100` — Gnosis Chain - Bridge available: `True` - Remaining wave-2 assets: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` - Wave-2 pair count: `16` #### `cWBTC/cWUSDC` - Amount envs: `PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW` - Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000064`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c000000000000000000000000000000000064" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c000000000000000000000000000000000064" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWBTC/cWUSDT` - Amount envs: `PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW` - Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000064`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c000000000000000000000000000000000064" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c000000000000000000000000000000000064" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDC` - Amount envs: `PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW` - Token addresses: `cWCADC=0xa7133c78e0ec74503a5941bcbd44257615b6b4f6`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDT` - Amount envs: `PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW` - Token addresses: `cWCADC=0xa7133c78e0ec74503a5941bcbd44257615b6b4f6`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0xa7133c78e0ec74503a5941bcbd44257615b6b4f6" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDC` - Amount envs: `PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW` - Token addresses: `cWCHFC=0x46d90d7947f1139477c206c39268923b99cf09e4`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDT` - Amount envs: `PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW` - Token addresses: `cWCHFC=0x46d90d7947f1139477c206c39268923b99cf09e4`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x46d90d7947f1139477c206c39268923b99cf09e4" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDC` - Amount envs: `PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW` - Token addresses: `cWEURT=0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDT` - Amount envs: `PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW` - Token addresses: `cWEURT=0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDC` - Amount envs: `PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW` - Token addresses: `cWGBPT=0x9f6d2578003fe04e58a9819a4943732f2a203a61`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDT` - Amount envs: `PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW` - Token addresses: `cWGBPT=0x9f6d2578003fe04e58a9819a4943732f2a203a61`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x9f6d2578003fe04e58a9819a4943732f2a203a61" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDC` - Amount envs: `PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW` - Token addresses: `cWJPYC=0x145e8e8c49b6a021969dd9d2c01c8fea44374f61`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDT` - Amount envs: `PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW` - Token addresses: `cWJPYC=0x145e8e8c49b6a021969dd9d2c01c8fea44374f61`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x145e8e8c49b6a021969dd9d2c01c8fea44374f61" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDC` - Amount envs: `PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW` - Token addresses: `cWXAUC=0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDT` - Amount envs: `PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW` - Token addresses: `cWXAUC=0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDC` - Amount envs: `PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW` - Token addresses: `cWXAUT=0xc6189d404dc60cae7b48e2190e44770a03193e5f`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDT` - Amount envs: `PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW` - Token addresses: `cWXAUT=0xc6189d404dc60cae7b48e2190e44770a03193e5f`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${GNOSIS_RPC_URL}" export FACTORY="${CHAIN_100_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_100_UNISWAP_V2_ROUTER}" export TOKEN_A="0xc6189d404dc60cae7b48e2190e44770a03193e5f" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_100_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` Post-pair refresh commands: - `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` - `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` - `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` - `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` ### Chain `137` — Polygon - Bridge available: `True` - Remaining wave-2 assets: `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` - Wave-2 pair count: `18` #### `cWAUSDT/cWUSDC` - Amount envs: `PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW` - Token addresses: `cWAUSDT=0xf12e262F85107df26741726b074606CaFa24AAe7`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWAUSDT/cWUSDT` - Amount envs: `PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW` - Token addresses: `cWAUSDT=0xf12e262F85107df26741726b074606CaFa24AAe7`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWAUSDT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWBTC/cWUSDC` - Amount envs: `PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW` - Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000089`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0xcb7c000000000000000000000000000000000089" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0xcb7c000000000000000000000000000000000089" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWBTC/cWUSDT` - Amount envs: `PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW` - Token addresses: `cWBTC=0xcb7c000000000000000000000000000000000089`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0xcb7c000000000000000000000000000000000089" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0xcb7c000000000000000000000000000000000089" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDC` - Amount envs: `PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW` - Token addresses: `cWCADC=0xc9750828124D4c10e7a6f4B655cA8487bD3842EB`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDT` - Amount envs: `PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW` - Token addresses: `cWCADC=0xc9750828124D4c10e7a6f4B655cA8487bD3842EB`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0xc9750828124D4c10e7a6f4B655cA8487bD3842EB" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDC` - Amount envs: `PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW` - Token addresses: `cWCHFC=0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDT` - Amount envs: `PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW` - Token addresses: `cWCHFC=0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDC` - Amount envs: `PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW` - Token addresses: `cWEURT=0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDT` - Amount envs: `PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW` - Token addresses: `cWEURT=0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDC` - Amount envs: `PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW` - Token addresses: `cWGBPT=0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDT` - Amount envs: `PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW` - Token addresses: `cWGBPT=0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDC` - Amount envs: `PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW` - Token addresses: `cWJPYC=0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDT` - Amount envs: `PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW` - Token addresses: `cWJPYC=0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDC` - Amount envs: `PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW` - Token addresses: `cWXAUC=0x328Cd365Bb35524297E68ED28c6fF2C9557d1363`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDT` - Amount envs: `PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW` - Token addresses: `cWXAUC=0x328Cd365Bb35524297E68ED28c6fF2C9557d1363`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x328Cd365Bb35524297E68ED28c6fF2C9557d1363" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDC` - Amount envs: `PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW` - Token addresses: `cWXAUT=0x9e6044d730d4183bF7a666293d257d035Fba6d44`, `cWUSDC=0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDT` - Amount envs: `PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW` - Token addresses: `cWXAUT=0x9e6044d730d4183bF7a666293d257d035Fba6d44`, `cWUSDT=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```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 TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```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 TOKEN_A="0x9e6044d730d4183bF7a666293d257d035Fba6d44" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_137_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` Post-pair refresh commands: - `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` - `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` - `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` - `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` ### Chain `8453` — Base - Bridge available: `True` - Remaining wave-2 assets: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` - Wave-2 pair count: `16` #### `cWBTC/cWUSDC` - Amount envs: `PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW` - Token addresses: `cWBTC=0xcb7c000000000000000000000000000000002105`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c000000000000000000000000000000002105" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c000000000000000000000000000000002105" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWBTC/cWUSDT` - Amount envs: `PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW` - Token addresses: `cWBTC=0xcb7c000000000000000000000000000000002105`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c000000000000000000000000000000002105" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c000000000000000000000000000000002105" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDC` - Amount envs: `PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW` - Token addresses: `cWCADC=0xdc383c489533a4dd9a6bd3007386e25d5078b878`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDT` - Amount envs: `PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW` - Token addresses: `cWCADC=0xdc383c489533a4dd9a6bd3007386e25d5078b878`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDC` - Amount envs: `PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW` - Token addresses: `cWCHFC=0xc1535e88578d984f12eab55863376b8d8b9fb05a`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDT` - Amount envs: `PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW` - Token addresses: `cWCHFC=0xc1535e88578d984f12eab55863376b8d8b9fb05a`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0xc1535e88578d984f12eab55863376b8d8b9fb05a" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDC` - Amount envs: `PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW` - Token addresses: `cWEURT=0x73e0cf8bf861d376b3a4c87c136f975027f045ff`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDT` - Amount envs: `PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW` - Token addresses: `cWEURT=0x73e0cf8bf861d376b3a4c87c136f975027f045ff`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0x73e0cf8bf861d376b3a4c87c136f975027f045ff" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDC` - Amount envs: `PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW` - Token addresses: `cWGBPT=0x22b98130ab4d9c355512b25ade4c35e75a4e7e89`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDT` - Amount envs: `PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW` - Token addresses: `cWGBPT=0x22b98130ab4d9c355512b25ade4c35e75a4e7e89`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDC` - Amount envs: `PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW` - Token addresses: `cWJPYC=0x29828e9ab2057cd3df3c9211455ae1f76e53d2af`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDT` - Amount envs: `PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW` - Token addresses: `cWJPYC=0x29828e9ab2057cd3df3c9211455ae1f76e53d2af`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDC` - Amount envs: `PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW` - Token addresses: `cWXAUC=0x7e4b4682453bcce19ec903fb69153d3031986bc4`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDT` - Amount envs: `PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW` - Token addresses: `cWXAUC=0x7e4b4682453bcce19ec903fb69153d3031986bc4`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDC` - Amount envs: `PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW` - Token addresses: `cWXAUT=0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c`, `cWUSDC=0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" export TOKEN_B="0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDT` - Amount envs: `PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW` - Token addresses: `cWXAUT=0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c`, `cWUSDT=0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${BASE_RPC_URL}" export FACTORY="${CHAIN_8453_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_8453_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" export TOKEN_B="0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" export AMOUNT_A_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_8453_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` Post-pair refresh commands: - `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` - `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` - `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` - `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` ### Chain `42161` — Arbitrum One - Bridge available: `True` - Remaining wave-2 assets: `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWXAUC`, `cWXAUT` - Wave-2 pair count: `16` #### `cWBTC/cWUSDC` - Amount envs: `PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW` - Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a4b1`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWBTC/cWUSDT` - Amount envs: `PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW` - Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a4b1`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c00000000000000000000000000000000a4b1" export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDC` - Amount envs: `PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW` - Token addresses: `cWCADC=0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDT` - Amount envs: `PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW` - Token addresses: `cWCADC=0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c" export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDC` - Amount envs: `PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW` - Token addresses: `cWCHFC=0x7e4b4682453bcce19ec903fb69153d3031986bc4`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDT` - Amount envs: `PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW` - Token addresses: `cWCHFC=0x7e4b4682453bcce19ec903fb69153d3031986bc4`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0x7e4b4682453bcce19ec903fb69153d3031986bc4" export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDC` - Amount envs: `PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW` - Token addresses: `cWEURT=0x22b98130ab4d9c355512b25ade4c35e75a4e7e89`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDT` - Amount envs: `PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW` - Token addresses: `cWEURT=0x22b98130ab4d9c355512b25ade4c35e75a4e7e89`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDC` - Amount envs: `PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW` - Token addresses: `cWGBPT=0x29828e9ab2057cd3df3c9211455ae1f76e53d2af`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDT` - Amount envs: `PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW` - Token addresses: `cWGBPT=0x29828e9ab2057cd3df3c9211455ae1f76e53d2af`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0x29828e9ab2057cd3df3c9211455ae1f76e53d2af" export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDC` - Amount envs: `PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW` - Token addresses: `cWJPYC=0xdc383c489533a4dd9a6bd3007386e25d5078b878`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDT` - Amount envs: `PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW` - Token addresses: `cWJPYC=0xdc383c489533a4dd9a6bd3007386e25d5078b878`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0xdc383c489533a4dd9a6bd3007386e25d5078b878" export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDC` - Amount envs: `PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW` - Token addresses: `cWXAUC=0xa7762b63c4871581885ad17c5714ebb286a7480b`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDT` - Amount envs: `PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW` - Token addresses: `cWXAUC=0xa7762b63c4871581885ad17c5714ebb286a7480b`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0xa7762b63c4871581885ad17c5714ebb286a7480b" export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDC` - Amount envs: `PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW` - Token addresses: `cWXAUT=0x66568899ffe8f00b25dc470e878b65a478994e76`, `cWUSDC=0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDT` - Amount envs: `PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW` - Token addresses: `cWXAUT=0x66568899ffe8f00b25dc470e878b65a478994e76`, `cWUSDT=0x73ADaF7dBa95221c080db5631466d2bC54f6a76B` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${ARBITRUM_RPC_URL}" export FACTORY="${CHAIN_42161_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42161_UNISWAP_V2_ROUTER}" export TOKEN_A="0x66568899ffe8f00b25dc470e878b65a478994e76" export TOKEN_B="0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" export AMOUNT_A_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42161_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` Post-pair refresh commands: - `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` - `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` - `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` - `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` ### Chain `42220` — Celo - Bridge available: `True` - Remaining wave-2 assets: `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` - Wave-2 pair count: `20` #### `cWAUSDT/cWUSDC` - Amount envs: `PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW` - Token addresses: `cWAUSDT=0xC158b6cD3A3088C52F797D41f5Aa02825361629e`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWAUSDT/cWUSDT` - Amount envs: `PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW` - Token addresses: `cWAUSDT=0xC158b6cD3A3088C52F797D41f5Aa02825361629e`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWAUSDT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWBTC/cWUSDC` - Amount envs: `PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW` - Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a4ec`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWBTC/cWUSDT` - Amount envs: `PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW` - Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a4ec`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c00000000000000000000000000000000a4ec" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDC` - Amount envs: `PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW` - Token addresses: `cWCADC=0x0C242b513008Cd49C89078F5aFb237A3112251EB`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDT` - Amount envs: `PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW` - Token addresses: `cWCADC=0x0C242b513008Cd49C89078F5aFb237A3112251EB`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDC` - Amount envs: `PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW` - Token addresses: `cWCHFC=0x8142BA530B08f3950128601F00DaaA678213DFdf`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDT` - Amount envs: `PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW` - Token addresses: `cWCHFC=0x8142BA530B08f3950128601F00DaaA678213DFdf`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x8142BA530B08f3950128601F00DaaA678213DFdf" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDC` - Amount envs: `PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW` - Token addresses: `cWEURT=0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDT` - Amount envs: `PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW` - Token addresses: `cWEURT=0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDC` - Amount envs: `PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW` - Token addresses: `cWGBPT=0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDT` - Amount envs: `PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW` - Token addresses: `cWGBPT=0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDC` - Amount envs: `PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW` - Token addresses: `cWJPYC=0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDT` - Amount envs: `PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW` - Token addresses: `cWJPYC=0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWUSDW/cWUSDC` - Amount envs: `PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW` - Token addresses: `cWUSDW=0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWUSDW/cWUSDT` - Amount envs: `PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW` - Token addresses: `cWUSDW=0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWUSDW_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDC` - Amount envs: `PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW` - Token addresses: `cWXAUC=0x61D642979eD75c1325f35b9275C5A7FE97F22451`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDT` - Amount envs: `PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW` - Token addresses: `cWXAUC=0x61D642979eD75c1325f35b9275C5A7FE97F22451`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x61D642979eD75c1325f35b9275C5A7FE97F22451" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDC` - Amount envs: `PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW` - Token addresses: `cWXAUT=0x30751782486eed825187C1EAe5DE4b4baD428AaE`, `cWUSDC=0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDT` - Amount envs: `PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW` - Token addresses: `cWXAUT=0x30751782486eed825187C1EAe5DE4b4baD428AaE`, `cWUSDT=0x73376eB92c16977B126dB9112936A20Fa0De3442` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${CELO_RPC_URL}" export FACTORY="${CHAIN_42220_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_42220_UNISWAP_V2_ROUTER}" export TOKEN_A="0x30751782486eed825187C1EAe5DE4b4baD428AaE" export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442" export AMOUNT_A_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_42220_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` Post-pair refresh commands: - `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` - `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` - `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` - `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh` ### Chain `43114` — Avalanche C-Chain - Bridge available: `True` - Remaining wave-2 assets: `cWAUSDT`, `cWBTC`, `cWCADC`, `cWCHFC`, `cWEURT`, `cWGBPT`, `cWJPYC`, `cWUSDW`, `cWXAUC`, `cWXAUT` - Wave-2 pair count: `20` #### `cWAUSDT/cWUSDC` - Amount envs: `PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW` - Token addresses: `cWAUSDT=0xff3084410A732231472Ee9f93F5855dA89CC5254`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWAUSDT/cWUSDT` - Amount envs: `PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW` - Token addresses: `cWAUSDT=0xff3084410A732231472Ee9f93F5855dA89CC5254`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWAUSDT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWBTC/cWUSDC` - Amount envs: `PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW` - Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a86a`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWBTC/cWUSDT` - Amount envs: `PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW` - Token addresses: `cWBTC=0xcb7c00000000000000000000000000000000a86a`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcb7c00000000000000000000000000000000a86a" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWBTC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDC` - Amount envs: `PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW` - Token addresses: `cWCADC=0x1872e033b30f3ce0498847926857433e0146394e`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCADC/cWUSDT` - Amount envs: `PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW` - Token addresses: `cWCADC=0x1872e033b30f3ce0498847926857433e0146394e`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0x1872e033b30f3ce0498847926857433e0146394e" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCADC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDC` - Amount envs: `PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW` - Token addresses: `cWCHFC=0xc2fa05f12a75ac84ea778af9d6935ca807275e55`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWCHFC/cWUSDT` - Amount envs: `PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW` - Token addresses: `cWCHFC=0xc2fa05f12a75ac84ea778af9d6935ca807275e55`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xc2fa05f12a75ac84ea778af9d6935ca807275e55" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWCHFC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDC` - Amount envs: `PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW` - Token addresses: `cWEURT=0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWEURT/cWUSDT` - Amount envs: `PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW` - Token addresses: `cWEURT=0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWEURT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDC` - Amount envs: `PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW` - Token addresses: `cWGBPT=0x4611d3424e059392a52b957e508273bc761c80f2`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWGBPT/cWUSDT` - Amount envs: `PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW` - Token addresses: `cWGBPT=0x4611d3424e059392a52b957e508273bc761c80f2`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0x4611d3424e059392a52b957e508273bc761c80f2" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWGBPT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDC` - Amount envs: `PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW` - Token addresses: `cWJPYC=0x3714b1a312e0916c7dcdc4edf480fc0339e59a59`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWJPYC/cWUSDT` - Amount envs: `PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW` - Token addresses: `cWJPYC=0x3714b1a312e0916c7dcdc4edf480fc0339e59a59`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0x3714b1a312e0916c7dcdc4edf480fc0339e59a59" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWJPYC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWUSDW/cWUSDC` - Amount envs: `PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW` - Token addresses: `cWUSDW=0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWUSDW/cWUSDT` - Amount envs: `PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW` - Token addresses: `cWUSDW=0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWUSDW_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDC` - Amount envs: `PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW` - Token addresses: `cWXAUC=0x4f95297c23d9f4a1032b1c6a2e553225cb175bee`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUC/cWUSDT` - Amount envs: `PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW` - Token addresses: `cWXAUC=0x4f95297c23d9f4a1032b1c6a2e553225cb175bee`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0x4f95297c23d9f4a1032b1c6a2e553225cb175bee" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUC_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDC` - Amount envs: `PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW`, `PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW` - Token addresses: `cWXAUT=0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3`, `cWUSDC=0x0C242b513008Cd49C89078F5aFb237A3112251EB` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDC_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` #### `cWXAUT/cWUSDT` - Amount envs: `PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW`, `PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW` - Token addresses: `cWXAUT=0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3`, `cWUSDT=0x8142BA530B08f3950128601F00DaaA678213DFdf` Probe: ```bash cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL" ``` Create if absent: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" PAIR="$(cast call "$FACTORY" 'getPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" --rpc-url "$RPC_URL")" if [[ "$PAIR" == "0x0000000000000000000000000000000000000000" ]]; then cast send "$FACTORY" 'createPair(address,address)(address)' "$TOKEN_A" "$TOKEN_B" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" fi ``` Deploy: ```bash source smom-dbis-138/scripts/load-env.sh >/dev/null export RPC_URL="${AVALANCHE_RPC_URL}" export FACTORY="${CHAIN_43114_UNISWAP_V2_FACTORY}" export ROUTER="${CHAIN_43114_UNISWAP_V2_ROUTER}" export TOKEN_A="0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3" export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf" export AMOUNT_A_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_A_RAW:-}" export AMOUNT_B_RAW="${PHASE2_WAVE2_43114_CWXAUT_CWUSDT_B_RAW:-}" export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")" export DEADLINE="$(( $(date +%s) + 3600 ))" test -n "$AMOUNT_A_RAW" && test -n "$AMOUNT_B_RAW" cast send "$TOKEN_A" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_A_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$TOKEN_B" 'approve(address,uint256)(bool)' "$ROUTER" "$AMOUNT_B_RAW" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" cast send "$ROUTER" \ 'addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)' \ "$TOKEN_A" "$TOKEN_B" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$AMOUNT_A_RAW" "$AMOUNT_B_RAW" "$SIGNER" "$DEADLINE" \ --private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL" ``` Post-pair refresh commands: - `bash scripts/verify/build-promod-uniswap-v2-live-pair-discovery.sh` - `python3 scripts/lib/promod_uniswap_v2_live_pair_discovery.py --write-discovered` - `node cross-chain-pmm-lps/scripts/validate-deployment-status.cjs cross-chain-pmm-lps/config/deployment-status.json` - `bash scripts/verify/build-promod-uniswap-v2-promotion-gates.sh`