diff --git a/config/deployment-status.json b/config/deployment-status.json index fb08ca1..08f149b 100644 --- a/config/deployment-status.json +++ b/config/deployment-status.json @@ -1,19 +1,229 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "description": "Deployed graph: per-chain cW* addresses, anchor addresses, PMM pool existence and params. Fill to enable deployment-realistic simulation. Empty = design-only simulation.", - "version": "1.0.0", - "updated": "2026-03-25", + "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.2.0", + "updated": "2026-04-05", "homeChainId": 138, "chains": { "1": { "name": "Ethereum Mainnet", "cwTokens": { "cWUSDT": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", - "cWUSDC": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" + "cWUSDC": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "cWEURC": "0xD4aEAa8cD3fB41Dc8437FaC7639B6d91B60A5e8d", + "cWEURT": "0x855d74FFB6CF75721a9bAbc8B2ed35c8119241dC", + "cWGBPC": "0xc074007dc0bfb384b1cf6426a56287ed23fe4d52", + "cWGBPT": "0x1dDF9970F01c76A692Fdba2706203E6f16e0C46F", + "cWAUDC": "0x5020Db641B3Fc0dAbBc0c688C845bc4E3699f35F", + "cWJPYC": "0x07EEd0D7dD40984e47B9D3a3bdded1c536435582", + "cWCHFC": "0x0F91C5E6Ddd46403746aAC970D05d70FFe404780", + "cWCADC": "0x209FE32fe7B541751D190ae4e50cd005DcF8EDb4", + "cWXAUC": "0x572Be0fa8CA0534d642A567CEDb398B771D8a715", + "cWXAUT": "0xACE1DBF857549a11aF1322e1f91F2F64b029c906", + "cWBTC": "0xcb7c000000000000000000000000000000000001" }, - "anchorAddresses": {}, - "pmmPools": [], - "bridgeAvailable": true + "anchorAddresses": { + "USDC": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "USDT": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "TRUU": "0xDAe0faFD65385E7775Cf75b1398735155EF6aCD2" + }, + "pmmPools": [ + { + "base": "cWUSDT", + "quote": "USDC", + "poolAddress": "0x27f3aE7EE71Be3d77bAf17d4435cF8B895DD25D2", + "feeBps": 10, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cWUSDC", + "quote": "USDC", + "poolAddress": "0xB227dDA4e89E2EA63A1345509C9AC02644e8d526", + "feeBps": 10, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cWUSDT", + "quote": "USDT", + "poolAddress": "0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "feeBps": 10, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cWUSDC", + "quote": "USDT", + "poolAddress": "0xCC0fd27A40775c9AfcD2BBd3f7c902b0192c247A", + "feeBps": 10, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cWEURC", + "quote": "USDC", + "poolAddress": "0x0bC750F9c6DbDcd76B205695A356491b1B9ef098", + "feeBps": 10, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cWGBPC", + "quote": "USDC", + "poolAddress": "0x5488042dF882893a3e7074453E2005CaDE4101b0", + "feeBps": 10, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cWAUDC", + "quote": "USDC", + "poolAddress": "0x6c1bD4F43c5f330E50B61DE81066dA7C61a9b5b4", + "feeBps": 10, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cWCADC", + "quote": "USDC", + "poolAddress": "0xE0F35b5736FDd0a2F4B618621b0A08F8D8A3f92A", + "feeBps": 10, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cWJPYC", + "quote": "USDC", + "poolAddress": "0x8A4187dF0A8FE855cC53A4F7B2D8346588Ee9794", + "feeBps": 10, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + }, + { + "base": "cWCHFC", + "quote": "USDC", + "poolAddress": "0x776Ca556deD3245984F504F4bef8Eeec55C50190", + "feeBps": 10, + "k": 0, + "role": "public_routing", + "publicRoutingEnabled": true + } + ], + "pmmPoolsVolatile": [ + { + "base": "cWUSDT", + "quote": "TRUU", + "poolAddress": "0x508E5e80B66204b8CD9869323Fdd3A289ea50993", + "feeBps": 30, + "k": 500000000000000000, + "role": "truu_routing", + "publicRoutingEnabled": false + }, + { + "base": "cWUSDC", + "quote": "TRUU", + "poolAddress": "0x9A632F35078b6A4A9bf27806Bb7aFfAA2F16C846", + "feeBps": 30, + "k": 500000000000000000, + "role": "truu_routing", + "publicRoutingEnabled": false + } + ], + "bridgeAvailable": true, + "gasMirrors": { + "cWETH": "0xce7e000000000000000000000000000000000001" + }, + "gasQuoteAddresses": { + "WETH": "0xaa11000000000000000000000000000000000001", + "USDC": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + "gasPmmPools": [ + { + "familyKey": "eth_mainnet", + "base": "cWETH", + "quote": "WETH", + "poolAddress": "0xd011000000000000000000000000000000000001", + "feeBps": 30, + "k": 500000000000000000, + "role": "public_routing", + "poolType": "wrapped_native", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + }, + { + "familyKey": "eth_mainnet", + "base": "cWETH", + "quote": "USDC", + "poolAddress": "0xd012000000000000000000000000000000000001", + "feeBps": 30, + "k": 350000000000000000, + "role": "public_routing", + "poolType": "stable_quote", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + } + ], + "gasReferenceVenues": [ + { + "familyKey": "eth_mainnet", + "protocol": "uniswap_v3", + "base": "cWETH", + "quote": "WETH", + "venueAddress": "0x7111000000000000000000000000000000000001", + "supported": true, + "live": true, + "routingVisible": true, + "reference": true + }, + { + "familyKey": "eth_mainnet", + "protocol": "balancer", + "base": "cWETH", + "quote": "USDC", + "venueAddress": "0xba11000000000000000000000000000000000001", + "supported": true, + "live": true, + "routingVisible": true, + "reference": false + }, + { + "familyKey": "eth_mainnet", + "protocol": "curve", + "base": "cWETH", + "quote": "USDC", + "venueAddress": "0xc711000000000000000000000000000000000001", + "supported": true, + "live": true, + "routingVisible": true, + "reference": false + }, + { + "familyKey": "eth_mainnet", + "protocol": "1inch", + "base": "cWETH", + "quote": "USDC", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] }, "10": { "name": "Optimism", @@ -21,21 +231,209 @@ "cWUSDT": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", "cWUSDC": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", "cWEURC": "0x4ab39b5bab7b463435209a9039bd40cf241f5a82", - "cWEURT": "0x6f521cd9fcf7884cd4e9486c7790e818638e09dd" + "cWEURT": "0x6f521cd9fcf7884cd4e9486c7790e818638e09dd", + "cWGBPC": "0x3f8c409c6072a2b6a4ff17071927ba70f80c725f", + "cWGBPT": "0x456373d095d6b9260f01709f93fccf1d8aa14d11", + "cWAUDC": "0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef", + "cWJPYC": "0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9", + "cWCHFC": "0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4", + "cWCADC": "0x9f6d2578003fe04e58a9819a4943732f2a203a61", + "cWXAUC": "0xddc4063f770f7c49d00b5a10fb552e922aa39b2c", + "cWXAUT": "0x145e8e8c49b6a021969dd9d2c01c8fea44374f61", + "cWBTC": "0xcb7c00000000000000000000000000000000000a" }, "anchorAddresses": {}, "pmmPools": [], - "bridgeAvailable": true + "bridgeAvailable": true, + "gasMirrors": { + "cWETHL2": "0xce7200000000000000000000000000000000000a" + }, + "gasQuoteAddresses": { + "WETH": "0xaa2100000000000000000000000000000000000a", + "USDC": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85" + }, + "gasPmmPools": [ + { + "familyKey": "eth_l2", + "base": "cWETHL2", + "quote": "WETH", + "poolAddress": "0xd02100000000000000000000000000000000000a", + "feeBps": 30, + "k": 500000000000000000, + "role": "public_routing", + "poolType": "wrapped_native", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + }, + { + "familyKey": "eth_l2", + "base": "cWETHL2", + "quote": "USDC", + "poolAddress": "0xd02200000000000000000000000000000000000a", + "feeBps": 30, + "k": 350000000000000000, + "role": "public_routing", + "poolType": "stable_quote", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + } + ], + "gasReferenceVenues": [ + { + "familyKey": "eth_l2", + "protocol": "uniswap_v3", + "base": "cWETHL2", + "quote": "WETH", + "venueAddress": "0x712100000000000000000000000000000000000a", + "supported": true, + "live": true, + "routingVisible": true, + "reference": true + }, + { + "familyKey": "eth_l2", + "protocol": "balancer", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": "0xba2100000000000000000000000000000000000a", + "supported": true, + "live": true, + "routingVisible": true, + "reference": false + }, + { + "familyKey": "eth_l2", + "protocol": "curve", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": "0xc72100000000000000000000000000000000000a", + "supported": true, + "live": true, + "routingVisible": true, + "reference": false + }, + { + "familyKey": "eth_l2", + "protocol": "1inch", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] }, "25": { "name": "Cronos", "cwTokens": { "cWUSDT": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8", - "cWUSDC": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" + "cWUSDC": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec", + "cWEURC": "0x7574d37F42528B47c88962931e48FC61608a4050", + "cWEURT": "0x9f833b4f1012F52eb3317b09922a79c6EdFca77D", + "cWGBPC": "0xe5c65A76A541368d3061fe9E7A2140cABB903dbF", + "cWGBPT": "0xBb58fa16bAc8E789f09C14243adEE6480D8213A2", + "cWAUDC": "0xff3084410A732231472Ee9f93F5855dA89CC5254", + "cWJPYC": "0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203", + "cWCHFC": "0xB55F49D6316322d5caA96D34C6e4b1003BD3E670", + "cWCADC": "0x32aD687F24F77bF8C86605c202c829163Ac5Ab36", + "cWXAUC": "0xf1B771c95573113E993374c0c7cB2dc1a7908B12", + "cWXAUT": "0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE", + "cWBTC": "0xcb7c000000000000000000000000000000000019" }, "anchorAddresses": {}, "pmmPools": [], - "bridgeAvailable": true + "bridgeAvailable": true, + "gasMirrors": { + "cWCRO": "0xcc20000000000000000000000000000000000019" + }, + "gasQuoteAddresses": { + "WCRO": "0xaa61000000000000000000000000000000000019", + "USDT": "0x66e4286603D22FF153A6547700f37C7Eae42F8E2" + }, + "gasPmmPools": [ + { + "familyKey": "cro", + "base": "cWCRO", + "quote": "WCRO", + "poolAddress": "0xd061000000000000000000000000000000000019", + "feeBps": 30, + "k": 500000000000000000, + "role": "public_routing", + "poolType": "wrapped_native", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + }, + { + "familyKey": "cro", + "base": "cWCRO", + "quote": "USDT", + "poolAddress": "0xd062000000000000000000000000000000000019", + "feeBps": 30, + "k": 350000000000000000, + "role": "public_routing", + "poolType": "stable_quote", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + } + ], + "gasReferenceVenues": [ + { + "familyKey": "cro", + "protocol": "uniswap_v3", + "base": "cWCRO", + "quote": "WCRO", + "venueAddress": "0x7161000000000000000000000000000000000019", + "supported": true, + "live": true, + "routingVisible": true, + "reference": true + }, + { + "familyKey": "cro", + "protocol": "balancer", + "base": "cWCRO", + "quote": "USDT", + "venueAddress": null, + "supported": false, + "live": false, + "routingVisible": false, + "reference": false + }, + { + "familyKey": "cro", + "protocol": "curve", + "base": "cWCRO", + "quote": "USDT", + "venueAddress": null, + "supported": false, + "live": false, + "routingVisible": false, + "reference": false + }, + { + "familyKey": "cro", + "protocol": "1inch", + "base": "cWCRO", + "quote": "USDT", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] }, "56": { "name": "BSC (BNB Chain)", @@ -45,11 +443,104 @@ "cWEURC": "0x50b073d0D1D2f002745cb9FC28a057d5be84911c", "cWEURT": "0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f", "cWAUSDT": "0xe1a51Bc037a79AB36767561B147eb41780124934", - "cWUSDW": "0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55" + "cWUSDW": "0xC2FA05F12a75Ac84ea778AF9D6935cA807275E55", + "cWGBPC": "0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6", + "cWGBPT": "0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B", + "cWAUDC": "0x7062f35567BBAb4d98dc33af03B0d14Df42294D5", + "cWJPYC": "0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097", + "cWCHFC": "0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3", + "cWCADC": "0x9AE7a6B311584D60Fa93f973950d609061875775", + "cWXAUC": "0xCB145bA9A370681e3545F60e55621eBf218B1031", + "cWXAUT": "0x73E0CF8BF861D376B3a4C87c136F975027f045ff", + "cWBTC": "0xcb7c000000000000000000000000000000000038" }, "anchorAddresses": {}, "pmmPools": [], - "bridgeAvailable": true + "bridgeAvailable": true, + "gasMirrors": { + "cWBNB": "0xcb6b000000000000000000000000000000000038" + }, + "gasQuoteAddresses": { + "WBNB": "0xaa31000000000000000000000000000000000038", + "USDT": "0x55d398326f99059fF775485246999027B3197955" + }, + "gasPmmPools": [ + { + "familyKey": "bnb", + "base": "cWBNB", + "quote": "WBNB", + "poolAddress": "0xd031000000000000000000000000000000000038", + "feeBps": 30, + "k": 500000000000000000, + "role": "public_routing", + "poolType": "wrapped_native", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + }, + { + "familyKey": "bnb", + "base": "cWBNB", + "quote": "USDT", + "poolAddress": "0xd032000000000000000000000000000000000038", + "feeBps": 30, + "k": 350000000000000000, + "role": "public_routing", + "poolType": "stable_quote", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + } + ], + "gasReferenceVenues": [ + { + "familyKey": "bnb", + "protocol": "uniswap_v3", + "base": "cWBNB", + "quote": "WBNB", + "venueAddress": "0x7131000000000000000000000000000000000038", + "supported": true, + "live": true, + "routingVisible": true, + "reference": true + }, + { + "familyKey": "bnb", + "protocol": "balancer", + "base": "cWBNB", + "quote": "USDT", + "venueAddress": null, + "supported": false, + "live": false, + "routingVisible": false, + "reference": false + }, + { + "familyKey": "bnb", + "protocol": "curve", + "base": "cWBNB", + "quote": "USDT", + "venueAddress": null, + "supported": false, + "live": false, + "routingVisible": false, + "reference": false + }, + { + "familyKey": "bnb", + "protocol": "1inch", + "base": "cWBNB", + "quote": "USDT", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] }, "100": { "name": "Gnosis Chain", @@ -57,11 +548,104 @@ "cWUSDT": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", "cWUSDC": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", "cWEURC": "0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef", - "cWEURT": "0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9" + "cWEURT": "0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9", + "cWGBPC": "0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4", + "cWGBPT": "0x9f6d2578003fe04e58a9819a4943732f2a203a61", + "cWAUDC": "0xddc4063f770f7c49d00b5a10fb552e922aa39b2c", + "cWJPYC": "0x145e8e8c49b6a021969dd9d2c01c8fea44374f61", + "cWCHFC": "0x46d90d7947f1139477c206c39268923b99cf09e4", + "cWCADC": "0xa7133c78e0ec74503a5941bcbd44257615b6b4f6", + "cWXAUC": "0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45", + "cWXAUT": "0xc6189d404dc60cae7b48e2190e44770a03193e5f", + "cWBTC": "0xcb7c000000000000000000000000000000000064" }, "anchorAddresses": {}, "pmmPools": [], - "bridgeAvailable": true + "bridgeAvailable": true, + "gasMirrors": { + "cWXDAI": "0xcda1000000000000000000000000000000000064" + }, + "gasQuoteAddresses": { + "WXDAI": "0xaa71000000000000000000000000000000000064", + "USDC": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83" + }, + "gasPmmPools": [ + { + "familyKey": "xdai", + "base": "cWXDAI", + "quote": "WXDAI", + "poolAddress": "0xd071000000000000000000000000000000000064", + "feeBps": 30, + "k": 500000000000000000, + "role": "public_routing", + "poolType": "wrapped_native", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + }, + { + "familyKey": "xdai", + "base": "cWXDAI", + "quote": "USDC", + "poolAddress": "0xd072000000000000000000000000000000000064", + "feeBps": 30, + "k": 350000000000000000, + "role": "public_routing", + "poolType": "stable_quote", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + } + ], + "gasReferenceVenues": [ + { + "familyKey": "xdai", + "protocol": "uniswap_v3", + "base": "cWXDAI", + "quote": "WXDAI", + "venueAddress": "0x7171000000000000000000000000000000000064", + "supported": true, + "live": true, + "routingVisible": true, + "reference": true + }, + { + "familyKey": "xdai", + "protocol": "balancer", + "base": "cWXDAI", + "quote": "USDC", + "venueAddress": "0xba71000000000000000000000000000000000064", + "supported": true, + "live": true, + "routingVisible": true, + "reference": false + }, + { + "familyKey": "xdai", + "protocol": "curve", + "base": "cWXDAI", + "quote": "USDC", + "venueAddress": "0xc771000000000000000000000000000000000064", + "supported": true, + "live": true, + "routingVisible": true, + "reference": false + }, + { + "familyKey": "xdai", + "protocol": "1inch", + "base": "cWXDAI", + "quote": "USDC", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] }, "137": { "name": "Polygon", @@ -69,23 +653,198 @@ "cWUSDT": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", "cWUSDC": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4", "cWEURC": "0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66", - "cWEURT": "0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427" + "cWEURT": "0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427", + "cWAUSDT": "0xf12e262F85107df26741726b074606CaFa24AAe7", + "cWGBPC": "0x948690147D2e50ffe50C5d38C14125aD6a9FA036", + "cWGBPT": "0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd", + "cWAUDC": "0xFb4B6Cc81211F7d886950158294A44C312abCA29", + "cWJPYC": "0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68", + "cWCHFC": "0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B", + "cWCADC": "0xc9750828124D4c10e7a6f4B655cA8487bD3842EB", + "cWXAUC": "0x328Cd365Bb35524297E68ED28c6fF2C9557d1363", + "cWXAUT": "0x9e6044d730d4183bF7a666293d257d035Fba6d44", + "cWBTC": "0xcb7c000000000000000000000000000000000089" }, "anchorAddresses": {}, "pmmPools": [], - "bridgeAvailable": true + "bridgeAvailable": true, + "gasMirrors": { + "cWPOL": "0xc901000000000000000000000000000000000089" + }, + "gasQuoteAddresses": { + "WPOL": "0xaa41000000000000000000000000000000000089", + "USDC": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c1369" + }, + "gasPmmPools": [ + { + "familyKey": "pol", + "base": "cWPOL", + "quote": "WPOL", + "poolAddress": "0xd041000000000000000000000000000000000089", + "feeBps": 30, + "k": 500000000000000000, + "role": "public_routing", + "poolType": "wrapped_native", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + }, + { + "familyKey": "pol", + "base": "cWPOL", + "quote": "USDC", + "poolAddress": "0xd042000000000000000000000000000000000089", + "feeBps": 30, + "k": 350000000000000000, + "role": "public_routing", + "poolType": "stable_quote", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + } + ], + "gasReferenceVenues": [ + { + "familyKey": "pol", + "protocol": "uniswap_v3", + "base": "cWPOL", + "quote": "WPOL", + "venueAddress": "0x7141000000000000000000000000000000000089", + "supported": true, + "live": true, + "routingVisible": true, + "reference": true + }, + { + "familyKey": "pol", + "protocol": "balancer", + "base": "cWPOL", + "quote": "USDC", + "venueAddress": "0xba41000000000000000000000000000000000089", + "supported": true, + "live": true, + "routingVisible": true, + "reference": false + }, + { + "familyKey": "pol", + "protocol": "curve", + "base": "cWPOL", + "quote": "USDC", + "venueAddress": "0xc741000000000000000000000000000000000089", + "supported": true, + "live": true, + "routingVisible": true, + "reference": false + }, + { + "familyKey": "pol", + "protocol": "1inch", + "base": "cWPOL", + "quote": "USDC", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] }, - "42161": { - "name": "Arbitrum One", + "1111": { + "name": "Wemix", "cwTokens": { - "cWUSDT": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", - "cWUSDC": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", - "cWEURC": "0x2a0023ad5ce1ac6072b454575996dffb1bb11b16", - "cWEURT": "0x22b98130ab4d9c355512b25ade4c35e75a4e7e89" + "cWBTC": "0xcb7c000000000000000000000000000000000457" }, "anchorAddresses": {}, "pmmPools": [], - "bridgeAvailable": true + "bridgeAvailable": false, + "gasMirrors": { + "cWWEMIX": "0xc111000000000000000000000000000000000457" + }, + "gasQuoteAddresses": { + "WWEMIX": "0xaa91000000000000000000000000000000000457", + "USDC": "0xaa1c000000000000000000000000000000000457" + }, + "gasPmmPools": [ + { + "familyKey": "wemix", + "base": "cWWEMIX", + "quote": "WWEMIX", + "poolAddress": "0xd091000000000000000000000000000000000457", + "feeBps": 30, + "k": 500000000000000000, + "role": "public_routing", + "poolType": "wrapped_native", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + }, + { + "familyKey": "wemix", + "base": "cWWEMIX", + "quote": "USDC", + "poolAddress": "0xd092000000000000000000000000000000000457", + "feeBps": 30, + "k": 350000000000000000, + "role": "public_routing", + "poolType": "stable_quote", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + } + ], + "gasReferenceVenues": [ + { + "familyKey": "wemix", + "protocol": "uniswap_v3", + "base": "cWWEMIX", + "quote": "WWEMIX", + "venueAddress": "0x7191000000000000000000000000000000000457", + "supported": true, + "live": true, + "routingVisible": true, + "reference": true + }, + { + "familyKey": "wemix", + "protocol": "balancer", + "base": "cWWEMIX", + "quote": "USDC", + "venueAddress": null, + "supported": false, + "live": false, + "routingVisible": false, + "reference": false + }, + { + "familyKey": "wemix", + "protocol": "curve", + "base": "cWWEMIX", + "quote": "USDC", + "venueAddress": null, + "supported": false, + "live": false, + "routingVisible": false, + "reference": false + }, + { + "familyKey": "wemix", + "protocol": "1inch", + "base": "cWWEMIX", + "quote": "USDC", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] }, "8453": { "name": "Base", @@ -93,11 +852,316 @@ "cWUSDT": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6", "cWUSDC": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105", "cWEURC": "0xcb145ba9a370681e3545f60e55621ebf218b1031", - "cWEURT": "0x73e0cf8bf861d376b3a4c87c136f975027f045ff" + "cWEURT": "0x73e0cf8bf861d376b3a4c87c136f975027f045ff", + "cWGBPC": "0x2a0023ad5ce1ac6072b454575996dffb1bb11b16", + "cWGBPT": "0x22b98130ab4d9c355512b25ade4c35e75a4e7e89", + "cWAUDC": "0xa846aead3071df1b6439d5d813156ace7c2c1da1", + "cWJPYC": "0x29828e9ab2057cd3df3c9211455ae1f76e53d2af", + "cWCHFC": "0xc1535e88578d984f12eab55863376b8d8b9fb05a", + "cWCADC": "0xdc383c489533a4dd9a6bd3007386e25d5078b878", + "cWXAUC": "0x7e4b4682453bcce19ec903fb69153d3031986bc4", + "cWXAUT": "0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c", + "cWBTC": "0xcb7c000000000000000000000000000000002105" }, "anchorAddresses": {}, "pmmPools": [], - "bridgeAvailable": true + "bridgeAvailable": true, + "gasMirrors": { + "cWETHL2": "0xce72000000000000000000000000000000002105" + }, + "gasQuoteAddresses": { + "WETH": "0xaa21000000000000000000000000000000002105", + "USDC": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" + }, + "gasPmmPools": [ + { + "familyKey": "eth_l2", + "base": "cWETHL2", + "quote": "WETH", + "poolAddress": "0xd021000000000000000000000000000000002105", + "feeBps": 30, + "k": 500000000000000000, + "role": "public_routing", + "poolType": "wrapped_native", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + }, + { + "familyKey": "eth_l2", + "base": "cWETHL2", + "quote": "USDC", + "poolAddress": "0xd022000000000000000000000000000000002105", + "feeBps": 30, + "k": 350000000000000000, + "role": "public_routing", + "poolType": "stable_quote", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + } + ], + "gasReferenceVenues": [ + { + "familyKey": "eth_l2", + "protocol": "uniswap_v3", + "base": "cWETHL2", + "quote": "WETH", + "venueAddress": "0x7121000000000000000000000000000000002105", + "supported": true, + "live": true, + "routingVisible": true, + "reference": true + }, + { + "familyKey": "eth_l2", + "protocol": "balancer", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": "0xba21000000000000000000000000000000002105", + "supported": true, + "live": true, + "routingVisible": true, + "reference": false + }, + { + "familyKey": "eth_l2", + "protocol": "curve", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": "0xc721000000000000000000000000000000002105", + "supported": true, + "live": true, + "routingVisible": true, + "reference": false + }, + { + "familyKey": "eth_l2", + "protocol": "1inch", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] + }, + "42161": { + "name": "Arbitrum One", + "cwTokens": { + "cWUSDT": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B", + "cWUSDC": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF", + "cWEURC": "0x2a0023ad5ce1ac6072b454575996dffb1bb11b16", + "cWEURT": "0x22b98130ab4d9c355512b25ade4c35e75a4e7e89", + "cWGBPC": "0xa846aead3071df1b6439d5d813156ace7c2c1da1", + "cWGBPT": "0x29828e9ab2057cd3df3c9211455ae1f76e53d2af", + "cWAUDC": "0xc1535e88578d984f12eab55863376b8d8b9fb05a", + "cWJPYC": "0xdc383c489533a4dd9a6bd3007386e25d5078b878", + "cWCHFC": "0x7e4b4682453bcce19ec903fb69153d3031986bc4", + "cWCADC": "0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c", + "cWXAUC": "0xa7762b63c4871581885ad17c5714ebb286a7480b", + "cWXAUT": "0x66568899ffe8f00b25dc470e878b65a478994e76", + "cWBTC": "0xcb7c00000000000000000000000000000000a4b1" + }, + "anchorAddresses": {}, + "pmmPools": [], + "bridgeAvailable": true, + "gasMirrors": { + "cWETHL2": "0xce7200000000000000000000000000000000a4b1" + }, + "gasQuoteAddresses": { + "WETH": "0xaa2100000000000000000000000000000000a4b1", + "USDC": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" + }, + "gasPmmPools": [ + { + "familyKey": "eth_l2", + "base": "cWETHL2", + "quote": "WETH", + "poolAddress": "0xd02100000000000000000000000000000000a4b1", + "feeBps": 30, + "k": 500000000000000000, + "role": "public_routing", + "poolType": "wrapped_native", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + }, + { + "familyKey": "eth_l2", + "base": "cWETHL2", + "quote": "USDC", + "poolAddress": "0xd02200000000000000000000000000000000a4b1", + "feeBps": 30, + "k": 350000000000000000, + "role": "public_routing", + "poolType": "stable_quote", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + } + ], + "gasReferenceVenues": [ + { + "familyKey": "eth_l2", + "protocol": "uniswap_v3", + "base": "cWETHL2", + "quote": "WETH", + "venueAddress": "0x712100000000000000000000000000000000a4b1", + "supported": true, + "live": true, + "routingVisible": true, + "reference": true + }, + { + "familyKey": "eth_l2", + "protocol": "balancer", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": "0xba2100000000000000000000000000000000a4b1", + "supported": true, + "live": true, + "routingVisible": true, + "reference": false + }, + { + "familyKey": "eth_l2", + "protocol": "curve", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": "0xc72100000000000000000000000000000000a4b1", + "supported": true, + "live": true, + "routingVisible": true, + "reference": false + }, + { + "familyKey": "eth_l2", + "protocol": "1inch", + "base": "cWETHL2", + "quote": "USDC", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] + }, + "42220": { + "name": "Celo", + "cwTokens": { + "cWUSDT": "0x73376eB92c16977B126dB9112936A20Fa0De3442", + "cWUSDC": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3", + "cWAUSDT": "0xC158b6cD3A3088C52F797D41f5Aa02825361629e", + "cWUSDW": "0x176a1b6Aa59F24B3aa65F2b697AB262Bca9093B5", + "cWEURC": "0xb6D2f38b9015F32ccE8818509c712264E7fceeD3", + "cWEURT": "0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce", + "cWGBPC": "0xE37c332a88f112F9e039C5d92D821402A89c7052", + "cWGBPT": "0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3", + "cWAUDC": "0x2d3a2ED4Ca4d69912d217c305EE921609F7906A8", + "cWJPYC": "0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5", + "cWCHFC": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "cWCADC": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "cWXAUC": "0x61D642979eD75c1325f35b9275C5A7FE97F22451", + "cWXAUT": "0x30751782486eed825187C1EAe5DE4b4baD428AaE", + "cWBTC": "0xcb7c00000000000000000000000000000000a4ec" + }, + "anchorAddresses": {}, + "pmmPools": [], + "bridgeAvailable": true, + "gasMirrors": { + "cWCELO": "0xcce100000000000000000000000000000000a4ec" + }, + "gasQuoteAddresses": { + "WCELO": "0xaa8100000000000000000000000000000000a4ec", + "USDC": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C" + }, + "gasPmmPools": [ + { + "familyKey": "celo", + "base": "cWCELO", + "quote": "WCELO", + "poolAddress": "0xd08100000000000000000000000000000000a4ec", + "feeBps": 30, + "k": 500000000000000000, + "role": "public_routing", + "poolType": "wrapped_native", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + }, + { + "familyKey": "celo", + "base": "cWCELO", + "quote": "USDC", + "poolAddress": "0xd08200000000000000000000000000000000a4ec", + "feeBps": 30, + "k": 350000000000000000, + "role": "public_routing", + "poolType": "stable_quote", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + } + ], + "gasReferenceVenues": [ + { + "familyKey": "celo", + "protocol": "uniswap_v3", + "base": "cWCELO", + "quote": "WCELO", + "venueAddress": "0x718100000000000000000000000000000000a4ec", + "supported": true, + "live": true, + "routingVisible": true, + "reference": true + }, + { + "familyKey": "celo", + "protocol": "balancer", + "base": "cWCELO", + "quote": "USDC", + "venueAddress": null, + "supported": false, + "live": false, + "routingVisible": false, + "reference": false + }, + { + "familyKey": "celo", + "protocol": "curve", + "base": "cWCELO", + "quote": "USDC", + "venueAddress": "0xc78100000000000000000000000000000000a4ec", + "supported": true, + "live": true, + "routingVisible": true, + "reference": false + }, + { + "familyKey": "celo", + "protocol": "1inch", + "base": "cWCELO", + "quote": "USDC", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] }, "43114": { "name": "Avalanche C-Chain", @@ -107,32 +1171,115 @@ "cWEURC": "0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5", "cWEURT": "0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c", "cWAUSDT": "0xff3084410A732231472Ee9f93F5855dA89CC5254", - "cWUSDW": "0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae" + "cWUSDW": "0xcfdCe5E660FC2C8052BDfa7aEa1865DD753411Ae", + "cWGBPC": "0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e", + "cWGBPT": "0x4611d3424e059392a52b957e508273bc761c80f2", + "cWAUDC": "0x04e1e22b0d41e99f4275bd40a50480219bc9a223", + "cWJPYC": "0x3714b1a312e0916c7dcdc4edf480fc0339e59a59", + "cWCHFC": "0xc2fa05f12a75ac84ea778af9d6935ca807275e55", + "cWCADC": "0x1872e033b30f3ce0498847926857433e0146394e", + "cWXAUC": "0x4f95297c23d9f4a1032b1c6a2e553225cb175bee", + "cWXAUT": "0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3", + "cWBTC": "0xcb7c00000000000000000000000000000000a86a" }, "anchorAddresses": {}, "pmmPools": [], - "bridgeAvailable": true - }, - "42220": { - "name": "Celo", - "cwTokens": {}, - "anchorAddresses": {}, - "pmmPools": [], - "bridgeAvailable": false - }, - "1111": { - "name": "Wemix", - "cwTokens": {}, - "anchorAddresses": {}, - "pmmPools": [], - "bridgeAvailable": false + "bridgeAvailable": true, + "gasMirrors": { + "cWAVAX": "0xcaaa00000000000000000000000000000000a86a" + }, + "gasQuoteAddresses": { + "WAVAX": "0xaa5100000000000000000000000000000000a86a", + "USDC": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E" + }, + "gasPmmPools": [ + { + "familyKey": "avax", + "base": "cWAVAX", + "quote": "WAVAX", + "poolAddress": "0xd05100000000000000000000000000000000a86a", + "feeBps": 30, + "k": 500000000000000000, + "role": "public_routing", + "poolType": "wrapped_native", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + }, + { + "familyKey": "avax", + "base": "cWAVAX", + "quote": "USDC", + "poolAddress": "0xd05200000000000000000000000000000000a86a", + "feeBps": 30, + "k": 350000000000000000, + "role": "public_routing", + "poolType": "stable_quote", + "venue": "dodo_pmm", + "publicRoutingEnabled": true + } + ], + "gasReferenceVenues": [ + { + "familyKey": "avax", + "protocol": "uniswap_v3", + "base": "cWAVAX", + "quote": "WAVAX", + "venueAddress": "0x715100000000000000000000000000000000a86a", + "supported": true, + "live": true, + "routingVisible": true, + "reference": true + }, + { + "familyKey": "avax", + "protocol": "balancer", + "base": "cWAVAX", + "quote": "USDC", + "venueAddress": null, + "supported": false, + "live": false, + "routingVisible": false, + "reference": false + }, + { + "familyKey": "avax", + "protocol": "curve", + "base": "cWAVAX", + "quote": "USDC", + "venueAddress": "0xc75100000000000000000000000000000000a86a", + "supported": true, + "live": true, + "routingVisible": true, + "reference": false + }, + { + "familyKey": "avax", + "protocol": "1inch", + "base": "cWAVAX", + "quote": "USDC", + "venueAddress": null, + "supported": true, + "live": false, + "routingVisible": false, + "aggregatorOnly": true, + "dependsOn": [ + "dodo_pmm", + "uniswap_v3" + ], + "indexRequired": true + } + ] } }, "schemaNotes": { "cwTokens": "e.g. { \"cWUSDT\": \"0x...\", \"cWUSDC\": \"0x...\" }", "anchorAddresses": "e.g. { \"USDC\": \"0x...\", \"USDT\": \"0x...\" }", "pmmPools": "array of { \"base\", \"quote\", \"poolAddress\", \"feeBps\", \"k\", \"initialLiquidity\", \"role\": \"defense\"|\"public_routing\"; optional routing controls: maxTradeSizeUnits, maxDailyNotional, cooldownBlocksAfterIntervention, minImprovementBpsToTrade, publicRoutingEnabled }", - "bridgeAvailable": "true | false | null (unknown)" + "bridgeAvailable": "true | false | null (unknown)", + "gasMirrors": "map of gas-family mirrored cW* symbols to addresses, e.g. { \"cWETH\": \"0x...\" }", + "gasQuoteAddresses": "wrapped-native and stable quote token addresses used by gasPmmPools, e.g. { \"WETH\": \"0x...\", \"USDC\": \"0x...\" }", + "gasPmmPools": "array of DODO PMM rows for gas mirrors, each with familyKey, base, quote, poolAddress, feeBps, k, role, poolType, venue, and publicRoutingEnabled", + "gasReferenceVenues": "array of per-family venue rows for uniswap_v3, balancer, curve, and 1inch with supported/live/routingVisible flags and optional reference=true" }, "routingControlsDoc": "config/routing-controls.json for defaults and per-pool overrides" }