Files
proxmox/config/official-protocol-integration-sources.json
defiQUG ccab738ae2
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
Advance official DODO migration routing evidence
2026-04-30 03:48:53 -07:00

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."
]
}
}
}
}