- Submodule pins: dbis_core, cross-chain-pmm-lps, mcp-proxmox (local, push may be pending), metamask-integration, smom-dbis-138 - Atomic swap + cross-chain-pmm-lops-publish, deploy-portal workflow, phoenix deploy-targets, routing/aggregator matrices - Docs, token-lists, forge proxy, phoenix API, runbooks, verify scripts Made-with: Cursor
26 KiB
26 KiB
cW Public Network Repeg Plan
- Generated:
2026-04-20T00:49:46Z - Price report:
/home/intlc/projects/proxmox/reports/status/cw-public-prices-latest.json - Deployment inventory:
/home/intlc/projects/proxmox/cross-chain-pmm-lps/config/deployment-status.json - Uniswap discovery:
/home/intlc/projects/proxmox/reports/extraction/promod-uniswap-v2-live-pair-discovery-latest.json - Scope: current off-peg or unreadable public-network
cW*pools only. - PMM rule: if current price is below target, fund quote and buy base; if current price is above target, fund base and sell base.
- Uniswap rule: remove bad LP or ignore stale LP, then reseed at the target reserve ratio.
Off-Peg DODO PMM Pools
| Chain | Pair | Pool | Current | Target | Deviation | Repair Path |
|---|---|---|---|---|---|---|
1 Ethereum Mainnet |
cWEURC/USDC |
0x0bC750F9c6DbDcd76B205695A356491b1B9ef098 |
1.15145921 |
1.08000000 |
+6.62% |
Fund base side and sell base into cWEURC/USDC until getMidPrice() returns target. |
1 Ethereum Mainnet |
cWGBPC/USDC |
0x5488042dF882893a3e7074453E2005CaDE4101b0 |
1.29980755 |
1.27000000 |
+2.35% |
Fund base side and sell base into cWGBPC/USDC until getMidPrice() returns target. |
1 Ethereum Mainnet |
cWJPYC/USDC |
0x8A4187dF0A8FE855cC53A4F7B2D8346588Ee9794 |
0.00827694 |
0.00670000 |
+23.54% |
Fund base side and sell base into cWJPYC/USDC until getMidPrice() returns target. |
1 Ethereum Mainnet |
cWUSDC/USDC |
0x69776fc607e9edA8042e320e7e43f54d06c68f0E |
0.24519859 |
1.00000000 |
-75.48% |
Fund quote side and buy base through cWUSDC/USDC until getMidPrice() returns target. |
1 Ethereum Mainnet |
cWUSDT/USDC |
0x27f3aE7EE71Be3d77bAf17d4435cF8B895DD25D2 |
0.24377078 |
1.00000000 |
-75.62% |
Fund quote side and buy base through cWUSDT/USDC until getMidPrice() returns target. |
100 Gnosis Chain |
cWAUDC/USDC |
0xeb5A688dF70be2F790719872Be9Ecc5648aEE460 |
1.00000000 |
0.66000000 |
+51.52% |
Fund base side and sell base into cWAUDC/USDC until getMidPrice() returns target. |
137 Polygon |
cWAUDC/USDC |
0xbD34966FE5Eed81AFffF8081e9BB527Fc8066783 |
1.00000000 |
0.66000000 |
+51.52% |
Fund base side and sell base into cWAUDC/USDC until getMidPrice() returns target. |
43114 Avalanche C-Chain |
cWAUDC/USDC |
0x287edaBDA35195592d7CACe2C1A75eC66caF1D70 |
1.00000000 |
0.66000000 |
+51.52% |
Fund base side and sell base into cWAUDC/USDC until getMidPrice() returns target. |
Broken Uniswap Pairs
| Chain | Pair | Pool | Current Ratio | Target | Deviation | Repair Path |
|---|---|---|---|---|---|---|
56 BSC (BNB Chain) |
cWAUSDT/cWUSDC |
0x639D7e64C6f1fC676226f20a0C42aEcDD66545E8 |
0.66666667 |
1.00000000 |
-33.33% |
Withdraw or ignore bad LP, then reseed cWAUSDT/cWUSDC through the chain router at target ratio 1 with balanced reserves. |
56 BSC (BNB Chain) |
cWAUSDT/cWUSDT |
0xe9b082bAa73Fa4DEc7CB3CbD99B19D30BbfE1523 |
0.66666667 |
1.00000000 |
-33.33% |
Withdraw or ignore bad LP, then reseed cWAUSDT/cWUSDT through the chain router at target ratio 1 with balanced reserves. |
137 Polygon |
cWAUSDT/cWUSDC |
0xe6a5Cb164D4AF7E9794AEd09EC373392D0E7216c |
0.66666667 |
1.00000000 |
-33.33% |
Withdraw or ignore bad LP, then reseed cWAUSDT/cWUSDC through the chain router at target ratio 1 with balanced reserves. |
137 Polygon |
cWAUSDT/cWUSDT |
0x8cD2Cb42B81F894eb10D15446DB22A3B31d6fB2E |
0.66666667 |
1.00000000 |
-33.33% |
Withdraw or ignore bad LP, then reseed cWAUSDT/cWUSDT through the chain router at target ratio 1 with balanced reserves. |
42220 Celo |
cWAUSDT/cWUSDC |
0xd3B55d6d7C08fDbF5F201e486992643cfF410d91 |
0.66666667 |
1.00000000 |
-33.33% |
Withdraw or ignore bad LP, then reseed cWAUSDT/cWUSDC through the chain router at target ratio 1 with balanced reserves. |
42220 Celo |
cWAUSDT/cWUSDT |
0xEe9eEBf89C1424e63eFc888929E43a9423357D39 |
0.66666667 |
1.00000000 |
-33.33% |
Withdraw or ignore bad LP, then reseed cWAUSDT/cWUSDT through the chain router at target ratio 1 with balanced reserves. |
43114 Avalanche C-Chain |
cWAUSDT/cWUSDC |
0xaaD6aed8d28B0195D19B4d17F8ee9A1837ff2DCE |
0.66666667 |
1.00000000 |
-33.33% |
Withdraw or ignore bad LP, then reseed cWAUSDT/cWUSDC through the chain router at target ratio 1 with balanced reserves. |
43114 Avalanche C-Chain |
cWAUSDT/cWUSDT |
0x418322F48D857277ec4BCc96Bc1580aCCB7EA253 |
0.66666667 |
1.00000000 |
-33.33% |
Withdraw or ignore bad LP, then reseed cWAUSDT/cWUSDT through the chain router at target ratio 1 with balanced reserves. |
Unpriced Targets
| Chain | Token | Target | Status |
|---|---|---|---|
10 Optimism |
cWUSDC |
1.00000000 |
no live price path found from current public snapshot |
10 Optimism |
cWUSDT |
1.00000000 |
no live price path found from current public snapshot |
25 Cronos |
cWUSDC |
1.00000000 |
no live price path found from current public snapshot |
25 Cronos |
cWUSDT |
1.00000000 |
no live price path found from current public snapshot |
56 BSC (BNB Chain) |
cWAUSDT |
1.00000000 |
no live price path found from current public snapshot |
56 BSC (BNB Chain) |
cWUSDC |
1.00000000 |
no live price path found from current public snapshot |
56 BSC (BNB Chain) |
cWUSDT |
1.00000000 |
no live price path found from current public snapshot |
56 BSC (BNB Chain) |
cWUSDW |
1.00000000 |
no live price path found from current public snapshot |
100 Gnosis Chain |
cWUSDC |
1.00000000 |
no live price path found from current public snapshot |
100 Gnosis Chain |
cWUSDT |
1.00000000 |
no live price path found from current public snapshot |
8453 Base |
cWUSDC |
1.00000000 |
no live price path found from current public snapshot |
8453 Base |
cWUSDT |
1.00000000 |
no live price path found from current public snapshot |
42161 Arbitrum One |
cWUSDC |
1.00000000 |
no live price path found from current public snapshot |
42161 Arbitrum One |
cWUSDT |
1.00000000 |
no live price path found from current public snapshot |
42220 Celo |
cWAUDC |
0.66000000 |
no live price path found from current public snapshot |
42220 Celo |
cWAUSDT |
1.00000000 |
no live price path found from current public snapshot |
42220 Celo |
cWCADC |
0.74000000 |
no live price path found from current public snapshot |
42220 Celo |
cWCHFC |
1.11000000 |
no live price path found from current public snapshot |
42220 Celo |
cWEURC |
1.08000000 |
no live price path found from current public snapshot |
42220 Celo |
cWEURT |
1.08000000 |
no live price path found from current public snapshot |
42220 Celo |
cWGBPC |
1.27000000 |
no live price path found from current public snapshot |
42220 Celo |
cWGBPT |
1.27000000 |
no live price path found from current public snapshot |
42220 Celo |
cWJPYC |
0.00670000 |
no live price path found from current public snapshot |
42220 Celo |
cWUSDC |
1.00000000 |
no live price path found from current public snapshot |
42220 Celo |
cWUSDT |
1.00000000 |
no live price path found from current public snapshot |
42220 Celo |
cWUSDW |
1.00000000 |
no live price path found from current public snapshot |
42220 Celo |
cWXAUC |
3200.00000000 |
no live price path found from current public snapshot |
42220 Celo |
cWXAUT |
3200.00000000 |
no live price path found from current public snapshot |
43114 Avalanche C-Chain |
cWAUSDT |
1.00000000 |
no live price path found from current public snapshot |
43114 Avalanche C-Chain |
cWUSDC |
1.00000000 |
no live price path found from current public snapshot |
43114 Avalanche C-Chain |
cWUSDT |
1.00000000 |
no live price path found from current public snapshot |
43114 Avalanche C-Chain |
cWUSDW |
1.00000000 |
no live price path found from current public snapshot |
1 Ethereum Mainnet cWEURC/USDC
- Suggested funding side:
cWEURC - Suggested trade raw:
82716 - Suggested trade units:
0.082716 - Gap fraction:
0.066166 - Deployer balance on funding side:
0.004987cWEURC - Deployer shortfall:
0.077729cWEURC - Covered:
False
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${ETHEREUM_MAINNET_RPC}"
export INTEGRATION="0xa9F284eD010f4F7d7F8F201742b49b9f58e29b84"
export POOL="0x0bC750F9c6DbDcd76B205695A356491b1B9ef098"
export BASE_TOKEN="0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d"
export QUOTE_TOKEN="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
export BASE_IN_RAW=REPLACE_BASE_IN_RAW
export MIN_QUOTE_OUT_RAW=REPLACE_MIN_QUOTE_OUT_RAW
cast send "$BASE_TOKEN" 'approve(address,uint256)(bool)' "$INTEGRATION" "$BASE_IN_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
cast send "$INTEGRATION" 'swapExactIn(address,address,uint256,uint256)' "$POOL" "$BASE_TOKEN" "$BASE_IN_RAW" "$MIN_QUOTE_OUT_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
1 Ethereum Mainnet cWGBPC/USDC
- Suggested funding side:
cWGBPC - Suggested trade raw:
2939 - Suggested trade units:
0.002939 - Gap fraction:
0.023471 - Deployer balance on funding side:
0.000478cWGBPC - Deployer shortfall:
0.002461cWGBPC - Covered:
False
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${ETHEREUM_MAINNET_RPC}"
export INTEGRATION="0xa9F284eD010f4F7d7F8F201742b49b9f58e29b84"
export POOL="0x5488042dF882893a3e7074453E2005CaDE4101b0"
export BASE_TOKEN="0xc074007dc0bfb384b1cf6426a56287ed23fe4d52"
export QUOTE_TOKEN="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
export BASE_IN_RAW=REPLACE_BASE_IN_RAW
export MIN_QUOTE_OUT_RAW=REPLACE_MIN_QUOTE_OUT_RAW
cast send "$BASE_TOKEN" 'approve(address,uint256)(bool)' "$INTEGRATION" "$BASE_IN_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
cast send "$INTEGRATION" 'swapExactIn(address,address,uint256,uint256)' "$POOL" "$BASE_TOKEN" "$BASE_IN_RAW" "$MIN_QUOTE_OUT_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
1 Ethereum Mainnet cWJPYC/USDC
- Suggested funding side:
cWJPYC - Suggested trade raw:
26502 - Suggested trade units:
0.026502 - Gap fraction:
0.235364 - Deployer balance on funding side:
0cWJPYC - Deployer shortfall:
0.026502cWJPYC - Covered:
False
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${ETHEREUM_MAINNET_RPC}"
export INTEGRATION="0xa9F284eD010f4F7d7F8F201742b49b9f58e29b84"
export POOL="0x8A4187dF0A8FE855cC53A4F7B2D8346588Ee9794"
export BASE_TOKEN="0x07EEd0D7dD40984e47B9D3a3bdded1c536435582"
export QUOTE_TOKEN="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
export BASE_IN_RAW=REPLACE_BASE_IN_RAW
export MIN_QUOTE_OUT_RAW=REPLACE_MIN_QUOTE_OUT_RAW
cast send "$BASE_TOKEN" 'approve(address,uint256)(bool)' "$INTEGRATION" "$BASE_IN_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
cast send "$INTEGRATION" 'swapExactIn(address,address,uint256,uint256)' "$POOL" "$BASE_TOKEN" "$BASE_IN_RAW" "$MIN_QUOTE_OUT_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
1 Ethereum Mainnet cWUSDC/USDC
- Suggested funding side:
USDC - Suggested trade raw:
665998742 - Suggested trade units:
665.998742 - Gap fraction:
0.754801 - Deployer balance on funding side:
52.51225USDC - Deployer shortfall:
613.486492USDC - Covered:
False
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${ETHEREUM_MAINNET_RPC}"
export INTEGRATION="0xa9F284eD010f4F7d7F8F201742b49b9f58e29b84"
export POOL="0x69776fc607e9edA8042e320e7e43f54d06c68f0E"
export BASE_TOKEN="0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a"
export QUOTE_TOKEN="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
export QUOTE_IN_RAW=REPLACE_QUOTE_IN_RAW
export MIN_BASE_OUT_RAW=REPLACE_MIN_BASE_OUT_RAW
cast send "$QUOTE_TOKEN" 'approve(address,uint256)(bool)' "$INTEGRATION" "$QUOTE_IN_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
cast send "$INTEGRATION" 'swapExactIn(address,address,uint256,uint256)' "$POOL" "$QUOTE_TOKEN" "$QUOTE_IN_RAW" "$MIN_BASE_OUT_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
1 Ethereum Mainnet cWUSDT/USDC
- Suggested funding side:
USDC - Suggested trade raw:
7071662 - Suggested trade units:
7.071662 - Gap fraction:
0.756229 - Deployer balance on funding side:
52.51225USDC - Deployer shortfall:
0USDC - Covered:
True
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${ETHEREUM_MAINNET_RPC}"
export INTEGRATION="0xa9F284eD010f4F7d7F8F201742b49b9f58e29b84"
export POOL="0x27f3aE7EE71Be3d77bAf17d4435cF8B895DD25D2"
export BASE_TOKEN="0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE"
export QUOTE_TOKEN="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
export QUOTE_IN_RAW=REPLACE_QUOTE_IN_RAW
export MIN_BASE_OUT_RAW=REPLACE_MIN_BASE_OUT_RAW
cast send "$QUOTE_TOKEN" 'approve(address,uint256)(bool)' "$INTEGRATION" "$QUOTE_IN_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
cast send "$INTEGRATION" 'swapExactIn(address,address,uint256,uint256)' "$POOL" "$QUOTE_TOKEN" "$QUOTE_IN_RAW" "$MIN_BASE_OUT_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
100 Gnosis Chain cWAUDC/USDC
- Suggested funding side:
cWAUDC - Suggested trade raw:
0 - Suggested trade units:
0 - Gap fraction:
0.515152 - Deployer balance on funding side:
0cWAUDC - Deployer shortfall:
0cWAUDC - Covered:
True - Reserve snapshot:
baseRaw=0 quoteRaw=0 - Sizing note:
Pool reports zero vault reserves; heuristic trade size is informational only.
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${GNOSIS_RPC_URL}"
export INTEGRATION="0x5866c2CeAfcdB36375A731532B434c370885678a"
export POOL="0xeb5A688dF70be2F790719872Be9Ecc5648aEE460"
export BASE_TOKEN="0xddc4063f770f7c49d00b5a10fb552e922aa39b2c"
export QUOTE_TOKEN="0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83"
export BASE_IN_RAW=REPLACE_BASE_IN_RAW
export MIN_QUOTE_OUT_RAW=REPLACE_MIN_QUOTE_OUT_RAW
cast send "$BASE_TOKEN" 'approve(address,uint256)(bool)' "$INTEGRATION" "$BASE_IN_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
cast send "$INTEGRATION" 'swapExactIn(address,address,uint256,uint256)' "$POOL" "$BASE_TOKEN" "$BASE_IN_RAW" "$MIN_QUOTE_OUT_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
137 Polygon cWAUDC/USDC
- Suggested funding side:
unknown - Suggested trade raw:
unknown - Suggested trade units:
unknown - Gap fraction:
unknown - Deployer balance on funding side:
unknown`` - Deployer shortfall:
unknown`` - Covered:
unknown - Sizing note:
Error: contract 0xc21223249ca28397b4b6541dffaecc539bff0c59 does not have any code
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${POLYGON_MAINNET_RPC}"
export INTEGRATION="0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5"
export POOL="0xbD34966FE5Eed81AFffF8081e9BB527Fc8066783"
export BASE_TOKEN="0xFb4B6Cc81211F7d886950158294A44C312abCA29"
export QUOTE_TOKEN="0xc21223249CA28397B4B6541dfFaEcC539BfF0c59"
export BASE_IN_RAW=REPLACE_BASE_IN_RAW
export MIN_QUOTE_OUT_RAW=REPLACE_MIN_QUOTE_OUT_RAW
cast send "$BASE_TOKEN" 'approve(address,uint256)(bool)' "$INTEGRATION" "$BASE_IN_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
cast send "$INTEGRATION" 'swapExactIn(address,address,uint256,uint256)' "$POOL" "$BASE_TOKEN" "$BASE_IN_RAW" "$MIN_QUOTE_OUT_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
43114 Avalanche C-Chain cWAUDC/USDC
- Suggested funding side:
cWAUDC - Suggested trade raw:
0 - Suggested trade units:
0 - Gap fraction:
0.515152 - Deployer balance on funding side:
0cWAUDC - Deployer shortfall:
0cWAUDC - Covered:
True - Reserve snapshot:
baseRaw=0 quoteRaw=0 - Sizing note:
Pool reports zero vault reserves; heuristic trade size is informational only.
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${AVALANCHE_RPC_URL}"
export INTEGRATION="0xf1B771c95573113E993374c0c7cB2dc1a7908B12"
export POOL="0x287edaBDA35195592d7CACe2C1A75eC66caF1D70"
export BASE_TOKEN="0x04e1e22b0d41e99f4275bd40a50480219bc9a223"
export QUOTE_TOKEN="0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"
export BASE_IN_RAW=REPLACE_BASE_IN_RAW
export MIN_QUOTE_OUT_RAW=REPLACE_MIN_QUOTE_OUT_RAW
cast send "$BASE_TOKEN" 'approve(address,uint256)(bool)' "$INTEGRATION" "$BASE_IN_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
cast send "$INTEGRATION" 'swapExactIn(address,address,uint256,uint256)' "$POOL" "$BASE_TOKEN" "$BASE_IN_RAW" "$MIN_QUOTE_OUT_RAW" \
--private-key "$PRIVATE_KEY" --rpc-url "$RPC_URL"
56 BSC (BNB Chain) cWAUSDT/cWUSDC
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${BSC_RPC_URL}"
export ROUTER="0x10ED43C718714eb63d5aA57B78B54704E256024E"
export PAIR="0x639D7e64C6f1fC676226f20a0C42aEcDD66545E8"
export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934"
export TOKEN_B="0x5355148C4740fcc3D7a96F05EdD89AB14851206b"
export AMOUNT_A_RAW=REPLACE_AMOUNT_A_RAW
export AMOUNT_B_RAW=REPLACE_AMOUNT_B_RAW
export DEADLINE="$(( $(date +%s) + 3600 ))"
export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")"
# Optional: remove bad LP first if you control LP tokens for this pair.
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"
56 BSC (BNB Chain) cWAUSDT/cWUSDT
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${BSC_RPC_URL}"
export ROUTER="0x10ED43C718714eb63d5aA57B78B54704E256024E"
export PAIR="0xe9b082bAa73Fa4DEc7CB3CbD99B19D30BbfE1523"
export TOKEN_A="0xe1a51Bc037a79AB36767561B147eb41780124934"
export TOKEN_B="0x9a1D0dBEE997929ED02fD19E0E199704d20914dB"
export AMOUNT_A_RAW=REPLACE_AMOUNT_A_RAW
export AMOUNT_B_RAW=REPLACE_AMOUNT_B_RAW
export DEADLINE="$(( $(date +%s) + 3600 ))"
export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")"
# Optional: remove bad LP first if you control LP tokens for this pair.
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"
137 Polygon cWAUSDT/cWUSDC
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${POLYGON_MAINNET_RPC}"
export ROUTER="0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff"
export PAIR="0xe6a5Cb164D4AF7E9794AEd09EC373392D0E7216c"
export TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7"
export TOKEN_B="0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4"
export AMOUNT_A_RAW=REPLACE_AMOUNT_A_RAW
export AMOUNT_B_RAW=REPLACE_AMOUNT_B_RAW
export DEADLINE="$(( $(date +%s) + 3600 ))"
export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")"
# Optional: remove bad LP first if you control LP tokens for this pair.
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"
137 Polygon cWAUSDT/cWUSDT
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${POLYGON_MAINNET_RPC}"
export ROUTER="0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff"
export PAIR="0x8cD2Cb42B81F894eb10D15446DB22A3B31d6fB2E"
export TOKEN_A="0xf12e262F85107df26741726b074606CaFa24AAe7"
export TOKEN_B="0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF"
export AMOUNT_A_RAW=REPLACE_AMOUNT_A_RAW
export AMOUNT_B_RAW=REPLACE_AMOUNT_B_RAW
export DEADLINE="$(( $(date +%s) + 3600 ))"
export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")"
# Optional: remove bad LP first if you control LP tokens for this pair.
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"
42220 Celo cWAUSDT/cWUSDC
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${CELO_RPC_URL}"
export ROUTER="0xE3D8bd6Aed4F159bc8000a9cD47CffDb95F96121"
export PAIR="0xd3B55d6d7C08fDbF5F201e486992643cfF410d91"
export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e"
export TOKEN_B="0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3"
export AMOUNT_A_RAW=REPLACE_AMOUNT_A_RAW
export AMOUNT_B_RAW=REPLACE_AMOUNT_B_RAW
export DEADLINE="$(( $(date +%s) + 3600 ))"
export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")"
# Optional: remove bad LP first if you control LP tokens for this pair.
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"
42220 Celo cWAUSDT/cWUSDT
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${CELO_RPC_URL}"
export ROUTER="0xE3D8bd6Aed4F159bc8000a9cD47CffDb95F96121"
export PAIR="0xEe9eEBf89C1424e63eFc888929E43a9423357D39"
export TOKEN_A="0xC158b6cD3A3088C52F797D41f5Aa02825361629e"
export TOKEN_B="0x73376eB92c16977B126dB9112936A20Fa0De3442"
export AMOUNT_A_RAW=REPLACE_AMOUNT_A_RAW
export AMOUNT_B_RAW=REPLACE_AMOUNT_B_RAW
export DEADLINE="$(( $(date +%s) + 3600 ))"
export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")"
# Optional: remove bad LP first if you control LP tokens for this pair.
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"
43114 Avalanche C-Chain cWAUSDT/cWUSDC
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${AVALANCHE_RPC_URL}"
export ROUTER="0x60aE616a2155Ee3d9A68541Ba4544862310933d4"
export PAIR="0xaaD6aed8d28B0195D19B4d17F8ee9A1837ff2DCE"
export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254"
export TOKEN_B="0x0C242b513008Cd49C89078F5aFb237A3112251EB"
export AMOUNT_A_RAW=REPLACE_AMOUNT_A_RAW
export AMOUNT_B_RAW=REPLACE_AMOUNT_B_RAW
export DEADLINE="$(( $(date +%s) + 3600 ))"
export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")"
# Optional: remove bad LP first if you control LP tokens for this pair.
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"
43114 Avalanche C-Chain cWAUSDT/cWUSDT
source smom-dbis-138/scripts/load-env.sh >/dev/null
export RPC_URL="${AVALANCHE_RPC_URL}"
export ROUTER="0x60aE616a2155Ee3d9A68541Ba4544862310933d4"
export PAIR="0x418322F48D857277ec4BCc96Bc1580aCCB7EA253"
export TOKEN_A="0xff3084410A732231472Ee9f93F5855dA89CC5254"
export TOKEN_B="0x8142BA530B08f3950128601F00DaaA678213DFdf"
export AMOUNT_A_RAW=REPLACE_AMOUNT_A_RAW
export AMOUNT_B_RAW=REPLACE_AMOUNT_B_RAW
export DEADLINE="$(( $(date +%s) + 3600 ))"
export SIGNER="$(cast wallet address --private-key "$PRIVATE_KEY")"
# Optional: remove bad LP first if you control LP tokens for this pair.
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"