add deploy script && update vdodo
This commit is contained in:
@@ -72,7 +72,7 @@ contract DODOBscToken is InitializableOwnable {
|
||||
return allowed[owner][spender];
|
||||
}
|
||||
|
||||
function redeem(uint256 amount, uint256 value, address redeemToEthAccount) external {
|
||||
function redeem(uint256 value, address redeemToEthAccount) external {
|
||||
require(balances[msg.sender] >= value, "DODOBscToken: NOT_ENOUGH");
|
||||
balances[msg.sender] = balances[msg.sender].sub(value);
|
||||
totalSupply = totalSupply.sub(value);
|
||||
|
||||
@@ -30,9 +30,9 @@ contract vDODOToken is InitializableOwnable {
|
||||
|
||||
// ============ Storage(ERC20) ============
|
||||
|
||||
string public name;
|
||||
string public symbol;
|
||||
uint8 public decimals;
|
||||
string public name = "vDODO Token";
|
||||
string public symbol = "vDODO";
|
||||
uint8 public decimals = 18;
|
||||
uint256 public totalSupply;
|
||||
mapping(address => mapping(address => uint256)) internal _ALLOWED_;
|
||||
|
||||
@@ -91,18 +91,11 @@ contract vDODOToken is InitializableOwnable {
|
||||
constructor(
|
||||
address dodoGov,
|
||||
address dodoToken,
|
||||
address dodoCirculationHelper,
|
||||
address dodoApproveProxy,
|
||||
string memory _name,
|
||||
string memory _symbol
|
||||
address dodoApproveProxy
|
||||
) public {
|
||||
name = _name;
|
||||
symbol = _symbol;
|
||||
decimals = 18;
|
||||
_DODO_APPROVE_PROXY_ = dodoApproveProxy;
|
||||
_DOOD_GOV_ = dodoGov;
|
||||
_DODO_CIRCULATION_HELPER_ = dodoCirculationHelper;
|
||||
_DODO_TOKEN_ = dodoToken;
|
||||
_DODO_APPROVE_PROXY_ = dodoApproveProxy;
|
||||
lastRewardBlock = uint128(block.number);
|
||||
}
|
||||
|
||||
@@ -216,8 +209,12 @@ contract vDODOToken is InitializableOwnable {
|
||||
}
|
||||
|
||||
function availableBalanceOf(address account) public view returns (uint256 balance) {
|
||||
uint256 lockedBalance = IGovernance(_DOOD_GOV_).getLockedvDODO(account);
|
||||
balance = balanceOf(account).sub(lockedBalance);
|
||||
if(_DOOD_GOV_ == address(0)){
|
||||
balance = balanceOf(account);
|
||||
}else {
|
||||
uint256 lockedBalance = IGovernance(_DOOD_GOV_).getLockedvDODO(account);
|
||||
balance = balanceOf(account).sub(lockedBalance);
|
||||
}
|
||||
}
|
||||
|
||||
function transfer(address to, uint256 amount) public returns (bool) {
|
||||
|
||||
6
deploy-detail-periphery.txt
Normal file
6
deploy-detail-periphery.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
====================================================
|
||||
network type: bsclive
|
||||
Deploy time: 2021/2/4 下午4:56:38
|
||||
Deploy type: DODOBscToken
|
||||
DODOBscTokenAddress: 0x67ee3Cb086F8a16f34beE3ca72FAD36F7Db929e2
|
||||
Init DODOBscTokenAddress Tx: 0xf66264c2669f904527de63fab104250275247c014bfb6f42f57441997551cef6
|
||||
@@ -572,3 +572,11 @@ Init DODOProxyV2 Tx: 0xb41219ef20f0496c8c2088bf8d30a64dd3fa1ef5cdaeaa9161a6da523
|
||||
DODOApproveProxy Init tx: 0x38ced5f643938891ad553b40bafe55ffc6065a15e4bbc81f4cdfbe4f3a0b9494
|
||||
DODOApprove Init tx: 0x7eac3f1fa6dbe499351ea52066623980615bdc7901a84f2afa8fc67e34e4be59
|
||||
DODOIncentive ChangeProxy tx: 0x6d64bae7ee09f12db0bfc18823ac8e2ca1d682184c1ed3cc157f2b39641409e3
|
||||
====================================================
|
||||
network type: bsclive
|
||||
Deploy time: 2021/2/4 下午5:09:20
|
||||
DODOCalleeHelperAddress: 0xaaffAd1017D6a13E026A00121BF258C616B25f7C
|
||||
====================================================
|
||||
network type: kovan
|
||||
Deploy time: 2021/2/4 下午5:16:38
|
||||
DODOCalleeHelperAddress: 0x36ce1831941d35c3588759B2D084E240a094ad4A
|
||||
|
||||
@@ -442,3 +442,6 @@ Create DPP: 0xd8C30a4E866B188F16aD266dC3333BD47F34ebaE-0x43688f367eb83697c3ca5d0
|
||||
Create DPP: 0xd8C30a4E866B188F16aD266dC3333BD47F34ebaE-0x156595bAF85D5C29E91d959889B022d952190A64 Pool:0x1D690066fc3F2D808555839B630a89da118B9466 Tx: 0x5e3609531f6a6918bcc2f9d91b154d78f0b15d8b229da00cda960a380fd909dd
|
||||
Create DPP: 0xd7f02D1b4F9495B549787808503Ecfd231C3fbDA-0x43688f367eb83697c3ca5d03c5055b6bd6f6ac4b Pool:0x7B0d1D528a08619B370eb5c920298F74465b1982 Tx: 0x1dffacc99a0ce542425eb5fd977da570dae26246abb929e2a4eb04fcdee6a994
|
||||
Create DPP: 0xd7f02D1b4F9495B549787808503Ecfd231C3fbDA-0x156595bAF85D5C29E91d959889B022d952190A64 Pool:0x3997576b46e26D3fCEa7C4A76a62146AE5A903F3 Tx: 0x07dc666596b9c47522ed8dfb194cfcc9d673c0c63ec4d456d7b7485ea7eca57b
|
||||
====================================================
|
||||
network type: kovan
|
||||
Deploy time: 2021/2/4 下午5:17:14
|
||||
|
||||
@@ -164,6 +164,11 @@ module.exports = async (deployer, network, accounts) => {
|
||||
logger.log("network type: " + network);
|
||||
logger.log("Deploy time: " + new Date().toLocaleString());
|
||||
|
||||
if (deploySwitch.CALLEE) {
|
||||
await deployer.deploy(DODOCalleeHelper, WETHAddress);
|
||||
DODOCalleeHelperAddress = DODOCalleeHelper.address;
|
||||
logger.log("DODOCalleeHelperAddress: ", DODOCalleeHelperAddress);
|
||||
}
|
||||
|
||||
if (deploySwitch.ADAPTER) {
|
||||
logger.log("Deploy type: V2 - Adapter");
|
||||
@@ -232,6 +237,9 @@ module.exports = async (deployer, network, accounts) => {
|
||||
await deployer.deploy(FeeRateModelTemplate);
|
||||
DefaultMtFeeRateAddress = FeeRateModelTemplate.address;
|
||||
logger.log("DefaultMtFeeRateAddress: ", DefaultMtFeeRateAddress);
|
||||
const defaultMtFeeRateInstance = await FeeRateModelTemplate.at(DefaultMtFeeRateAddress);
|
||||
var tx = await defaultMtFeeRateInstance.initOwner(multiSigAddress);
|
||||
logger.log("Init DefaultMtFeeRateAddress Tx:", tx.tx);
|
||||
}
|
||||
|
||||
if (DefaultPermissionAddress == "") {
|
||||
|
||||
103
migrations/5_deploy_periphery.js
Normal file
103
migrations/5_deploy_periphery.js
Normal file
@@ -0,0 +1,103 @@
|
||||
const fs = require("fs");
|
||||
const { deploySwitch } = require('../truffle-config.js')
|
||||
const file = fs.createWriteStream("../deploy-detail-periphery.txt", { 'flags': 'a' });
|
||||
let logger = new console.Console(file, file);
|
||||
|
||||
const DODOBscToken = artifacts.require("DODOBscToken");
|
||||
const DODOMigrationBSC = artifacts.require("DODOMigrationBSC");
|
||||
const vDODOToken = artifacts.require("vDODOToken");
|
||||
const DODOCirculationHelper = artifacts.require("DODOCirculationHelper");
|
||||
|
||||
module.exports = async (deployer, network, accounts) => {
|
||||
|
||||
let DODOTokenAddress = "";
|
||||
let DODOApproveProxyAddress = "";
|
||||
|
||||
let DODOCirculationHelperAddress = "";
|
||||
let GovernanceAddress = "";
|
||||
let vDODOTokenAddress = "";
|
||||
|
||||
if (network == "kovan") {
|
||||
DODOTokenAddress = "0xfF2985D13953Cb92ecc585aA2B6A4AF8cB46068f";
|
||||
DODOApproveProxyAddress = "";
|
||||
DODOCirculationHelperAddress = "";
|
||||
vDODOTokenAddress = "";
|
||||
GovernanceAddress = "0x0000000000000000000000000000000000000000";
|
||||
//Account
|
||||
multiSigAddress = accounts[0];
|
||||
} else if (network == "live") {
|
||||
DODOTokenAddress = "0x43dfc4159d86f3a37a5a4b3d4580b888ad7d4ddd";
|
||||
DODOApproveProxyAddress = " 0x335aC99bb3E51BDbF22025f092Ebc1Cf2c5cC619";
|
||||
DODOCirculationHelperAddress = "";
|
||||
vDODOTokenAddress = "";
|
||||
GovernanceAddress = "0x0000000000000000000000000000000000000000";
|
||||
//Account
|
||||
multiSigAddress = "0x95C4F5b83aA70810D4f142d58e5F7242Bd891CB0";
|
||||
} else if (network == "bsclive") {
|
||||
//Account
|
||||
multiSigAddress = "0x4073f2b9bB95774531b9e23d206a308c614A943a";
|
||||
} else return;
|
||||
|
||||
logger.log("====================================================");
|
||||
logger.log("network type: " + network);
|
||||
logger.log("Deploy time: " + new Date().toLocaleString());
|
||||
|
||||
|
||||
if (deploySwitch.DODOBscToken && (network == "bsclive")) {
|
||||
logger.log("Deploy type: DODOBscToken");
|
||||
await deployer.deploy(DODOBscToken);
|
||||
DODOBscTokenAddress = DODOBscToken.address;
|
||||
logger.log("DODOBscTokenAddress: ", DODOBscTokenAddress);
|
||||
const dodoBscTokenInstance = await DODOBscToken.at(DODOBscTokenAddress);
|
||||
var tx = await dodoBscTokenInstance.initOwner("0x9c59990ec0177d87ED7D60A56F584E6b06C639a2");
|
||||
logger.log("Init DODOBscTokenAddress Tx:", tx.tx);
|
||||
}
|
||||
|
||||
if (deploySwitch.BSCMigration && (network !== "bsclive")) {
|
||||
logger.log("Deploy type: DODOMigrationBSC");
|
||||
await deployer.deploy(DODOMigrationBSC, DODOTokenAddress, DODOApproveProxyAddress);
|
||||
DODOMigrationBSCAddress = DODOMigrationBSC.address;
|
||||
logger.log("DODOMigrationBSCAddress: ", DODOMigrationBSCAddress);
|
||||
const dodoMigrationBscInstance = await DODOMigrationBSC.at(DODOMigrationBSCAddress);
|
||||
var tx = await dodoMigrationBscInstance.initOwner(multiSigAddress);
|
||||
logger.log("Init DODOMigrationBSCAddress Tx:", tx.tx);
|
||||
}
|
||||
|
||||
if (deploySwitch.vDODOToken) {
|
||||
logger.log("Deploy type: vDODOToken");
|
||||
|
||||
if (vDODOTokenAddress == "") {
|
||||
await deployer.deploy(
|
||||
vDODOToken,
|
||||
GovernanceAddress,
|
||||
DODOTokenAddress,
|
||||
DODOApproveProxyAddress
|
||||
);
|
||||
vDODOTokenAddress = vDODOToken.address;
|
||||
logger.log("vDODOTokenAddress: ", vDODOTokenAddress);
|
||||
const vDODOTokenInstance = await vDODOToken.at(vDODOTokenAddress);
|
||||
var tx = await vDODOTokenInstance.initOwner(multiSigAddress);
|
||||
logger.log("Init vDODOTokenAddress Tx:", tx.tx);
|
||||
}
|
||||
|
||||
if (DODOCirculationHelperAddress == "") {
|
||||
await deployer.deploy(DODOCirculationHelper, vDODOTokenAddress, DODOTokenAddress );
|
||||
DODOCirculationHelperAddress = DODOCirculationHelper.address;
|
||||
logger.log("DODOCirculationHelperAddress: ", DODOCirculationHelperAddress);
|
||||
const DODOCirculationHelperInstance = await DODOCirculationHelper.at(DODOCirculationHelperAddress);
|
||||
var tx = await DODOCirculationHelperInstance.initOwner(multiSigAddress);
|
||||
logger.log("Init DODOCirculationHelperAddress Tx:", tx.tx);
|
||||
}
|
||||
|
||||
if(network == 'kovan') {
|
||||
const vDODOTokenInstance = await vDODOToken.at(vDODOTokenAddress);
|
||||
//changePerReward
|
||||
var tx = await vDODOTokenInstance.changePerReward("10000000000000000000");
|
||||
logger.log("vDODOToken changeReward tx: ", tx.tx);
|
||||
//updateDODOCirculationHelper
|
||||
tx = await vDODOTokenInstance.updateDODOCirculationHelper(DODOCirculationHelperAddress);
|
||||
logger.log("vDODOToken setDODOCirculationHelper tx: ", tx.tx);
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
@@ -34,7 +34,7 @@ export class VDODOContext {
|
||||
DODOApproveProxy: Contract;
|
||||
|
||||
DODOCirculationHelper: Contract;
|
||||
Governance: Contract;
|
||||
// Governance: Contract;
|
||||
|
||||
lastRewardBlock: number;
|
||||
alpha: number;
|
||||
@@ -66,21 +66,19 @@ export class VDODOContext {
|
||||
[this.DODOApprove.options.address]
|
||||
)
|
||||
|
||||
this.Governance = await contracts.newContract(
|
||||
contracts.DODO_GOVERNANCE,
|
||||
[
|
||||
this.DODO.options.address
|
||||
]
|
||||
)
|
||||
// this.Governance = await contracts.newContract(
|
||||
// contracts.DODO_GOVERNANCE,
|
||||
// [
|
||||
// this.DODO.options.address
|
||||
// ]
|
||||
// )
|
||||
|
||||
this.VDODO = await contracts.newContract(
|
||||
contracts.VDODO_NAME,
|
||||
[
|
||||
this.Governance.options.address,
|
||||
this.DODO.options.address,
|
||||
"0x0000000000000000000000000000000000000000",
|
||||
this.DODOApproveProxy.options.address,
|
||||
"VDODO Token", "VDODO"
|
||||
this.DODO.options.address,
|
||||
this.DODOApproveProxy.options.address
|
||||
]
|
||||
)
|
||||
|
||||
@@ -92,13 +90,13 @@ export class VDODOContext {
|
||||
]
|
||||
);
|
||||
|
||||
await this.Governance.methods.initOwner(
|
||||
this.Deployer
|
||||
).send(this.sendParam(this.Deployer))
|
||||
// await this.Governance.methods.initOwner(
|
||||
// this.Deployer
|
||||
// ).send(this.sendParam(this.Deployer))
|
||||
|
||||
await this.Governance.methods.setVDODOAddress(
|
||||
this.VDODO.options.address
|
||||
).send(this.sendParam(this.Deployer))
|
||||
// await this.Governance.methods.setVDODOAddress(
|
||||
// this.VDODO.options.address
|
||||
// ).send(this.sendParam(this.Deployer))
|
||||
|
||||
await this.DODOApprove.methods.init(this.Deployer, this.DODOApproveProxy.options.address).send(this.sendParam(this.Deployer));
|
||||
await this.DODOApproveProxy.methods.init(this.Deployer, [this.VDODO.options.address]).send(this.sendParam(this.Deployer));
|
||||
|
||||
@@ -45,7 +45,11 @@ module.exports = {
|
||||
MOCK_V2_POOL: false,
|
||||
MOCK_V2_SWAP: false,
|
||||
MANUAL_ADD_POOL: false,
|
||||
MOCK_TARGET_POOL: false
|
||||
MOCK_TARGET_POOL: false,
|
||||
BSCMigration: false,
|
||||
DODOBscToken: false,
|
||||
vDODOToken: false,
|
||||
CALLEE: true,
|
||||
},
|
||||
|
||||
networks: {
|
||||
|
||||
Reference in New Issue
Block a user