Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
MESSI._transfer(address,address,uint256) (#676-709) performs a multiplication on the result of a division:
-a = amount.div(1000) (#686)
-super._transfer(sender,feeAddr,a.mul(buyFee)) (#694)
MESSI._transfer(address,address,uint256) (#676-709) performs a multiplication on the result of a division:
-a = amount.div(1000) (#686)
-super._transfer(sender,recipient,a.mul(1000 - buyFee)) (#695)
MESSI._transfer(address,address,uint256) (#676-709) performs a multiplication on the result of a division:
-a = amount.div(1000) (#686)
-super._transfer(sender,feeAddr,a.mul(sellFee)) (#698)
MESSI._transfer(address,address,uint256) (#676-709) performs a multiplication on the result of a division:
-a = amount.div(1000) (#686)
-super._transfer(sender,recipient,a.mul(1000 - sellFee)) (#699)
Consider ordering multiplication before division.
Additional information: link
MESSI.setPair(address)._pair (#711) lacks a zero-check on :
- pair = _pair (#713)
Check that the address is not zero.
Additional information: link
MESSI._transfer(address,address,uint256) (#676-709) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp > startTime,Not started) (#690)
Avoid relying on block.timestamp.
Additional information: link
Context._msgData() (#23-25) is never used and should be removed
ERC20._burn(address,uint256) (#501-516) is never used and should be removed
SafeMath.add(uint256,uint256) (#616-620) is never used and should be removed
SafeMath.sub(uint256,uint256) (#622-624) is never used and should be removed
SafeMath.sub(uint256,uint256,string) (#626-630) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.0 (#6) allows old versions
Pragma version^0.8.0 (#33) allows old versions
Pragma version^0.8.0 (#111) allows old versions
Pragma version^0.8.0 (#196) allows old versions
Pragma version^0.8.0 (#226) allows old versions
Pragma version^0.8.0 (#608) allows old versions
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
Parameter MESSI.setPair(address)._pair (#711) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
MESSI.buyFee (#660) should be constant
MESSI.feeAddr (#656) should be constant
MESSI.mainAddress (#657) should be constant
MESSI.sellFee (#661) should be constant
MESSI.startTime (#658) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#82-84)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#90-93)
name() should be declared external:
- ERC20.name() (#283-285)
symbol() should be declared external:
- ERC20.symbol() (#291-293)
totalSupply() should be declared external:
- ERC20.totalSupply() (#315-317)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (#322-324)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (#334-338)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#357-361)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (#379-388)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#402-406)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#422-431)
setPair(address) should be declared external:
- MESSI.setPair(address) (#711-714)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find website, listings and other project-related information
Young tokens have high risks of scam / price dump / death
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Unable to find Telegram and Twitter accounts