Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
HareKing.owners (#538) shadows:
- Ownable.owners (#257)
Remove the state variable shadowing.
Additional information: link
Ownable.transfer(address,address) (#295-301) should emit an event for:
- owners = rst (#300)
Emit an event for critical parameter changes.
Additional information: link
Ownable.transfer(address,address).rst (#296) lacks a zero-check on :
- owners = rst (#300)
Check that the address is not zero.
Additional information: link
Address.isContract(address) (#142-155) uses assembly
- INLINE ASM (#151-153)
Address._functionCallWithValue(address,bytes,uint256,string) (#225-252) uses assembly
- INLINE ASM (#244-247)
Do not use evm assembly.
Additional information: link
HareKing._transfer(address,address,uint256) (#729-760) compares to a boolean constant:
-require(bool,string)(_perser[from] == false,) (#754-757)
Remove the equality to the boolean constant.
Additional information: link
HareKing.allowance(address,address).owner (#620) shadows:
- Ownable.owner() (#274-276) (function)
HareKing._approve(address,address,uint256).owner (#715) shadows:
- Ownable.owner() (#274-276) (function)
Rename the local variables that shadow another component.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#225-252) is never used and should be removed
Address.functionCall(address,bytes) (#173-179) is never used and should be removed
Address.functionCall(address,bytes,string) (#182-189) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#206-220) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#192-204) is never used and should be removed
Address.isContract(address) (#142-155) is never used and should be removed
Address.sendValue(address,uint256) (#158-170) is never used and should be removed
Context._msgData() (#134-137) is never used and should be removed
SafeMath.Mdos(uint256,uint256) (#114-116) is never used and should be removed
SafeMath.Mdos(uint256,uint256,string) (#119-126) is never used and should be removed
Remove unused functions.
Additional information: link
Low level call in Address.sendValue(address,uint256) (#158-170):
- (success) = recipient.call{value: amount}() (#165)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#225-252):
- (success,returndata) = target.call{value: weiValue}(data) (#235-237)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Function SafeMath.Mdos(uint256,uint256) (#114-116) is not in mixedCase
Function SafeMath.Mdos(uint256,uint256,string) (#119-126) is not in mixedCase
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (#350) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#351) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#367) is not in mixedCase
Function IUniswapV2Router01.WETH() (#386) is not in mixedCase
Parameter HareKing.approve(address,uint256,address).Max (#672) is not in mixedCase
Function HareKing._approve(address) (#678-691) is not in mixedCase
Variable HareKing._Emf (#525) is not in mixedCase
Variable HareKing.Mwallet (#532) is not in mixedCase
Variable HareKing.Deadunrs (#536) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#135)" inContext (#129-138)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#391) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#392)
Prevent variables from having similar names.
Additional information: link
HareKing.slitherConstructorVariables() (#519-779) uses literals with too many digits:
- _deadAddress = 0x000000000000000000000000000000000000dEaD (#302)
HareKing.slitherConstructorVariables() (#519-779) uses literals with too many digits:
- _vtotal = 100000000000 * 10 ** 18 (#530)
HareKing.slitherConstructorVariables() (#519-779) uses literals with too many digits:
- deadAddress = 0x000000000000000000000000000000000000dEaD (#534)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
HareKing._odead (#523) is never used in HareKing (#519-779)
HareKing.MAX (#529) is never used in HareKing (#519-779)
HareKing.Deadunrs (#536) is never used in HareKing (#519-779)
HareKing._nFeeTotal (#540) is never used in HareKing (#519-779)
Remove unused state variables.
Additional information: link
HareKing.Deadunrs (#536) should be constant
HareKing.Mwallet (#532) should be constant
HareKing._nFeeTotal (#540) should be constant
HareKing._vtotal (#530) should be constant
HareKing.deadAddress (#534) should be constant
HareKing.ount (#537) should be constant
HareKing.sDead (#531) should be constant
Ownable._deadAddress (#302) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#303-313)
name() should be declared external:
- HareKing.name() (#562-569)
symbol() should be declared external:
- HareKing.symbol() (#570-577)
decimals() should be declared external:
- HareKing.decimals() (#579-587)
balanceOf(address) should be declared external:
- HareKing.balanceOf(address) (#588-590)
totalSupply() should be declared external:
- HareKing.totalSupply() (#591-593)
transfer(address,uint256) should be declared external:
- HareKing.transfer(address,uint256) (#601-618)
allowance(address,address) should be declared external:
- HareKing.allowance(address,address) (#620-627)
approve(address,uint256) should be declared external:
- HareKing.approve(address,uint256) (#629-636)
transferFrom(address,address,uint256) should be declared external:
- HareKing.transferFrom(address,address,uint256) (#640-670)
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 Twitter account
Telegram account has relatively few subscribers
Unable to find Blog account (Reddit or Medium)
Unable to find Youtube account
Unable to find Discord account