add routev2 predata helper
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
const fs = require("fs");
|
||||
const { deploySwitch } = require('../truffle-config.js')
|
||||
const file = fs.createWriteStream("../deploy-detail-v1.5.txt", { 'flags': 'a' });
|
||||
let logger = new console.Console(file, file);
|
||||
|
||||
@@ -7,8 +8,6 @@ const DODOProxyV1 = artifacts.require("DODOV1Proxy01");
|
||||
const DODOSellHelper = artifacts.require("DODOSellHelper");
|
||||
const DODOSwapCalcHelper = artifacts.require("DODOSwapCalcHelper");
|
||||
|
||||
const DEPLOY_ROUTE = false;
|
||||
|
||||
module.exports = async (deployer, network, accounts) => {
|
||||
let DODOSellHelperAddress = "";
|
||||
let WETHAddress = "";
|
||||
@@ -39,7 +38,7 @@ module.exports = async (deployer, network, accounts) => {
|
||||
ownerAddress = "0x4073f2b9bB95774531b9e23d206a308c614A943a";
|
||||
} else return;
|
||||
|
||||
if (DEPLOY_ROUTE) {
|
||||
if (deploySwitch.DEPLOY_V1) {
|
||||
|
||||
logger.log("====================================================");
|
||||
logger.log("network type: " + network);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
const fs = require("fs");
|
||||
const { deploySwitch } = require('../truffle-config.js')
|
||||
const file = fs.createWriteStream("../deploy-detail-v2.0.txt", { 'flags': 'a' });
|
||||
let logger = new console.Console(file, file);
|
||||
|
||||
@@ -23,8 +24,9 @@ const DODOApprove = artifacts.require("DODOApprove");
|
||||
const DODOProxyV2 = artifacts.require("DODOV2Proxy01");
|
||||
const DODOSellHelper = artifacts.require("DODOSellHelper");
|
||||
const DODOCalleeHelper = artifacts.require("DODOCalleeHelper");
|
||||
const DODOV2RouteHelper = artifacts.require("DODOV2RouteHelper");
|
||||
|
||||
|
||||
const DEPLOY_V2 = false;
|
||||
|
||||
module.exports = async (deployer, network, accounts) => {
|
||||
//Helper And Common
|
||||
@@ -76,15 +78,15 @@ module.exports = async (deployer, network, accounts) => {
|
||||
DefaultMtFeeRateAddress = "0xEfdE4225AC747136289979e29f1236527b2E4DB1";
|
||||
DefaultPermissionAddress = "0xACc7E23368261e1E02103c4e5ae672E7D01f5797";
|
||||
|
||||
DvmTemplateAddress = "0xb509d7BdbC9847a7bc4B73e96F92Ecf4058E3bc0";
|
||||
DvmTemplateAddress = "";
|
||||
DvmAdminTemplateAddress = "0x45f455d7E233403F10b7AFCB0d0d0c0d775AFf63";
|
||||
DppTemplateAddress = "0xDaF105aCc7F83ac66dB7085D37123e047D1999c4";
|
||||
DppTemplateAddress = "";
|
||||
DppAdminTemplateAddress = "0xDfdd9e1693C3A6AF25307c9dA561021f9e685878";
|
||||
CpTemplateAddress = "0x59652F06fEdDe7780E8fa5C88CE850F67F26F0Fc";
|
||||
//Factory
|
||||
DvmFactoryAddress = "0x03db1C1C1Adf27A73DFe9BDc3B21D4c569c2D41e";
|
||||
UnownedDvmFactoryAddress = "0xc8A53F0fE35106762420E3b69866547BB4f389c2";
|
||||
DppFactoryAddress = "0x1B3Ce1Ac27C1C2d05743CE237aAF3406372049b1";
|
||||
DvmFactoryAddress = "0x577481Bde7327e732f78e9f6AF44632CB8DDe80e";
|
||||
UnownedDvmFactoryAddress = "";
|
||||
DppFactoryAddress = "0xC510D9c58aa226c698F56b22b86A3031b8cBf551";
|
||||
CpFactoryAddress = "0x9F90AD19C15d7aF4291EB17b637DF78EaC639EA3";
|
||||
//Approve
|
||||
DODOApproveAddress = "";
|
||||
@@ -158,7 +160,18 @@ module.exports = async (deployer, network, accounts) => {
|
||||
} else return;
|
||||
|
||||
|
||||
if (DEPLOY_V2) {
|
||||
if(deploySwitch.HELPER_V2) {
|
||||
logger.log("====================================================");
|
||||
logger.log("network type: " + network);
|
||||
logger.log("Deploy time: " + new Date().toLocaleString());
|
||||
logger.log("Deploy type: HELPER V2");
|
||||
|
||||
await deployer.deploy(DODOV2RouteHelper,DvmFactoryAddress,DppFactoryAddress);
|
||||
DODOV2RouteHelperAddress = DODOV2RouteHelper.address;
|
||||
logger.log("DODOV2RouteHelper Address: ", DODOV2RouteHelperAddress);
|
||||
}
|
||||
|
||||
if (deploySwitch.DEPLOY_V2) {
|
||||
logger.log("====================================================");
|
||||
logger.log("network type: " + network);
|
||||
logger.log("Deploy time: " + new Date().toLocaleString());
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
const fs = require("fs");
|
||||
const Web3 = require('web3');
|
||||
const { deploySwitch } = require('../truffle-config.js')
|
||||
const file = fs.createWriteStream("../kovan-mock-v2.0.txt", { 'flags': 'a' });
|
||||
let logger = new console.Console(file, file);
|
||||
|
||||
@@ -9,8 +10,40 @@ const MintableERC20Template = artifacts.require("InitializableMintableERC20");
|
||||
const ERC20Factory = artifacts.require("ERC20Factory");
|
||||
const DODOProxyV2 = artifacts.require("DODOV2Proxy01");
|
||||
|
||||
const MOCK_TOKEN = false;
|
||||
const MOCK_POOL = false;
|
||||
const POOL_PARAM = [
|
||||
{
|
||||
baseAddr: "0xd8C30a4E866B188F16aD266dC3333BD47F34ebaE", //ABC0
|
||||
quoteAddr: "0x69c8a7fc6e05d7aa36114b3e35f62deca8e11f6e", //USDC
|
||||
lpFeeRate: "3000000000000000", //0.003
|
||||
mtFeeRate: "1000000000000000", //0.001
|
||||
i: "10000000000000000000", //10
|
||||
k: "500000000000000000" //0.5
|
||||
},
|
||||
{
|
||||
baseAddr: "0xd8C30a4E866B188F16aD266dC3333BD47F34ebaE", //ABC0
|
||||
quoteAddr: "0x156595bAF85D5C29E91d959889B022d952190A64", //USDT
|
||||
lpFeeRate: "3000000000000000", //0.003
|
||||
mtFeeRate: "1000000000000000", //0.001
|
||||
i: "10000000000000000000", //10
|
||||
k: "800000000000000000" //0.8
|
||||
},
|
||||
{
|
||||
baseAddr: "0xd7f02D1b4F9495B549787808503Ecfd231C3fbDA", //ABC1
|
||||
quoteAddr: "0x69c8a7fc6e05d7aa36114b3e35f62deca8e11f6e", //USDC
|
||||
lpFeeRate: "3000000000000000", //0.003
|
||||
mtFeeRate: "1000000000000000", //0.001
|
||||
i: "5000000000000000000", //5
|
||||
k: "800000000000000000" //0.8
|
||||
},
|
||||
{
|
||||
baseAddr: "0xd7f02D1b4F9495B549787808503Ecfd231C3fbDA", //ABC1
|
||||
quoteAddr: "0x156595bAF85D5C29E91d959889B022d952190A64", //USDT
|
||||
lpFeeRate: "3000000000000000", //0.003
|
||||
mtFeeRate: "1000000000000000", //0.001
|
||||
i: "5000000000000000000", //5
|
||||
k: "900000000000000000" //0.9
|
||||
}
|
||||
];
|
||||
|
||||
module.exports = async (deployer, network, accounts) => {
|
||||
if (network != "kovan") return;
|
||||
@@ -18,8 +51,8 @@ module.exports = async (deployer, network, accounts) => {
|
||||
let ERC20TemplateAddress = "0x77d2e257241e6971688b08bdA9F658F065d7bb41";
|
||||
let MintableERC20TemplateAddress = "0xA45a64DAba80757432fA4d654Df12f65f020C13C";
|
||||
let ERC20FactoryAddress = "0xCb1A2f64EfB02803276BFB5a8D511C4D950282a0";
|
||||
let DODOApproveAddress = "0xC38ad4314bb44EE84cC2D4B2B1BBa4644550f172";
|
||||
let DODOProxyV2Address = "0x7102A9AA2146557EA60a6319EB40e8C8d856e628";
|
||||
let DODOApproveAddress = "0x6eA356EA3c1780c02873591d93451Ed3f4509bEa";
|
||||
let DODOProxyV2Address = "0xfEC85D8ea0E85ABa5b35aca959845878113BE108";
|
||||
|
||||
const provider = new Web3.providers.HttpProvider("https://kovan.infura.io/v3/22d4a3b2df0e47b78d458f43fe50a199");
|
||||
|
||||
@@ -33,77 +66,75 @@ module.exports = async (deployer, network, accounts) => {
|
||||
logger.log("network type: " + network);
|
||||
logger.log("Deploy time: " + new Date().toLocaleString());
|
||||
|
||||
if (MOCK_POOL) {
|
||||
if (deploySwitch.MOCK_V2_POOL) {
|
||||
logger.log("Mock POOL Tx: V2");
|
||||
var tx;
|
||||
const quoteAddr = "0x69c8a7fc6e05d7aa36114b3e35f62deca8e11f6e";
|
||||
const token0Addr = "0xd8C30a4E866B188F16aD266dC3333BD47F34ebaE";
|
||||
const token1Addr = "0xd7f02D1b4F9495B549787808503Ecfd231C3fbDA";
|
||||
const token2Addr = "0xFE1133ea03d701C5006b7f065bBf987955E7A67C";
|
||||
const token3Addr = "0x123ee47BaE3F64d422F2FB18ac444B47c1880F4C";
|
||||
const token4Addr = "0x0ab8EF8B19655F32959c83e5fC5cD6536065D28f";
|
||||
const token5Addr = "0x6462794c19e6b4543BEC56200212c7c746bbB9eB";
|
||||
const token0 = await ERC20Template.at(token0Addr);
|
||||
const token1 = await ERC20Template.at(token1Addr);
|
||||
const token2 = await ERC20Template.at(token2Addr);
|
||||
const token3 = await ERC20Template.at(token3Addr);
|
||||
const token4 = await ERC20Template.at(token4Addr);
|
||||
const token5 = await ERC20Template.at(token5Addr);
|
||||
|
||||
//approve
|
||||
tx = await token0.approve(DODOApproveAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
||||
logger.log("Approve:" + token0Addr + " Tx:", tx.tx);
|
||||
tx = await token1.approve(DODOApproveAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
||||
logger.log("Approve:" + token1Addr + " Tx:", tx.tx);
|
||||
tx = await token2.approve(DODOApproveAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
||||
logger.log("Approve:" + token2Addr + " Tx:", tx.tx);
|
||||
tx = await token3.approve(DODOApproveAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
||||
logger.log("Approve:" + token3Addr + " Tx:", tx.tx);
|
||||
tx = await token4.approve(DODOApproveAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
||||
logger.log("Approve:" + token4Addr + " Tx:", tx.tx);
|
||||
tx = await token5.approve(DODOApproveAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
||||
logger.log("Approve:" + token5Addr + " Tx:", tx.tx);
|
||||
|
||||
{//Approve when change DODOApprove Address
|
||||
const token0Addr = "0xd8C30a4E866B188F16aD266dC3333BD47F34ebaE";
|
||||
const token1Addr = "0xd7f02D1b4F9495B549787808503Ecfd231C3fbDA";
|
||||
const token2Addr = "0xFE1133ea03d701C5006b7f065bBf987955E7A67C";
|
||||
const token3Addr = "0x123ee47BaE3F64d422F2FB18ac444B47c1880F4C";
|
||||
const token4Addr = "0x0ab8EF8B19655F32959c83e5fC5cD6536065D28f";
|
||||
const token5Addr = "0x6462794c19e6b4543BEC56200212c7c746bbB9eB";
|
||||
const token0 = await ERC20Template.at(token0Addr);
|
||||
const token1 = await ERC20Template.at(token1Addr);
|
||||
const token2 = await ERC20Template.at(token2Addr);
|
||||
const token3 = await ERC20Template.at(token3Addr);
|
||||
const token4 = await ERC20Template.at(token4Addr);
|
||||
const token5 = await ERC20Template.at(token5Addr);
|
||||
|
||||
tx = await token0.approve(DODOApproveAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
||||
logger.log("Approve:" + token0Addr + " Tx:", tx.tx);
|
||||
tx = await token1.approve(DODOApproveAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
||||
logger.log("Approve:" + token1Addr + " Tx:", tx.tx);
|
||||
tx = await token2.approve(DODOApproveAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
||||
logger.log("Approve:" + token2Addr + " Tx:", tx.tx);
|
||||
tx = await token3.approve(DODOApproveAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
||||
logger.log("Approve:" + token3Addr + " Tx:", tx.tx);
|
||||
tx = await token4.approve(DODOApproveAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
||||
logger.log("Approve:" + token4Addr + " Tx:", tx.tx);
|
||||
tx = await token5.approve(DODOApproveAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
||||
logger.log("Approve:" + token5Addr + " Tx:", tx.tx);
|
||||
}
|
||||
const DODOProxyV2Instance = await DODOProxyV2.at(DODOProxyV2Address);
|
||||
const assetTo = accounts[0];
|
||||
const baseInAmount = web3.utils.toWei("10000", 'ether');
|
||||
const quoteInAmount = 0;
|
||||
const lpFeeRate = web3.utils.toWei("0.003", 'ether');
|
||||
const mtFeeRate = web3.utils.toWei("0.001", 'ether');
|
||||
const i = web3.utils.toWei("10", 'ether');
|
||||
const k = web3.utils.toWei("0.5", 'ether');
|
||||
const deadline = Math.floor(new Date().getTime() / 1000 + 60 * 10);
|
||||
//DVM Pool
|
||||
tx = await DODOProxyV2Instance.createDODOVendingMachine(assetTo, token0Addr, quoteAddr, baseInAmount, quoteInAmount, lpFeeRate, mtFeeRate, i, k, deadline);
|
||||
logger.log("Create DVM " + token0Addr + " Tx:", tx.tx);
|
||||
tx = await DODOProxyV2Instance.createDODOVendingMachine(assetTo, token1Addr, quoteAddr, baseInAmount, quoteInAmount, lpFeeRate, mtFeeRate, i, k, deadline);
|
||||
logger.log("Create DVM " + token1Addr + " Tx:", tx.tx);
|
||||
tx = await DODOProxyV2Instance.createDODOVendingMachine(assetTo, token2Addr, quoteAddr, baseInAmount, quoteInAmount, lpFeeRate, mtFeeRate, i, k, deadline);
|
||||
logger.log("Create DVM " + token2Addr + " Tx:", tx.tx);
|
||||
tx = await DODOProxyV2Instance.createDODOVendingMachine(assetTo, token3Addr, quoteAddr, baseInAmount, quoteInAmount, lpFeeRate, mtFeeRate, i, k, deadline);
|
||||
logger.log("Create DVM " + token3Addr + " Tx:", tx.tx);
|
||||
tx = await DODOProxyV2Instance.createDODOVendingMachine(assetTo, token4Addr, quoteAddr, baseInAmount, quoteInAmount, lpFeeRate, mtFeeRate, i, k, deadline);
|
||||
logger.log("Create DVM " + token4Addr + " Tx:", tx.tx);
|
||||
tx = await DODOProxyV2Instance.createDODOVendingMachine(assetTo, token5Addr, quoteAddr, baseInAmount, quoteInAmount, lpFeeRate, mtFeeRate, i, k, deadline);
|
||||
logger.log("Create DVM " + token5Addr + " Tx:", tx.tx);
|
||||
//DPP Pool
|
||||
tx = await DODOProxyV2Instance.createDODOPrivatePool(token0Addr, quoteAddr, baseInAmount, quoteInAmount, lpFeeRate, mtFeeRate, i, k, deadline);
|
||||
logger.log("Create DPP " + token0Addr + " Tx:", tx.tx);
|
||||
tx = await DODOProxyV2Instance.createDODOPrivatePool(token1Addr, quoteAddr, baseInAmount, quoteInAmount, lpFeeRate, mtFeeRate, i, k, deadline);
|
||||
logger.log("Create DPP " + token1Addr + " Tx:", tx.tx);
|
||||
tx = await DODOProxyV2Instance.createDODOPrivatePool(token2Addr, quoteAddr, baseInAmount, quoteInAmount, lpFeeRate, mtFeeRate, i, k, deadline);
|
||||
logger.log("Create DPP " + token2Addr + " Tx:", tx.tx);
|
||||
tx = await DODOProxyV2Instance.createDODOPrivatePool(token3Addr, quoteAddr, baseInAmount, quoteInAmount, lpFeeRate, mtFeeRate, i, k, deadline);
|
||||
logger.log("Create DPP " + token3Addr + " Tx:", tx.tx);
|
||||
tx = await DODOProxyV2Instance.createDODOPrivatePool(token4Addr, quoteAddr, baseInAmount, quoteInAmount, lpFeeRate, mtFeeRate, i, k, deadline);
|
||||
logger.log("Create DPP " + token4Addr + " Tx:", tx.tx);
|
||||
tx = await DODOProxyV2Instance.createDODOPrivatePool(token5Addr, quoteAddr, baseInAmount, quoteInAmount, lpFeeRate, mtFeeRate, i, k, deadline);
|
||||
logger.log("Create DPP " + token5Addr + " Tx:", tx.tx);
|
||||
for (var i = 0; i < POOL_PARAM.length; i++) {
|
||||
tx = await DODOProxyV2Instance.createDODOVendingMachine(
|
||||
assetTo,
|
||||
POOL_PARAM[i].baseAddr,
|
||||
POOL_PARAM[i].quoteAddr,
|
||||
baseInAmount,
|
||||
quoteInAmount,
|
||||
POOL_PARAM[i].lpFeeRate,
|
||||
POOL_PARAM[i].mtFeeRate,
|
||||
POOL_PARAM[i].i,
|
||||
POOL_PARAM[i].k,
|
||||
deadline
|
||||
);
|
||||
logger.log("Create DVM: " + POOL_PARAM[i].baseAddr + "-" + POOL_PARAM[i].quoteAddr + " Tx:", tx.tx);
|
||||
}
|
||||
//DVM Pool
|
||||
for (var i = 0; i < POOL_PARAM.length; i++) {
|
||||
tx = await DODOProxyV2Instance.createDODOPrivatePool(
|
||||
POOL_PARAM[i].baseAddr,
|
||||
POOL_PARAM[i].quoteAddr,
|
||||
baseInAmount,
|
||||
quoteInAmount,
|
||||
POOL_PARAM[i].lpFeeRate,
|
||||
POOL_PARAM[i].mtFeeRate,
|
||||
POOL_PARAM[i].i,
|
||||
POOL_PARAM[i].k,
|
||||
deadline
|
||||
);
|
||||
logger.log("Create DPP: " + POOL_PARAM[i].baseAddr + "-" + POOL_PARAM[i].quoteAddr + " Tx:", tx.tx);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (MOCK_TOKEN) {
|
||||
if (deploySwitch.MOCK_TOKEN) {
|
||||
logger.log("Mock TOKEN Tx: V2");
|
||||
if (CloneFactoryAddress == "") {
|
||||
await deployer.deploy(CloneFactory);
|
||||
@@ -134,49 +165,12 @@ module.exports = async (deployer, network, accounts) => {
|
||||
|
||||
const ERC20FactoryInstance = await ERC20Factory.at(ERC20FactoryAddress);
|
||||
|
||||
const totalSupply = web3.utils.toWei("100000000", 'ether');
|
||||
for (let i = 0; i < 8; i++) {
|
||||
var tx = await ERC20FactoryInstance.createStdERC20(totalSupply, 'ABC Token', 'ABC' + i, 18);
|
||||
logger.log("ERC20 address: ", tx.logs[0].args['erc20'] + "; Symbol:" + 'ABC' + i);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (MOCK_TOKEN) {
|
||||
logger.log("Mock TOKEN Tx: V2");
|
||||
if (CloneFactoryAddress == "") {
|
||||
await deployer.deploy(CloneFactory);
|
||||
CloneFactoryAddress = CloneFactory.address;
|
||||
logger.log("CloneFactoryAddress: ", CloneFactoryAddress);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
const ERC20FactoryInstance = await ERC20Factory.at(ERC20FactoryAddress);
|
||||
|
||||
const totalSupply = web3.utils.toWei("100000000", 'ether');
|
||||
const totalSupply = web3.utils.toWei("100000000", 'mwei');
|
||||
for (let i = 0; i < 8; i++) {
|
||||
var tx = await ERC20FactoryInstance.createStdERC20(totalSupply, 'ABC Token', 'ABC' + i, 18);
|
||||
// var tx = await ERC20FactoryInstance.createStdERC20(totalSupply, 'USDT Token', 'USDT', 6);
|
||||
logger.log("ERC20 address: ", tx.logs[0].args['erc20'] + "; Symbol:" + 'ABC' + i);
|
||||
// logger.log("ERC20 address: ", tx.logs[0].args['erc20'] + "; Symbol:" + 'USDT');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user