add gas token && deploy kovan script

This commit is contained in:
owen05
2020-12-07 16:20:59 +08:00
parent 6ba698480a
commit 1ff3f0daf6
17 changed files with 862 additions and 211 deletions

View File

@@ -1,156 +0,0 @@
const fs = require("fs");
const file = fs.createWriteStream("../deploy-detail.txt");
let logger = new console.Console(file, file);
// const SmartApprove = artifacts.require("DODOApprove");
// const SmartSwap = artifacts.require("SmartSwap");
// const DODOSellHelper = artifacts.require("DODOSellHelper");
// const TestERC20 = artifacts.require("TestERC20");
// const NaiveOracle = artifacts.require("NaiveOracle");
// const DODOZoo = artifacts.require("DODOZoo");
const DEPLOY_ROUTE = false;
const DEPLOY_KOVAN_TOKEN = false;
module.exports = async (deployer, network, accounts) => {
// let DODOSellHelperAddress = "";
// let DODOZooAddress = "";
// let WETHAddress = "";
// let SmartApproveAddress = "";
// if (network == "kovan") {
// DODOSellHelperAddress = "0xbdEae617F2616b45DCB69B287D52940a76035Fe3";
// DODOZooAddress = "0x92230e929a2226b29ed3441ae5524886347c60c8";
// WETHAddress = "0x5eca15b12d959dfcf9c71c59f8b467eb8c6efd0b";
// SmartApproveAddress = "0x5627b7DEb3055e1e899003FDca0716b32C382084";
// } else if (network == "live") {
// DODOSellHelperAddress = "0x533da777aedce766ceae696bf90f8541a4ba80eb";
// DODOZooAddress = "0x3a97247df274a17c59a3bd12735ea3fcdfb49950";
// WETHAddress = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2";
// SmartApproveAddress = "0xe380Ad3181A69BF92133D2feb609867c4adC61eA";
// } else return;
// logger.log("====================================================");
// logger.log("network type: " + network);
// logger.log("Deploy time: " + new Date().toLocaleString());
// if (DEPLOY_ROUTE) {
// logger.log("Deploy type: Smart Route");
// if (SmartApproveAddress == "") {
// await deployer.deploy(SmartApprove);
// SmartApproveAddress = SmartApprove.address;
// }
// if (DODOSellHelperAddress == "") {
// await deployer.deploy(DODOSellHelper);
// DODOSellHelperAddress = DODOSellHelper.address;
// }
// logger.log("SmartApprove Address: ", SmartApproveAddress);
// logger.log("DODOSellHelper Address: ", DODOSellHelperAddress);
// await deployer.deploy(
// SmartSwap,
// SmartApproveAddress,
// DODOSellHelperAddress,
// WETHAddress
// );
// logger.log("SmartSwap Address: ", SmartSwap.address);
// // const SmartApproveInstance = await SmartApprove.at(SmartApproveAddress);
// // var tx = await SmartApproveInstance.setSmartSwap(SmartSwap.address);
// // logger.log("SmartApprovce setSmartSwap tx: ", tx.tx);
// }
// if (DEPLOY_KOVAN_TOKEN) {
// logger.log("Deploy type: Create Tokens and Trading Pairs");
// await deployer.deploy(TestERC20, "USDC", 6, "USDC");
// const USDCAddr = TestERC20.address;
// logger.log("USDC Addr: ", USDCAddr);
// await deployer.deploy(TestERC20, "USDT", 6, "USDT");
// const USDTAddr = TestERC20.address;
// logger.log("USDT Addr: ", USDTAddr);
// await deployer.deploy(TestERC20, "DODO", 18, "DODO");
// const DODOAddr = TestERC20.address;
// logger.log("DODO Addr: ", DODOAddr);
// await deployer.deploy(TestERC20, "WOO", 18, "WOO");
// const WooAddr = TestERC20.address;
// logger.log("WOO Addr: ", WooAddr);
// const WETHAddr = WETHAddress;
// logger.log("WETH Addr: ", WETHAddr);
// let config = {
// lpFeeRate: "2000000000000000",
// mtFeeRate: "1000000000000000",
// k: "100000000000000000",
// gasPriceLimit: "100000000000",
// };
// const DODOZooInstance = await DODOZoo.at(DODOZooAddress);
// //USDT-USDC
// await deployer.deploy(NaiveOracle);
// var USDT_USDC_Oracle = NaiveOracle.address;
// await DODOZooInstance.breedDODO(
// accounts[0],
// USDTAddr,
// USDCAddr,
// USDT_USDC_Oracle,
// config.lpFeeRate,
// config.mtFeeRate,
// config.k,
// config.gasPriceLimit
// );
// const USDT_USDC_Addr = await DODOZooInstance.getDODO(USDTAddr, USDCAddr);
// logger.log("USDT_USDC_Addr:", USDT_USDC_Addr);
// // DODO-USDT
// await deployer.deploy(NaiveOracle);
// var DODO_USDT_Oracle = NaiveOracle.address;
// await DODOZooInstance.breedDODO(
// accounts[0],
// DODOAddr,
// USDTAddr,
// DODO_USDT_Oracle,
// config.lpFeeRate,
// config.mtFeeRate,
// config.k,
// config.gasPriceLimit
// );
// const DODO_USDT_Addr = await DODOZooInstance.getDODO(DODOAddr, USDTAddr);
// logger.log("DODO_USDT_Addr:", DODO_USDT_Addr);
// // //WETH-USDC
// await deployer.deploy(NaiveOracle);
// var WETH_USDC_Oracle = NaiveOracle.address;
// await DODOZooInstance.breedDODO(
// accounts[0],
// WETHAddr,
// USDCAddr,
// WETH_USDC_Oracle,
// config.lpFeeRate,
// config.mtFeeRate,
// config.k,
// config.gasPriceLimit
// );
// const WETH_USDC_Addr = await DODOZooInstance.getDODO(WETHAddr, USDCAddr);
// logger.log("WETH_USDC_Addr:", WETH_USDC_Addr);
// //WOO-USDT
// await deployer.deploy(NaiveOracle);
// var WOO_USDT_Oracle = NaiveOracle.address;
// await DODOZooInstance.breedDODO(
// accounts[0],
// WooAddr,
// USDTAddr,
// WOO_USDT_Oracle,
// config.lpFeeRate,
// config.mtFeeRate,
// config.k,
// config.gasPriceLimit
// );
// const WOO_USDT_Addr = await DODOZooInstance.getDODO(WooAddr, USDTAddr);
// logger.log("WOO_USDT_Addr:", WOO_USDT_Addr);
// //TODO:ing enableBaseDeposit enableQuoteDeposit enableTrading
// //TODO:ing apporve pair to token
// //TODO:ing mint to lp
// //TODO:ing deposit to Base && quote pool
// }
};

