From d224bfb3bbb67c95142dc8f182b5784b1ce22ba4 Mon Sep 17 00:00:00 2001 From: defiQUG Date: Wed, 27 May 2026 20:49:36 -0700 Subject: [PATCH] feat(config): DeFi Oracle Meta Mainnet (chainId 138) full DODO stack Smart-route (Approve, Proxy02, RouteHelper, Adapter), DPP/DSP/CP factories, optional Uni/V1 adapters, incentive, NFT registry/proxy, Chain 138 UniV3. GSP/limit-order/D3 remain 0x0 (documented). --- .../src/config/dfio-meta-main.ts | 55 +++++++++++++++++++ .../dodo-contract-request/src/config/index.ts | 6 +- .../src/contract/DVMFactory.ts | 2 +- 3 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 packages/dodo-contract-request/src/config/dfio-meta-main.ts diff --git a/packages/dodo-contract-request/src/config/dfio-meta-main.ts b/packages/dodo-contract-request/src/config/dfio-meta-main.ts new file mode 100644 index 0000000..b49f43c --- /dev/null +++ b/packages/dodo-contract-request/src/config/dfio-meta-main.ts @@ -0,0 +1,55 @@ +/** + * DeFi Oracle Meta Mainnet (chainId 138) — DODO @dodoex/dodo-contract-request. + * Generated by scripts/dodo/build-dfio-meta-main-contract-request.py + */ +const CONTRACT_CONFIG = { + Multicall: "0xbdfe8bf69ee8e49f1f922b21d5de40ae54f361cf", + CloneFactory: "0xB7255935aa1771096F200e845f0806A3cC5Ba59B", + FeeRateDIP3Impl: "0xc2374871bb63c58f1942bdb0c3b6c34cd66cab10", + DVMFactory: "0xc93870594C7f83A0aE076c2e30b494Efc526b68E", + MulticallWithValid: "0xdc25282b1df417e22776e9f22dd8fca80e5e0c1b", + DODOSellHelper: "0x08e38131097017468865dfa8d3b6f6365b2fe001", + ERC20Helper: "0x63edb74ead6e086f08b037c245a9602ddca35b90", + DODOCalleeHelper: "0x54eb34c84616ce3f89b2d8e6821f8026816ae382", + DODOV1PmmHelper: "0x1318881ba65aa9d52e1025df6258e52902307603", + DODOV2RouteHelper: "0x6A0009C5a331a40f8F1B12e8bA800D32066df8b5", + DSPFactory: "0xD5d83c48a03d6F8155deD564c3ED0205d75dF31e", + GSPFactory: "0x0000000000000000000000000000000000000000", + DPPFactory: "0x1623719Bf795317643D629Fe2114776e9F3B2541", + CrowdPoolingFactory: "0x0c30b4b04ac745977A4cB1960774CDa5f2A5c135", + ERC20V3Factory: "0x8Df0298a9CB839e89eA7d32918076a70467FBACE", + DODOMineV2Factory: "0x5eCc900AbB637d6d0448ED53A089805B787c9Ca7", + DODOMineV3Registry: "0x5EDE2a76341C966F12919b71310821873312DaBc", + UniswapV2Factory: "0x0000000000000000000000000000000000000000", + UniswapV3Factory: "0x2f7219276e3ce367dB9ec74C1196a8ecEe67841C", + NonfungiblePositionManager: "0x31b68BE5af4Df565Ce261dfe53D529005D947B48", + DODOV2Adapter: "0xf8043e9e524C24c27f534E49E6A8Bdd951fdecd2", + DODOApprove: "0xEA5Be91d0A1EdA6a2efc80f7211c30584508D56D", + DODOApproveProxy: "0xa861198650005969990bF6223bACb2085C180313", + DODOV1Adapter: "0x8456d12369E7BB6E643A88DF3111c59F8e3A131E", + DODOStarterProxy: "0x0000000000000000000000000000000000000000", + DODOV1Proxy: "0x0000000000000000000000000000000000000000", + DODOV2Proxy02: "0xEF6E6F41A522896a9EE1C580C87C05E409193F8d", + DODODspProxyWithoutGSP: "0xC63E8EC3687d162ec5BC7E0ec84479a6010aC6b9", + DODODspProxy: "0xC63E8EC3687d162ec5BC7E0ec84479a6010aC6b9", + DODOCpProxyWithoutGlobalQuota: "0xb6857e746436464d091F1D690337C467E5fB2861", + DODODppProxy: "0x5aaC65657B05D1651231b670aB4e613E57A726c8", + DODOMineV3ProxyWithoutPlatform: "0xf2d18847bBB0CE47CB06AcA80235329652DD9300", + UniswapV2Router02: "0xde9cD8ee2811E6E64a41D5F68Be315d33995975E", + DODOCirculationHelper: "0x0000000000000000000000000000000000000000", + dodoTeam: "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + LimitOrderBot: "0x0000000000000000000000000000000000000000", + LimitOrder: "0x0000000000000000000000000000000000000000", + DODOIncentive: "0x06e253A9ACB6Fd1Ca2FF9456AA496b049bEd63f1", + DODONFTRouteHelper: "0xBDbE10A5E6334e74f5F4B91802219a2c1a233151", + DODONFTProxy: "0x1E84eE365a323421765d68a0Db9b01fc67ea5Af7", + BuyoutModel: "0xd0c09Aeb180856765cBEcf4DA30CEb4275AfEB15", + DODONFTRegistry: "0xcA3932D629a24E530667E50A8bD86A6e5b5DA7F2", + DODONFT: "0x0000000000000000000000000000000000000000", + DODONFT1155: "0x0000000000000000000000000000000000000000", + DODONFTPoolProxy: "0x0000000000000000000000000000000000000000", + DODONFTApprove: "0x0000000000000000000000000000000000000000", + D3Proxy: "0x0000000000000000000000000000000000000000", + D3Vault: "0x0000000000000000000000000000000000000000", +}; +export default CONTRACT_CONFIG; diff --git a/packages/dodo-contract-request/src/config/index.ts b/packages/dodo-contract-request/src/config/index.ts index c072fbc..84531be 100644 --- a/packages/dodo-contract-request/src/config/index.ts +++ b/packages/dodo-contract-request/src/config/index.ts @@ -11,6 +11,7 @@ import { default as bob } from './bob' import { default as bsc } from './bsc' import { default as conflux } from './conflux' import { default as eni } from './eni' +import { default as dfioMetaMain } from './dfio-meta-main' import { default as ethereum } from './ethereum' import { default as hashkey } from './hashkey' import { default as hemi } from './hemi' @@ -50,7 +51,9 @@ import { default as zircuitMainnet } from './zircuit-mainnet' export function getConfig(chainId: number) { switch (chainId) { - case 1: + case 138: + return dfioMetaMain; + case 1: return ethereum; case 10: return optimism; @@ -167,6 +170,7 @@ export { default as bob } from './bob' export { default as bsc } from './bsc' export { default as conflux } from './conflux' export { default as eni } from './eni' +export { default as dfioMetaMain } from './dfio-meta-main' export { default as ethereum } from './ethereum' export { default as hashkey } from './hashkey' export { default as hemi } from './hemi' diff --git a/packages/dodo-contract-request/src/contract/DVMFactory.ts b/packages/dodo-contract-request/src/contract/DVMFactory.ts index 7de5ac6..be4a267 100644 --- a/packages/dodo-contract-request/src/contract/DVMFactory.ts +++ b/packages/dodo-contract-request/src/contract/DVMFactory.ts @@ -3,7 +3,7 @@ import { defaultAbiCoder, concat, hexlify } from '@dodoex/contract-request'; import { contractRequests } from '../contractRequests'; export function getDVMFactoryContractAddressByChainId(chainId: number) { - const contractAddressObject = {"1":"0x72d220cE168C4f361dD4deE5D826a01AD8598f6C","10":"0x2B800DC6270726F7E2266cE8cD5A3F8436fe0B40","56":"0x790B4A80Fb1094589A3c0eFC8740aA9b0C1733fB","137":"0x79887f65f83bdf15Bcc8736b5e5BcDB48fb8fE13","143":"0xF5378974cfD5042A58c458E06cB6D2A2D1c2FAF8","173":"0x701Ac6fAD7850956f966a85655348ac1B7c93368","177":"0x2235bB894b7600F1a370fc595Ee5477999A30441","196":"0xcAcb29f0631612552eF50D4Fa02920910513b2B0","988":"0x63eEc8527884582358Ce6e93d530Df725D5Cf7d1","1030":"0xC77392396Be1FB5143f1f66A3Ae67dD03fbaBA27","1689":"0x6694eebf40924e04c952EA8F1626d19E7a656Bb7","2201":"0x306ae919b99c187Fe5eCBdE980E24228ae888182","2390":"0x0f9053E174c123098C17e60A2B1FAb3b303f9e29","2818":"0x6694eebf40924e04c952EA8F1626d19E7a656Bb7","5000":"0x29C7718e8B606cEF1c44Fe6e43e07aF9D0875DE1","8453":"0x0226fCE8c969604C3A0AD19c37d1FAFac73e13c2","10143":"0x669c8c9eee43A7e782A2a7D5497eBe6a28f19AcE","10169":"0x97bBF5BB1dcfC93A8c67e97E50Bea19DB3416A83","42161":"0xDa4c4411c55B0785e501332354A036c04833B72b","43111":"0x6694eebf40924e04c952EA8F1626d19E7a656Bb7","43114":"0xfF133A6D335b50bDAa6612D19E1352B049A8aE6a","47763":"0xE59d098c36916397Cc14AB42Bb0F00093BDA9f04","48900":"0xA909314363840f7c28b8EC314028e21722dd8Cb6","59144":"0xc0F9553Df63De5a97Fe64422c8578D0657C360f7","80084":"0x6db1ed60c9d6090C87a280a0592365EE83Ca87Ed","80094":"0x6694eebf40924e04c952EA8F1626d19E7a656Bb7","98864":"0x8bCcE4CCEEf7e841A2A8A48F3250B9FB3b25B0C3","98866":"0x701Ac6fAD7850956f966a85655348ac1B7c93368","167000":"0x6694eebf40924e04c952EA8F1626d19E7a656Bb7","200901":"0x7Ad992fcebd899ddbEF7f031dCF96f382b81ECea","421614":"0xDF44F395F85D298C7fAD8Bfc71De5dFF9a129d36","534352":"0x5a0C840a7089aa222c4458b3BE0947fe5a5006DE","543210":"0x781dd6009E6aca6758D05F5907C72231E1117294","688688":"0xbA1d9EFA53Ac545779CBf483a192DacC06820fD2","688689":"0x8bCcE4CCEEf7e841A2A8A48F3250B9FB3b25B0C3","11155111":"0x2F86652dAEF5f1728c54191C955F065Ec3C188c7","11155931":"0x6db1ed60c9d6090C87a280a0592365EE83Ca87Ed","1313161554":"0x5515363c0412AdD5c72d3E302fE1bD7dCBCF93Fe"}; + const contractAddressObject = {"1":"0x72d220cE168C4f361dD4deE5D826a01AD8598f6C","10":"0x2B800DC6270726F7E2266cE8cD5A3F8436fe0B40","56":"0x790B4A80Fb1094589A3c0eFC8740aA9b0C1733fB","137":"0x79887f65f83bdf15Bcc8736b5e5BcDB48fb8fE13","143":"0xF5378974cfD5042A58c458E06cB6D2A2D1c2FAF8","173":"0x701Ac6fAD7850956f966a85655348ac1B7c93368","177":"0x2235bB894b7600F1a370fc595Ee5477999A30441","196":"0xcAcb29f0631612552eF50D4Fa02920910513b2B0","988":"0x63eEc8527884582358Ce6e93d530Df725D5Cf7d1","1030":"0xC77392396Be1FB5143f1f66A3Ae67dD03fbaBA27","1689":"0x6694eebf40924e04c952EA8F1626d19E7a656Bb7","2201":"0x306ae919b99c187Fe5eCBdE980E24228ae888182","2390":"0x0f9053E174c123098C17e60A2B1FAb3b303f9e29","2818":"0x6694eebf40924e04c952EA8F1626d19E7a656Bb7","5000":"0x29C7718e8B606cEF1c44Fe6e43e07aF9D0875DE1","8453":"0x0226fCE8c969604C3A0AD19c37d1FAFac73e13c2","10143":"0x669c8c9eee43A7e782A2a7D5497eBe6a28f19AcE","10169":"0x97bBF5BB1dcfC93A8c67e97E50Bea19DB3416A83","42161":"0xDa4c4411c55B0785e501332354A036c04833B72b","43111":"0x6694eebf40924e04c952EA8F1626d19E7a656Bb7","43114":"0xfF133A6D335b50bDAa6612D19E1352B049A8aE6a","47763":"0xE59d098c36916397Cc14AB42Bb0F00093BDA9f04","48900":"0xA909314363840f7c28b8EC314028e21722dd8Cb6","59144":"0xc0F9553Df63De5a97Fe64422c8578D0657C360f7","80084":"0x6db1ed60c9d6090C87a280a0592365EE83Ca87Ed","80094":"0x6694eebf40924e04c952EA8F1626d19E7a656Bb7","98864":"0x8bCcE4CCEEf7e841A2A8A48F3250B9FB3b25B0C3","98866":"0x701Ac6fAD7850956f966a85655348ac1B7c93368","167000":"0x6694eebf40924e04c952EA8F1626d19E7a656Bb7","200901":"0x7Ad992fcebd899ddbEF7f031dCF96f382b81ECea","421614":"0xDF44F395F85D298C7fAD8Bfc71De5dFF9a129d36","534352":"0x5a0C840a7089aa222c4458b3BE0947fe5a5006DE","543210":"0x781dd6009E6aca6758D05F5907C72231E1117294","688688":"0xbA1d9EFA53Ac545779CBf483a192DacC06820fD2","688689":"0x8bCcE4CCEEf7e841A2A8A48F3250B9FB3b25B0C3","11155111":"0x2F86652dAEF5f1728c54191C955F065Ec3C188c7","11155931":"0x6db1ed60c9d6090C87a280a0592365EE83Ca87Ed","138":"0xc93870594C7f83A0aE076c2e30b494Efc526b68E","1313161554":"0x5515363c0412AdD5c72d3E302fE1bD7dCBCF93Fe"}; const result = contractAddressObject[String(chainId) as keyof typeof contractAddressObject]; return result }