Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Token is flagged by TokenSniffer due to presence of exploit in contract code
Contract ownership is not renounced (belongs to a wallet)
TokenERC20.constructor() (#75-84) uses literals with too many digits:
- _totalSupply = 1000000000000000 * 10 ** uint256(decimals) (#79)
TokenERC20.constructor() (#75-84) uses literals with too many digits:
- balances[owner] = 300000000000000 * 10 ** uint256(decimals) (#80)
TokenERC20.constructor() (#75-84) uses literals with too many digits:
- balances[address(this)] = 700000000000000 * 10 ** uint256(decimals) (#81)
TokenERC20.constructor() (#75-84) uses literals with too many digits:
- Transfer(address(0),owner,300000000000000 * 10 ** uint256(decimals)) (#82)
TokenERC20.constructor() (#75-84) uses literals with too many digits:
- Transfer(address(0),address(this),700000000000000 * 10 ** uint256(decimals)) (#83)
Century.constructor() (#142-145) uses literals with too many digits:
- startAirdrop(block.number,99999999,1000000 * 10 ** uint256(decimals),2000000000000) (#143)
Century.constructor() (#142-145) uses literals with too many digits:
- startSale(block.number,99999999,0,1500000000 * 10 ** uint256(decimals),10000000000000000) (#144)
Century.getAirdrop(address) (#147-160) uses literals with too many digits:
- msg.sender != _refer && balanceOf(_refer) != 0 && _refer != 0x0000000000000000000000000000000000000000 (#151)
Century.tokenSale(address) (#162-178) uses literals with too many digits:
- msg.sender != _refer && balanceOf(_refer) != 0 && _refer != 0x0000000000000000000000000000000000000000 (#169)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
totalSupply() should be declared external:
- ERC20Interface.totalSupply() (#23)
- TokenERC20.totalSupply() (#86-88)
allowance(address,address) should be declared external:
- ERC20Interface.allowance(address,address) (#25)
- TokenERC20.allowance(address,address) (#110-112)
transfer(address,uint256) should be declared external:
- ERC20Interface.transfer(address,uint256) (#26)
- TokenERC20.transfer(address,uint256) (#92-97)
approve(address,uint256) should be declared external:
- ERC20Interface.approve(address,uint256) (#27)
- TokenERC20.approve(address,uint256) (#98-102)
transferFrom(address,address,uint256) should be declared external:
- ERC20Interface.transferFrom(address,address,uint256) (#28)
- TokenERC20.transferFrom(address,address,uint256) (#103-109)
receiveApproval(address,uint256,address,bytes) should be declared external:
- ApproveAndCallFallBack.receiveApproval(address,uint256,address,bytes) (#35)
transferOwnership(address) should be declared external:
- Owned.transferOwnership(address) (#53-55)
acceptOwnership() should be declared external:
- Owned.acceptOwnership() (#56-61)
approveAndCall(address,uint256,bytes) should be declared external:
- TokenERC20.approveAndCall(address,uint256,bytes) (#113-118)
getAirdrop(address) should be declared external:
- Century.getAirdrop(address) (#147-160)
tokenSale(address) should be declared external:
- Century.tokenSale(address) (#162-178)
viewAirdrop() should be declared external:
- Century.viewAirdrop() (#180-182)
viewSale() should be declared external:
- Century.viewSale() (#183-185)
clearETH() should be declared external:
- Century.clearETH() (#202-205)
Use the external attribute for functions never called from the contract.
Additional information: link
Century.startAirdrop(uint256,uint256,uint256,uint256) (#187-193) should emit an event for:
- aSBlock = _aSBlock (#188)
- aEBlock = _aEBlock (#189)
- aAmt = _aAmt (#190)
- aCap = _aCap (#191)
Century.startSale(uint256,uint256,uint256,uint256,uint256) (#194-201) should emit an event for:
- sSBlock = _sSBlock (#195)
- sEBlock = _sEBlock (#196)
- sChunk = _sChunk (#197)
- sPrice = _sPrice (#198)
- sCap = _sCap (#199)
Emit an event for critical parameter changes.
Additional information: link
Owned.transferOwnership(address)._newOwner (#53) lacks a zero-check on :
- newOwner = _newOwner (#54)
Century.clearETH()._owner (#203) lacks a zero-check on :
- _owner.transfer(address(this).balance) (#204)
Check that the address is not zero.
Additional information: link
SafeMath.div(uint256,uint256) (#16-19) is never used and should be removed
SafeMath.mul(uint256,uint256) (#12-15) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version>=0.5.10 (#1) allows old versions
solc-0.5.10 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
Parameter Owned.transferOwnership(address)._newOwner (#53) is not in mixedCase
Variable TokenERC20._totalSupply (#70) is not in mixedCase
Parameter Century.getAirdrop(address)._refer (#147) is not in mixedCase
Parameter Century.tokenSale(address)._refer (#162) is not in mixedCase
Parameter Century.startAirdrop(uint256,uint256,uint256,uint256)._aSBlock (#187) is not in mixedCase
Parameter Century.startAirdrop(uint256,uint256,uint256,uint256)._aEBlock (#187) is not in mixedCase
Parameter Century.startAirdrop(uint256,uint256,uint256,uint256)._aAmt (#187) is not in mixedCase
Parameter Century.startAirdrop(uint256,uint256,uint256,uint256)._aCap (#187) is not in mixedCase
Parameter Century.startSale(uint256,uint256,uint256,uint256,uint256)._sSBlock (#194) is not in mixedCase
Parameter Century.startSale(uint256,uint256,uint256,uint256,uint256)._sEBlock (#194) is not in mixedCase
Parameter Century.startSale(uint256,uint256,uint256,uint256,uint256)._sChunk (#194) is not in mixedCase
Parameter Century.startSale(uint256,uint256,uint256,uint256,uint256)._sPrice (#194) is not in mixedCase
Parameter Century.startSale(uint256,uint256,uint256,uint256,uint256)._sCap (#194) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Unable to find website, listings and other project-related information
Token is marked as scam (rug pull, honeypot, phishing, etc.)
Additional information: link
Young tokens have high risks of price dump / death
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Unable to find Telegram and Twitter accounts