View File

@@ -0,0 +1,63 @@
const fs = require("fs");
const file = fs.createWriteStream("../deploy-detail-v1.5.txt", { 'flags': 'a' });
let logger = new console.Console(file, file);
const DODOApprove = artifacts.require("DODOApprove");
const DODOProxyV1 = artifacts.require("DODOV1Proxy01");
const DODOSellHelper = artifacts.require("DODOSellHelper");
const DEPLOY_ROUTE = false;
module.exports = async (deployer, network, accounts) => {
let DODOSellHelperAddress = "";
let WETHAddress = "";
let DODOApproveAddress = "";
let chiAddress = "";
if (network == "kovan") {
DODOSellHelperAddress = "0xbdEae617F2616b45DCB69B287D52940a76035Fe3";
WETHAddress = "0x5eca15b12d959dfcf9c71c59f8b467eb8c6efd0b";
// DODOApproveAddress = "0xbcf0fC05860b14cB3D62D1d4C7f531Ad2F28E0fE";
DODOApproveAddress = "0x0C4a80B2e234448E5f6fD86e7eFA733d985004c8";
chiAddress = "0x0000000000004946c0e9f43f4dee607b0ef1fa1c";
} else if (network == "live") {
DODOSellHelperAddress = "0x533da777aedce766ceae696bf90f8541a4ba80eb";
WETHAddress = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2";
DODOApproveAddress = "0x4eC851895d85bfa6835241b3157ae10FfFD3BebC";
chiAddress = "0x0000000000004946c0e9F43F4Dee607b0eF1fA1c";
} else if (network == "bsclive") {
DODOSellHelperAddress = "0x0F859706AeE7FcF61D5A8939E8CB9dBB6c1EDA33";
WETHAddress = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
DODOApproveAddress = "0x19DA73be23Cea6bFA804Ec020041b8F3971BC522";
chiAddress = "0x0000000000000000000000000000000000000000";
} else return;
logger.log("====================================================");
logger.log("network type: " + network);
logger.log("Deploy time: " + new Date().toLocaleString());
if (DEPLOY_ROUTE) {
logger.log("Deploy type: Proxy");
if (DODOApproveAddress == "") {
await deployer.deploy(DODOApprove);
DODOApproveAddress = DODOApprove.address;
}
if (DODOSellHelperAddress == "") {
await deployer.deploy(DODOSellHelper);
DODOSellHelperAddress = DODOSellHelper.address;
}
logger.log("DODOApprove Address: ", DODOApproveAddress);
logger.log("DODOSellHelper Address: ", DODOSellHelperAddress);
await deployer.deploy(
DODOProxyV1,
DODOApproveAddress,
DODOSellHelperAddress,
WETHAddress,
chiAddress
);
logger.log("DODOProxyV1 Address: ", DODOProxyV1.address);
const DODOApproveInstance = await DODOApprove.at(DODOApproveAddress);
var tx = await DODOApproveInstance.setDODOProxy(DODOProxyV1.address);
logger.log("DODOApprovce setProxy tx: ", tx.tx);
}
};

