diff --git a/config/deployment-status.json b/config/deployment-status.json index 30f7b76..9437aaa 100644 --- a/config/deployment-status.json +++ b/config/deployment-status.json @@ -1,10 +1,273 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "description": "Deployed graph: per-chain cW* addresses, anchor addresses, PMM pool existence and params. Gas-native rollout adds gasMirrors, gasPmmPools, gasReferenceVenues, and gasQuoteAddresses so compliant cW gas lanes can publish DODO PMM, Uniswap v3 reference, Balancer, Curve, and 1inch exposure state alongside the stable mesh.", - "version": "1.3.0", - "updated": "2026-04-17", + "version": "1.4.1", + "updated": "2026-04-20", "homeChainId": 138, "chains": { + "138": { + "name": "DeFi Oracle Meta Mainnet (Chain 138)", + "anchorAddresses": { + "USDT": "0x004b63A7B5b0E06f6bB6adb4a5F9f590BF3182D1", + "USDC": "0x71D6687F38b93CCad569Fa6352c876eea967201b", + "WETH": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + "bridgeAvailable": true, + "pmmPools": [ + { + "base": "cUSDT", + "quote": "cUSDC", + "poolAddress": "0x9e89bAe009adf128782E19e8341996c596ac40dC", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cUSDT", + "quote": "USDT", + "poolAddress": "0x866Cb44b59303d8dc5f4F9E3E7A8e8b0bf238d66", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cUSDC", + "quote": "USDC", + "poolAddress": "0xc39B7D0F40838cbFb54649d327f49a6DAC964062", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cEURC", + "quote": "cUSDC", + "poolAddress": "0x5efD4771e35B9A101Bc0f4E44905b3c77292D95D", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cEURT", + "quote": "cUSDC", + "poolAddress": "0xC479ad0c2333c7738DFA13Ef9E0d3eD2De53F191", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cGBPC", + "quote": "cUSDC", + "poolAddress": "0xb7fe7C3B71580f9BcE496076dc8b0B4B40A06edd", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cGBPT", + "quote": "cUSDC", + "poolAddress": "0x77aEfcd4E25eFf32A680057879fB176aF4a66838", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cAUDC", + "quote": "cUSDC", + "poolAddress": "0x034B89E3F050F48849139E37813EdFd048253876", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cJPYC", + "quote": "cUSDC", + "poolAddress": "0xD6a83bb947Ea062580c220e03B37E44C9532FA2c", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cCHFC", + "quote": "cUSDC", + "poolAddress": "0x9fd00d9875cBd1b8F54F51e153ade0D7DC87f05B", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cCADC", + "quote": "cUSDC", + "poolAddress": "0xf9dEd79Ff2a481C1c6aD6Bfb2114b488Aba567F5", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cXAUC", + "quote": "cUSDC", + "poolAddress": "0xDC4968F0B665ccDffBba6eB23902e95b5b3B097B", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cXAUT", + "quote": "cUSDC", + "poolAddress": "0x8C7874d1040377be410c1140A1B5E1B869fbBe30", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cEURC", + "quote": "cEURT", + "poolAddress": "0x0F2f82bf28e7844898BFABf35A5566681fC2f7ab", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cGBPC", + "quote": "cGBPT", + "poolAddress": "0x7B3CD08B46b7b1EAD9F5cB5AcEaf1Db298A39db5", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cXAUC", + "quote": "cXAUT", + "poolAddress": "0x89e0304B724E87F816A1c72e716949d4DbC9c4d5", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cUSDT", + "quote": "WETH", + "poolAddress": "0xaE38a008Ba4Dbf8D9F141D03e9dC8f7Dbe0ce17c", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cUSDC", + "quote": "WETH", + "poolAddress": "0xAAE68830a55767722618E869882c6Ed064Cc1eb2", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cEURC", + "quote": "WETH", + "poolAddress": "0xbF534b5bc92b43DBC907Dedf3Fc3A23C571C2D77", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cEURT", + "quote": "WETH", + "poolAddress": "0x4a64c886cedF00db42ea5B946D6b304121ad9529", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cGBPC", + "quote": "WETH", + "poolAddress": "0xE4355CaF23B9487758A60e0BA43174A3Eed0Cb1D", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cGBPT", + "quote": "WETH", + "poolAddress": "0xA55c322580Ae3C14DB6CFA8FbB264a99632186d8", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cAUDC", + "quote": "WETH", + "poolAddress": "0x3068da5d0aB1E31100910e9c6FCEa72617d42151", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cJPYC", + "quote": "WETH", + "poolAddress": "0x21C7ED2Ed7fD8A7518F75FFB63BB9029225766dD", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cCHFC", + "quote": "WETH", + "poolAddress": "0xc316038D686594f6eb5bb7fB87e58e2E4D1A137B", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cCADC", + "quote": "WETH", + "poolAddress": "0xEB8Fc45659A2b911527E2Cd484936C5266B9da9F", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cXAUC", + "quote": "WETH", + "poolAddress": "0x6fcfc82Ff1b795fD8F53eDdD04144F20c1669e38", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cXAUT", + "quote": "WETH", + "poolAddress": "0x43fE1A62803C033a9777F48A1BbDd1d66331b1c3", + "feeBps": 3, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + } + ] + }, "1": { "name": "Ethereum Mainnet", "cwTokens": { @@ -43,8 +306,9 @@ "poolAddress": "0x69776fc607e9edA8042e320e7e43f54d06c68f0E", "feeBps": 3, "k": 0, - "role": "public_routing", - "publicRoutingEnabled": true + "role": "defense", + "publicRoutingEnabled": false, + "maxTradeSizeUnits": 2964298 }, { "base": "cWUSDT", @@ -189,7 +453,7 @@ "cWETH": "0xf6dc5587e18f27adff60e303fdd98f35b50fa8a5" }, "gasQuoteAddresses": { - "WETH": "0xaa11000000000000000000000000000000000001", + "WETH": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "USDC": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, "gasPmmPools": [ @@ -197,30 +461,32 @@ "familyKey": "eth_mainnet", "base": "cWETH", "quote": "WETH", - "poolAddress": "0xd011000000000000000000000000000000000001", - "feeBps": 30, - "k": 500000000000000000, + "poolAddress": "0x746E5e7382603cbaff985C18262afd4f30C51e39", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "wrapped_native", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] }, { "familyKey": "eth_mainnet", "base": "cWETH", "quote": "USDC", - "poolAddress": "0xd012000000000000000000000000000000000001", - "feeBps": 30, - "k": 350000000000000000, + "poolAddress": "0x94ee8EE32FCD86aCa362481160c5eEc1afa6C639", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "stable_quote", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] } ], @@ -325,8 +591,8 @@ "cWBTC": "0xcb7c00000000000000000000000000000000000a" }, "anchorAddresses": { - "USDC": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", - "USDT": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F" + "USDC": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", + "USDT": "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58" }, "pmmPools": [ { @@ -452,7 +718,7 @@ { "base": "cWUSDC", "quote": "USDC", - "poolAddress": "0x8F1038dE06d799a30D16d8B0b0ADEe629e7d4547", + "poolAddress": "0x022a8835b5c8fd6714cE33c783a426398468702B", "feeBps": 3, "k": 500000000000000000, "role": "public_routing", @@ -461,7 +727,7 @@ { "base": "cWUSDT", "quote": "USDT", - "poolAddress": "0xFCB0b0Ac36d67EDBA91100c75C27De945357CD62", + "poolAddress": "0x0630059fc9a629DABAC1244c9f021A33A71B098f", "feeBps": 3, "k": 500000000000000000, "role": "public_routing", @@ -503,7 +769,7 @@ "cWETHL2": "0x95007ec50d0766162f77848edf7bdc4eba147fb4" }, "gasQuoteAddresses": { - "WETH": "0xaa2100000000000000000000000000000000000a", + "WETH": "0x4200000000000000000000000000000000000006", "USDC": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85" }, "gasPmmPools": [ @@ -511,30 +777,32 @@ "familyKey": "eth_l2", "base": "cWETHL2", "quote": "WETH", - "poolAddress": "0xd02100000000000000000000000000000000000a", - "feeBps": 30, - "k": 500000000000000000, + "poolAddress": "0xA9fC99fd6C1B665CC385156a088c637972e3d34A", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "wrapped_native", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] }, { "familyKey": "eth_l2", "base": "cWETHL2", "quote": "USDC", - "poolAddress": "0xd02200000000000000000000000000000000000a", - "feeBps": 30, - "k": 350000000000000000, + "poolAddress": "0xB018cdB90ec1EF6cf729Bc7DfF4330EE1D97474a", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "stable_quote", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] } ], @@ -629,14 +897,14 @@ "cWBTC": "0xcb7c000000000000000000000000000000000019" }, "anchorAddresses": { - "USDC": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", - "USDT": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F" + "USDC": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "USDT": "0x66e428c3f67a68878562e79A0234c1F83c208770" }, "pmmPools": [ { "base": "cWUSDT", "quote": "USDT", - "poolAddress": "0xFCB0b0Ac36d67EDBA91100c75C27De945357CD62", + "poolAddress": "0xb4F3d4C8995032690837543438ac40BA5cbfd8Fe", "feeBps": 3, "k": 500000000000000000, "role": "public_routing", @@ -645,7 +913,7 @@ { "base": "cWUSDC", "quote": "USDC", - "poolAddress": "0x8F1038dE06d799a30D16d8B0b0ADEe629e7d4547", + "poolAddress": "0x72c50bb2c621a2C10E162776D0D210d3C9f8Ac02", "feeBps": 3, "k": 500000000000000000, "role": "public_routing", @@ -807,38 +1075,40 @@ "cWCRO": "0x9b10eb0f77c45322dbd1fcb07176fd9a7609c164" }, "gasQuoteAddresses": { - "WCRO": "0xaa61000000000000000000000000000000000019", - "USDT": "0x66e4286603D22FF153A6547700f37C7Eae42F8E2" + "WCRO": "0x5C7F8A570d578ED84E63fdFA7b1eE72dEae1AE23", + "USDT": "0x66e428c3f67a68878562e79A0234c1F83c208770" }, "gasPmmPools": [ { "familyKey": "cro", "base": "cWCRO", "quote": "WCRO", - "poolAddress": "0xd061000000000000000000000000000000000019", - "feeBps": 30, - "k": 500000000000000000, + "poolAddress": "0x31a1F3fBe7C61936a9c639A355f6b735A53241A1", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "wrapped_native", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] }, { "familyKey": "cro", "base": "cWCRO", "quote": "USDT", - "poolAddress": "0xd062000000000000000000000000000000000019", - "feeBps": 30, - "k": 350000000000000000, + "poolAddress": "0x0a1e33387d55F726233EDA0ee229047DF9145723", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "stable_quote", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] } ], @@ -1088,7 +1358,7 @@ "cWBNB": "0x179034a08ac2c9c35d2e41239f68c79dca6f18fa" }, "gasQuoteAddresses": { - "WBNB": "0xaa31000000000000000000000000000000000038", + "WBNB": "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c", "USDT": "0x55d398326f99059fF775485246999027B3197955" }, "gasPmmPools": [ @@ -1096,30 +1366,32 @@ "familyKey": "bnb", "base": "cWBNB", "quote": "WBNB", - "poolAddress": "0xd031000000000000000000000000000000000038", - "feeBps": 30, - "k": 500000000000000000, + "poolAddress": "0x5183fd157BA046E50E65375136A83FC1BcD88184", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "wrapped_native", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] }, { "familyKey": "bnb", "base": "cWBNB", "quote": "USDT", - "poolAddress": "0xd032000000000000000000000000000000000038", - "feeBps": 30, - "k": 350000000000000000, + "poolAddress": "0x5eb7c86c935A22d096D45c2A597B4a8f88Be06e5", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "stable_quote", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] } ], @@ -1387,7 +1659,7 @@ "cWXDAI": "0x9f833b4f1012f52eb3317b09922a79c6edfca77d" }, "gasQuoteAddresses": { - "WXDAI": "0xaa71000000000000000000000000000000000064", + "WXDAI": "0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d", "USDC": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83" }, "gasPmmPools": [ @@ -1395,30 +1667,32 @@ "familyKey": "xdai", "base": "cWXDAI", "quote": "WXDAI", - "poolAddress": "0xd071000000000000000000000000000000000064", - "feeBps": 30, - "k": 500000000000000000, + "poolAddress": "0x528579867e2914723029b18fD0E5798f3DB7D337", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "wrapped_native", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] }, { "familyKey": "xdai", "base": "cWXDAI", "quote": "USDC", - "poolAddress": "0xd072000000000000000000000000000000000064", - "feeBps": 30, - "k": 350000000000000000, + "poolAddress": "0x6AC4D7E3d2Ef5d94744B3a5BC1f5cE18682383C0", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "stable_quote", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] } ], @@ -1514,8 +1788,8 @@ "cWBTC": "0xcb7c000000000000000000000000000000000089" }, "anchorAddresses": { - "USDC": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", - "USDT": "0x66e4286603D22FF153A6547700f37C7Eae42F8E2" + "USDC": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", + "USDT": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F" }, "pmmPools": [ { @@ -1692,7 +1966,7 @@ "cWPOL": "0x25980244aacecb6d8c4b887261ed27f87cb2fc73" }, "gasQuoteAddresses": { - "WPOL": "0xaa41000000000000000000000000000000000089", + "WPOL": "0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270", "USDC": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359" }, "gasPmmPools": [ @@ -1700,30 +1974,32 @@ "familyKey": "pol", "base": "cWPOL", "quote": "WPOL", - "poolAddress": "0xd041000000000000000000000000000000000089", - "feeBps": 30, - "k": 500000000000000000, + "poolAddress": "0x381E9926115871066f777D69e6Ea4b25E390e1a4", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "wrapped_native", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] }, { "familyKey": "pol", "base": "cWPOL", "quote": "USDC", - "poolAddress": "0xd042000000000000000000000000000000000089", - "feeBps": 30, - "k": 350000000000000000, + "poolAddress": "0x3ea5Dfb986BA869106FBE36eA829aCD2e6126f53", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "stable_quote", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] } ], @@ -1822,12 +2098,12 @@ }, "1111": { "name": "Wemix", - "activationState": "deferred", + "activationState": "planned_gas_scaffold", "cwTokens": { "cWBTC": "0xcb7c000000000000000000000000000000000457" }, "anchorAddresses": { - "USDC": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C" + "USDC": "0xE3F5a90F9cb311505cd691a46596599aA1A0AD7D" }, "pmmPools": [], "bridgeAvailable": false, @@ -1835,8 +2111,8 @@ "cWWEMIX": "0xc111000000000000000000000000000000000457" }, "gasQuoteAddresses": { - "WWEMIX": "0xaa91000000000000000000000000000000000457", - "USDC": "0xaa1c000000000000000000000000000000000457" + "WWEMIX": "0x7D72b22a74A216Af4a002a1095C8C707d6eC1C5f", + "USDC": "0xE3F5a90F9cb311505cd691a46596599aA1A0AD7D" }, "gasPmmPools": [ { @@ -2103,7 +2379,7 @@ "cWETHL2": "0x2a0840e5117683b11682ac46f5cf5621e67269e3" }, "gasQuoteAddresses": { - "WETH": "0xaa21000000000000000000000000000000002105", + "WETH": "0x4200000000000000000000000000000000000006", "USDC": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" }, "gasPmmPools": [ @@ -2111,30 +2387,32 @@ "familyKey": "eth_l2", "base": "cWETHL2", "quote": "WETH", - "poolAddress": "0xd021000000000000000000000000000000002105", - "feeBps": 30, - "k": 500000000000000000, + "poolAddress": "0x3722Ebb81e4Fb97E13A4675Da9db72D55Ed8e73a", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "wrapped_native", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] }, { "familyKey": "eth_l2", "base": "cWETHL2", "quote": "USDC", - "poolAddress": "0xd022000000000000000000000000000000002105", - "feeBps": 30, - "k": 350000000000000000, + "poolAddress": "0x07B2b5A74CD846c4732a7F45DA25e6794c9EBC84", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "stable_quote", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] } ], @@ -2389,7 +2667,7 @@ "cWETHL2": "0xe27be001bc55cb2a8ed5ba5a62c834ca135244a3" }, "gasQuoteAddresses": { - "WETH": "0xaa2100000000000000000000000000000000a4b1", + "WETH": "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1", "USDC": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" }, "gasPmmPools": [ @@ -2676,7 +2954,7 @@ "cWCELO": "0xb0fa7ec4123c7c275b3a89d9239569707ea3c66a" }, "gasQuoteAddresses": { - "WCELO": "0xaa8100000000000000000000000000000000a4ec", + "WCELO": "0x2021B12D8138e2D63cF0895eccABC0DFc92416c6", "USDC": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C" }, "gasPmmPools": [ @@ -2684,30 +2962,32 @@ "familyKey": "celo", "base": "cWCELO", "quote": "WCELO", - "poolAddress": "0xd08100000000000000000000000000000000a4ec", - "feeBps": 30, - "k": 500000000000000000, + "poolAddress": "0x7f84A510a4eeCf9AbCd498Fc5DE89112e8C8754d", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "wrapped_native", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] }, { "familyKey": "celo", "base": "cWCELO", "quote": "USDC", - "poolAddress": "0xd08200000000000000000000000000000000a4ec", - "feeBps": 30, - "k": 350000000000000000, + "poolAddress": "0xdBc8cAc647CEA82f402a0E7bcdb19865D54F85DF", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "stable_quote", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] } ], @@ -2801,6 +3081,29 @@ } ] }, + "651940": { + "name": "ALL Mainnet (Alltra)", + "activationState": "bridge_live_swap_inventory_pending", + "anchorAddresses": { + "WETH": "0x798F6762BB40d6801A593459d08F890603D3979C", + "AUSDT": "0x015B1897Ed5279930bC2Be46F661894d219292A6", + "AUSDC": "0xa95EeD79f84E6A0151eaEb9d441F9Ffd50e8e881" + }, + "documentedTokens": { + "AUSDT": "0x015B1897Ed5279930bC2Be46F661894d219292A6", + "USDT": "0x66D8Efa0AF63B0e84eb1Dd72bf00f00cd1e2234e", + "USDC": "0xa95EeD79f84E6A0151eaEb9d441F9Ffd50e8e881", + "WETH": "0x798F6762BB40d6801A593459d08F890603D3979C", + "WALL": "0x2da2b8f961F161ab6320acB3377e2e844a3C3ce4", + "HYDX": "0x0d9793861AEB9244AD1B34375a83A6730F6AdD38", + "HYBX": "0x1839f77eBed7F388c7035f7061B4B8Ef0E72317a", + "CHT": "0xE59Bb804F4884FcEA183a4A67B1bb04f4a4567bc", + "AUDA": "0x690740f055A41FA7669f5a379Bf71B0cDF353073" + }, + "bridgeAvailable": true, + "pmmPools": [], + "uniswapV2Pools": [] + }, "43114": { "name": "Avalanche C-Chain", "cwTokens": { @@ -2980,7 +3283,7 @@ "cWAVAX": "0xe1d4aee2ef8f48a20338935188a8fe7f7c7de7d0" }, "gasQuoteAddresses": { - "WAVAX": "0xaa5100000000000000000000000000000000a86a", + "WAVAX": "0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7", "USDC": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E" }, "gasPmmPools": [ @@ -2988,30 +3291,32 @@ "familyKey": "avax", "base": "cWAVAX", "quote": "WAVAX", - "poolAddress": "0xd05100000000000000000000000000000000a86a", - "feeBps": 30, - "k": 500000000000000000, + "poolAddress": "0x19F7649Ef0C7D5e721BF63e4B383b1023200AF0C", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "wrapped_native", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] }, { "familyKey": "avax", "base": "cWAVAX", "quote": "USDC", - "poolAddress": "0xd05200000000000000000000000000000000a86a", - "feeBps": 30, - "k": 350000000000000000, + "poolAddress": "0x8607546F7f3D836Ceb048fb707E4C61A33401c77", + "feeBps": 3, + "k": "500000000000000000", "role": "public_routing", "poolType": "stable_quote", "venue": "dodo_pmm", - "publicRoutingEnabled": false, + "publicRoutingEnabled": true, "notes": [ - "placeholder_scaffold_not_live" + "created_live_2026-04-21", + "unseeded_pending_base_and_quote_liquidity" ] } ], diff --git a/scripts/validate-deployment-status.cjs b/scripts/validate-deployment-status.cjs index bf8ae0a..6921dac 100644 --- a/scripts/validate-deployment-status.cjs +++ b/scripts/validate-deployment-status.cjs @@ -24,6 +24,7 @@ const PHASE1_CW = ['cWUSDT', 'cWUSDC']; const VALID_ROLES = ['defense', 'public_routing', 'truu_routing']; const VALID_REFERENCE_PROTOCOLS = ['uniswap_v3', 'balancer', 'curve', '1inch']; const VALID_NATIVE_REFERENCE_PROTOCOLS = ['uniswap_v3', 'balancer', 'curve']; +const HOME_CHAIN_CANONICAL_PREFIXES = ['c']; function looksPlaceholderAddress(address) { if (!address || typeof address !== 'string') return false; @@ -105,6 +106,7 @@ function validateUniswapV2Entries(chainId, pools, knownTokens, errors) { function main() { const status = loadJson(DEPLOYMENT_STATUS_PATH); const chains = status.chains || {}; + const homeChainId = String(status.homeChainId || ''); const errors = []; for (const [chainId, chain] of Object.entries(chains)) { @@ -119,7 +121,10 @@ function main() { const gasReferenceVenues = chain.gasReferenceVenues || []; const bridgeAvailable = chain.bridgeAvailable; - if (bridgeAvailable === true) { + const isHomeChain = chainId === homeChainId; + const skipPhase1Requirement = isHomeChain || chainId === '651940'; + + if (bridgeAvailable === true && !skipPhase1Requirement) { for (const sym of PHASE1_CW) { if (!cwTokens[sym] || typeof cwTokens[sym] !== 'string' || !cwTokens[sym].trim()) { errors.push(`Chain ${chainId} (${chain.name}): bridgeAvailable=true but cwTokens.${sym} missing or empty`); @@ -134,6 +139,19 @@ function main() { ...Object.keys(gasQuoteAddresses), ]); + if (isHomeChain) { + for (const pool of [...pmmPools, ...pmmPoolsVolatile]) { + const base = pool.base ?? pool.tokenIn; + const quote = pool.quote ?? pool.tokenOut; + if (typeof base === 'string' && HOME_CHAIN_CANONICAL_PREFIXES.some((prefix) => base.startsWith(prefix))) { + knownTokens.add(base); + } + if (typeof quote === 'string' && HOME_CHAIN_CANONICAL_PREFIXES.some((prefix) => quote.startsWith(prefix))) { + knownTokens.add(quote); + } + } + } + validatePoolEntries(chainId, pmmPools, 'pmmPools', knownTokens, errors); validateUniswapV2Entries(chainId, uniswapV2Pools, knownTokens, errors); validatePoolEntries(chainId, pmmPoolsVolatile, 'pmmPoolsVolatile', knownTokens, errors);