add crowdpooling pmmstate

This commit is contained in:
owen05
2021-01-15 13:24:48 +08:00
parent 450069ec1b
commit 3f707f5604
10 changed files with 206 additions and 156 deletions

View File

@@ -32,7 +32,7 @@ module.exports = async (deployer, network, accounts) => {
} else if (network == "bsclive") {
DODOSellHelperAddress = "0x0F859706AeE7FcF61D5A8939E8CB9dBB6c1EDA33";
WETHAddress = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
DODOApproveAddress = "";
DODOApproveAddress = "0xa128Ba44B2738A558A1fdC06d6303d52D3Cef8c1";
chiAddress = "0x0000000000000000000000000000000000000000";
DODOSwapCalcHelperAddress = "0xb0199C2c8ADF1E6c1e41De60A62E993406Cb8C02";
ownerAddress = "0x4073f2b9bB95774531b9e23d206a308c614A943a";

View File

@@ -69,7 +69,7 @@ module.exports = async (deployer, network, accounts) => {
WETHAddress = "0x5eca15b12d959dfcf9c71c59f8b467eb8c6efd0b";
chiAddress = "0x0000000000004946c0e9f43f4dee607b0ef1fa1c";
DODOCalleeHelperAddress = "0x507EBbb195CF54E0aF147A2b269C08a38EA36989";
DODORouteV2HelperAddress = "0xcA79C9431aB16857f78f9F7EE56Ff698bD518533";
DODORouteV2HelperAddress = "";
//Template
CloneFactoryAddress = "0xf7959fe661124C49F96CF30Da33729201aEE1b27";
// FeeRateModelTemplateAddress = "0xEF3137780B387313c5889B999D03BdCf9aeEa892";
@@ -81,14 +81,14 @@ module.exports = async (deployer, network, accounts) => {
DefaultMtFeeRateAddress = "0xEfdE4225AC747136289979e29f1236527b2E4DB1";
DefaultPermissionAddress = "0xACc7E23368261e1E02103c4e5ae672E7D01f5797";
DvmTemplateAddress = "0xC61dD1a8C0242785E290CA41bA84AB319c94FF55";
DppTemplateAddress = "0xF89DBd5e716748A5C0d8a081bED1BF554B50dc59";
DvmTemplateAddress = "";
DppTemplateAddress = "";
DppAdminTemplateAddress = "0xe39E02c4f269c4E235Ca8979a125608644c8924a";
CpTemplateAddress = "0x55f940C2244Bb16735baCF7D090134fe636d47ea";
CpTemplateAddress = "";
//Factory
DvmFactoryAddress = "0xdd3dDDaae565E7745b2cAcD980B8a98546bAb978";
DppFactoryAddress = "0x36ab096ADBfd1491FE90F56a9C782dE7b1019f7c";
CpFactoryAddress = "0xDaB9B619A78Fca5FC2f562C5b41Bf44f74c1c239";
DvmFactoryAddress = "";
DppFactoryAddress = "";
CpFactoryAddress = "";
//Approve
DODOApproveAddress = "";
DODOIncentiveAddress = "";
@@ -367,14 +367,8 @@ module.exports = async (deployer, network, accounts) => {
logger.log("DODOIncentive ChangeProxy tx: ", tx.tx);
//3. Open trade incentive
// const provider = new Web3.providers.HttpProvider("https://kovan.infura.io/v3/22d4a3b2df0e47b78d458f43fe50a199");
// if (!provider) {
// throw new Error(`Unable to find provider for network: ${network}`)
// }
// const web3 = new Web3(provider)
// const blockNum = await web3.eth.getBlockNumber();
// var tx = await DODOIncentiveInstance.switchIncentive(blockNum + 1);
// logger.log("DODOIncentive OpenSwitch tx: ", tx.tx);
var tx = await DODOIncentiveInstance.changePerReward(10);
logger.log("DODOIncentive OpenSwitch tx: ", tx.tx);
//4. Transfer DODO to Trade Incentive
}

View File

@@ -13,48 +13,48 @@ const DVMFactory = artifacts.require("DVMFactory");
const DPPFactory = artifacts.require("DPPFactory");
const POOL_PARAM = [
// {
// baseAddr: "0xd8C30a4E866B188F16aD266dC3333BD47F34ebaE", //ABC0
// quoteAddr: "0x43688f367eb83697c3ca5d03c5055b6bd6f6ac4b", //USDC
// lpFeeRate: "0", //0
// i: "10000000", //10
// k: "500000000000000000" //0.5
// },
// {
// baseAddr: "0xd8C30a4E866B188F16aD266dC3333BD47F34ebaE", //ABC0
// quoteAddr: "0x156595bAF85D5C29E91d959889B022d952190A64", //USDT
// lpFeeRate: "3000000000000000", //0.003
// i: "10000000", //10
// k: "0" //0
// },
// {
// baseAddr: "0xd7f02D1b4F9495B549787808503Ecfd231C3fbDA", //ABC1
// quoteAddr: "0x43688f367eb83697c3ca5d03c5055b6bd6f6ac4b", //USDC
// lpFeeRate: "0", //0
// i: "5000000", //5
// k: "700000000000000000" //1
// },
// {
// baseAddr: "0xd7f02D1b4F9495B549787808503Ecfd231C3fbDA", //ABC1
// quoteAddr: "0x156595bAF85D5C29E91d959889B022d952190A64", //USDT
// lpFeeRate: "3000000000000000", //0.003
// i: "8000000", //8
// k: "900000000000000000" //0.9
// },
{
baseAddr: "0xd8C30a4E866B188F16aD266dC3333BD47F34ebaE", //ABC0
quoteAddr: "0x5eca15b12d959dfcf9c71c59f8b467eb8c6efd0b", //WETH
quoteAddr: "0x43688f367eb83697c3ca5d03c5055b6bd6f6ac4b", //USDC
lpFeeRate: "0", //0
i: "10000000", //10
k: "500000000000000000" //0.5
},
{
baseAddr: "0xd8C30a4E866B188F16aD266dC3333BD47F34ebaE", //ABC0
quoteAddr: "0x156595bAF85D5C29E91d959889B022d952190A64", //USDT
lpFeeRate: "3000000000000000", //0.003
i: "45000000000000000000", //45
k: "800000000000000000" //0.8
i: "10000000", //10
k: "0" //0
},
{
baseAddr: "0xd7f02D1b4F9495B549787808503Ecfd231C3fbDA", //ABC1
quoteAddr: "0x5eca15b12d959dfcf9c71c59f8b467eb8c6efd0b", //WETH
lpFeeRate: "0", //0.003
i: "30000000000000000000", //30
k: "300000000000000000" //0.3
quoteAddr: "0x43688f367eb83697c3ca5d03c5055b6bd6f6ac4b", //USDC
lpFeeRate: "0", //0
i: "5000000", //5
k: "700000000000000000" //1
},
{
baseAddr: "0xd7f02D1b4F9495B549787808503Ecfd231C3fbDA", //ABC1
quoteAddr: "0x156595bAF85D5C29E91d959889B022d952190A64", //USDT
lpFeeRate: "3000000000000000", //0.003
i: "8000000", //8
k: "900000000000000000" //0.9
},
// {
// baseAddr: "0xd8C30a4E866B188F16aD266dC3333BD47F34ebaE", //ABC0
// quoteAddr: "0x5eca15b12d959dfcf9c71c59f8b467eb8c6efd0b", //WETH
// lpFeeRate: "3000000000000000", //0.003
// i: "45000000000000000000", //45
// k: "800000000000000000" //0.8
// },
// {
// baseAddr: "0xd7f02D1b4F9495B549787808503Ecfd231C3fbDA", //ABC1
// quoteAddr: "0x5eca15b12d959dfcf9c71c59f8b467eb8c6efd0b", //WETH
// lpFeeRate: "0", //0.003
// i: "30000000000000000000", //30
// k: "300000000000000000" //0.3
// },
];
module.exports = async (deployer, network, accounts) => {
@@ -64,10 +64,10 @@ module.exports = async (deployer, network, accounts) => {
let MintableERC20TemplateAddress = "0xA45a64DAba80757432fA4d654Df12f65f020C13C";
let ERC20FactoryAddress = "0xCb1A2f64EfB02803276BFB5a8D511C4D950282a0";
let DPPFactoryAddress = "0x36ab096ADBfd1491FE90F56a9C782dE7b1019f7c";
let DVMFactoryAddress = "0xdd3dDDaae565E7745b2cAcD980B8a98546bAb978";
let DODOApproveAddress = "0xFa3C805fDE678E93C3d0954F20471799f892F81d";
let DODOProxyV2Address = "0x06B5D7590297F7b0DcEcC5E382938EB562D91e1a";
let DPPFactoryAddress = "0x67c4765D04C3848FFa7967231fc7B7E58f67A887";
let DVMFactoryAddress = "0x01B7fCc1890Ab90Da33dE2F0dC54aDF3C7501F04";
let DODOApproveAddress = "0x5e56Db19C3f52594876E2A3e1a47d15acD8DC570";
let DODOProxyV2Address = "0xA730229607b710cd06AEAad1eDc644Dbb70A5E85";
const provider = new Web3.providers.HttpProvider("https://kovan.infura.io/v3/22d4a3b2df0e47b78d458f43fe50a199");
@@ -112,49 +112,49 @@ module.exports = async (deployer, network, accounts) => {
if (deploySwitch.MOCK_V2_POOL) {
logger.log("Mock POOL Tx: V2");
var 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 quote0Addr = "0x43688f367eb83697c3ca5d03c5055b6bd6f6ac4b";
// const quote1Addr = "0x156595bAF85D5C29E91d959889B022d952190A64";
// 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);
// const quote0 = await ERC20Template.at(quote0Addr);
// const quote1 = await ERC20Template.at(quote1Addr);
{//Approve when change DODOApprove Address
const token0Addr = "0xd8C30a4E866B188F16aD266dC3333BD47F34ebaE";
const token1Addr = "0xd7f02D1b4F9495B549787808503Ecfd231C3fbDA";
// const token2Addr = "0xFE1133ea03d701C5006b7f065bBf987955E7A67C";
// const token3Addr = "0x123ee47BaE3F64d422F2FB18ac444B47c1880F4C";
// const token4Addr = "0x0ab8EF8B19655F32959c83e5fC5cD6536065D28f";
// const token5Addr = "0x6462794c19e6b4543BEC56200212c7c746bbB9eB";
const quote0Addr = "0x43688f367eb83697c3ca5d03c5055b6bd6f6ac4b";
const quote1Addr = "0x156595bAF85D5C29E91d959889B022d952190A64";
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);
const quote0 = await ERC20Template.at(quote0Addr);
const quote1 = await ERC20Template.at(quote1Addr);
// 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);
// tx = await quote0.approve(DODOApproveAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
// logger.log("Approve:" + quote0Addr + " Tx:", tx.tx);
// tx = await quote1.approve(DODOApproveAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
// logger.log("Approve:" + quote1Addr + " Tx:", tx.tx);
// }
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);
tx = await quote0.approve(DODOApproveAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
logger.log("Approve:" + quote0Addr + " Tx:", tx.tx);
tx = await quote1.approve(DODOApproveAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
logger.log("Approve:" + quote1Addr + " Tx:", tx.tx);
}
const DODOProxyV2Instance = await DODOProxyV2.at(DODOProxyV2Address);
const DVMFactoryInstance = await DVMFactory.at(DVMFactoryAddress);
const DPPFactoryInstance = await DPPFactory.at(DPPFactoryAddress);
const assetTo = accounts[0];
const baseInAmount = web3.utils.toWei("100000", 'ether');
// const quoteInAmount = web3.utils.toWei("10000", 'mwei');
const quoteInAmount = web3.utils.toWei("0.5", 'ether');
const quoteInAmount = web3.utils.toWei("10000", 'mwei');
// 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++) {