Merge branch 'feature/V2' of github.com:DODOEX/contractV2 into feature/V2
This commit is contained in:
@@ -1 +1,157 @@
|
||||
module.exports = async (deployer, network) => {};
|
||||
const fs = require("fs");
|
||||
const file = fs.createWriteStream("../deploy-detail.txt");
|
||||
let logger = new console.Console(file, file);
|
||||
|
||||
const SmartApprove = artifacts.require("SmartApprove");
|
||||
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 = true;
|
||||
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 (SmartApprove == "") {
|
||||
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
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user