Files
dodo-contractV2/migrations/4_deploy_periphery.js

157 lines
6.8 KiB
JavaScript
Raw Normal View History

2021-02-04 17:21:18 +08:00
const fs = require("fs");
const { deploySwitch } = require('../truffle-config.js')
const file = fs.createWriteStream("../deploy-detail-periphery.txt", { 'flags': 'a' });
let logger = new console.Console(file, file);
2021-03-03 23:08:41 +08:00
const { GetConfig } = require("../configAdapter.js")
2021-02-04 17:21:18 +08:00
2021-02-13 22:35:23 +08:00
const DODORecharge = artifacts.require("DODORecharge");
2021-02-04 17:21:18 +08:00
const vDODOToken = artifacts.require("vDODOToken");
const DODOCirculationHelper = artifacts.require("DODOCirculationHelper");
2021-02-19 17:37:46 +08:00
const DODOMine = artifacts.require("DODOMine");
2021-02-23 23:48:59 +08:00
const FeeRateImpl = artifacts.require("FeeRateImpl");
2021-03-03 23:08:41 +08:00
const WETH9 = artifacts.require("WETH9");
const DODOToken = artifacts.require("DODOToken");
2021-02-04 17:21:18 +08:00
module.exports = async (deployer, network, accounts) => {
2021-03-03 23:08:41 +08:00
let CONFIG = GetConfig(network, accounts)
if (CONFIG == null) return;
2021-02-04 17:21:18 +08:00
2021-03-03 23:08:41 +08:00
let DODOTokenAddress = CONFIG.DODO;
let DODOApproveProxyAddress = CONFIG.DODOApproveProxy;
let DODOCirculationHelperAddress = CONFIG.DODOCirculationHelper;
let GovernanceAddress = CONFIG.Governance;
let vDODOTokenAddress = CONFIG.vDODOToken;
let dodoTeam = CONFIG.dodoTeam;
let multiSigAddress = CONFIG.multiSigAddress;
if (deploySwitch.FEERATEIMPL) {
logger.log("====================================================");
logger.log("network type: " + network);
logger.log("Deploy time: " + new Date().toLocaleString());
2021-02-23 23:48:59 +08:00
logger.log("Deploy type: FeeRateImpl");
await deployer.deploy(FeeRateImpl);
var FeeRateImplAddress = FeeRateImpl.address;
logger.log("FeeRateImplAddress: ", FeeRateImplAddress);
const feeRateImplInstance = await FeeRateImpl.at(FeeRateImplAddress);
var tx = await feeRateImplInstance.initOwner(multiSigAddress);
logger.log("Init feeRateImpl Tx:", tx.tx);
}
2021-03-03 23:08:41 +08:00
if (deploySwitch.DODO) {
logger.log("====================================================");
logger.log("network type: " + network);
logger.log("Deploy time: " + new Date().toLocaleString());
logger.log("Deploy type: DODOToken");
await deployer.deploy(DODOToken);
logger.log("DODOTokenAddress: ", DODOToken.address);
}
if (deploySwitch.WETH) {
logger.log("====================================================");
logger.log("network type: " + network);
logger.log("Deploy time: " + new Date().toLocaleString());
logger.log("Deploy type: WETH9");
await deployer.deploy(WETH9);
var WETH9Address = WETH9.address;
logger.log("WETH9Address: ", WETH9Address);
}
2021-02-19 17:37:46 +08:00
if (deploySwitch.MINE) {
2021-03-03 23:08:41 +08:00
logger.log("====================================================");
logger.log("network type: " + network);
logger.log("Deploy time: " + new Date().toLocaleString());
2021-02-19 17:37:46 +08:00
logger.log("Deploy type: DODOMine");
await deployer.deploy(DODOMine, DODOTokenAddress, 5008500);
DODOMineAddress = DODOMine.address;
logger.log("DODOMineAddress: ", DODOMineAddress);
const dodoMineInstance = await DODOMine.at(DODOMineAddress);
//Add dodo
2021-03-03 23:08:41 +08:00
var tx = await dodoMineInstance.addLpToken(DODOTokenAddress, "3000000000000000000000", true);
2021-02-19 17:37:46 +08:00
logger.log("Add DODO Tx:", tx.tx);
//set BLockReward
tx = await dodoMineInstance.setReward("1000000000000000", true);
logger.log("Set blockReward Tx:", tx.tx);
//transfer DODO to Vault
//transfer owner
}
2021-03-03 23:08:41 +08:00
2021-02-13 22:35:23 +08:00
if (deploySwitch.DODORecharge) {
2021-03-03 23:08:41 +08:00
logger.log("====================================================");
logger.log("network type: " + network);
logger.log("Deploy time: " + new Date().toLocaleString());
2021-02-13 22:35:23 +08:00
logger.log("Deploy type: DODORecharge");
await deployer.deploy(DODORecharge, DODOTokenAddress, DODOApproveProxyAddress);
DODORechargeAddress = DODORecharge.address;
logger.log("DODORechargeAddress: ", DODORechargeAddress);
const dodoRechargeInstance = await DODORecharge.at(DODORechargeAddress);
var tx = await dodoRechargeInstance.initOwner(multiSigAddress);
logger.log("Init DODORechargeAddress Tx:", tx.tx);
}
2021-02-04 17:21:18 +08:00
if (deploySwitch.vDODOToken) {
2021-03-03 23:08:41 +08:00
logger.log("====================================================");
logger.log("network type: " + network);
logger.log("Deploy time: " + new Date().toLocaleString());
2021-02-04 17:21:18 +08:00
logger.log("Deploy type: vDODOToken");
if (vDODOTokenAddress == "") {
await deployer.deploy(
vDODOToken,
GovernanceAddress,
DODOTokenAddress,
2021-02-13 11:01:20 +08:00
DODOApproveProxyAddress,
dodoTeam
2021-02-04 17:21:18 +08:00
);
vDODOTokenAddress = vDODOToken.address;
logger.log("vDODOTokenAddress: ", vDODOTokenAddress);
const vDODOTokenInstance = await vDODOToken.at(vDODOTokenAddress);
var tx = await vDODOTokenInstance.initOwner(multiSigAddress);
logger.log("Init vDODOTokenAddress Tx:", tx.tx);
}
if (DODOCirculationHelperAddress == "") {
2021-02-13 11:01:20 +08:00
await deployer.deploy(DODOCirculationHelper, vDODOTokenAddress, DODOTokenAddress);
2021-02-04 17:21:18 +08:00
DODOCirculationHelperAddress = DODOCirculationHelper.address;
logger.log("DODOCirculationHelperAddress: ", DODOCirculationHelperAddress);
const DODOCirculationHelperInstance = await DODOCirculationHelper.at(DODOCirculationHelperAddress);
var tx = await DODOCirculationHelperInstance.initOwner(multiSigAddress);
logger.log("Init DODOCirculationHelperAddress Tx:", tx.tx);
}
2021-03-03 23:08:41 +08:00
if (network == 'kovan') {
2021-02-04 17:21:18 +08:00
const vDODOTokenInstance = await vDODOToken.at(vDODOTokenAddress);
2021-02-13 11:01:20 +08:00
//updateDODOCirculationHelper
2021-02-13 13:31:48 +08:00
var tx = await vDODOTokenInstance.updateDODOCirculationHelper(DODOCirculationHelperAddress);
logger.log("vDODOToken setDODOCirculationHelper tx: ", tx.tx);
2021-03-03 23:08:41 +08:00
2021-02-13 11:01:20 +08:00
//ApproveProxy add
2021-02-19 17:37:46 +08:00
// const DODOApproveProxyInstance = await DODOApproveProxy.at(DODOApproveProxyAddress);
// tx = await DODOApproveProxyInstance.unlockAddProxy(vDODOTokenAddress);
// logger.log("DODOApproveProxy Unlock tx: ", tx.tx);
// tx = await DODOApproveProxyInstance.addDODOProxy();
// logger.log("DODOApproveProxy add tx: ", tx.tx);
// //Mint DODO first
// tx = await vDODOTokenInstance.mint("100000000000000000000000",dodoTeam);
// logger.log("vDODOToken first mint tx: ", tx.tx);
2021-03-03 23:08:41 +08:00
2021-02-19 17:37:46 +08:00
// //preDepositedBlockReward
// tx = await vDODOTokenInstance.preDepositedBlockReward("100000000000000000000000");
// logger.log("vDODOToken injected dodo tx: ", tx.tx);
2021-02-13 11:01:20 +08:00
2021-02-19 17:37:46 +08:00
// //changePerReward
// tx = await vDODOTokenInstance.changePerReward("100000000000000000");
// logger.log("vDODOToken changeReward tx: ", tx.tx);
2021-02-13 11:01:20 +08:00
2021-02-04 17:21:18 +08:00
}
}
};