All checks were successful
Deploy to Phoenix / validate (push) Successful in 1m21s
Deploy to Phoenix / deploy (push) Successful in 48s
Deploy to Phoenix / deploy-atomic-swap-dapp (push) Successful in 1m20s
phoenix-deploy Deployed to cloudflare-sync
Deploy to Phoenix / cloudflare (push) Successful in 40s
269 lines
9.5 KiB
JSON
269 lines
9.5 KiB
JSON
{
|
|
"schemaVersion": "1.0.0",
|
|
"updated": "2026-04-30",
|
|
"purpose": "Official-source registry for replacing temporary/replacement pools, wiring protocol-native liquidity, and deriving repeg/depth/unwind plans.",
|
|
"guardrails": [
|
|
"Use only official protocol documentation, official deployment registries, or protocol-maintained repositories as authority for factory/router/address imports.",
|
|
"Do not treat replacement MockDVMPool contracts as final protocol-native liquidity.",
|
|
"Prefer read-only discovery and dry-run plans before executing any pool migration, liquidity add, or unwind.",
|
|
"For unsupported chains, mark protocol surface as unavailable rather than fabricating addresses.",
|
|
"For aggregators such as 1inch, route execution must use the official API/router transaction data and chain allowlists; do not hard-code stale router addresses without a current official deployment source."
|
|
],
|
|
"protocols": {
|
|
"dodo_pmm": {
|
|
"officialSources": [
|
|
{
|
|
"label": "DODO docs: find all pools and DVM factory addresses",
|
|
"url": "https://docs.dodoex.io/en/developer/data/how-to-find-all-the-dodo-pools",
|
|
"retrievedAt": "2026-04-30"
|
|
},
|
|
{
|
|
"label": "DODO docs: Ethereum contract addresses",
|
|
"url": "https://docs.dodoex.io/en/developer/contracts/dodo-v1-v2/contracts-address/ethereum",
|
|
"retrievedAt": "2026-04-30"
|
|
},
|
|
{
|
|
"label": "DODO docs: Base contract addresses",
|
|
"url": "https://docs.dodoex.io/en/developer/contracts/dodo-v1-v2/contracts-address/base",
|
|
"retrievedAt": "2026-04-30"
|
|
}
|
|
],
|
|
"poolDiscovery": {
|
|
"factoryProfile": "dodo_v2_dvm_factory",
|
|
"poolProfile": "dodo_v2_dvm",
|
|
"factoryMethods": [
|
|
"getDODOPool(address,address)",
|
|
"getDODOPoolBidirection(address,address)",
|
|
"getDODOPoolByUser(address)"
|
|
],
|
|
"birthEvent": "NewDVM(address baseToken,address quoteToken,address creator,address dvm)"
|
|
},
|
|
"chainFactories": {
|
|
"1": {
|
|
"network": "Ethereum Mainnet",
|
|
"dvmFactory": "0x72d220cE168C4f361dD4deE5D826a01AD8598f6C",
|
|
"source": "DODO docs"
|
|
},
|
|
"10": {
|
|
"network": "Optimism",
|
|
"dvmFactory": "0x2B800DC6270726F7E2266cE8cD5A3F8436fe0B40",
|
|
"source": "DODO docs"
|
|
},
|
|
"56": {
|
|
"network": "BSC (BNB Chain)",
|
|
"dvmFactory": "0x790B4A80Fb1094589A3c0eFC8740aA9b0C1733fB",
|
|
"source": "DODO docs"
|
|
},
|
|
"137": {
|
|
"network": "Polygon",
|
|
"dvmFactory": "0x79887f65f83bdf15Bcc8736b5e5BcDB48fb8fE13",
|
|
"source": "DODO docs"
|
|
},
|
|
"42161": {
|
|
"network": "Arbitrum One",
|
|
"dvmFactory": "0xDa4c4411c55B0785e501332354A036c04833B72b",
|
|
"source": "DODO docs"
|
|
},
|
|
"43114": {
|
|
"network": "Avalanche C-Chain",
|
|
"dvmFactory": "0xfF133A6D335b50bDAa6612D19E1352B049A8aE6a",
|
|
"source": "DODO docs"
|
|
},
|
|
"8453": {
|
|
"network": "Base",
|
|
"dvmFactory": "0x0226fCE8c969604C3A0AD19c37d1FAFac73e13c2",
|
|
"source": "DODO docs"
|
|
}
|
|
},
|
|
"unsupportedOrUnverifiedChains": {
|
|
"25": {
|
|
"network": "Cronos",
|
|
"status": "official_dodo_dvm_factory_not_committed"
|
|
},
|
|
"100": {
|
|
"network": "Gnosis Chain",
|
|
"status": "official_dodo_dvm_factory_not_committed"
|
|
},
|
|
"42220": {
|
|
"network": "Celo",
|
|
"status": "official_dodo_dvm_factory_not_committed"
|
|
},
|
|
"651940": {
|
|
"network": "ALL Mainnet (Alltra)",
|
|
"status": "not_official_dodo_chain_use_local_official_stack_or_custom_router"
|
|
}
|
|
}
|
|
},
|
|
"uniswap_v2": {
|
|
"officialSources": [
|
|
{
|
|
"label": "Uniswap docs: V2 deployments",
|
|
"url": "https://developers.uniswap.org/docs/protocols/v2/deployments",
|
|
"retrievedAt": "2026-04-30"
|
|
}
|
|
],
|
|
"poolDiscovery": {
|
|
"factoryProfile": "uniswap_v2_factory",
|
|
"routerProfile": "uniswap_v2_router02",
|
|
"methods": [
|
|
"getPair(address,address)",
|
|
"createPair(address,address)"
|
|
]
|
|
}
|
|
},
|
|
"uniswap_v3": {
|
|
"officialSources": [
|
|
{
|
|
"label": "Uniswap docs: V3 deployments",
|
|
"url": "https://developers.uniswap.org/docs/protocols/v3/deployments",
|
|
"retrievedAt": "2026-04-30"
|
|
},
|
|
{
|
|
"label": "Uniswap governance: official deployment guideline",
|
|
"url": "https://gov.uniswap.org/t/uniswap-deployment-guideline/25015",
|
|
"retrievedAt": "2026-04-30"
|
|
}
|
|
],
|
|
"poolDiscovery": {
|
|
"factoryProfile": "uniswap_v3_factory",
|
|
"routerProfile": "universal_router_or_swap_router02",
|
|
"positionManagerProfile": "nonfungible_position_manager",
|
|
"methods": [
|
|
"getPool(address,address,uint24)",
|
|
"createAndInitializePoolIfNecessary(address,address,uint24,uint160)"
|
|
]
|
|
}
|
|
},
|
|
"curve_stable": {
|
|
"officialSources": [
|
|
{
|
|
"label": "Curve docs: deployment addresses",
|
|
"url": "https://curve.readthedocs.io/ref-addresses.html",
|
|
"retrievedAt": "2026-04-30"
|
|
},
|
|
{
|
|
"label": "Curve technical docs",
|
|
"url": "https://docs.curve.finance/",
|
|
"retrievedAt": "2026-04-30"
|
|
}
|
|
],
|
|
"poolDiscovery": {
|
|
"factoryProfile": "curve_stableswap_factory",
|
|
"notes": [
|
|
"Use Curve registry/factory addresses per chain.",
|
|
"Deposits and withdrawals may require zaps depending on pool type."
|
|
]
|
|
}
|
|
},
|
|
"balancer_weighted": {
|
|
"officialSources": [
|
|
{
|
|
"label": "Balancer deployments repository",
|
|
"url": "https://github.com/balancer/balancer-deployments",
|
|
"retrievedAt": "2026-04-30"
|
|
},
|
|
{
|
|
"label": "Balancer docs: Vault",
|
|
"url": "https://balancer.gitbook.io/balancer-v2/products/the-vault",
|
|
"retrievedAt": "2026-04-30"
|
|
}
|
|
],
|
|
"poolDiscovery": {
|
|
"vaultProfile": "balancer_vault",
|
|
"factoryProfile": "weighted_pool_factory",
|
|
"notes": [
|
|
"Balancer pools are managed by the Vault; pool token balances and joins/exits must use Vault APIs."
|
|
]
|
|
}
|
|
},
|
|
"aave_backstop": {
|
|
"officialSources": [
|
|
{
|
|
"label": "Aave address book repository",
|
|
"url": "https://github.com/bgd-labs/aave-address-book",
|
|
"retrievedAt": "2026-04-30"
|
|
},
|
|
{
|
|
"label": "Aave V3 core repository",
|
|
"url": "https://github.com/aave/aave-v3-core",
|
|
"retrievedAt": "2026-04-30"
|
|
}
|
|
],
|
|
"poolDiscovery": {
|
|
"addressBookProfile": "bgd_labs_aave_address_book",
|
|
"methods": [
|
|
"POOL()",
|
|
"POOL_ADDRESSES_PROVIDER()"
|
|
]
|
|
}
|
|
},
|
|
"oneinch_aggregator": {
|
|
"officialSources": [
|
|
{
|
|
"label": "1inch aggregation protocol",
|
|
"url": "https://1inch.io/aggregation-protocol/",
|
|
"retrievedAt": "2026-04-30"
|
|
},
|
|
{
|
|
"label": "1inch developer portal",
|
|
"url": "https://portal.1inch.dev/",
|
|
"retrievedAt": "2026-04-30"
|
|
},
|
|
{
|
|
"label": "1inch Help Center: supported networks",
|
|
"url": "https://help.1inch.com/en/articles/5528619-how-to-use-different-networks-on-1inch",
|
|
"retrievedAt": "2026-04-30"
|
|
},
|
|
{
|
|
"label": "1inch Business: Swap API supported chains",
|
|
"url": "https://business.1inch.com/products/swap",
|
|
"retrievedAt": "2026-04-30"
|
|
}
|
|
],
|
|
"poolDiscovery": {
|
|
"integrationProfile": "official_api_quote_and_router_tx_data",
|
|
"notes": [
|
|
"Use 1inch official API quote/swap response for current router tx data.",
|
|
"Do not create pools; this protocol wires route access to external liquidity."
|
|
]
|
|
},
|
|
"chainSupport": {
|
|
"8453": {
|
|
"network": "Base",
|
|
"status": "supported_by_official_1inch_network_list",
|
|
"source": "1inch Help Center / 1inch Business chain pages",
|
|
"supportedUse": "aggregated quote and swap route access for cW*/official stable pairs; requires token import/listing or direct contract-address query."
|
|
},
|
|
"100": {
|
|
"network": "Gnosis Chain",
|
|
"status": "supported_by_official_1inch_network_list",
|
|
"source": "1inch Help Center / 1inch Business chain pages",
|
|
"supportedUse": "aggregated quote and swap route access for cW*/official stable pairs; requires token import/listing or direct contract-address query."
|
|
},
|
|
"25": {
|
|
"network": "Cronos",
|
|
"status": "supported_by_official_1inch_business_swap_list",
|
|
"source": "1inch Business Swap API supported chains",
|
|
"supportedUse": "aggregated quote and swap route access for cW*/official stable pairs; requires token import/listing or direct contract-address query."
|
|
}
|
|
}
|
|
},
|
|
"sushiswap_v2": {
|
|
"officialSources": [
|
|
{
|
|
"label": "SushiSwap V2 core repository",
|
|
"url": "https://github.com/sushiswap/v2-core",
|
|
"retrievedAt": "2026-04-30"
|
|
}
|
|
],
|
|
"poolDiscovery": {
|
|
"factoryProfile": "sushiswap_v2_factory",
|
|
"routerProfile": "sushiswap_v2_router",
|
|
"notes": [
|
|
"Official deployment-address source must be confirmed per chain before enabling rows."
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|