A Multichain & Cross-Chain Decentralized All-In-One Platform To Include AMM, Farming, Lending, Launchpad, NFT, and More.
The MTVP token is the native asset of the MultiversePad project. It exists primarily as a BEP-20 token on the Binance Blockchain for now, but will be introduced on the Polygon blockchain soon. It is required for:
• Transactional activity on the network
• As a staking collateral
• For staking rewards
• For participation in the Launchpad IDOs
• Base asset for cross-chain swaps
• For lending and prediction purposes MultiversePad platform modules include:
• MultiversePad Farming - a unique deflationary farming, which doesn't rely on inflation to reward stakers, but rather takes parts of every transaction as a deposit for the staking rewards pools. A certain part of every transaction is burned too.
• MultiversePad Launchpad - an Initial Decentralized Offering (IDO) platform, designed to incubate promising projects and to allow MTVP holders to participate in early stage investment opportunities and with a guaranteed allocation.
• Multichain & Cross-Chain universe Supported Ethereum, BSC, Harmony, Polygon, Solana.
• Deflationary mechanism 0.4% amount for farmer rewards and 0.1% will be burned.
• Launchpad participation Fair-tiered System.
• Guaranteed allocation for all tiers.
MultiversePad.withdrawErc20(IERC20) (#421-423) ignores return value by token.transfer(tokenOwner,token.balanceOf(address(this))) (#422)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
Pragma version>=0.6.0 (#1) allows old versions
solc-0.6.0 is not recommended for deployment
Deploy with any of the following Solidity versions: 0.5.16 - 0.5.17, 0.6.11 - 0.6.12, 0.7.5 - 0.7.6 Use a simple pragma version that allows any of these versions. Consider using the latest version of Solidity for testing.
Additional information: link
Redundant expression "this (#13)" inContext (#4-16)
Remove redundant statements if they congest code but offer no value.
Additional information: link
ERC20._transfer(address,address,uint256) (#241-286) uses timestamp for comparisons
Dangerous comparisons:
- block.timestamp > beginFarming && totalActivePool > 0 (#249)
Avoid relying on block.timestamp.
Additional information: link
ERC20._caculateExtractAmount(uint256) (#341-354) performs a multiplication on the result of a division:
-extractAmount = (amount * 5) / 1000 (#347)
-burnAmount = (extractAmount * 10) / 100 (#349)
ERC20._caculateExtractAmount(uint256) (#341-354) performs a multiplication on the result of a division:
-extractAmount = (amount * 5) / 1000 (#347)
-rewardAmount = (extractAmount * 90) / 100 (#350)
Consider ordering multiplication before division.
Additional information: link
ERC20._transfer(address,address,uint256).burnAmount (#246) is a local variable never initialized
ERC20._transfer(address,address,uint256).rewardAmount (#247) is a local variable never initialized
Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero to improve code readability.
Additional information: link
ERC20Detailed.constructor(string,string,uint8).name (#387) shadows:
- ERC20Detailed.name() (#394-396) (function)
ERC20Detailed.constructor(string,string,uint8).symbol (#387) shadows:
- ERC20Detailed.symbol() (#399-401) (function)
ERC20Detailed.constructor(string,string,uint8).decimals (#387) shadows:
- ERC20Detailed.decimals() (#404-406) (function)
Rename the local variables that shadow another component.
Additional information: link
Context._msgData() (#12-15) is never used and should be removed
SafeMath.mod(uint256,uint256) (#97-99) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#102-105) is never used and should be removed
SafeMath.mul(uint256,uint256) (#67-79) is never used and should be removed
Remove unused functions.
Additional information: link
addRewardPool(address) should be declared external:
- ERC20.addRewardPool(address) (#137-144)
addWhitelistTransfer(address,string) should be declared external:
- ERC20.addWhitelistTransfer(address,string) (#146-152)
removeWhitelistTransfer(address) should be declared external:
- ERC20.removeWhitelistTransfer(address) (#154-160)
removeRewardPool(address) should be declared external:
- ERC20.removeRewardPool(address) (#164-169)
getRewardPool(uint256) should be declared external:
- ERC20.getRewardPool(uint256) (#180-183)
totalSupply() should be declared external:
- ERC20.totalSupply() (#187-189)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (#192-194)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (#197-206)
transferWithoutDeflationary(address,uint256) should be declared external:
- ERC20.transferWithoutDeflationary(address,uint256) (#207-210)
allowance(address,address) should be declared external:
- ERC20.allowance(address,address) (#212-214)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#217-220)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (#223-227)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#229-232)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#235-238)
setBeginDeflationFarming(uint256) should be declared external:
- ERC20.setBeginDeflationFarming(uint256) (#356-359)
getBeginDeflationary() should be declared external:
- ERC20.getBeginDeflationary() (#361-363)
burn(uint256) should be declared external:
- ERC20Burnable.burn(uint256) (#371-373)
burnFrom(address,uint256) should be declared external:
- ERC20Burnable.burnFrom(address,uint256) (#376-378)
name() should be declared external:
- ERC20Detailed.name() (#394-396)
symbol() should be declared external:
- ERC20Detailed.symbol() (#399-401)
decimals() should be declared external:
- ERC20Detailed.decimals() (#404-406)
withdrawErc20(IERC20) should be declared external:
- MultiversePad.withdrawErc20(IERC20) (#421-423)
Use the external attribute for functions never called from the contract.
Additional information: link
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of price dump / death
Token has relatively low CoinMarketCap rank
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Token has relatively low CoinGecko rank
Twitter account has relatively few followers
Last post in Twitter was more than 30 days ago
Unable to find Discord account