189
migrations/3_deploy_v2.js Normal file
View File

@@ -0,0 +1,189 @@
const fs = require("fs");
const file = fs.createWriteStream("../deploy-detail-v2.0.txt", { 'flags': 'a' });
let logger = new console.Console(file, file);
const CloneFactory = artifacts.require("CloneFactory");
const DvmTemplate = artifacts.require("DVM");
const DvmAdminTemplate = artifacts.require("DVMAdmin");
const DppTemplate = artifacts.require("DPP");
const DppAdminTemplate = artifacts.require("DPPAdmin");
const FeeRateModelTemplate = artifacts.require("FeeRateModel");
const PermissionManagerTemplate = artifacts.require("PermissionManager");
const ExternalValueTemplate = artifacts.require("ExternalValue");
const DvmFactory = artifacts.require("DVMFactory");
const DppFactory = artifacts.require("DPPFactory");
const DODOApprove = artifacts.require("DODOApprove");
const DODOProxyV2 = artifacts.require("DODOV2Proxy01");
const DODOSellHelper = artifacts.require("DODOSellHelper");
const DODOCalleeHelper = artifacts.require("DODOCalleeHelper");
const DEPLOY_V2 = true;
module.exports = async (deployer, network, accounts) => {
let DODOSellHelperAddress = "";
let DODOCalleeHelperAddress = "";
let WETHAddress = "";
let DODOApproveAddress = "";
let chiAddress = "";
let CloneFactoryAddress = "";
let FeeRateModelTemplateAddress = "";
let PermissionManagerTemplateAddress = "";
let ExternalValueTemplateAddress = "";
let DefaultGasSourceAddress = "";
let DvmTemplateAddress = "";
let DvmAdminTemplateAddress = "";
let DppTemplateAddress = "";
let DppAdminTemplateAddress = "";
let DvmFactoryAddress = "";
let DppFactoryAddress = "";
if (network == "kovan") {
DODOSellHelperAddress = "0xbdEae617F2616b45DCB69B287D52940a76035Fe3";
WETHAddress = "0x5eca15b12d959dfcf9c71c59f8b467eb8c6efd0b";
chiAddress = "0x0000000000004946c0e9f43f4dee607b0ef1fa1c";
DODOApproveAddress = "0x0C4a80B2e234448E5f6fD86e7eFA733d985004c8";
DODOCalleeHelperAddress = "0x507EBbb195CF54E0aF147A2b269C08a38EA36989";
//Template
CloneFactoryAddress = "0xf7959fe661124C49F96CF30Da33729201aEE1b27";
FeeRateModelTemplateAddress = "0xEF3137780B387313c5889B999D03BdCf9aeEa892";
PermissionManagerTemplateAddress = "0x5D2Da09501d97a7bf0A8F192D2eb2F9Aa80d3241";
ExternalValueTemplateAddress = "0xe0f813951dE2BB012f7Feb981669F9a7b5250A57";
DefaultGasSourceAddress = "0xE0c0df0e0be7ec4f579503304a6C186cA4365407";
DvmTemplateAddress = "0x460Ada67279Ff2ce8c87cb88F99070c6520Aa624";
DvmAdminTemplateAddress = "0xbB9F79f6ac9e577B658E3B2E1340838d8965986B";
DppTemplateAddress = "0x577c2cE26B8b5C8b3f7c57826Bf351ac7c21a441";
DppAdminTemplateAddress = "0x402ace5a3e6Aa71FB942d309341F8867afcde302";
//Factory
DvmFactoryAddress = "0xaeF2cce5678e6e29f7a7C2A6f5d2Ce26df600dc1";
DppFactoryAddress = "0x5935a606383Ba43C61FcE5E632357744a95e9dC3";
} else if (network == "live") {
DODOSellHelperAddress = "0x533da777aedce766ceae696bf90f8541a4ba80eb";
WETHAddress = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2";
chiAddress = "0x0000000000004946c0e9F43F4Dee607b0eF1fA1c";
DODOApproveAddress = "0x4eC851895d85bfa6835241b3157ae10FfFD3BebC";
//Tempalte
} else if (network == "bsclive") {
DODOSellHelperAddress = "0x0F859706AeE7FcF61D5A8939E8CB9dBB6c1EDA33";
WETHAddress = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
chiAddress = "0x0000000000000000000000000000000000000000";
DODOApproveAddress = "0x19DA73be23Cea6bFA804Ec020041b8F3971BC522";
//Template
} else return;
logger.log("====================================================");
logger.log("network type: " + network);
logger.log("Deploy time: " + new Date().toLocaleString());
if (DEPLOY_V2) {
logger.log("Deploy type: V2");
if (CloneFactoryAddress == "") {
await deployer.deploy(CloneFactory);
CloneFactoryAddress = CloneFactory.address;
logger.log("CloneFactoryAddress: ", CloneFactoryAddress);
}
if (FeeRateModelTemplateAddress == "") {
await deployer.deploy(FeeRateModelTemplate);
FeeRateModelTemplateAddress = FeeRateModelTemplate.address;
logger.log("FeeRateModelTemplateAddress: ", FeeRateModelTemplateAddress);
}
if (PermissionManagerTemplateAddress == "") {
await deployer.deploy(PermissionManagerTemplate);
PermissionManagerTemplateAddress = PermissionManagerTemplate.address;
logger.log("PermissionManagerTemplateAddress: ", PermissionManagerTemplateAddress);
}
if (ExternalValueTemplateAddress == "") {
await deployer.deploy(ExternalValueTemplate);
ExternalValueTemplateAddress = ExternalValueTemplate.address;
logger.log("ExternalValueTemplateAddress: ", ExternalValueTemplateAddress);
}
if (DefaultGasSourceAddress == "") {
await deployer.deploy(ExternalValueTemplate);
DefaultGasSourceAddress = ExternalValueTemplate.address;
logger.log("DefaultGasSourceAddress: ", DefaultGasSourceAddress);
const defaultGasSourceInstance = await ExternalValueTemplate.at(DefaultGasSourceAddress);
var tx = await defaultGasSourceInstance.init(accounts[0], "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
logger.log("Set default Gas Tx:", tx.tx);
}
if (DvmTemplateAddress == "") {
await deployer.deploy(DvmTemplate);
DvmTemplateAddress = DvmTemplate.address;
logger.log("DvmTemplateAddress: ", DvmTemplateAddress);
}
if (DvmAdminTemplateAddress == "") {
await deployer.deploy(DvmAdminTemplate);
DvmAdminTemplateAddress = DvmAdminTemplate.address;
logger.log("DvmAdminTemplateAddress: ", DvmAdminTemplateAddress);
}
if (DppTemplateAddress == "") {
await deployer.deploy(DppTemplate);
DppTemplateAddress = DppTemplate.address;
logger.log("DppTemplateAddress: ", DppTemplateAddress);
}
if (DppAdminTemplateAddress == "") {
await deployer.deploy(DppAdminTemplate);
DppAdminTemplateAddress = DppAdminTemplate.address;
logger.log("DppAdminTemplateAddress: ", DppAdminTemplateAddress);
}
if (DODOApproveAddress == "") {
await deployer.deploy(DODOApprove);
DODOApproveAddress = DODOApprove.address;
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
if (DvmFactoryAddress == "") {
await deployer.deploy(
DvmFactory,
CloneFactoryAddress,
DvmTemplateAddress,
DvmAdminTemplateAddress,
FeeRateModelTemplateAddress,
PermissionManagerTemplateAddress,
DefaultGasSourceAddress
);
DvmFactoryAddress = DvmFactory.address;
logger.log("DvmFactoryAddress: ", DvmFactoryAddress);
}
if (DppFactoryAddress == "") {
await deployer.deploy(
DppFactory,
CloneFactoryAddress,
DppTemplateAddress,
DppAdminTemplateAddress,
FeeRateModelTemplateAddress,
PermissionManagerTemplateAddress,
ExternalValueTemplateAddress,
DefaultGasSourceAddress,
DODOApproveAddress
);
DppFactoryAddress = DppFactory.address;
logger.log("DppFactoryAddress: ", DppFactoryAddress);
}
//Proxy
await deployer.deploy(
DODOProxyV2,
DvmFactoryAddress,
DppFactoryAddress,
WETHAddress,
DODOApproveAddress,
DODOSellHelperAddress
);
logger.log("DODOProxyV2 Address: ", DODOProxyV2.address);
const DODOApproveInstance = await DODOApprove.at(DODOApproveAddress);
var tx = await DODOApproveInstance.setDODOProxy(DODOProxyV2.address);
logger.log("DODOApprovce setProxy tx: ", tx.tx);
}
};