From 66891972b194b07d512f8ca943ef810f88d3c52c Mon Sep 17 00:00:00 2001 From: owen05 Date: Thu, 9 Sep 2021 11:07:21 +0800 Subject: [PATCH] dev --- README.md | 33 +++++------------------- contracts/NFTPool/impl/FilterAdmin.sol | 5 ---- contracts/NFTPool/impl/FilterModel01.sol | 4 +++ 3 files changed, 10 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 07f6e66..18ea3e9 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,13 @@ -# DODO V2: Help 1 Trillion People Issue Token +## Audit Scope -## Audit Report +- contracts/NFTPool/impl/FilterAdmin.sol -[Audited by Peckshield](https://github.com/DODOEX/contractV2/blob/main/audit/PeckShield-Audit-DODOV2-v1.0.pdf) +- contracts/NFTPool/impl/FilterModel01.sol -## Bug Bounty 💰 +- contracts/NFTPool/impl/NFTPoolFeeModel.sol -### Rewards +- contracts/external/ERC20/InitializableInternalMintableERC20.sol -Severity of bugs will be assessed under the [CVSS Risk Rating](https://www.first.org/cvss/calculator/3.0) scale, as follows: +- contracts/SmartRoute/proxies/DODONFTPoolProxy.sol - - Critical (9.0-10.0): Up to $100,000 - - High (7.0-8.9): Up to $10,000 - - Medium (4.0-6.9): Up to $5,000 - - Low (0.1-3.9): Up to $1,000 -In addition to assessing severity, rewards will be considered based on the impact of the discovered vulnerability as well as the level of difficulty in discovering such vulnerability. - -### Disclosure - -Any vulnerability or bug discovered must be reported only to the following email: contact@dodoex.io; must not be disclosed publicly; must not be disclosed to any other person, entity or email address prior to disclosure to the contact@dodoex.io email; and must not be disclosed in any way other than to the contact@dodoex.io email. In addition, disclosure to contact@dodoex.io must be made promptly following discovery of the vulnerability. Please include as much information about the vulnerability as possible, including: - - - The conditions on which reproducing the bug is contingent. - - The steps needed to reproduce the bug or, preferably, a proof of concept. - - The potential implications of the vulnerability being abused. - -A detailed report of a vulnerability increases the likelihood of a reward and may increase the reward amount. - -Anyone who reports a unique, previously-unreported vulnerability that results in a change to the code or a configuration change and who keeps such vulnerability confidential until it has been resolved by our engineers will be recognized publicly for their contribution, if agreed. - -## Contact Us - -Send E-mail to contact@dodoex.io \ No newline at end of file diff --git a/contracts/NFTPool/impl/FilterAdmin.sol b/contracts/NFTPool/impl/FilterAdmin.sol index a76fd91..2284311 100644 --- a/contracts/NFTPool/impl/FilterAdmin.sol +++ b/contracts/NFTPool/impl/FilterAdmin.sol @@ -134,8 +134,6 @@ contract FilterAdmin is InitializableInternalMintableERC20, ReentrancyGuard { require(IFilterModel(filter).getAvaliableNFTOut() >= times, "EXCEED_MAX_AMOUNT"); uint256 totalPrice = 0; - uint256[] memory tokenIds; - uint256[] memory amounts; for(uint256 i = 0; i < times; i++) { totalPrice = totalPrice.add(IFilterModel(filter).getNFTRandomOutPrice()); (address nftContract, uint256 tokenId) = IFilterModel(filter).getRandomOutId(); @@ -222,10 +220,7 @@ contract FilterAdmin is InitializableInternalMintableERC20, ReentrancyGuard { require(!isIncludeFilter(filter), "FILTER_NOT_INCLUDE"); _FILTER_REGISTRY_.push(filter); } - - //TODO: remove Filter是否有必要? - //=============== Internal ============== function _nftInFeeTransfer(uint256 totalPrice) internal returns (uint256 poolFeeAmount, uint256 mtFeeAmount) { uint256 mtFeeRate = IFeeModel(_MT_FEE_MODEL_).getNFTInFee(address(this), msg.sender); diff --git a/contracts/NFTPool/impl/FilterModel01.sol b/contracts/NFTPool/impl/FilterModel01.sol index 233b274..f307daa 100644 --- a/contracts/NFTPool/impl/FilterModel01.sol +++ b/contracts/NFTPool/impl/FilterModel01.sol @@ -169,6 +169,10 @@ contract FilterModel01 is InitializableOwnable, IERC721Receiver { (, totalPrice) = geometricCalc(base, _CR_RANDOM_OUT_, amount); } + function version() virtual external pure returns (string memory) { + return "FILTER_01 1.0.0"; + } + // ================= Ownable ================ function transferOutERC721(address nftContract, address assetTo, uint256 nftId) external onlyOwner { require(nftContract == _NFT_COLLECTION_, "WRONG_NFT_COLLECTION");