add audit report

This commit is contained in:
owen05
2021-02-19 17:37:46 +08:00
parent 66de802e59
commit 518c45f171
9 changed files with 134 additions and 43 deletions

BIN
audit/vDODO-final-report.pdf Executable file

Binary file not shown.

View File

@@ -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]);
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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) {

View File

@@ -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("====================================================");

View File

@@ -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);
}
}

View File

@@ -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
},