replace all ownable to initializableOwnable and update v2.0 deploy script
This commit is contained in:
@@ -8,7 +8,7 @@
|
|||||||
pragma solidity 0.6.9;
|
pragma solidity 0.6.9;
|
||||||
pragma experimental ABIEncoderV2;
|
pragma experimental ABIEncoderV2;
|
||||||
|
|
||||||
import {Ownable} from "../lib/Ownable.sol";
|
import {InitializableOwnable} from "../lib/InitializableOwnable.sol";
|
||||||
import {ICloneFactory} from "../lib/CloneFactory.sol";
|
import {ICloneFactory} from "../lib/CloneFactory.sol";
|
||||||
import {IFeeRateModel} from "../lib/FeeRateModel.sol";
|
import {IFeeRateModel} from "../lib/FeeRateModel.sol";
|
||||||
import {IExternalValue} from "../lib/ExternalValue.sol";
|
import {IExternalValue} from "../lib/ExternalValue.sol";
|
||||||
@@ -16,7 +16,7 @@ import {IDPP} from "../DODOPrivatePool/intf/IDPP.sol";
|
|||||||
import {IDPPAdmin} from "../DODOPrivatePool/intf/IDPPAdmin.sol";
|
import {IDPPAdmin} from "../DODOPrivatePool/intf/IDPPAdmin.sol";
|
||||||
import {IPermissionManager} from "../lib/PermissionManager.sol";
|
import {IPermissionManager} from "../lib/PermissionManager.sol";
|
||||||
|
|
||||||
contract DPPFactory is Ownable {
|
contract DPPFactory is InitializableOwnable {
|
||||||
// ============ Templates ============
|
// ============ Templates ============
|
||||||
|
|
||||||
address public immutable _CLONE_FACTORY_;
|
address public immutable _CLONE_FACTORY_;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
pragma solidity 0.6.9;
|
pragma solidity 0.6.9;
|
||||||
pragma experimental ABIEncoderV2;
|
pragma experimental ABIEncoderV2;
|
||||||
|
|
||||||
import {Ownable} from "../lib/Ownable.sol";
|
import {InitializableOwnable} from "../lib/InitializableOwnable.sol";
|
||||||
import {ICloneFactory} from "../lib/CloneFactory.sol";
|
import {ICloneFactory} from "../lib/CloneFactory.sol";
|
||||||
import {IConstFeeRateModel} from "../lib/ConstFeeRateModel.sol";
|
import {IConstFeeRateModel} from "../lib/ConstFeeRateModel.sol";
|
||||||
import {IDVM} from "../DODOVendingMachine/intf/IDVM.sol";
|
import {IDVM} from "../DODOVendingMachine/intf/IDVM.sol";
|
||||||
@@ -27,7 +27,7 @@ interface IDVMFactory {
|
|||||||
) external returns (address newVendingMachine);
|
) external returns (address newVendingMachine);
|
||||||
}
|
}
|
||||||
|
|
||||||
contract DVMFactory is Ownable {
|
contract DVMFactory is InitializableOwnable {
|
||||||
// ============ Templates ============
|
// ============ Templates ============
|
||||||
|
|
||||||
address public immutable _CLONE_FACTORY_;
|
address public immutable _CLONE_FACTORY_;
|
||||||
|
|||||||
@@ -8,7 +8,6 @@
|
|||||||
pragma solidity 0.6.9;
|
pragma solidity 0.6.9;
|
||||||
pragma experimental ABIEncoderV2;
|
pragma experimental ABIEncoderV2;
|
||||||
|
|
||||||
import {Ownable} from "../lib/Ownable.sol";
|
|
||||||
import {ICloneFactory} from "../lib/CloneFactory.sol";
|
import {ICloneFactory} from "../lib/CloneFactory.sol";
|
||||||
import {IConstFeeRateModel} from "../lib/ConstFeeRateModel.sol";
|
import {IConstFeeRateModel} from "../lib/ConstFeeRateModel.sol";
|
||||||
import {IDVM} from "../DODOVendingMachine/intf/IDVM.sol";
|
import {IDVM} from "../DODOVendingMachine/intf/IDVM.sol";
|
||||||
@@ -17,7 +16,7 @@ import {IPermissionManager} from "../lib/PermissionManager.sol";
|
|||||||
import {InitializableERC20} from "../external/ERC20/InitializableERC20.sol";
|
import {InitializableERC20} from "../external/ERC20/InitializableERC20.sol";
|
||||||
import {InitializableMintableERC20} from "../external/ERC20/InitializableMintableERC20.sol";
|
import {InitializableMintableERC20} from "../external/ERC20/InitializableMintableERC20.sol";
|
||||||
|
|
||||||
contract ERC20Factory is Ownable {
|
contract ERC20Factory {
|
||||||
// ============ Templates ============
|
// ============ Templates ============
|
||||||
|
|
||||||
address public immutable _CLONE_FACTORY_;
|
address public immutable _CLONE_FACTORY_;
|
||||||
|
|||||||
@@ -16,3 +16,27 @@ DvmFactoryAddress: 0xaeF2cce5678e6e29f7a7C2A6f5d2Ce26df600dc1
|
|||||||
DppFactoryAddress: 0x5935a606383Ba43C61FcE5E632357744a95e9dC3
|
DppFactoryAddress: 0x5935a606383Ba43C61FcE5E632357744a95e9dC3
|
||||||
DODOProxyV2 Address: 0xD4b15Ab0e1F06373dA7ccd9f01D5e9776674DB9e
|
DODOProxyV2 Address: 0xD4b15Ab0e1F06373dA7ccd9f01D5e9776674DB9e
|
||||||
DODOApprovce setProxy tx: 0x67c5c5b1883950baec753a99bff5e1c20bfb92f876cdcd03c90ae2aa0053d891
|
DODOApprovce setProxy tx: 0x67c5c5b1883950baec753a99bff5e1c20bfb92f876cdcd03c90ae2aa0053d891
|
||||||
|
====================================================
|
||||||
|
network type: kovan
|
||||||
|
Deploy time: 2020/12/15 上午11:11:05
|
||||||
|
Deploy type: V2
|
||||||
|
ConstFeeRateModelTemplateAddress: 0x2ec9579Cf7ae77B4e538F56274501f518ABFeA2e
|
||||||
|
DefaultMtFeeRateAddress: 0xEfdE4225AC747136289979e29f1236527b2E4DB1
|
||||||
|
Init DefaultMtFeeRate Tx: 0x8f2f522627c9e98a51ebaf7cadf66a88c79bcece4bfb96da538299fc811c291f
|
||||||
|
DefaultPermissionAddress: 0xACc7E23368261e1E02103c4e5ae672E7D01f5797
|
||||||
|
Init DefaultPermissionAddress Tx: 0x40115ee57da686fddadc635a9048af0ba139b5fdd93f34a5ba79399a01b50c60
|
||||||
|
DvmTemplateAddress: 0x176a7DBbcC3Fb9EB1F04bfA806a6615A7C1De766
|
||||||
|
DvmAdminTemplateAddress: 0x210eF5260E1AcF26526b9CFe40b6fc7CD3D8b6B3
|
||||||
|
DppTemplateAddress: 0x6E3bF8eC796c52d6e25FBB3f116795397a239BA4
|
||||||
|
DppAdminTemplateAddress: 0x86366913A4ee1F6f01022aD42554EEAf4c5AC490
|
||||||
|
CpTemplateAddress: 0x967b6A116e882E3d2F940f3ae2f44fd842BbF189
|
||||||
|
DODOApprove Address: 0xC38ad4314bb44EE84cC2D4B2B1BBa4644550f172
|
||||||
|
DvmFactoryAddress: 0x545ba2178c5581f836D4d10BDa208288dD1a8Bf8
|
||||||
|
Init DvmFactory Tx: 0xd9412acda8972cd589c6e16fcabc9ede61e2737bc0076bf6a1ada3f771b2b525
|
||||||
|
UnownedDvmFactoryAddress: 0x564F5B6614Afa50BB61B9d0694f3326446Bd24EF
|
||||||
|
DppFactoryAddress: 0x6F050dAc0CC28E2cD227536deFD40fe2A1505a13
|
||||||
|
Init DppFactory Tx: 0xc7b27b3d0240a5938448ddf2be00df6f1ac93c1eaaf5bbb1eff28d188543ed83
|
||||||
|
CpFactoryAddress: 0xCE0fD3600E9dD81A6fB7E1d5Eed0F93a90Da184D
|
||||||
|
DODOProxyV2 Address: 0x7102A9AA2146557EA60a6319EB40e8C8d856e628
|
||||||
|
Init DODOProxyV2 Tx: 0xfd80f2545d8cb0d102bd8a9064bbc802e44aa16e23128256745e2f305b6da64a
|
||||||
|
DODOApprovce Init tx: 0x87e950811171b325701e0e94aae346614b5361ac0a0285f15383626709063e63
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ const DODOProxyV1 = artifacts.require("DODOV1Proxy01");
|
|||||||
const DODOSellHelper = artifacts.require("DODOSellHelper");
|
const DODOSellHelper = artifacts.require("DODOSellHelper");
|
||||||
const DODOSwapCalcHelper = artifacts.require("DODOSwapCalcHelper");
|
const DODOSwapCalcHelper = artifacts.require("DODOSwapCalcHelper");
|
||||||
|
|
||||||
const DEPLOY_ROUTE = true;
|
const DEPLOY_ROUTE = false;
|
||||||
|
|
||||||
module.exports = async (deployer, network, accounts) => {
|
module.exports = async (deployer, network, accounts) => {
|
||||||
let DODOSellHelperAddress = "";
|
let DODOSellHelperAddress = "";
|
||||||
|
|||||||
@@ -3,73 +3,158 @@ const file = fs.createWriteStream("../deploy-detail-v2.0.txt", { 'flags': 'a' })
|
|||||||
let logger = new console.Console(file, file);
|
let logger = new console.Console(file, file);
|
||||||
|
|
||||||
const CloneFactory = artifacts.require("CloneFactory");
|
const CloneFactory = artifacts.require("CloneFactory");
|
||||||
|
const FeeRateModelTemplate = artifacts.require("FeeRateModel");
|
||||||
|
const ConstFeeRateModelTemplate = artifacts.require("ConstFeeRateModel");
|
||||||
|
const PermissionManagerTemplate = artifacts.require("PermissionManager");
|
||||||
|
const ExternalValueTemplate = artifacts.require("ExternalValue");
|
||||||
|
|
||||||
const DvmTemplate = artifacts.require("DVM");
|
const DvmTemplate = artifacts.require("DVM");
|
||||||
const DvmAdminTemplate = artifacts.require("DVMAdmin");
|
const DvmAdminTemplate = artifacts.require("DVMAdmin");
|
||||||
const DppTemplate = artifacts.require("DPP");
|
const DppTemplate = artifacts.require("DPP");
|
||||||
const DppAdminTemplate = artifacts.require("DPPAdmin");
|
const DppAdminTemplate = artifacts.require("DPPAdmin");
|
||||||
const FeeRateModelTemplate = artifacts.require("FeeRateModel");
|
const CpTemplate = artifacts.require("CP");
|
||||||
const PermissionManagerTemplate = artifacts.require("PermissionManager");
|
|
||||||
const ExternalValueTemplate = artifacts.require("ExternalValue");
|
|
||||||
|
|
||||||
const DvmFactory = artifacts.require("DVMFactory");
|
const DvmFactory = artifacts.require("DVMFactory");
|
||||||
|
const UnownedDvmFactory = artifacts.require("UnownedDVMFactory");
|
||||||
const DppFactory = artifacts.require("DPPFactory");
|
const DppFactory = artifacts.require("DPPFactory");
|
||||||
|
const CpFactory = artifacts.require("CrowdPoolingFactory");
|
||||||
|
|
||||||
const DODOApprove = artifacts.require("DODOApprove");
|
const DODOApprove = artifacts.require("DODOApprove");
|
||||||
const DODOProxyV2 = artifacts.require("DODOV2Proxy01");
|
const DODOProxyV2 = artifacts.require("DODOV2Proxy01");
|
||||||
const DODOSellHelper = artifacts.require("DODOSellHelper");
|
const DODOSellHelper = artifacts.require("DODOSellHelper");
|
||||||
const DODOCalleeHelper = artifacts.require("DODOCalleeHelper");
|
const DODOCalleeHelper = artifacts.require("DODOCalleeHelper");
|
||||||
|
|
||||||
const DEPLOY_V2 = false;
|
const DEPLOY_V2 = true;
|
||||||
|
|
||||||
module.exports = async (deployer, network, accounts) => {
|
module.exports = async (deployer, network, accounts) => {
|
||||||
|
//Helper And Common
|
||||||
let DODOSellHelperAddress = "";
|
let DODOSellHelperAddress = "";
|
||||||
let DODOCalleeHelperAddress = "";
|
|
||||||
let WETHAddress = "";
|
let WETHAddress = "";
|
||||||
let DODOApproveAddress = "";
|
|
||||||
let chiAddress = "";
|
let chiAddress = "";
|
||||||
|
let DODOCalleeHelperAddress = "";
|
||||||
|
//Template
|
||||||
let CloneFactoryAddress = "";
|
let CloneFactoryAddress = "";
|
||||||
let FeeRateModelTemplateAddress = "";
|
let FeeRateModelTemplateAddress = "";
|
||||||
|
let ConstFeeRateModelTemplateAddress = "";
|
||||||
let PermissionManagerTemplateAddress = "";
|
let PermissionManagerTemplateAddress = "";
|
||||||
let ExternalValueTemplateAddress = "";
|
let ExternalValueTemplateAddress = "";
|
||||||
|
//Default Template
|
||||||
let DefaultGasSourceAddress = "";
|
let DefaultGasSourceAddress = "";
|
||||||
|
let DefaultMtFeeRateAddress = "";
|
||||||
|
let DefaultPermissionAddress = "";
|
||||||
|
|
||||||
let DvmTemplateAddress = "";
|
let DvmTemplateAddress = "";
|
||||||
let DvmAdminTemplateAddress = "";
|
let DvmAdminTemplateAddress = "";
|
||||||
let DppTemplateAddress = "";
|
let DppTemplateAddress = "";
|
||||||
let DppAdminTemplateAddress = "";
|
let DppAdminTemplateAddress = "";
|
||||||
|
let CpTemplateAddress = "";
|
||||||
|
//Facotry
|
||||||
let DvmFactoryAddress = "";
|
let DvmFactoryAddress = "";
|
||||||
|
let UnownedDvmFactoryAddress = "";
|
||||||
let DppFactoryAddress = "";
|
let DppFactoryAddress = "";
|
||||||
|
let CpFactoryAddress = "";
|
||||||
|
//Approve
|
||||||
|
let DODOApproveAddress = "";
|
||||||
|
//Account
|
||||||
|
let multiSigAddress = "";
|
||||||
|
let defaultMaintainer = "";
|
||||||
|
|
||||||
if (network == "kovan") {
|
if (network == "kovan") {
|
||||||
|
//Helper
|
||||||
DODOSellHelperAddress = "0xbdEae617F2616b45DCB69B287D52940a76035Fe3";
|
DODOSellHelperAddress = "0xbdEae617F2616b45DCB69B287D52940a76035Fe3";
|
||||||
WETHAddress = "0x5eca15b12d959dfcf9c71c59f8b467eb8c6efd0b";
|
WETHAddress = "0x5eca15b12d959dfcf9c71c59f8b467eb8c6efd0b";
|
||||||
chiAddress = "0x0000000000004946c0e9f43f4dee607b0ef1fa1c";
|
chiAddress = "0x0000000000004946c0e9f43f4dee607b0ef1fa1c";
|
||||||
DODOApproveAddress = "0x0C4a80B2e234448E5f6fD86e7eFA733d985004c8";
|
|
||||||
DODOCalleeHelperAddress = "0x507EBbb195CF54E0aF147A2b269C08a38EA36989";
|
DODOCalleeHelperAddress = "0x507EBbb195CF54E0aF147A2b269C08a38EA36989";
|
||||||
//Template
|
//Template
|
||||||
CloneFactoryAddress = "0xf7959fe661124C49F96CF30Da33729201aEE1b27";
|
CloneFactoryAddress = "0xf7959fe661124C49F96CF30Da33729201aEE1b27";
|
||||||
FeeRateModelTemplateAddress = "0xEF3137780B387313c5889B999D03BdCf9aeEa892";
|
FeeRateModelTemplateAddress = "0xEF3137780B387313c5889B999D03BdCf9aeEa892";
|
||||||
|
ConstFeeRateModelTemplateAddress = "";
|
||||||
PermissionManagerTemplateAddress = "0x5D2Da09501d97a7bf0A8F192D2eb2F9Aa80d3241";
|
PermissionManagerTemplateAddress = "0x5D2Da09501d97a7bf0A8F192D2eb2F9Aa80d3241";
|
||||||
ExternalValueTemplateAddress = "0xe0f813951dE2BB012f7Feb981669F9a7b5250A57";
|
ExternalValueTemplateAddress = "0xe0f813951dE2BB012f7Feb981669F9a7b5250A57";
|
||||||
|
//Default Template
|
||||||
DefaultGasSourceAddress = "0xE0c0df0e0be7ec4f579503304a6C186cA4365407";
|
DefaultGasSourceAddress = "0xE0c0df0e0be7ec4f579503304a6C186cA4365407";
|
||||||
DvmTemplateAddress = "0x460Ada67279Ff2ce8c87cb88F99070c6520Aa624";
|
DefaultMtFeeRateAddress = "";
|
||||||
DvmAdminTemplateAddress = "0xbB9F79f6ac9e577B658E3B2E1340838d8965986B";
|
DefaultPermissionAddress = "";
|
||||||
DppTemplateAddress = "0x577c2cE26B8b5C8b3f7c57826Bf351ac7c21a441";
|
|
||||||
DppAdminTemplateAddress = "0x402ace5a3e6Aa71FB942d309341F8867afcde302";
|
DvmTemplateAddress = "";
|
||||||
|
DvmAdminTemplateAddress = "";
|
||||||
|
DppTemplateAddress = "";
|
||||||
|
DppAdminTemplateAddress = "";
|
||||||
|
CpTemplateAddress = "";
|
||||||
//Factory
|
//Factory
|
||||||
DvmFactoryAddress = "0xaeF2cce5678e6e29f7a7C2A6f5d2Ce26df600dc1";
|
DvmFactoryAddress = "";
|
||||||
DppFactoryAddress = "0x5935a606383Ba43C61FcE5E632357744a95e9dC3";
|
UnownedDvmFactoryAddress = "";
|
||||||
|
DppFactoryAddress = "";
|
||||||
|
CpFactoryAddress = "";
|
||||||
|
//Proxy
|
||||||
|
DODOApproveAddress = "";
|
||||||
|
//Account
|
||||||
|
multiSigAddress = accounts[0];
|
||||||
|
defaultMaintainer = accounts[0];
|
||||||
} else if (network == "live") {
|
} else if (network == "live") {
|
||||||
|
//Helper
|
||||||
DODOSellHelperAddress = "0x533da777aedce766ceae696bf90f8541a4ba80eb";
|
DODOSellHelperAddress = "0x533da777aedce766ceae696bf90f8541a4ba80eb";
|
||||||
WETHAddress = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2";
|
WETHAddress = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2";
|
||||||
chiAddress = "0x0000000000004946c0e9F43F4Dee607b0eF1fA1c";
|
chiAddress = "0x0000000000004946c0e9F43F4Dee607b0eF1fA1c";
|
||||||
DODOApproveAddress = "0x4eC851895d85bfa6835241b3157ae10FfFD3BebC";
|
DODOCalleeHelperAddress = "";
|
||||||
//Tempalte
|
//Template
|
||||||
|
CloneFactoryAddress = "";
|
||||||
|
FeeRateModelTemplateAddress = "";
|
||||||
|
ConstFeeRateModelTemplateAddress = "";
|
||||||
|
PermissionManagerTemplateAddress = "";
|
||||||
|
ExternalValueTemplateAddress = "";
|
||||||
|
//Default Template
|
||||||
|
DefaultGasSourceAddress = "";
|
||||||
|
DefaultMtFeeRateAddress = "";
|
||||||
|
DefaultPermissionAddress = "";
|
||||||
|
|
||||||
|
DvmTemplateAddress = "";
|
||||||
|
DvmAdminTemplateAddress = "";
|
||||||
|
DppTemplateAddress = "";
|
||||||
|
DppAdminTemplateAddress = "";
|
||||||
|
CpTemplateAddress = "";
|
||||||
|
//Factory
|
||||||
|
DvmFactoryAddress = "";
|
||||||
|
UnownedDvmFactoryAddress = "";
|
||||||
|
DppFactoryAddress = "";
|
||||||
|
CpFactoryAddress = "";
|
||||||
|
//Proxy
|
||||||
|
DODOApproveAddress = "";
|
||||||
|
//Account
|
||||||
|
multiSigAddress = "0x95C4F5b83aA70810D4f142d58e5F7242Bd891CB0";
|
||||||
|
defaultMaintainer = "0x95C4F5b83aA70810D4f142d58e5F7242Bd891CB0";
|
||||||
} else if (network == "bsclive") {
|
} else if (network == "bsclive") {
|
||||||
|
//Helper
|
||||||
DODOSellHelperAddress = "0x0F859706AeE7FcF61D5A8939E8CB9dBB6c1EDA33";
|
DODOSellHelperAddress = "0x0F859706AeE7FcF61D5A8939E8CB9dBB6c1EDA33";
|
||||||
WETHAddress = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
|
WETHAddress = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
|
||||||
chiAddress = "0x0000000000000000000000000000000000000000";
|
chiAddress = "0x0000000000000000000000000000000000000000";
|
||||||
DODOApproveAddress = "0x19DA73be23Cea6bFA804Ec020041b8F3971BC522";
|
DODOCalleeHelperAddress = "";
|
||||||
//Template
|
//Template
|
||||||
|
CloneFactoryAddress = "";
|
||||||
|
FeeRateModelTemplateAddress = "";
|
||||||
|
ConstFeeRateModelTemplateAddress = "";
|
||||||
|
PermissionManagerTemplateAddress = "";
|
||||||
|
ExternalValueTemplateAddress = "";
|
||||||
|
//Default Template
|
||||||
|
DefaultGasSourceAddress = "";
|
||||||
|
DefaultMtFeeRateAddress = "";
|
||||||
|
DefaultPermissionAddress = "";
|
||||||
|
|
||||||
|
DvmTemplateAddress = "";
|
||||||
|
DvmAdminTemplateAddress = "";
|
||||||
|
DppTemplateAddress = "";
|
||||||
|
DppAdminTemplateAddress = "";
|
||||||
|
CpTemplateAddress = "";
|
||||||
|
//Factory
|
||||||
|
DvmFactoryAddress = "";
|
||||||
|
UnownedDvmFactoryAddress = "";
|
||||||
|
DppFactoryAddress = "";
|
||||||
|
CpFactoryAddress = "";
|
||||||
|
//Proxy
|
||||||
|
DODOApproveAddress = "";
|
||||||
|
//Account
|
||||||
|
multiSigAddress = "";
|
||||||
|
defaultMaintainer = "";
|
||||||
} else return;
|
} else return;
|
||||||
|
|
||||||
|
|
||||||
@@ -78,6 +163,19 @@ module.exports = async (deployer, network, accounts) => {
|
|||||||
logger.log("network type: " + network);
|
logger.log("network type: " + network);
|
||||||
logger.log("Deploy time: " + new Date().toLocaleString());
|
logger.log("Deploy time: " + new Date().toLocaleString());
|
||||||
logger.log("Deploy type: V2");
|
logger.log("Deploy type: V2");
|
||||||
|
//Helper
|
||||||
|
if (DODOSellHelperAddress == "") {
|
||||||
|
await deployer.deploy(DODOSellHelper);
|
||||||
|
DODOSellHelperAddress = DODOSellHelper.address;
|
||||||
|
logger.log("DODOSellHelper Address: ", DODOSellHelperAddress);
|
||||||
|
}
|
||||||
|
if (DODOCalleeHelperAddress == "") {
|
||||||
|
await deployer.deploy(DODOCalleeHelper, WETHAddress);
|
||||||
|
DODOCalleeHelperAddress = DODOCalleeHelper.address;
|
||||||
|
logger.log("DODOCalleeHelperAddress: ", DODOCalleeHelperAddress);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Template
|
||||||
if (CloneFactoryAddress == "") {
|
if (CloneFactoryAddress == "") {
|
||||||
await deployer.deploy(CloneFactory);
|
await deployer.deploy(CloneFactory);
|
||||||
CloneFactoryAddress = CloneFactory.address;
|
CloneFactoryAddress = CloneFactory.address;
|
||||||
@@ -88,6 +186,11 @@ module.exports = async (deployer, network, accounts) => {
|
|||||||
FeeRateModelTemplateAddress = FeeRateModelTemplate.address;
|
FeeRateModelTemplateAddress = FeeRateModelTemplate.address;
|
||||||
logger.log("FeeRateModelTemplateAddress: ", FeeRateModelTemplateAddress);
|
logger.log("FeeRateModelTemplateAddress: ", FeeRateModelTemplateAddress);
|
||||||
}
|
}
|
||||||
|
if (ConstFeeRateModelTemplateAddress == "") {
|
||||||
|
await deployer.deploy(ConstFeeRateModelTemplate);
|
||||||
|
ConstFeeRateModelTemplateAddress = ConstFeeRateModelTemplate.address;
|
||||||
|
logger.log("ConstFeeRateModelTemplateAddress: ", ConstFeeRateModelTemplateAddress);
|
||||||
|
}
|
||||||
if (PermissionManagerTemplateAddress == "") {
|
if (PermissionManagerTemplateAddress == "") {
|
||||||
await deployer.deploy(PermissionManagerTemplate);
|
await deployer.deploy(PermissionManagerTemplate);
|
||||||
PermissionManagerTemplateAddress = PermissionManagerTemplate.address;
|
PermissionManagerTemplateAddress = PermissionManagerTemplate.address;
|
||||||
@@ -103,9 +206,28 @@ module.exports = async (deployer, network, accounts) => {
|
|||||||
DefaultGasSourceAddress = ExternalValueTemplate.address;
|
DefaultGasSourceAddress = ExternalValueTemplate.address;
|
||||||
logger.log("DefaultGasSourceAddress: ", DefaultGasSourceAddress);
|
logger.log("DefaultGasSourceAddress: ", DefaultGasSourceAddress);
|
||||||
const defaultGasSourceInstance = await ExternalValueTemplate.at(DefaultGasSourceAddress);
|
const defaultGasSourceInstance = await ExternalValueTemplate.at(DefaultGasSourceAddress);
|
||||||
var tx = await defaultGasSourceInstance.init(accounts[0], "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
var tx = await defaultGasSourceInstance.init(multiSigAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
||||||
logger.log("Set default Gas Tx:", tx.tx);
|
logger.log("Init DefaultGasSource Tx:", tx.tx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (DefaultMtFeeRateAddress == "") {
|
||||||
|
await deployer.deploy(ConstFeeRateModelTemplate);
|
||||||
|
DefaultMtFeeRateAddress = ConstFeeRateModelTemplate.address;
|
||||||
|
logger.log("DefaultMtFeeRateAddress: ", DefaultMtFeeRateAddress);
|
||||||
|
const defaultMtFeeRateInstance = await ConstFeeRateModelTemplate.at(DefaultMtFeeRateAddress);
|
||||||
|
var tx = await defaultMtFeeRateInstance.init(multiSigAddress, 0);
|
||||||
|
logger.log("Init DefaultMtFeeRate Tx:", tx.tx);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (DefaultPermissionAddress == "") {
|
||||||
|
await deployer.deploy(PermissionManagerTemplate);
|
||||||
|
DefaultPermissionAddress = PermissionManagerTemplate.address;
|
||||||
|
logger.log("DefaultPermissionAddress: ", DefaultPermissionAddress);
|
||||||
|
const defaultPermissionInstance = await PermissionManagerTemplate.at(DefaultPermissionAddress);
|
||||||
|
var tx = await defaultPermissionInstance.initOwner(multiSigAddress);
|
||||||
|
logger.log("Init DefaultPermissionAddress Tx:", tx.tx);
|
||||||
|
}
|
||||||
|
|
||||||
if (DvmTemplateAddress == "") {
|
if (DvmTemplateAddress == "") {
|
||||||
await deployer.deploy(DvmTemplate);
|
await deployer.deploy(DvmTemplate);
|
||||||
DvmTemplateAddress = DvmTemplate.address;
|
DvmTemplateAddress = DvmTemplate.address;
|
||||||
@@ -126,21 +248,19 @@ module.exports = async (deployer, network, accounts) => {
|
|||||||
DppAdminTemplateAddress = DppAdminTemplate.address;
|
DppAdminTemplateAddress = DppAdminTemplate.address;
|
||||||
logger.log("DppAdminTemplateAddress: ", DppAdminTemplateAddress);
|
logger.log("DppAdminTemplateAddress: ", DppAdminTemplateAddress);
|
||||||
}
|
}
|
||||||
|
if (CpTemplateAddress == "") {
|
||||||
|
await deployer.deploy(CpTemplate);
|
||||||
|
CpTemplateAddress = CpTemplate.address;
|
||||||
|
logger.log("CpTemplateAddress: ", CpTemplateAddress);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Approve
|
||||||
if (DODOApproveAddress == "") {
|
if (DODOApproveAddress == "") {
|
||||||
await deployer.deploy(DODOApprove);
|
await deployer.deploy(DODOApprove);
|
||||||
DODOApproveAddress = DODOApprove.address;
|
DODOApproveAddress = DODOApprove.address;
|
||||||
logger.log("DODOApprove Address: ", DODOApproveAddress);
|
logger.log("DODOApprove Address: ", DODOApproveAddress);
|
||||||
}
|
}
|
||||||
if (DODOSellHelperAddress == "") {
|
|
||||||
await deployer.deploy(DODOSellHelper);
|
|
||||||
DODOSellHelperAddress = DODOSellHelper.address;
|
|
||||||
logger.log("DODOSellHelper Address: ", DODOSellHelperAddress);
|
|
||||||
}
|
|
||||||
if (DODOCalleeHelperAddress == "") {
|
|
||||||
await deployer.deploy(DODOCalleeHelper,WETHAddress);
|
|
||||||
DODOCalleeHelperAddress = DODOCalleeHelper.address;
|
|
||||||
logger.log("DODOCalleeHelperAddress: ", DODOCalleeHelperAddress);
|
|
||||||
}
|
|
||||||
//Factory
|
//Factory
|
||||||
if (DvmFactoryAddress == "") {
|
if (DvmFactoryAddress == "") {
|
||||||
await deployer.deploy(
|
await deployer.deploy(
|
||||||
@@ -148,13 +268,32 @@ module.exports = async (deployer, network, accounts) => {
|
|||||||
CloneFactoryAddress,
|
CloneFactoryAddress,
|
||||||
DvmTemplateAddress,
|
DvmTemplateAddress,
|
||||||
DvmAdminTemplateAddress,
|
DvmAdminTemplateAddress,
|
||||||
FeeRateModelTemplateAddress,
|
ConstFeeRateModelTemplateAddress,
|
||||||
PermissionManagerTemplateAddress,
|
PermissionManagerTemplateAddress,
|
||||||
DefaultGasSourceAddress
|
DefaultGasSourceAddress
|
||||||
);
|
);
|
||||||
DvmFactoryAddress = DvmFactory.address;
|
DvmFactoryAddress = DvmFactory.address;
|
||||||
logger.log("DvmFactoryAddress: ", DvmFactoryAddress);
|
logger.log("DvmFactoryAddress: ", DvmFactoryAddress);
|
||||||
|
const DvmFactoryInstance = await DvmFactory.at(DvmFactoryAddress);
|
||||||
|
var tx = await DvmFactoryInstance.initOwner(multiSigAddress);
|
||||||
|
logger.log("Init DvmFactory Tx:", tx.tx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (UnownedDvmFactoryAddress == "") {
|
||||||
|
await deployer.deploy(
|
||||||
|
UnownedDvmFactory,
|
||||||
|
CloneFactoryAddress,
|
||||||
|
DvmTemplateAddress,
|
||||||
|
ConstFeeRateModelTemplateAddress,
|
||||||
|
defaultMaintainer,
|
||||||
|
DefaultMtFeeRateAddress,
|
||||||
|
DefaultPermissionAddress,
|
||||||
|
DefaultGasSourceAddress
|
||||||
|
);
|
||||||
|
UnownedDvmFactoryAddress = UnownedDvmFactory.address;
|
||||||
|
logger.log("UnownedDvmFactoryAddress: ", UnownedDvmFactoryAddress);
|
||||||
|
}
|
||||||
|
|
||||||
if (DppFactoryAddress == "") {
|
if (DppFactoryAddress == "") {
|
||||||
await deployer.deploy(
|
await deployer.deploy(
|
||||||
DppFactory,
|
DppFactory,
|
||||||
@@ -169,21 +308,45 @@ module.exports = async (deployer, network, accounts) => {
|
|||||||
);
|
);
|
||||||
DppFactoryAddress = DppFactory.address;
|
DppFactoryAddress = DppFactory.address;
|
||||||
logger.log("DppFactoryAddress: ", DppFactoryAddress);
|
logger.log("DppFactoryAddress: ", DppFactoryAddress);
|
||||||
|
const DppFactoryInstance = await DppFactory.at(DppFactoryAddress);
|
||||||
|
var tx = await DppFactoryInstance.initOwner(multiSigAddress);
|
||||||
|
logger.log("Init DppFactory Tx:", tx.tx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (CpFactoryAddress == "") {
|
||||||
|
await deployer.deploy(
|
||||||
|
CpFactory,
|
||||||
|
CloneFactoryAddress,
|
||||||
|
CpTemplateAddress,
|
||||||
|
UnownedDvmFactoryAddress,
|
||||||
|
ConstFeeRateModelTemplateAddress,
|
||||||
|
defaultMaintainer,
|
||||||
|
DefaultMtFeeRateAddress,
|
||||||
|
DefaultPermissionAddress,
|
||||||
|
DefaultGasSourceAddress
|
||||||
|
);
|
||||||
|
CpFactoryAddress = CpFactory.address;
|
||||||
|
logger.log("CpFactoryAddress: ", CpFactoryAddress);
|
||||||
|
}
|
||||||
|
|
||||||
//Proxy
|
//Proxy
|
||||||
await deployer.deploy(
|
await deployer.deploy(
|
||||||
DODOProxyV2,
|
DODOProxyV2,
|
||||||
DvmFactoryAddress,
|
DvmFactoryAddress,
|
||||||
DppFactoryAddress,
|
DppFactoryAddress,
|
||||||
|
CpFactoryAddress,
|
||||||
WETHAddress,
|
WETHAddress,
|
||||||
DODOApproveAddress,
|
DODOApproveAddress,
|
||||||
DODOSellHelperAddress
|
DODOSellHelperAddress
|
||||||
);
|
);
|
||||||
logger.log("DODOProxyV2 Address: ", DODOProxyV2.address);
|
logger.log("DODOProxyV2 Address: ", DODOProxyV2.address);
|
||||||
|
const DODOProxyV2Instance = await DODOProxyV2.at(DODOProxyV2.address);
|
||||||
|
var tx = await DODOProxyV2Instance.initOwner(multiSigAddress);
|
||||||
|
logger.log("Init DODOProxyV2 Tx:", tx.tx);
|
||||||
|
|
||||||
|
|
||||||
const DODOApproveInstance = await DODOApprove.at(DODOApproveAddress);
|
const DODOApproveInstance = await DODOApprove.at(DODOApproveAddress);
|
||||||
var tx = await DODOApproveInstance.setDODOProxy(DODOProxyV2.address);
|
var tx = await DODOApproveInstance.init(multiSigAddress,DODOProxyV2.address);
|
||||||
logger.log("DODOApprovce setProxy tx: ", tx.tx);
|
logger.log("DODOApprovce Init tx: ", tx.tx);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user