Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract locking ether found:
Contract DEMOToken (#239-256) has payable functions:
- DEMOToken.fallback() (#252-254)
But does not have a function to withdraw the ether
Remove the payable attribute or add a withdraw function.
Additional information: link
BaseToken.setTaxFee(uint256) (#228-230) should emit an event for:
- _taxFee = taxFee (#229)
BaseToken.setBurnFee(uint256) (#232-234) should emit an event for:
- _burnFee = burnFee (#233)
Emit an event for critical parameter changes.
Additional information: link
BaseToken.setProjectAddress(address)._projectAddress (#224) lacks a zero-check on :
- projectAddress = _projectAddress (#225)
Check that the address is not zero.
Additional information: link
SafeMath.mod(uint256,uint256) (#32-35) is never used and should be removed
Remove unused functions.
Additional information: link
BaseToken._previousTaxFee (#80) is set pre-construction with a non-constant function or state variable:
- _taxFee
BaseToken._previousBurnFee (#83) is set pre-construction with a non-constant function or state variable:
- _burnFee
Remove any initialization of state variables via non-constant state variables or function calls. If variables must be set upon contract deployment, locate initialization in the constructor instead.
Additional information: link
Pragma version^0.4.25 (#1) allows old versions
solc-0.4.25 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 BaseToken.calculateTaxFee(uint256)._amount (#168) is not in mixedCase
Parameter BaseToken.calculateBurnFee(uint256)._amount (#174) is not in mixedCase
Parameter BaseToken.setProjectAddress(address)._projectAddress (#224) is not in mixedCase
Constant BaseToken.MAXSupply (#69) is not in UPPER_CASE_WITH_UNDERSCORES
Variable BaseToken._taxFee (#79) is not in mixedCase
Variable BaseToken._burnFee (#82) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
DEMOToken.slitherConstructorVariables() (#239-256) uses literals with too many digits:
- totalSupply = 1000000000 * 10 ** uint256(decimals) (#68)
DEMOToken.slitherConstructorVariables() (#239-256) uses literals with too many digits:
- burnAddress = 0x000000000000000000000000000000000000dEaD (#87)
DEMOToken.slitherConstructorConstantVariables() (#239-256) uses literals with too many digits:
- MAXSupply = 100000000000000000000000000000000000000000000000 * 10 ** uint256(decimals) (#69)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
BaseToken.burnAddress (#87) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#48-52)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#54-57)
transfer(address,uint256) should be declared external:
- BaseToken.transfer(address,uint256) (#126-129)
transferFrom(address,address,uint256) should be declared external:
- BaseToken.transferFrom(address,address,uint256) (#131-135)
approve(address,uint256) should be declared external:
- BaseToken.approve(address,uint256) (#137-142)
increaseAllowance(address,uint256) should be declared external:
- BaseToken.increaseAllowance(address,uint256) (#144-149)
decreaseAllowance(address,uint256) should be declared external:
- BaseToken.decreaseAllowance(address,uint256) (#151-156)
mintToken(address,uint256) should be declared external:
- BaseToken.mintToken(address,uint256) (#158-166)
includeInFee(address) should be declared external:
- BaseToken.includeInFee(address) (#199-201)
isExcludeFromFee(address) should be declared external:
- BaseToken.isExcludeFromFee(address) (#203-206)
setLocked(address) should be declared external:
- BaseToken.setLocked(address) (#209-211)
setUnlocked(address) should be declared external:
- BaseToken.setUnlocked(address) (#213-215)
isLocked(address) should be declared external:
- BaseToken.isLocked(address) (#218-221)
setProjectAddress(address) should be declared external:
- BaseToken.setProjectAddress(address) (#224-226)
setTaxFee(uint256) should be declared external:
- BaseToken.setTaxFee(uint256) (#228-230)
setBurnFee(uint256) should be declared external:
- BaseToken.setBurnFee(uint256) (#232-234)
fallback() should be declared external:
- DEMOToken.fallback() (#252-254)
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