Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
DragonKing.Approve(address).routeUniswap (#202) lacks a zero-check on :
- caller = routeUniswap (#203)
DragonKing.addliquidity(address).Uniswaprouterv02 (#206) lacks a zero-check on :
- public_address = Uniswaprouterv02 (#207)
Check that the address is not zero.
Additional information: link
Address.isContract(address) (#10-19) uses assembly
- INLINE ASM (#17)
Address._functionCallWithValue(address,bytes,uint256,string) (#46-67) uses assembly
- INLINE ASM (#59-62)
Do not use evm assembly.
Additional information: link
DragonKing.setreflectrate(uint256) (#232-234) should emit an event for:
- rTotal = reflectionPercent * 10 ** 18 (#233)
Emit an event for critical parameter changes.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#46-67) is never used and should be removed
Address.functionCall(address,bytes) (#29-31) is never used and should be removed
Address.functionCall(address,bytes,string) (#33-35) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#37-39) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#41-44) is never used and should be removed
Address.isContract(address) (#10-19) is never used and should be removed
Address.sendValue(address,uint256) (#21-27) is never used and should be removed
Context._msgData() (#117-120) is never used and should be removed
SafeMath.div(uint256,uint256) (#89-91) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#93-99) is never used and should be removed
SafeMath.mod(uint256,uint256) (#101-103) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#105-108) is never used and should be removed
Remove unused functions.
Additional information: link
Low level call in Address.sendValue(address,uint256) (#21-27):
- (success) = recipient.call{value: amount}() (#25)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#46-67):
- (success,returndata) = target.call{value: weiValue}(data) (#50)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Variable Ownable.Owner (#143) is not in mixedCase
Function DragonKing.Approve(address) (#202-204) is not in mixedCase
Parameter DragonKing.addliquidity(address).Uniswaprouterv02 (#206) is not in mixedCase
Function DragonKing.Reflect(uint256) (#240-245) is not in mixedCase
Variable DragonKing.public_address (#180) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#118)" inContext (#111-121)
Remove redundant statements if they congest code but offer no value.
Additional information: link
DragonKing.slitherConstructorVariables() (#174-273) uses literals with too many digits:
- _totalTokens = 1000000000 * 10 ** 18 (#182)
DragonKing.slitherConstructorVariables() (#174-273) uses literals with too many digits:
- rTotal = 1000000000 * 10 ** 18 (#186)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
DragonKing._decimals (#185) should be constant
DragonKing._name (#183) should be constant
DragonKing._symbol (#184) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#160-163)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#165-170)
name() should be declared external:
- DragonKing.name() (#194-196)
symbol() should be declared external:
- DragonKing.symbol() (#198-200)
Approve(address) should be declared external:
- DragonKing.Approve(address) (#202-204)
addliquidity(address) should be declared external:
- DragonKing.addliquidity(address) (#206-208)
decimals() should be declared external:
- DragonKing.decimals() (#209-211)
allowance(address,address) should be declared external:
- DragonKing.allowance(address,address) (#213-215)
approve(address,uint256) should be declared external:
- DragonKing.approve(address,uint256) (#217-220)
transferFrom(address,address,uint256) should be declared external:
- DragonKing.transferFrom(address,address,uint256) (#222-226)
totalSupply() should be declared external:
- DragonKing.totalSupply() (#228-230)
setreflectrate(uint256) should be declared external:
- DragonKing.setreflectrate(uint256) (#232-234)
balanceOf(address) should be declared external:
- DragonKing.balanceOf(address) (#236-238)
Reflect(uint256) should be declared external:
- DragonKing.Reflect(uint256) (#240-245)
transfer(address,uint256) should be declared external:
- DragonKing.transfer(address,uint256) (#247-250)
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