diff --git a/config/mantle-config.js b/config/mantle-config.js new file mode 100644 index 0000000..a7ad938 --- /dev/null +++ b/config/mantle-config.js @@ -0,0 +1,61 @@ +module.exports = { + MANTLE_CONFIG: { + //TOKEN + WETH: "0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8", // WMNT + + //Helper + DODOSellHelper: "0x8eA40e8Da3ae64Bad5E77a5f7DB346499F543baC", + DODOCalleeHelper: "0x4aAe1d041C01078725dB016BA4D4F72455CaF931", + DODOV1PmmHelper: "0xa1609A1fa7DC16c025feA194c02b2822441b8c10", + DODOV2RouteHelper: "0xCDA4a6cc5997002B87f28D46852F9F0aA0f3c897", + ERC20Helper: "0xB5c7BA1EAde74800cD6cf5F56b1c4562De373780", + DODOSwapCalcHelper: "0xbcd2FDC3B884Cf0dfD932f55Ec2Fe1fB7e8c62Da", + MultiCall: "0xf5Ec1a19e1570bDf0A3AaA6585274f27027270b1", + MultiCallWithValid: "0x65934e2f228Fde069A6255F46E6A15Bc9DE38545", + + //Template + CloneFactory: "0x5fe43C0EbfE66b83C10A9A37AD1E4aC640AAAA65", + FeeRateModel: "0x0fcB5237A1997C4700Ffa2BB4522EA38d4F851Fc", + FeeRateDIP3Impl: "0x6a9De0C6235bDD14B52eeA53F5a08Ff7D4183b3e", + PermissionManager: "0xCD536b4DECFD2fa0443666B6becD145F8aDe2E48", + DVM: "0x8414560d69650bC0c915d5d4385e1714a23cbe81", + DSP: "0x04f7BaE2A4c05cd567F762E33450deBCebdC89EA", + DPPAdvanced: "0x6de4d882a84A98f4CCD5D33ea6b3C99A07BAbeB1", + DPPAdvancedAdmin: "0xCb3dC90E800C961d4a206BeAAFd92A6d2E06495e", + CP: "0x0226fCE8c969604C3A0AD19c37d1FAFac73e13c2", + ERC20MineV2: "0x97bBF5BB1dcfC93A8c67e97E50Bea19DB3416A83", + ERC20MineV3: "0xFaFC924BF0F70BdF4a722231622f559b94e53902", + ERC20: "0xa23137871C4A4ce8514f581EE82262CD1A49EEAE", + CustomERC20: "0xc0F9553Df63De5a97Fe64422c8578D0657C360f7", + CustomMintableERC20: "0x4A81Aa47722E1cF27A8726F247E68a766bE58d8e", + + //Factory + DVMFactory: "0x29C7718e8B606cEF1c44Fe6e43e07aF9D0875DE1", + DPPFactory: "0x46AF6b152F2cb02a3cFcc74014C2617BC4F6cD5C", + DSPFactory: "0x7dB214f2D46d94846936a0f8Bd9044c5C5Bd2b93", + CrowdPoolingFactory: "0xE2004eE21f88a7D8e1A5EDc3c9617a0460CC7b99", + ERC20V3Factory: "0xFD2b7994f91c08aAa5e013E899334A2DBb500DF1", + DODOMineV2Factory: "0x6B9577b87666af89bd0e144b9b64e8Ed166E303d", + DODOMineV3Registry: "0x0B1467f71c082D8d410aF4376C685D9A6893cF36", + + //Approve + DODOApprove: "0xa71415675F68f29259ddD63215E5518d2735bf0a", + DODOApproveProxy: "0xb546Add98c71D97Bb65De60B91021617AcD1262C", + + //Adpater + DODOV2Adapter: "0xA6d0066328Edbcf3220cf8F61e8527e589DD9719", + + //Proxy + DODOV2Proxy: "0xe7979E2F3e77196Bb2AB206eaa67Ea278A3E33A2", + DSPProxy: "0x2933c0374089D7D98BA0C71c5E02E1A0e09deBEE", + CpProxy: "0x49186E32fEd50fd6B5604A2618c7B0b03Cd41414", + DPPProxy: "0xa5fc92Ca57a21C87AA0477b1c8fE8B9Bbf69d6C2", + FeeRouteProxy1: "0x70B9C57E1fF24761C1C3ced57Ddae9A3F3570698", // for front-end + FeeRouteProxy2: "0xB4E598688eC724DD00a8944E7c7b259BbB992c61", // for widget + DODOMineV3Proxy: "0x6D3bd005A8a75d6522C9cFE7d309BB1Cf9650e03", + + //Account + multiSigAddress: "0x7B07164ecFaF0F0D85DFC062Bc205a4674c75Aa0", + defaultMaintainer: "0x7B07164ecFaF0F0D85DFC062Bc205a4674c75Aa0", + } +} \ No newline at end of file diff --git a/configAdapter.js b/configAdapter.js index 854a9d7..16b0aee 100755 --- a/configAdapter.js +++ b/configAdapter.js @@ -17,6 +17,7 @@ const { BASE_CONFIG } = require("./config/base-config"); const { SCROLL_SEPOLIA_CONFIG } = require("./config/scroll-sepolia-config"); const { MANTA_TESTNET_CONFIG } = require("./config/manta-testnet-config"); const { MANTA_CONFIG } = require("./config/manta-config"); +const { MANTLE_CONFIG } = require("./config/mantle-config"); const { OPTIMISM_CONFIG } = require("./config/optimism-config"); const { SCROLL_CONFIG } = require("./config/scroll-config"); @@ -63,7 +64,7 @@ exports.GetConfig = function (network, accounts) { CONFIG = BASE_CONFIG break; case "dashboard": - CONFIG = MANTA_CONFIG + CONFIG = MANTLE_CONFIG break; //testnet case "kovan": diff --git a/migrations/3_deploy_v2.js b/migrations/3_deploy_v2.js index 2276804..87f4188 100644 --- a/migrations/3_deploy_v2.js +++ b/migrations/3_deploy_v2.js @@ -16,6 +16,7 @@ const DODOV2RouteHelper = artifacts.require("DODOV2RouteHelper"); const DODOSwapCalcHelper = artifacts.require("DODOSwapCalcHelper"); const ERC20Helper = artifacts.require("ERC20Helper"); const MultiCall = artifacts.require("Multicall"); +const MultiCallWithValid = artifacts.require("MulticallWithValid"); const DODOCalleeHelper = artifacts.require("DODOCalleeHelper"); const DvmTemplate = artifacts.require("DVM"); @@ -70,6 +71,7 @@ module.exports = async (deployer, network, accounts) => { let DODOSwapCalcHelperAddress = CONFIG.DODOSwapCalcHelper; let ERC20HelperAddress = CONFIG.ERC20Helper; let MultiCallAddress = CONFIG.MultiCall; + let MultiCallWithValidAddress = CONFIG.MultiCallWithValid; //Template let CloneFactoryAddress = CONFIG.CloneFactory; @@ -143,6 +145,12 @@ module.exports = async (deployer, network, accounts) => { logger.log("MultiCallAddress: ", MultiCallAddress); } + if (MultiCallWithValidAddress == "") { + await deployer.deploy(MultiCallWithValid); + MultiCallWithValidAddress = MultiCallWithValid.address; + logger.log("MultiCallWithValidAddress: ", MultiCallWithValidAddress); + } + if (DODOSellHelperAddress == "") { await deployer.deploy(DODOSellHelper); DODOSellHelperAddress = DODOSellHelper.address;