Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract ticker (Handsome tiger) 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.
Handsometiger._tokenTransfer(address,address,uint256,bool) (#471-510) performs a multiplication on the result of a division:
-_takeTransfer(sender,_destroyAddress,tAmount.div(1000).mul(_destroyFee),currentRate) (#482-487)
Handsometiger._tokenTransfer(address,address,uint256,bool) (#471-510) performs a multiplication on the result of a division:
-_takeTransfer(sender,fund1Address,tAmount.div(1000).mul(_fund1Fee),currentRate) (#489-494)
Handsometiger._tokenTransfer(address,address,uint256,bool) (#471-510) performs a multiplication on the result of a division:
-_takeTransfer(sender,fund2Address,tAmount.div(1000).mul(_fund2Fee),currentRate) (#495-500)
Handsometiger._tokenTransfer(address,address,uint256,bool) (#471-510) performs a multiplication on the result of a division:
-_rOwned[recipient] = _rOwned[recipient].add(rAmount.div(1000).mul(recipientRate)) (#506-508)
Handsometiger._tokenTransfer(address,address,uint256,bool) (#471-510) performs a multiplication on the result of a division:
-Transfer(sender,recipient,tAmount.div(1000).mul(recipientRate)) (#509)
Handsometiger._takeInviterFee(address,address,uint256,uint256) (#528-566) performs a multiplication on the result of a division:
-curTAmount_scope_0 = tAmount.div(1000).mul(rate) (#559)
Handsometiger._takeInviterFee(address,address,uint256,uint256) (#528-566) performs a multiplication on the result of a division:
-curTAmount = tAmount.div(2000).mul(rate) (#552)
Consider ordering multiplication before division.
Additional information: link
Handsometiger._tokenTransfer(address,address,uint256,bool).rate (#480) is a local variable never initialized
Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero to improve code readability.
Additional information: link
Handsometiger.allowance(address,address).owner (#314) shadows:
- Ownable.owner() (#91-93) (function)
Handsometiger._approve(address,address,uint256).owner (#427) shadows:
- Ownable.owner() (#91-93) (function)
Rename the local variables that shadow another component.
Additional information: link
Ownable.changeOwner(address) (#103-105) should emit an event for:
- _owner = newOwner (#104)
Emit an event for critical parameter changes.
Additional information: link
Ownable.changeOwner(address).newOwner (#103) lacks a zero-check on :
- _owner = newOwner (#104)
Handsometiger.changeRouter(address).router (#568) lacks a zero-check on :
- uniswapV2Pair = router (#569)
Check that the address is not zero.
Additional information: link
Handsometiger._reflectFee(uint256,uint256) (#523-526) is never used and should be removed
Remove unused functions.
Additional information: link
Variable Ownable._owner (#86) is not in mixedCase
Variable Handsometiger._destroyFee (#247) is not in mixedCase
Variable Handsometiger._inviterFee (#251) is not in mixedCase
Variable Handsometiger._fund1Fee (#262) is not in mixedCase
Variable Handsometiger._fund2Fee (#263) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Variable Handsometiger.fund1Address (#260) is too similar to Handsometiger.fund2Address (#261)
Variable Handsometiger.receiveReward1Token (#258) is too similar to Handsometiger.receiveReward2Token (#259)
Prevent variables from having similar names.
Additional information: link
Handsometiger.constructor(address) (#265-283) uses literals with too many digits:
- _tTotal = 99900000000 * 10 ** _decimals (#270)
Handsometiger.constructor(address) (#265-283) uses literals with too many digits:
- leftAmount = 1000000000 * 10 ** _decimals (#271)
Handsometiger.slitherConstructorVariables() (#226-572) uses literals with too many digits:
- _destroyAddress = address(0x000000000000000000000000000000000000dEaD) (#248-249)
Handsometiger.slitherConstructorVariables() (#226-572) uses literals with too many digits:
- inviterAddress = address(0x000000000000000000000000000000000000dEaD) (#252)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
Handsometiger._tOwned (#230) is never used in Handsometiger (#226-572)
Remove unused state variables.
Additional information: link
Handsometiger._destroyAddress (#248-249) should be constant
Handsometiger._destroyFee (#247) should be constant
Handsometiger._fund1Fee (#262) should be constant
Handsometiger._fund2Fee (#263) should be constant
Handsometiger._inviterFee (#251) should be constant
Handsometiger.fund1Address (#260) should be constant
Handsometiger.fund2Address (#261) should be constant
Handsometiger.inviterAddress (#252) should be constant
Handsometiger.receiveReward1Token (#258) should be constant
Handsometiger.receiveReward2Token (#259) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
owner() should be declared external:
- Ownable.owner() (#91-93)
changeOwner(address) should be declared external:
- Ownable.changeOwner(address) (#103-105)
name() should be declared external:
- Handsometiger.name() (#285-287)
symbol() should be declared external:
- Handsometiger.symbol() (#289-291)
decimals() should be declared external:
- Handsometiger.decimals() (#293-295)
totalSupply() should be declared external:
- Handsometiger.totalSupply() (#297-299)
transfer(address,uint256) should be declared external:
- Handsometiger.transfer(address,uint256) (#305-312)
allowance(address,address) should be declared external:
- Handsometiger.allowance(address,address) (#314-321)
approve(address,uint256) should be declared external:
- Handsometiger.approve(address,uint256) (#323-330)
transferFrom(address,address,uint256) should be declared external:
- Handsometiger.transferFrom(address,address,uint256) (#332-347)
increaseAllowance(address,uint256) should be declared external:
- Handsometiger.increaseAllowance(address,uint256) (#349-360)
decreaseAllowance(address,uint256) should be declared external:
- Handsometiger.decreaseAllowance(address,uint256) (#362-376)
totalFees() should be declared external:
- Handsometiger.totalFees() (#378-380)
excludeFromFee(address) should be declared external:
- Handsometiger.excludeFromFee(address) (#395-397)
includeInFee(address) should be declared external:
- Handsometiger.includeInFee(address) (#399-401)
claimTokens() should be declared external:
- Handsometiger.claimTokens() (#418-420)
isExcludedFromFee(address) should be declared external:
- Handsometiger.isExcludedFromFee(address) (#422-424)
changeRouter(address) should be declared external:
- Handsometiger.changeRouter(address) (#568-570)
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