add audit report
This commit is contained in:
BIN
audit/vDODO-final-report.pdf
Executable file
BIN
audit/vDODO-final-report.pdf
Executable file
Binary file not shown.
@@ -49,7 +49,7 @@ contract DODOCirculationHelper is InitializableOwnable {
|
||||
}
|
||||
|
||||
function getCirculation() public view returns (uint256 circulation) {
|
||||
circulation = 10**10 * 10**18;
|
||||
circulation = 10**9 * 10**18;
|
||||
for (uint256 i = 0; i < _LOCKED_CONTRACT_ADDRESS_.length; i++) {
|
||||
circulation -= IERC20(_DODO_TOKEN_).balanceOf(_LOCKED_CONTRACT_ADDRESS_[i]);
|
||||
}
|
||||
|
||||
@@ -87,3 +87,52 @@ Deploy time: 2021/2/13 下午10:24:52
|
||||
Deploy type: DODORecharge
|
||||
DODORechargeAddress: 0xF7c5311B618E6dFBBc34210c92D2C9675D7EdDCA
|
||||
Init DODORechargeAddress Tx: 0xc22cdde8436f28ae2343ebcd628091104545a60c6550a2cedf47344c5b337b09
|
||||
====================================================
|
||||
network type: kovan
|
||||
Deploy time: 2021/2/14 上午10:48:21
|
||||
Deploy type: vDODOToken
|
||||
vDODOTokenAddress: 0xf7119Bf8bE41Dd9080Bd0A9AB04788B5EcA140d5
|
||||
Init vDODOTokenAddress Tx: 0xc12344a7e49744698ae1be542583105e63330131f6392e53b0e9e183068bd573
|
||||
DODOCirculationHelperAddress: 0x41D3841c63C6D7d8Db2A06Dca895084DaB8F176a
|
||||
Init DODOCirculationHelperAddress Tx: 0x0e6e7126a1b28d11eb4a42e2786e7a8ce64b8fb47059766f592efb4fc4b13a5d
|
||||
vDODOToken setDODOCirculationHelper tx: 0x63149745bd5043ae8f6540bd7c99d870258f8640bb6237200bcbc767aaf1ae73
|
||||
DODOApproveProxy Unlock tx: 0x9131d3d3ad49a464b228ba617b2673fcad28d7f5598cd28de35e384d3ec226bc
|
||||
DODOApproveProxy add tx: 0xbfe3caf75502ac8d0ed7f02c42c14607734dd19bcc077b0859bcd26c56936b3e
|
||||
vDODOToken first mint tx: 0x4c9ad5eab14d664c1bb5c570856694c0d3612846debbd4731b5085232c3bf0de
|
||||
vDODOToken injected dodo tx: 0x39cea7a3064b40d19575d5f8908bdb99a360d6a7098b8e197d7226ee562d9b03
|
||||
vDODOToken changeReward tx: 0x6a0cb6f9cd115d9f14627ec8bbaad513e1ef03ca5dfc2bacf81ff9a87013490c
|
||||
====================================================
|
||||
network type: kovan
|
||||
Deploy time: 2021/2/15 下午4:54:48
|
||||
Deploy type: DODOMigrationBSC
|
||||
DODOMigrationBSCAddress: 0xA1191eED438A9C10D478698848E460F0c7528351
|
||||
Init DODOMigrationBSCAddress Tx: 0x7ddbbb24711e7577adf93982ad84d6b356ceee7bc53842991898226ee18021df
|
||||
DODOApproveProxy Unlock tx: 0x1a45a960f65acb7f63351e16a880ca0242e4d4994105755c74e6dd009e7c1740
|
||||
DODOApproveProxy add tx: 0x9315b57c5aca05b3e56fcb5a8b892c787639785fbb1b8e0a5892f063a41be740
|
||||
====================================================
|
||||
network type: kovan
|
||||
Deploy time: 2021/2/15 下午5:10:17
|
||||
Deploy type: vDODOToken
|
||||
DODOCirculationHelperAddress: 0x77e43757e0a43dAd8a909e1839930430e8B0Ffc9
|
||||
Init DODOCirculationHelperAddress Tx: 0xe78086b4c3bd34e44e9a6615d3c8af0db88ca77cc0533aac6022bc74c642664b
|
||||
vDODOToken setDODOCirculationHelper tx: 0xfe99a4ef2d15ab37645e7c50d62d36c4d17b20f955ba7aed007cae1a6ed9456a
|
||||
====================================================
|
||||
network type: live
|
||||
Deploy time: 2021/2/15 下午5:15:38
|
||||
Deploy type: vDODOToken
|
||||
DODOCirculationHelperAddress: 0x357c5E9cfA8B834EDcef7C7aAbD8F9Db09119d11
|
||||
Init DODOCirculationHelperAddress Tx: 0x011ff39955bbc878e0bb4c70fe349801fcd79de4fa8f8cb3b642a9db64c1f3bb
|
||||
====================================================
|
||||
network type: kovan
|
||||
Deploy time: 2021/2/16 下午10:23:21
|
||||
Deploy type: DODOMine
|
||||
DODOMineAddress: 0xc4023f2A71c03cc64d985691b019bEE68f48c108
|
||||
Add DODO Tx: 0x0cbcaff85dcd3ce32ebea5b596bbb1b74affa6112a845403cc0c73a808cf2ebd
|
||||
Set blockReward Tx: 0xd8d2bc6a4c0efb94294836b6ed35546d853ef1480c16b9ef1c18902d194cc679
|
||||
====================================================
|
||||
network type: bsclive
|
||||
Deploy time: 2021/2/19 下午12:38:10
|
||||
Deploy type: DODOMine
|
||||
DODOMineAddress: 0x01f9BfAC04E6184e90bD7eaFD51999CE430Cc750
|
||||
Add DODO Tx: 0x8d3491ce942c125d2c0541f5eb1d784e7ab6960a0218b9bd94dcbe23c7457f65
|
||||
Set blockReward Tx: 0x2ad01291228653755cd000acd27b5283e5cefe7f7741a4f5934474ab2b0e69db
|
||||
|
||||
@@ -652,3 +652,28 @@ Deploy time: 2021/2/13 下午10:20:14
|
||||
====================================================
|
||||
network type: bsclive
|
||||
Deploy time: 2021/2/13 下午10:24:45
|
||||
====================================================
|
||||
network type: kovan
|
||||
Deploy time: 2021/2/14 上午10:48:12
|
||||
====================================================
|
||||
network type: kovan
|
||||
Deploy time: 2021/2/15 下午4:54:39
|
||||
====================================================
|
||||
network type: kovan
|
||||
Deploy time: 2021/2/15 下午5:10:10
|
||||
====================================================
|
||||
network type: live
|
||||
Deploy time: 2021/2/15 下午5:15:29
|
||||
====================================================
|
||||
network type: bsclive
|
||||
Deploy time: 2021/2/16 下午4:51:26
|
||||
Deploy type: V2
|
||||
DvmFactoryAddress: 0x790B4A80Fb1094589A3c0eFC8740aA9b0C1733fB
|
||||
Init DvmFactory Tx: 0x9592fd57792036a06da1c028e2d42f267699eb2b9bd3ab652ee277b9b6de13c4
|
||||
DppFactoryAddress: 0xAfe0A75DFFb395eaaBd0a7E1BBbd0b11f8609eeF
|
||||
Init DppFactory Tx: 0x7eb6892dbdec51c098df7d327cdabc2d3b0aa3d2b10cd97bc89bad15c06a3e1a
|
||||
CpFactoryAddress: 0x778DF5B12170e8af8dF94356BfC864E57CE185DC
|
||||
Init CpFactory Tx: 0x2b5cb91e706a48090fe066582b41a6bb2e3d789423e6b61c6244e1fb67288f50
|
||||
DODOV2RouteHelper Address: 0x1dc8D1f1600B7C1D39e6b60FBC7b021Bc4F9C993
|
||||
DODOV2Proxy02 Address: 0x8F8Dd7DB1bDA5eD3da8C9daf3bfa471c12d58486
|
||||
Init DODOProxyV2 Tx: 0x1985f2e208d58ab2353eae96231ee3a11e1213a5e31f654274a40bbb2b4e9c8a
|
||||
|
||||
@@ -514,18 +514,3 @@ Mock POOL Tx: V2
|
||||
Approve:0xd7f02D1b4F9495B549787808503Ecfd231C3fbDA Tx: 0x29017dc8173e6e65768ef17baeffdb006e88d36088be0cc97a53c365ac929e60
|
||||
Create DPP: 0xd8C30a4E866B188F16aD266dC3333BD47F34ebaE-0x5eca15b12d959dfcf9c71c59f8b467eb8c6efd0b Pool:0x210912095691C9b0e318c22e49d94170ACAaCd0a Tx: 0x5bf334d720433b4fbfb71a4f75f5755ccd39f0977e59b74e78df083b03d9d9f5
|
||||
Create DPP: 0xd7f02D1b4F9495B549787808503Ecfd231C3fbDA-0x5eca15b12d959dfcf9c71c59f8b467eb8c6efd0b Pool:0x25F03Cc8d661D04513D17497dDE752BDF96A8459 Tx: 0xb15244e5e51f2e593adee05c337c00b265636869c59af6589ca49b82f56a86a7
|
||||
====================================================
|
||||
network type: kovan
|
||||
Deploy time: 2021/2/9 下午10:19:34
|
||||
====================================================
|
||||
network type: kovan
|
||||
Deploy time: 2021/2/9 下午10:43:19
|
||||
====================================================
|
||||
network type: kovan
|
||||
Deploy time: 2021/2/9 下午10:48:41
|
||||
====================================================
|
||||
network type: kovan
|
||||
Deploy time: 2021/2/9 下午10:51:19
|
||||
====================================================
|
||||
network type: kovan
|
||||
Deploy time: 2021/2/13 下午12:25:48
|
||||
|
||||
@@ -35,7 +35,7 @@ module.exports = async (deployer, network, accounts) => {
|
||||
DODOApproveProxyAddress = "0xB76de21f04F677f07D9881174a1D8E624276314C";
|
||||
chiAddress = "0x0000000000000000000000000000000000000000";
|
||||
DODOSwapCalcHelperAddress = "0xb0199C2c8ADF1E6c1e41De60A62E993406Cb8C02";
|
||||
ownerAddress = "0x4073f2b9bB95774531b9e23d206a308c614A943a";
|
||||
ownerAddress = "0xcaa42F09AF66A8BAE3A7445a7f63DAD97c11638b";
|
||||
} else return;
|
||||
|
||||
if (deploySwitch.DEPLOY_V1) {
|
||||
|
||||
@@ -135,7 +135,7 @@ module.exports = async (deployer, network, accounts) => {
|
||||
WETHAddress = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
|
||||
chiAddress = "0x0000000000000000000000000000000000000000";
|
||||
DODOCalleeHelperAddress = "0xaaffAd1017D6a13E026A00121BF258C616B25f7C";
|
||||
DODORouteV2HelperAddress = "0x335aC99bb3E51BDbF22025f092Ebc1Cf2c5cC619";
|
||||
DODORouteV2HelperAddress = "0x1dc8D1f1600B7C1D39e6b60FBC7b021Bc4F9C993";
|
||||
DODOV1PmmHelperAddress = "0x2BBD66fC4898242BDBD2583BBe1d76E8b8f71445";
|
||||
//Template
|
||||
CloneFactoryAddress = "0x03E2427859119E497EB856a166F616a2Ce5f8c88";
|
||||
@@ -147,17 +147,17 @@ module.exports = async (deployer, network, accounts) => {
|
||||
DppAdminTemplateAddress = "0x44D5dF24d5Ef52A791D6436Fa45A8D426f6de34e";
|
||||
CpTemplateAddress = "0x041ABa00c57Dd47abC37A2931dF569a2A2cc57Be";
|
||||
//Factory
|
||||
DvmFactoryAddress = "0xf50BDc9E90B7a1c138cb7935071b85c417C4cb8e";
|
||||
DppFactoryAddress = "0x9B64c81ba54eA51e1f6B7fefb3cfF8AA6F1e2A09";
|
||||
CpFactoryAddress = "0x9aE501385Bc7996A2A4a1FBb00c8d3820611BCB5";
|
||||
DvmFactoryAddress = "0x790B4A80Fb1094589A3c0eFC8740aA9b0C1733fB";
|
||||
DppFactoryAddress = "0xAfe0A75DFFb395eaaBd0a7E1BBbd0b11f8609eeF";
|
||||
CpFactoryAddress = "0x778DF5B12170e8af8dF94356BfC864E57CE185DC";
|
||||
//Proxy
|
||||
DODOApproveAddress = "0xa128Ba44B2738A558A1fdC06d6303d52D3Cef8c1";
|
||||
DODOApproveProxyAddress = "0xB76de21f04F677f07D9881174a1D8E624276314C";
|
||||
DODOIncentiveAddress = "";
|
||||
DODOIncentiveAddress = "0x4EE6398898F7FC3e648b3f6bA458310ac29cD352";
|
||||
DODOTokenAddress = "0x67ee3Cb086F8a16f34beE3ca72FAD36F7Db929e2";
|
||||
//Account
|
||||
multiSigAddress = "0x4073f2b9bB95774531b9e23d206a308c614A943a";
|
||||
defaultMaintainer = "0x4073f2b9bB95774531b9e23d206a308c614A943a";
|
||||
multiSigAddress = "0xcaa42F09AF66A8BAE3A7445a7f63DAD97c11638b";
|
||||
defaultMaintainer = "0xcaa42F09AF66A8BAE3A7445a7f63DAD97c11638b";
|
||||
} else return;
|
||||
|
||||
logger.log("====================================================");
|
||||
|
||||
@@ -9,6 +9,7 @@ const DODOMigrationBSC = artifacts.require("DODOMigrationBSC");
|
||||
const vDODOToken = artifacts.require("vDODOToken");
|
||||
const DODOCirculationHelper = artifacts.require("DODOCirculationHelper");
|
||||
const DODOApproveProxy = artifacts.require("DODOApproveProxy");
|
||||
const DODOMine = artifacts.require("DODOMine");
|
||||
|
||||
module.exports = async (deployer, network, accounts) => {
|
||||
|
||||
@@ -24,7 +25,7 @@ module.exports = async (deployer, network, accounts) => {
|
||||
DODOTokenAddress = "0x854b0f89BAa9101e49Bfb357A38071C9db5d0DFa";
|
||||
DODOApproveProxyAddress = "0xE2bf3e72E126f0AD4Aec07AdfA6cc345EEF43bDe";
|
||||
DODOCirculationHelperAddress = "";
|
||||
vDODOTokenAddress = "";
|
||||
vDODOTokenAddress = "0xf7119Bf8bE41Dd9080Bd0A9AB04788B5EcA140d5";
|
||||
GovernanceAddress = "0x0000000000000000000000000000000000000000";
|
||||
//Account
|
||||
multiSigAddress = accounts[0];
|
||||
@@ -33,7 +34,7 @@ module.exports = async (deployer, network, accounts) => {
|
||||
DODOTokenAddress = "0x43dfc4159d86f3a37a5a4b3d4580b888ad7d4ddd";
|
||||
DODOApproveProxyAddress = "0x335aC99bb3E51BDbF22025f092Ebc1Cf2c5cC619";
|
||||
DODOCirculationHelperAddress = "";
|
||||
vDODOTokenAddress = "";
|
||||
vDODOTokenAddress = "0xc4436fBAE6eBa5d95bf7d53Ae515F8A707Bd402A";
|
||||
GovernanceAddress = "0x0000000000000000000000000000000000000000";
|
||||
//Account
|
||||
multiSigAddress = "0x95C4F5b83aA70810D4f142d58e5F7242Bd891CB0";
|
||||
@@ -42,13 +43,34 @@ module.exports = async (deployer, network, accounts) => {
|
||||
DODOTokenAddress = "0x67ee3Cb086F8a16f34beE3ca72FAD36F7Db929e2";
|
||||
DODOApproveProxyAddress = "0xB76de21f04F677f07D9881174a1D8E624276314C";
|
||||
//Account
|
||||
multiSigAddress = "0x4073f2b9bB95774531b9e23d206a308c614A943a";
|
||||
multiSigAddress = "0xcaa42F09AF66A8BAE3A7445a7f63DAD97c11638b";
|
||||
} else return;
|
||||
|
||||
logger.log("====================================================");
|
||||
logger.log("network type: " + network);
|
||||
logger.log("Deploy time: " + new Date().toLocaleString());
|
||||
|
||||
|
||||
|
||||
if (deploySwitch.MINE) {
|
||||
logger.log("Deploy type: DODOMine");
|
||||
await deployer.deploy(DODOMine, DODOTokenAddress, 5008500);
|
||||
DODOMineAddress = DODOMine.address;
|
||||
logger.log("DODOMineAddress: ", DODOMineAddress);
|
||||
const dodoMineInstance = await DODOMine.at(DODOMineAddress);
|
||||
//Add dodo
|
||||
var tx = await dodoMineInstance.addLpToken(DODOTokenAddress,"3000000000000000000000",true);
|
||||
logger.log("Add DODO Tx:", tx.tx);
|
||||
//set BLockReward
|
||||
tx = await dodoMineInstance.setReward("1000000000000000", true);
|
||||
logger.log("Set blockReward Tx:", tx.tx);
|
||||
|
||||
//transfer DODO to Vault
|
||||
|
||||
//transfer owner
|
||||
}
|
||||
|
||||
|
||||
if (deploySwitch.DODORecharge) {
|
||||
logger.log("Deploy type: DODORecharge");
|
||||
await deployer.deploy(DODORecharge, DODOTokenAddress, DODOApproveProxyAddress);
|
||||
@@ -77,6 +99,15 @@ module.exports = async (deployer, network, accounts) => {
|
||||
const dodoMigrationBscInstance = await DODOMigrationBSC.at(DODOMigrationBSCAddress);
|
||||
var tx = await dodoMigrationBscInstance.initOwner(multiSigAddress);
|
||||
logger.log("Init DODOMigrationBSCAddress Tx:", tx.tx);
|
||||
|
||||
if (network == 'kovan') {
|
||||
//ApproveProxy add
|
||||
const DODOApproveProxyInstance = await DODOApproveProxy.at(DODOApproveProxyAddress);
|
||||
tx = await DODOApproveProxyInstance.unlockAddProxy(DODOMigrationBSCAddress);
|
||||
logger.log("DODOApproveProxy Unlock tx: ", tx.tx);
|
||||
tx = await DODOApproveProxyInstance.addDODOProxy();
|
||||
logger.log("DODOApproveProxy add tx: ", tx.tx);
|
||||
}
|
||||
}
|
||||
|
||||
if (deploySwitch.vDODOToken) {
|
||||
@@ -113,23 +144,23 @@ module.exports = async (deployer, network, accounts) => {
|
||||
logger.log("vDODOToken setDODOCirculationHelper tx: ", tx.tx);
|
||||
|
||||
//ApproveProxy add
|
||||
const DODOApproveProxyInstance = await DODOApproveProxy.at(DODOApproveProxyAddress);
|
||||
tx = await DODOApproveProxyInstance.unlockAddProxy(vDODOTokenAddress);
|
||||
logger.log("DODOApproveProxy Unlock tx: ", tx.tx);
|
||||
tx = await DODOApproveProxyInstance.addDODOProxy();
|
||||
logger.log("DODOApproveProxy add tx: ", tx.tx);
|
||||
// const DODOApproveProxyInstance = await DODOApproveProxy.at(DODOApproveProxyAddress);
|
||||
// tx = await DODOApproveProxyInstance.unlockAddProxy(vDODOTokenAddress);
|
||||
// logger.log("DODOApproveProxy Unlock tx: ", tx.tx);
|
||||
// tx = await DODOApproveProxyInstance.addDODOProxy();
|
||||
// logger.log("DODOApproveProxy add tx: ", tx.tx);
|
||||
|
||||
//Mint DODO first
|
||||
tx = await vDODOTokenInstance.mint("100000000000000000000000",dodoTeam);
|
||||
logger.log("vDODOToken first mint tx: ", tx.tx);
|
||||
// //Mint DODO first
|
||||
// tx = await vDODOTokenInstance.mint("100000000000000000000000",dodoTeam);
|
||||
// logger.log("vDODOToken first mint tx: ", tx.tx);
|
||||
|
||||
//preDepositedBlockReward
|
||||
tx = await vDODOTokenInstance.preDepositedBlockReward("1000000000000000000000");
|
||||
logger.log("vDODOToken injected dodo tx: ", tx.tx);
|
||||
// //preDepositedBlockReward
|
||||
// tx = await vDODOTokenInstance.preDepositedBlockReward("100000000000000000000000");
|
||||
// logger.log("vDODOToken injected dodo tx: ", tx.tx);
|
||||
|
||||
//changePerReward
|
||||
tx = await vDODOTokenInstance.changePerReward("100000000000000000");
|
||||
logger.log("vDODOToken changeReward tx: ", tx.tx);
|
||||
// //changePerReward
|
||||
// tx = await vDODOTokenInstance.changePerReward("100000000000000000");
|
||||
// logger.log("vDODOToken changeReward tx: ", tx.tx);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,7 +50,8 @@ module.exports = {
|
||||
DODOBscToken: false,
|
||||
vDODOToken: false,
|
||||
CALLEE: false,
|
||||
DODORecharge: true
|
||||
DODORecharge: false,
|
||||
MINE: false
|
||||
},
|
||||
|
||||
networks: {
|
||||
@@ -83,7 +84,7 @@ module.exports = {
|
||||
return new HDWalletProvider(privKey, "https://mainnet.infura.io/v3/" + infuraId);
|
||||
},
|
||||
gas: 6000000,
|
||||
gasPrice: 120000000000,
|
||||
gasPrice: 115000000000,
|
||||
network_id: 1,
|
||||
skipDryRun: true
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user