fix apdater && add approve proxy

This commit is contained in:
owen05
2021-01-26 17:53:49 +08:00
parent bfa3fc3466
commit 38f5fe142b
16 changed files with 1417 additions and 108 deletions

View File

@@ -3,15 +3,15 @@ const { deploySwitch } = require('../truffle-config.js')
const file = fs.createWriteStream("../deploy-detail-v1.5.txt", { 'flags': 'a' });
let logger = new console.Console(file, file);
const DODOApprove = artifacts.require("DODOApprove");
const DODOV1Proxy03 = artifacts.require("DODOV1Proxy03");
const DODOApproveProxy = artifacts.require("DODOApproveProxy");
const DODOV1Proxy04 = artifacts.require("DODOV1Proxy04");
const DODOSellHelper = artifacts.require("DODOSellHelper");
const DODOSwapCalcHelper = artifacts.require("DODOSwapCalcHelper");
module.exports = async (deployer, network, accounts) => {
let DODOSellHelperAddress = "";
let WETHAddress = "";
let DODOApproveAddress = "";
let DODOApproveProxyAddress = "";
let chiAddress = "";
let DODOSwapCalcHelperAddress = "";
let ownerAddress = ""
@@ -19,20 +19,20 @@ module.exports = async (deployer, network, accounts) => {
DODOSellHelperAddress = "0xbdEae617F2616b45DCB69B287D52940a76035Fe3";
WETHAddress = "0x5eca15b12d959dfcf9c71c59f8b467eb8c6efd0b";
DODOSwapCalcHelperAddress = "0x0473FFd7039435F1FC794281F2a05830A1a0108a";
DODOApproveAddress = "";
DODOApproveProxyAddress = "";
chiAddress = "0x0000000000004946c0e9f43f4dee607b0ef1fa1c";
ownerAddress = accounts[0];
} else if (network == "live") {
DODOSellHelperAddress = "0x533da777aedce766ceae696bf90f8541a4ba80eb";
WETHAddress = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2";
DODOApproveAddress = "0xCB859eA579b28e02B87A1FDE08d087ab9dbE5149";
DODOApproveProxyAddress = "0x335aC99bb3E51BDbF22025f092Ebc1Cf2c5cC619";
chiAddress = "0x0000000000004946c0e9F43F4Dee607b0eF1fA1c";
DODOSwapCalcHelperAddress = "0x3C02477f1B3C70D692be95a6e3805E02bba71206";
ownerAddress = "0x95C4F5b83aA70810D4f142d58e5F7242Bd891CB0";
} else if (network == "bsclive") {
DODOSellHelperAddress = "0x0F859706AeE7FcF61D5A8939E8CB9dBB6c1EDA33";
WETHAddress = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
DODOApproveAddress = "0xa128Ba44B2738A558A1fdC06d6303d52D3Cef8c1";
DODOApproveProxyAddress = "0xB76de21f04F677f07D9881174a1D8E624276314C";
chiAddress = "0x0000000000000000000000000000000000000000";
DODOSwapCalcHelperAddress = "0xb0199C2c8ADF1E6c1e41De60A62E993406Cb8C02";
ownerAddress = "0x4073f2b9bB95774531b9e23d206a308c614A943a";
@@ -46,10 +46,10 @@ module.exports = async (deployer, network, accounts) => {
var tx;
logger.log("Deploy type: Proxy");
if (DODOApproveAddress == "") {
await deployer.deploy(DODOApprove);
DODOApproveAddress = DODOApprove.address;
logger.log("DODOApprove Address: ", DODOApproveAddress);
if (DODOApproveProxyAddress == "") {
await deployer.deploy(DODOApproveProxy);
DODOApproveProxyAddress = DODOApproveProxy.address;
logger.log("DODOApproveProxy Address: ", DODOApproveDODOApproveProxyAddressAddress);
}
if (DODOSellHelperAddress == "") {
await deployer.deploy(DODOSellHelper);
@@ -62,14 +62,14 @@ module.exports = async (deployer, network, accounts) => {
}
await deployer.deploy(
DODOV1Proxy03,
DODOApproveAddress,
DODOV1Proxy04,
DODOApproveProxyAddress,
DODOSellHelperAddress,
WETHAddress,
chiAddress
);
logger.log("DODOV1Proxy03 Address: ", DODOV1Proxy03.address);
const DODOProxyInstance = await DODOV1Proxy03.at(DODOV1Proxy03.address);
logger.log("DODOV1Proxy04 Address: ", DODOV1Proxy04.address);
const DODOProxyInstance = await DODOV1Proxy04.at(DODOV1Proxy04.address);
tx = await DODOProxyInstance.initOwner(ownerAddress);
logger.log("Set DODOProxy Owner tx: ", tx.tx);

View File

@@ -12,12 +12,17 @@ const DppTemplate = artifacts.require("DPP");
const DppAdminTemplate = artifacts.require("DPPAdmin");
const CpTemplate = artifacts.require("CP");
const ERC20Template = artifacts.require("InitializableERC20");
const MintableERC20Template = artifacts.require("InitializableMintableERC20");
const ERC20Factory = artifacts.require("ERC20Factory");
const DvmFactory = artifacts.require("DVMFactory");
const DppFactory = artifacts.require("DPPFactory");
const CpFactory = artifacts.require("CrowdPoolingFactory");
const DODOApprove = artifacts.require("DODOApprove");
const DODOProxyV2 = artifacts.require("DODOV2Proxy01");
const DODOApproveProxy = artifacts.require("DODOApproveProxy");
const DODOProxyV2 = artifacts.require("DODOV2Proxy02");
const DODOIncentive = artifacts.require("DODOIncentive");
const DODOSellHelper = artifacts.require("DODOSellHelper");
const DODOCalleeHelper = artifacts.require("DODOCalleeHelper");
@@ -52,6 +57,7 @@ module.exports = async (deployer, network, accounts) => {
let CpFactoryAddress = "";
//Approve
let DODOApproveAddress = "";
let DODOApproveProxyAddress = "";
//Incentive
let DODOIncentiveAddress = "";
let DODOTokenAddress = "";
@@ -59,31 +65,37 @@ module.exports = async (deployer, network, accounts) => {
let multiSigAddress = "";
let defaultMaintainer = "";
//ERC20
let ERC20TemplateAddress = "";
let MintableERC20TemplateAddress = "";
let ERC20FactoryAddress = "";
if (network == "kovan") {
//Helper
DODOSellHelperAddress = "0xbdEae617F2616b45DCB69B287D52940a76035Fe3";
WETHAddress = "0x5eca15b12d959dfcf9c71c59f8b467eb8c6efd0b";
chiAddress = "0x0000000000004946c0e9f43f4dee607b0ef1fa1c";
DODOCalleeHelperAddress = "";
DODOCalleeHelperAddress = "0xf45e57FE0c0Bf759E34152179B2dA0a4e1a6BC9B";
DODOV1PmmHelperAddress = "0xC972069473a686b1c11Bd9347D719c87e6745d39";
DODORouteV2HelperAddress = "";
//Template
CloneFactoryAddress = "0xf7959fe661124C49F96CF30Da33729201aEE1b27";
DefaultMtFeeRateAddress = "";
DefaultMtFeeRateAddress = "0x2F7e3B1c22C1baE2224Cef9F8BFe6B13789Fd0F7";
DefaultPermissionAddress = "0xACc7E23368261e1E02103c4e5ae672E7D01f5797";
DvmTemplateAddress = "";
DppTemplateAddress = "";
DvmTemplateAddress = "0xA6384D1501842e9907D43148E2ca0d50E4ad56E2";
DppTemplateAddress = "0x044b48D64E77Ab8854C46c8456dC05C540c9dd53";
DppAdminTemplateAddress = "";
CpTemplateAddress = "";
CpTemplateAddress = "0x81c802080c3CE0dE98fcb625670A14Eb8440184a";
//Factory
DvmFactoryAddress = "";
DvmFactoryAddress = "0xE842d8c9A54B23C4D0cf208daCA3882c0c311353";
DppFactoryAddress = "";
CpFactoryAddress = "";
CpFactoryAddress = "0xD25e0A9A464f50191d9C879bE818FbA44680E980";
//Approve
DODOApproveAddress = "";
DODOIncentiveAddress = "";
DODOApproveProxyAddress = "";
DODOIncentiveAddress = "0x1f69E3CEAbDc464Ab11bceB15726530CD8AC535E";
DODOTokenAddress = "0xfF2985D13953Cb92ecc585aA2B6A4AF8cB46068f";
//Account
multiSigAddress = accounts[0];
@@ -102,16 +114,17 @@ module.exports = async (deployer, network, accounts) => {
DefaultPermissionAddress = "0x6B208E08dcF6BD51F50C5Da09d15B2D8E5C46Cf2";
DvmTemplateAddress = "0x2BBD66fC4898242BDBD2583BBe1d76E8b8f71445";
DppTemplateAddress = "0x18DFdE99F578A0735410797e949E8D3e2AFCB9D2";
DppAdminTemplateAddress = "0x729f7f44bf64Ce814716b6261e267DbE6cdf021c";
DppTemplateAddress = "0xB76de21f04F677f07D9881174a1D8E624276314C";
DppAdminTemplateAddress = "";
CpTemplateAddress = "0x18b0bD918b55f995Fd404B872404378A62cb403b";
//Factory
DvmFactoryAddress = "";
DvmFactoryAddress = "0x72d220cE168C4f361dD4deE5D826a01AD8598f6C";
DppFactoryAddress = "";
CpFactoryAddress = "";
CpFactoryAddress = "0xE8C9A78725D0451FA19878D5f8A3dC0D55FECF25";
//Proxy
DODOApproveAddress = "0xC3BeD579CaB3EC29B22D9AB99F4E586af42496b9";
DODOIncentiveAddress = "";
DODOApproveAddress = "0xCB859eA579b28e02B87A1FDE08d087ab9dbE5149";
DODOApproveProxyAddress = "";
DODOIncentiveAddress = "0x989DcAA95801C527C5B73AA65d3962dF9aCe1b0C";
DODOTokenAddress = "0x43Dfc4159D86F3A37A5A4B3D4580b888ad7d4DDd";
//Account
multiSigAddress = "0x95C4F5b83aA70810D4f142d58e5F7242Bd891CB0";
@@ -121,25 +134,26 @@ module.exports = async (deployer, network, accounts) => {
DODOSellHelperAddress = "0x0F859706AeE7FcF61D5A8939E8CB9dBB6c1EDA33";
WETHAddress = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
chiAddress = "0x0000000000000000000000000000000000000000";
DODOCalleeHelperAddress = "";
DODOCalleeHelperAddress = "0xDfaf9584F5d229A9DBE5978523317820A8897C5A";
DODORouteV2HelperAddress = "";
DODOV1PmmHelperAddress = "";
DODOV1PmmHelperAddress = "0x2BBD66fC4898242BDBD2583BBe1d76E8b8f71445";
//Template
CloneFactoryAddress = "0x03E2427859119E497EB856a166F616a2Ce5f8c88";
DefaultMtFeeRateAddress = "";
DefaultPermissionAddress = "";
DefaultMtFeeRateAddress = "0x18DFdE99F578A0735410797e949E8D3e2AFCB9D2";
DefaultPermissionAddress = "0x729f7f44bf64Ce814716b6261e267DbE6cdf021c";
DvmTemplateAddress = "";
DppTemplateAddress = "";
DvmTemplateAddress = "0xC3BeD579CaB3EC29B22D9AB99F4E586af42496b9";
DppTemplateAddress = "0x85351262f7474Ebe23FfAcD633cf20A491F1325D";
DppAdminTemplateAddress = "";
CpTemplateAddress = "";
CpTemplateAddress = "0x041ABa00c57Dd47abC37A2931dF569a2A2cc57Be";
//Factory
DvmFactoryAddress = "";
DvmFactoryAddress = "0xf50BDc9E90B7a1c138cb7935071b85c417C4cb8e";
DppFactoryAddress = "";
CpFactoryAddress = "";
CpFactoryAddress = "0x9aE501385Bc7996A2A4a1FBb00c8d3820611BCB5";
//Proxy
DODOApproveAddress = "";
DODOIncentiveAddress = "";
DODOApproveAddress = "0xa128Ba44B2738A558A1fdC06d6303d52D3Cef8c1";
DODOApproveProxyAddress = "";
DODOIncentiveAddress = "0x80930Cb1849F7D42531506fF45E66724338A821b";
DODOTokenAddress = "0x497A44c951fCCF92ADfdeD0a5b0162256F147647";
//Account
multiSigAddress = "0x4073f2b9bB95774531b9e23d206a308c614A943a";
@@ -161,11 +175,29 @@ module.exports = async (deployer, network, accounts) => {
logger.log("UniAdapter Address: ", UniAdapter.address);
}
if (deploySwitch.CALLEE) {
logger.log("Deploy type: V2 - Callee");
await deployer.deploy(DODOCalleeHelper, WETHAddress);
DODOCalleeHelperAddress = DODOCalleeHelper.address;
logger.log("DODOCalleeHelperAddress: ", DODOCalleeHelperAddress);
if (deploySwitch.ERC20) {
logger.log("Deploy type: V2 - ERC20 Factory");
if (ERC20TemplateAddress == "") {
await deployer.deploy(ERC20Template);
ERC20TemplateAddress = ERC20Template.address;
logger.log("ERC20TemplateAddress: ", ERC20TemplateAddress);
}
if (MintableERC20TemplateAddress == "") {
await deployer.deploy(MintableERC20Template);
MintableERC20TemplateAddress = MintableERC20Template.address;
logger.log("MintableERC20TemplateAddress: ", MintableERC20TemplateAddress);
}
if (ERC20FactoryAddress == "") {
await deployer.deploy(
ERC20Factory,
CloneFactoryAddress,
ERC20TemplateAddress,
MintableERC20TemplateAddress
);
ERC20FactoryAddress = ERC20Factory.address;
logger.log("ERC20FactoryAddress: ", ERC20FactoryAddress);
}
}
if (deploySwitch.DEPLOY_V2) {
@@ -239,6 +271,12 @@ module.exports = async (deployer, network, accounts) => {
logger.log("DODOApprove Address: ", DODOApproveAddress);
}
if (DODOApproveProxyAddress == "") {
await deployer.deploy(DODOApproveProxy, DODOApproveAddress);
DODOApproveProxyAddress = DODOApproveProxy.address;
logger.log("DODOApproveProxy Address: ", DODOApproveProxyAddress);
}
//Incentive
if (DODOIncentiveAddress == "") {
await deployer.deploy(DODOIncentive, DODOTokenAddress);
@@ -273,7 +311,7 @@ module.exports = async (deployer, network, accounts) => {
DppAdminTemplateAddress,
defaultMaintainer,
DefaultMtFeeRateAddress,
DODOApproveAddress
DODOApproveProxyAddress
);
DppFactoryAddress = DppFactory.address;
logger.log("DppFactoryAddress: ", DppFactoryAddress);
@@ -312,24 +350,28 @@ module.exports = async (deployer, network, accounts) => {
DppFactoryAddress,
CpFactoryAddress,
WETHAddress,
DODOApproveAddress,
DODOApproveProxyAddress,
DODOSellHelperAddress,
chiAddress,
DODOIncentiveAddress
);
logger.log("DODOProxyV2 Address: ", DODOProxyV2.address);
logger.log("DODOV2Proxy02 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);
var tx = await DODOApproveInstance.init(multiSigAddress, DODOProxyV2.address);
logger.log("DODOApprove Init tx: ", tx.tx);
if (network == 'kovan') {
//1. Proxy whiteList
const DODOApproveProxyInstance = await DODOApproveProxy.at(DODOApproveProxyAddress);
var tx = await DODOApproveProxyInstance.init(multiSigAddress, [DODOProxyV2.address]);
logger.log("DODOApproveProxy Init tx: ", tx.tx);
const DODOApproveInstance = await DODOApprove.at(DODOApproveAddress);
var tx = await DODOApproveInstance.init(multiSigAddress, DODOApproveProxy.address);
logger.log("DODOApprove Init tx: ", tx.tx);
//2. ChangeDODO Incentive proxy
const DODOIncentiveInstance = await DODOIncentive.at(DODOIncentiveAddress);

View File

@@ -64,10 +64,10 @@ module.exports = async (deployer, network, accounts) => {
let MintableERC20TemplateAddress = "0xA45a64DAba80757432fA4d654Df12f65f020C13C";
let ERC20FactoryAddress = "0xCb1A2f64EfB02803276BFB5a8D511C4D950282a0";
let DPPFactoryAddress = "0xaFC7F3Ef4f8609411653FbF1Dd6D583A8Ae1f0fA";
let DPPFactoryAddress = "0x6DAb26dFE83E484DCC5126F812E3e6AA8e7eEf4D";
let DVMFactoryAddress = "0xE842d8c9A54B23C4D0cf208daCA3882c0c311353";
let DODOApproveAddress = "0x6FB6313cafaFe38acA19Be0B8151d6354F74A340";
let DODOProxyV2Address = "0xfDEDc04A641DE9CEeb4eD2F24d98faa22418Bd94";
let DODOApproveAddress = "0x8acF28D9d8124B20b645893b6102950B488dfd29";
let DODOProxyV2Address = "0x3457A15B9ab57FC754789EE83E4BD2BD8f4F50C8";
@@ -193,22 +193,22 @@ module.exports = async (deployer, network, accounts) => {
// const quoteInAmount = web3.utils.toWei("0.5", 'ether');
const deadline = Math.floor(new Date().getTime() / 1000 + 60 * 10);
//DVM Pool
for (var i = 0; i < POOL_PARAM.length; i++) {
tx = await DODOProxyV2Instance.createDODOVendingMachine(
POOL_PARAM[i].baseAddr,
POOL_PARAM[i].quoteAddr,
baseInAmount,
0,
POOL_PARAM[i].lpFeeRate,
POOL_PARAM[i].i,
POOL_PARAM[i].k,
false,
deadline
);
var poolAddress = await DVMFactoryInstance._REGISTRY_(POOL_PARAM[i].baseAddr, POOL_PARAM[i].quoteAddr, 0);
logger.log("Create DVM: " + POOL_PARAM[i].baseAddr + "-" + POOL_PARAM[i].quoteAddr + " Pool:" + poolAddress + " Tx:", tx.tx);
}
//DVM Pool
// for (var i = 0; i < POOL_PARAM.length; i++) {
// tx = await DODOProxyV2Instance.createDODOVendingMachine(
// POOL_PARAM[i].baseAddr,
// POOL_PARAM[i].quoteAddr,
// baseInAmount,
// 0,
// POOL_PARAM[i].lpFeeRate,
// POOL_PARAM[i].i,
// POOL_PARAM[i].k,
// false,
// deadline
// );
// var poolAddress = await DVMFactoryInstance._REGISTRY_(POOL_PARAM[i].baseAddr, POOL_PARAM[i].quoteAddr, 0);
// logger.log("Create DVM: " + POOL_PARAM[i].baseAddr + "-" + POOL_PARAM[i].quoteAddr + " Pool:" + poolAddress + " Tx:", tx.tx);
// }
//DPP Pool
for (var i = 0; i < POOL_PARAM.length; i++) {
tx = await DODOProxyV2Instance.createDODOPrivatePool(
POOL_PARAM[i].baseAddr,