Manga Token is a reward, payment and staking token for the manga industry to facilitate supporting your favourite manga artists through a new form of digital merchandise called Manga NFTs and we are building the world largest Manga NFT marketplace for authentic manga collectibles from original manga artists.
MangaToken._writeCheckpoint(address,uint32,uint256,uint256) (contracts/MangaToken.sol#215-233) uses a dangerous strict equality:
- nCheckpoints > 0 && checkpoints[delegatee][nCheckpoints - 1].fromBlock == blockNumber (contracts/MangaToken.sol#225)
Don't use strict equality to determine if an account has enough Ether or tokens.
Additional information: link
Contract ticker ($MANGA) contains non-alphanumeric characters.
Not a direct threat, but may indicate unreliable intentions of developer. Non-alphanumeric chars (,.;!#*&") are extremely rare among low risk tokens.
BEP20._approve(address,address,uint256).owner (contracts/libs/BEP20.sol#278) shadows:
- Ownable.owner() (@openzeppelin/contracts/access/Ownable.sol#35-37) (function)
Rename the local variables that shadow another component.
Additional information: link
MangaToken.delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32) (contracts/MangaToken.sol#81-122) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now <= expiry,MangaToken::delegateBySig: signature expired) (contracts/MangaToken.sol#120)
Avoid relying on block.timestamp.
Additional information: link
MangaToken.getChainId() (contracts/MangaToken.sol#240-244) uses assembly
- INLINE ASM (contracts/MangaToken.sol#242)
Do not use evm assembly.
Additional information: link
Different versions of Solidity is used:
- Version used: ['0.6.12', '>=0.4.0', '>=0.6.0<0.8.0', '>=0.6.4']
- >=0.6.0<0.8.0 (@openzeppelin/contracts/GSN/Context.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/access/Ownable.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/math/SafeMath.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/utils/Context.sol#3)
- 0.6.12 (contracts/MangaToken.sol#1)
- >=0.4.0 (contracts/libs/BEP20.sol#1)
- >=0.6.4 (contracts/libs/IBEP20.sol#1)
Use one Solidity version.
Additional information: link
SafeMath.trySub(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#35-38) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version>=0.6.4 (contracts/libs/IBEP20.sol#1) 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
Variable MangaToken._delegates (contracts/MangaToken.sol#23) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (@openzeppelin/contracts/utils/Context.sol#21)" inContext (@openzeppelin/contracts/utils/Context.sol#15-24)
Remove redundant statements if they congest code but offer no value.
Additional information: link
mint(uint256) should be declared external:
- BEP20.mint(uint256) (contracts/libs/BEP20.sol#201-204)
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 scam / price dump / death
Young tokens have high risks of price dump / death
Token has relatively low CoinMarketCap rank
Telegram account link seems to be invalid
Twitter account link seems to be invalid