callee fix

This commit is contained in:
owen05
2021-01-22 14:00:45 +08:00
parent 39cb002b01
commit a5b29dd35c
8 changed files with 111 additions and 107 deletions

View File

@@ -22,7 +22,7 @@ import {SafeERC20} from "../lib/SafeERC20.sol";
import {DecimalMath} from "../lib/DecimalMath.sol";
import {ReentrancyGuard} from "../lib/ReentrancyGuard.sol";
import {InitializableOwnable} from "../lib/InitializableOwnable.sol";
import {IDODOIncentive} from "./DODOIncentive.sol";
import {IDODOIncentive} from "../DODOToken/DODOIncentive.sol";
import {IDODOAdapter} from "./intf/IDODOAdapter.sol";
/**

View File

@@ -16,7 +16,7 @@ import {ReentrancyGuard} from "../../lib/ReentrancyGuard.sol";
contract DODOCalleeHelper is ReentrancyGuard {
using SafeERC20 for IERC20;
address public immutable _WETH_;
address payable public immutable _WETH_;
fallback() external payable {
require(msg.sender == _WETH_, "WE_SAVED_YOUR_ETH");
@@ -26,7 +26,7 @@ contract DODOCalleeHelper is ReentrancyGuard {
require(msg.sender == _WETH_, "WE_SAVED_YOUR_ETH");
}
constructor(address weth) public {
constructor(address payable weth) public {
_WETH_ = weth;
}

View File

@@ -376,3 +376,28 @@ Init DODOProxyV2 Tx: 0x9628655c7debebb90bb7ee85ffb9242f90527b1cc4e01d5314d91b9ea
DODOApprove Init tx: 0x637222ffb3b5a2554430c4c260edb4264cf77643868324f7ff4a1fa383036ab6
DODOIncentive ChangeProxy tx: 0xc998dfbe92fecd5c884310b172aa512517f14c3b7f7ea9f5bafcb5a7044f3569
DODOIncentive OpenSwitch tx: 0xda77ec50379c7e18b7646bdf2efcdd461789484f3045ba3e548f86402a04c8b5
====================================================
network type: bsclive
Deploy time: 2021/1/22 上午10:56:25
====================================================
network type: kovan
Deploy time: 2021/1/22 下午12:09:47
Deploy type: V2 - Callee
====================================================
network type: kovan
Deploy time: 2021/1/22 下午12:10:43
Deploy type: V2 - Callee
====================================================
network type: kovan
Deploy time: 2021/1/22 下午12:12:05
Deploy type: V2 - Callee
DODOCalleeHelperAddress: 0x8085e9a80edb737a08c158bd018683c7Ad3c082B
====================================================
network type: bsclive
Deploy time: 2021/1/22 下午1:51:45
====================================================
network type: bsclive
Deploy time: 2021/1/22 下午1:54:22
====================================================
network type: bsclive
Deploy time: 2021/1/22 下午1:57:54

View File

@@ -375,3 +375,29 @@ Manual add target Pool: V2
Approve:0xCcf0733cA7B6299D59b1Bddf87f3a8AAaD87461F Tx: 0xed6ada30f414d696eee682871e51dac89206dd077055635570d4c5d305c9e437
Approve:0x43688f367eb83697c3ca5d03c5055b6bd6f6ac4b Tx: 0x7b42c175e29053ead5cef8f922296411d2db63ea753640742672b25969abc598
Create DPP: 0xCcf0733cA7B6299D59b1Bddf87f3a8AAaD87461F-0x43688f367eb83697c3ca5d03c5055b6bd6f6ac4b Pool:0xE6943d8494378cF463c9bd7cA1Af3eda9ac12649 Tx: 0xab31c5356f2f608d6f0ef369379af507d23f7cb20bc6f59b82541e90b0eb7c95
====================================================
network type: bsclive
Deploy time: 2021/1/22 上午10:56:29
Mock TOKEN Tx: V2
ERC20TemplateAddress: 0xef49a6DBa1C8DF859E49c17E9A485B439c7689d3
MintableERC20TemplateAddress: 0x6373ceB657C83C91088d328622573FB766064Ac4
ERC20FactoryAddress: 0x5e84190a270333aCe5B9202a3F4ceBf11b81bB01
ERC20 address: 0x1ceF9A5A4825b46A6Cff6275a382bBA03e60c98A; Symbol:DODO
====================================================
network type: bsclive
Deploy time: 2021/1/22 下午1:51:48
Mock TOKEN Tx: V2
ERC20TemplateAddress: 0x9890d0719ebFeeCB5984dc4aA1221C8d70Ec0cFb
MintableERC20TemplateAddress: 0x6bdBe4Cf19615562aAf743BC8b5Cd2b987Df605F
ERC20FactoryAddress: 0x0C8A860C61c30Aa963f1dd6dDddCa87bB13741e5
ERC20 address: 0x0874baAF4a5BA4B1b1FE9DBBc3EbfB4080c5Cf22; Symbol:DODO
====================================================
network type: bsclive
Deploy time: 2021/1/22 下午1:54:25
Mock TOKEN Tx: V2
ERC20 address: 0x571c68a358F7376071c21910436895468214DF2a; Symbol:DODO
====================================================
network type: bsclive
Deploy time: 2021/1/22 下午1:57:57
Mock TOKEN Tx: V2
ERC20 address: 0x497A44c951fCCF92ADfdeD0a5b0162256F147647; Symbol:DODO

View File

@@ -1,16 +1,12 @@
const fs = require("fs");
const Web3 = require('web3');
const { deploySwitch } = require('../truffle-config.js')
const file = fs.createWriteStream("../deploy-detail-v2.0.txt", { 'flags': 'a' });
let logger = new console.Console(file, file);
const CloneFactory = artifacts.require("CloneFactory");
const FeeRateModelTemplate = artifacts.require("FeeRateModel");
const ConstFeeRateModelTemplate = artifacts.require("ConstFeeRateModel");
const PermissionManagerTemplate = artifacts.require("PermissionManager");
const ExternalValueTemplate = artifacts.require("ExternalValue");
const ERC20Template = artifacts.require("InitializableERC20");
const DvmTemplate = artifacts.require("DVM");
const DppTemplate = artifacts.require("DPP");
const DppAdminTemplate = artifacts.require("DPPAdmin");
@@ -40,14 +36,9 @@ module.exports = async (deployer, network, accounts) => {
let chiAddress = "";
let DODOCalleeHelperAddress = "";
let DODORouteV2HelperAddress = "";
let DODOV1PmmHelperAddress = "";
//Template
let CloneFactoryAddress = "";
// let FeeRateModelTemplateAddress = "";
// let ConstFeeRateModelTemplateAddress = "";
// let PermissionManagerTemplateAddress = "";
// let ExternalValueTemplateAddress = "";
//Default Template
// let DefaultGasSourceAddress = "";
let DefaultMtFeeRateAddress = "";
let DefaultPermissionAddress = "";
@@ -74,16 +65,12 @@ module.exports = async (deployer, network, accounts) => {
WETHAddress = "0x5eca15b12d959dfcf9c71c59f8b467eb8c6efd0b";
chiAddress = "0x0000000000004946c0e9f43f4dee607b0ef1fa1c";
DODOCalleeHelperAddress = "0x507EBbb195CF54E0aF147A2b269C08a38EA36989";
DODOV1PmmHelperAddress = "0xC972069473a686b1c11Bd9347D719c87e6745d39";
DODORouteV2HelperAddress = "";
//Template
CloneFactoryAddress = "0xf7959fe661124C49F96CF30Da33729201aEE1b27";
// FeeRateModelTemplateAddress = "0xEF3137780B387313c5889B999D03BdCf9aeEa892";
// ConstFeeRateModelTemplateAddress = "0x2ec9579Cf7ae77B4e538F56274501f518ABFeA2e";
// PermissionManagerTemplateAddress = "0x5D2Da09501d97a7bf0A8F192D2eb2F9Aa80d3241";
// ExternalValueTemplateAddress = "0xe0f813951dE2BB012f7Feb981669F9a7b5250A57";
//Default Template
// DefaultGasSourceAddress = "0xE0c0df0e0be7ec4f579503304a6C186cA4365407";
DefaultMtFeeRateAddress = "0xEfdE4225AC747136289979e29f1236527b2E4DB1";
DefaultMtFeeRateAddress = "";
DefaultPermissionAddress = "0xACc7E23368261e1E02103c4e5ae672E7D01f5797";
DvmTemplateAddress = "";
@@ -108,14 +95,9 @@ module.exports = async (deployer, network, accounts) => {
chiAddress = "0x0000000000004946c0e9F43F4Dee607b0eF1fA1c";
DODOCalleeHelperAddress = "";
DODORouteV2HelperAddress = "";
DODOV1PmmHelperAddress = "";
//Template
CloneFactoryAddress = "";
// FeeRateModelTemplateAddress = "";
// ConstFeeRateModelTemplateAddress = "";
// PermissionManagerTemplateAddress = "";
// ExternalValueTemplateAddress = "";
//Default Template
// DefaultGasSourceAddress = "";
DefaultMtFeeRateAddress = "";
DefaultPermissionAddress = "";
@@ -139,51 +121,35 @@ module.exports = async (deployer, network, accounts) => {
DODOSellHelperAddress = "0x0F859706AeE7FcF61D5A8939E8CB9dBB6c1EDA33";
WETHAddress = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
chiAddress = "0x0000000000000000000000000000000000000000";
DODOCalleeHelperAddress = "0x0000000000000000000000000000000000000000";
DODORouteV2HelperAddress = "0x0000000000000000000000000000000000000000";
DODOCalleeHelperAddress = "";
DODORouteV2HelperAddress = "";
DODOV1PmmHelperAddress = "";
//Template
CloneFactoryAddress = "0x03E2427859119E497EB856a166F616a2Ce5f8c88";
// FeeRateModelTemplateAddress = "";
// ConstFeeRateModelTemplateAddress = "";
// PermissionManagerTemplateAddress = "";
// ExternalValueTemplateAddress = "";
//Default Template
// DefaultGasSourceAddress = "";
DefaultMtFeeRateAddress = "0x1Cc229Ac0ef9ba932e4dEbB898C77901C9AFB694";
DefaultMtFeeRateAddress = "";
DefaultPermissionAddress = "0x50C86A07457E99389d7b49761a4237B70f0824E9";
DvmTemplateAddress = "0x0000000000000000000000000000000000000000";
DppTemplateAddress = "0x0000000000000000000000000000000000000000";
DppAdminTemplateAddress = "0x0000000000000000000000000000000000000000";
CpTemplateAddress = "0x0000000000000000000000000000000000000000";
DvmTemplateAddress = "";
DppTemplateAddress = "";
DppAdminTemplateAddress = "";
CpTemplateAddress = "";
//Factory
DvmFactoryAddress = "0x0000000000000000000000000000000000000000";
DppFactoryAddress = "0x0000000000000000000000000000000000000000";
CpFactoryAddress = "0x0000000000000000000000000000000000000000";
DvmFactoryAddress = "";
DppFactoryAddress = "";
CpFactoryAddress = "";
//Proxy
DODOApproveAddress = "";
DODOIncentiveAddress = "0x0000000000000000000000000000000000000000";
DODOTokenAddress = "0x0000000000000000000000000000000000000000";
DODOIncentiveAddress = "";
DODOTokenAddress = "0x497A44c951fCCF92ADfdeD0a5b0162256F147647";
//Account
// multiSigAddress = "0x4073f2b9bB95774531b9e23d206a308c614A943a";
// defaultMaintainer = "0x4073f2b9bB95774531b9e23d206a308c614A943a";
//For Test
multiSigAddress = accounts[0];
defaultMaintainer = accounts[0];
multiSigAddress = "0x4073f2b9bB95774531b9e23d206a308c614A943a";
defaultMaintainer = "0x4073f2b9bB95774531b9e23d206a308c614A943a";
} else return;
logger.log("====================================================");
logger.log("network type: " + network);
logger.log("Deploy time: " + new Date().toLocaleString());
if (deploySwitch.ROUTER_HELPER) {
await deployer.deploy(DODOV1PmmHelper);
logger.log("DODOV1RouterHelper Address: ", DODOV1PmmHelper.address);
// await deployer.deploy(DODOV2RouteHelper, "0x01B7fCc1890Ab90Da33dE2F0dC54aDF3C7501F04", "0x67c4765D04C3848FFa7967231fc7B7E58f67A887");
// DODOV2RouteHelperAddress = DODOV2RouteHelper.address;
// logger.log("DODOV2RouteHelper Address: ", DODOV2RouteHelperAddress);
}
if (deploySwitch.ADAPTER) {
logger.log("Deploy type: V2 - Adapter");
@@ -195,6 +161,13 @@ 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.DEPLOY_V2) {
logger.log("Deploy type: V2");
if (DODOTokenAddress == "") return;
@@ -210,50 +183,23 @@ module.exports = async (deployer, network, accounts) => {
logger.log("DODOCalleeHelperAddress: ", DODOCalleeHelperAddress);
}
if (DODOV1PmmHelperAddress == "") {
await deployer.deploy(DODOV1PmmHelper);
DODOV1PmmHelperAddress = DODOV1PmmHelper.address;
logger.log("DODOV1RouterHelper Address: ", DODOV1PmmHelperAddress);
}
//Template
if (CloneFactoryAddress == "") {
await deployer.deploy(CloneFactory);
CloneFactoryAddress = CloneFactory.address;
logger.log("CloneFactoryAddress: ", CloneFactoryAddress);
}
// if (FeeRateModelTemplateAddress == "") {
// await deployer.deploy(FeeRateModelTemplate);
// FeeRateModelTemplateAddress = FeeRateModelTemplate.address;
// logger.log("FeeRateModelTemplateAddress: ", FeeRateModelTemplateAddress);
// }
// if (ConstFeeRateModelTemplateAddress == "") {
// await deployer.deploy(ConstFeeRateModelTemplate);
// ConstFeeRateModelTemplateAddress = ConstFeeRateModelTemplate.address;
// logger.log("ConstFeeRateModelTemplateAddress: ", ConstFeeRateModelTemplateAddress);
// }
// if (PermissionManagerTemplateAddress == "") {
// await deployer.deploy(PermissionManagerTemplate);
// PermissionManagerTemplateAddress = PermissionManagerTemplate.address;
// logger.log("PermissionManagerTemplateAddress: ", PermissionManagerTemplateAddress);
// }
// if (ExternalValueTemplateAddress == "") {
// await deployer.deploy(ExternalValueTemplate);
// ExternalValueTemplateAddress = ExternalValueTemplate.address;
// logger.log("ExternalValueTemplateAddress: ", ExternalValueTemplateAddress);
// }
// if (DefaultGasSourceAddress == "") {
// await deployer.deploy(ExternalValueTemplate);
// DefaultGasSourceAddress = ExternalValueTemplate.address;
// logger.log("DefaultGasSourceAddress: ", DefaultGasSourceAddress);
// const defaultGasSourceInstance = await ExternalValueTemplate.at(DefaultGasSourceAddress);
// var tx = await defaultGasSourceInstance.init(multiSigAddress, "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
// logger.log("Init DefaultGasSource Tx:", tx.tx);
// }
if (DefaultMtFeeRateAddress == "") {
await deployer.deploy(ConstFeeRateModelTemplate);
DefaultMtFeeRateAddress = ConstFeeRateModelTemplate.address;
await deployer.deploy(FeeRateModelTemplate);
DefaultMtFeeRateAddress = FeeRateModelTemplate.address;
logger.log("DefaultMtFeeRateAddress: ", DefaultMtFeeRateAddress);
const defaultMtFeeRateInstance = await ConstFeeRateModelTemplate.at(DefaultMtFeeRateAddress);
var tx = await defaultMtFeeRateInstance.init(multiSigAddress, 0);
logger.log("Init DefaultMtFeeRate Tx:", tx.tx);
}
if (DefaultPermissionAddress == "") {

View File

@@ -58,16 +58,22 @@ const POOL_PARAM = [
];
module.exports = async (deployer, network, accounts) => {
if (network != "kovan") return;
let CloneFactoryAddress = "0xf7959fe661124C49F96CF30Da33729201aEE1b27";
let ERC20TemplateAddress = "0x77d2e257241e6971688b08bdA9F658F065d7bb41";
let MintableERC20TemplateAddress = "0xA45a64DAba80757432fA4d654Df12f65f020C13C";
let ERC20FactoryAddress = "0xCb1A2f64EfB02803276BFB5a8D511C4D950282a0";
// if (network != "kovan") return;
// let CloneFactoryAddress = "0xf7959fe661124C49F96CF30Da33729201aEE1b27";
// let ERC20TemplateAddress = "0x77d2e257241e6971688b08bdA9F658F065d7bb41";
// let MintableERC20TemplateAddress = "0xA45a64DAba80757432fA4d654Df12f65f020C13C";
// let ERC20FactoryAddress = "0xCb1A2f64EfB02803276BFB5a8D511C4D950282a0";
// let DPPFactoryAddress = "0x2D7F071415480eE7721eBB48c3147e347b980fEe";
// let DVMFactoryAddress = "0x1C0435b87B3772E994adA2D0194be91EaC85FDb0";
// let DODOApproveAddress = "0x5319f1CF056496e7E13D5653C3C7f338DE127a11";
// let DODOProxyV2Address = "0xe8836EB6EaE9Bc4Db880D4b9C0912E5db817e41D";
let CloneFactoryAddress = "0x03E2427859119E497EB856a166F616a2Ce5f8c88";
let ERC20TemplateAddress = "0xef49a6DBa1C8DF859E49c17E9A485B439c7689d3";
let MintableERC20TemplateAddress = "0x6373ceB657C83C91088d328622573FB766064Ac4";
let ERC20FactoryAddress = "0x5e84190a270333aCe5B9202a3F4ceBf11b81bB01";
let DPPFactoryAddress = "0x2D7F071415480eE7721eBB48c3147e347b980fEe";
let DVMFactoryAddress = "0x1C0435b87B3772E994adA2D0194be91EaC85FDb0";
let DODOApproveAddress = "0x5319f1CF056496e7E13D5653C3C7f338DE127a11";
let DODOProxyV2Address = "0xe8836EB6EaE9Bc4Db880D4b9C0912E5db817e41D";
const provider = new Web3.providers.HttpProvider("https://kovan.infura.io/v3/22d4a3b2df0e47b78d458f43fe50a199");
@@ -255,9 +261,10 @@ module.exports = async (deployer, network, accounts) => {
const ERC20FactoryInstance = await ERC20Factory.at(ERC20FactoryAddress);
const totalSupply = web3.utils.toWei("1000000000", 'ether');
const totalSupply = web3.utils.toWei("0", 'ether');
for (let i = 0; i < 1; i++) {
var tx = await ERC20FactoryInstance.createStdERC20(totalSupply, 'DODO Bird', 'DODO', 18);
// var tx = await ERC20FactoryInstance.createStdERC20(totalSupply, 'DODO Bird', 'DODO', 18);
var tx = await ERC20FactoryInstance.createMintableERC20(totalSupply, 'DODO Bird', 'DODO', 18);
// var tx = await ERC20FactoryInstance.createStdERC20(totalSupply, 'USDT Token', 'USDT', 6);
logger.log("ERC20 address: ", tx.logs[0].args['erc20'] + "; Symbol:" + 'DODO');
// logger.log("ERC20 address: ", tx.logs[0].args['erc20'] + "; Symbol:" + 'USDT');

View File

@@ -41,12 +41,12 @@ module.exports = {
DEPLOY_V1: false,
DEPLOY_V2: false,
ADAPTER: false,
MOCK_TOKEN: false,
MOCK_TOKEN: true,
MOCK_V2_POOL: false,
MOCK_V2_SWAP: false,
MANUAL_ADD_POOL: false,
ROUTER_HELPER: false,
MOCK_TARGET_POOL: false
MOCK_TARGET_POOL: false,
CALLEE: false,
},
networks: {