callee fix
This commit is contained in:
@@ -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";
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 == "") {
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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: {
|
||||
|
||||
Reference in New Issue
Block a user