Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
ThunderCATS._getTValues(uint256) (#1248-1256) performs a multiplication on the result of a division:
-tFee = tAmount.div(100).mul(reflectFees) (#1250)
Consider ordering multiplication before division.
Additional information: link
ThunderCATS.allowance(address,address).owner (#938) shadows:
- Ownable.owner() (#764-768) (function)
ThunderCATS._approve(address,address,uint256).owner (#1100) shadows:
- Ownable.owner() (#764-768) (function)
Rename the local variables that shadow another component.
Additional information: link
Address.isContract(address) (#496-514) uses assembly
- INLINE ASM (#510)
Address._functionCallWithValue(address,bytes,uint256,string) (#682-724) uses assembly
- INLINE ASM (#708-714)
Do not use evm assembly.
Additional information: link
ThunderCATS.includeAccount(address) (#1074-1096) has costly operations inside a loop:
- _excluded.pop() (#1088)
Use a local variable to hold the loop computation result.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#682-724) is never used and should be removed
Address.functionCall(address,bytes) (#602-606) is never used and should be removed
Address.functionCall(address,bytes,string) (#622-626) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#652-656) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#672-678) is never used and should be removed
Address.isContract(address) (#496-514) is never used and should be removed
Address.sendValue(address,uint256) (#550-562) is never used and should be removed
Context._msgData() (#24-27) is never used and should be removed
SafeMath.mod(uint256,uint256) (#416-420) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#448-454) is never used and should be removed
Remove unused functions.
Additional information: link
Low level call in Address.sendValue(address,uint256) (#550-562):
- (success) = recipient.call{value: amount}() (#558)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#682-724):
- (success,returndata) = target.call{value: weiValue}(data) (#690)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Constant ThunderCATS._tTotal (#858) is not in UPPER_CASE_WITH_UNDERSCORES
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#26)" inContext (#15-29)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable ThunderCATS.reflectionFromToken(uint256,bool).rTransferAmount (#1034) is too similar to ThunderCATS._transferToExcluded(address,address,uint256).tTransferAmount (#1170)
Variable ThunderCATS._transferBothExcluded(address,address,uint256).rTransferAmount (#1206) is too similar to ThunderCATS._transferFromExcluded(address,address,uint256).tTransferAmount (#1188)
Variable ThunderCATS._getRValues(uint256,uint256,uint256).rTransferAmount (#1266) is too similar to ThunderCATS._transferStandard(address,address,uint256).tTransferAmount (#1154)
Variable ThunderCATS._transferFromExcluded(address,address,uint256).rTransferAmount (#1188) is too similar to ThunderCATS._transferToExcluded(address,address,uint256).tTransferAmount (#1170)
Variable ThunderCATS._transferStandard(address,address,uint256).rTransferAmount (#1154) is too similar to ThunderCATS._transferStandard(address,address,uint256).tTransferAmount (#1154)
Variable ThunderCATS._transferBothExcluded(address,address,uint256).rTransferAmount (#1206) is too similar to ThunderCATS._transferStandard(address,address,uint256).tTransferAmount (#1154)
Variable ThunderCATS._transferToExcluded(address,address,uint256).rTransferAmount (#1170) is too similar to ThunderCATS._transferToExcluded(address,address,uint256).tTransferAmount (#1170)
Variable ThunderCATS._getValues(uint256).rTransferAmount (#1240) is too similar to ThunderCATS._getTValues(uint256).tTransferAmount (#1252)
Variable ThunderCATS._getValues(uint256).rTransferAmount (#1240) is too similar to ThunderCATS._transferFromExcluded(address,address,uint256).tTransferAmount (#1188)
Variable ThunderCATS._transferBothExcluded(address,address,uint256).rTransferAmount (#1206) is too similar to ThunderCATS._transferBothExcluded(address,address,uint256).tTransferAmount (#1206)
Variable ThunderCATS.reflectionFromToken(uint256,bool).rTransferAmount (#1034) is too similar to ThunderCATS._transferFromExcluded(address,address,uint256).tTransferAmount (#1188)
Variable ThunderCATS._transferFromExcluded(address,address,uint256).rTransferAmount (#1188) is too similar to ThunderCATS._transferFromExcluded(address,address,uint256).tTransferAmount (#1188)
Variable ThunderCATS._getValues(uint256).rTransferAmount (#1240) is too similar to ThunderCATS._transferStandard(address,address,uint256).tTransferAmount (#1154)
Variable ThunderCATS._getRValues(uint256,uint256,uint256).rTransferAmount (#1266) is too similar to ThunderCATS._transferToExcluded(address,address,uint256).tTransferAmount (#1170)
Variable ThunderCATS._transferStandard(address,address,uint256).rTransferAmount (#1154) is too similar to ThunderCATS._transferToExcluded(address,address,uint256).tTransferAmount (#1170)
Variable ThunderCATS._transferBothExcluded(address,address,uint256).rTransferAmount (#1206) is too similar to ThunderCATS._transferToExcluded(address,address,uint256).tTransferAmount (#1170)
Variable ThunderCATS._getValues(uint256).rTransferAmount (#1240) is too similar to ThunderCATS._transferBothExcluded(address,address,uint256).tTransferAmount (#1206)
Variable ThunderCATS._getRValues(uint256,uint256,uint256).rTransferAmount (#1266) is too similar to ThunderCATS._transferFromExcluded(address,address,uint256).tTransferAmount (#1188)
Variable ThunderCATS._getValues(uint256).rTransferAmount (#1240) is too similar to ThunderCATS._transferToExcluded(address,address,uint256).tTransferAmount (#1170)
Variable ThunderCATS._transferStandard(address,address,uint256).rTransferAmount (#1154) is too similar to ThunderCATS._transferFromExcluded(address,address,uint256).tTransferAmount (#1188)
Variable ThunderCATS._transferFromExcluded(address,address,uint256).rTransferAmount (#1188) is too similar to ThunderCATS._transferStandard(address,address,uint256).tTransferAmount (#1154)
Variable ThunderCATS.reflectionFromToken(uint256,bool).rTransferAmount (#1034) is too similar to ThunderCATS._getValues(uint256).tTransferAmount (#1236)
Variable ThunderCATS._getRValues(uint256,uint256,uint256).rTransferAmount (#1266) is too similar to ThunderCATS._transferBothExcluded(address,address,uint256).tTransferAmount (#1206)
Variable ThunderCATS._transferToExcluded(address,address,uint256).rTransferAmount (#1170) is too similar to ThunderCATS._getValues(uint256).tTransferAmount (#1236)
Variable ThunderCATS._transferBothExcluded(address,address,uint256).rTransferAmount (#1206) is too similar to ThunderCATS._getValues(uint256).tTransferAmount (#1236)
Variable ThunderCATS.reflectionFromToken(uint256,bool).rTransferAmount (#1034) is too similar to ThunderCATS._transferBothExcluded(address,address,uint256).tTransferAmount (#1206)
Variable ThunderCATS._transferFromExcluded(address,address,uint256).rTransferAmount (#1188) is too similar to ThunderCATS._getTValues(uint256).tTransferAmount (#1252)
Variable ThunderCATS._transferToExcluded(address,address,uint256).rTransferAmount (#1170) is too similar to ThunderCATS._transferBothExcluded(address,address,uint256).tTransferAmount (#1206)
Variable ThunderCATS._transferToExcluded(address,address,uint256).rTransferAmount (#1170) is too similar to ThunderCATS._transferFromExcluded(address,address,uint256).tTransferAmount (#1188)
Variable ThunderCATS._transferStandard(address,address,uint256).rTransferAmount (#1154) is too similar to ThunderCATS._getTValues(uint256).tTransferAmount (#1252)
Variable ThunderCATS._transferFromExcluded(address,address,uint256).rTransferAmount (#1188) is too similar to ThunderCATS._getValues(uint256).tTransferAmount (#1236)
Variable ThunderCATS.reflectionFromToken(uint256,bool).rTransferAmount (#1034) is too similar to ThunderCATS._transferStandard(address,address,uint256).tTransferAmount (#1154)
Variable ThunderCATS._transferToExcluded(address,address,uint256).rTransferAmount (#1170) is too similar to ThunderCATS._transferStandard(address,address,uint256).tTransferAmount (#1154)
Variable ThunderCATS._transferStandard(address,address,uint256).rTransferAmount (#1154) is too similar to ThunderCATS._getValues(uint256).tTransferAmount (#1236)
Variable ThunderCATS._getRValues(uint256,uint256,uint256).rTransferAmount (#1266) is too similar to ThunderCATS._getTValues(uint256).tTransferAmount (#1252)
Variable ThunderCATS._transferFromExcluded(address,address,uint256).rTransferAmount (#1188) is too similar to ThunderCATS._transferBothExcluded(address,address,uint256).tTransferAmount (#1206)
Variable ThunderCATS._getValues(uint256).rTransferAmount (#1240) is too similar to ThunderCATS._getValues(uint256).tTransferAmount (#1236)
Variable ThunderCATS.reflectionFromToken(uint256,bool).rTransferAmount (#1034) is too similar to ThunderCATS._getTValues(uint256).tTransferAmount (#1252)
Variable ThunderCATS._transferStandard(address,address,uint256).rTransferAmount (#1154) is too similar to ThunderCATS._transferBothExcluded(address,address,uint256).tTransferAmount (#1206)
Variable ThunderCATS._transferToExcluded(address,address,uint256).rTransferAmount (#1170) is too similar to ThunderCATS._getTValues(uint256).tTransferAmount (#1252)
Variable ThunderCATS._transferBothExcluded(address,address,uint256).rTransferAmount (#1206) is too similar to ThunderCATS._getTValues(uint256).tTransferAmount (#1252)
Variable ThunderCATS._getRValues(uint256,uint256,uint256).rTransferAmount (#1266) is too similar to ThunderCATS._getValues(uint256).tTransferAmount (#1236)
Prevent variables from having similar names.
Additional information: link
ThunderCATS._decimals (#870) should be constant
ThunderCATS._name (#866) should be constant
ThunderCATS._symbol (#868) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
owner() should be declared external:
- Ownable.owner() (#764-768)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#802-808)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#820-828)
name() should be declared external:
- ThunderCATS.name() (#886-890)
symbol() should be declared external:
- ThunderCATS.symbol() (#894-898)
decimals() should be declared external:
- ThunderCATS.decimals() (#902-906)
totalSupply() should be declared external:
- ThunderCATS.totalSupply() (#910-914)
balanceOf(address) should be declared external:
- ThunderCATS.balanceOf(address) (#918-924)
transfer(address,uint256) should be declared external:
- ThunderCATS.transfer(address,uint256) (#928-934)
allowance(address,address) should be declared external:
- ThunderCATS.allowance(address,address) (#938-942)
approve(address,uint256) should be declared external:
- ThunderCATS.approve(address,uint256) (#946-952)
transferFrom(address,address,uint256) should be declared external:
- ThunderCATS.transferFrom(address,address,uint256) (#956-964)
increaseAllowance(address,uint256) should be declared external:
- ThunderCATS.increaseAllowance(address,uint256) (#968-974)
decreaseAllowance(address,uint256) should be declared external:
- ThunderCATS.decreaseAllowance(address,uint256) (#978-984)
isExcluded(address) should be declared external:
- ThunderCATS.isExcluded(address) (#988-992)
totalFees() should be declared external:
- ThunderCATS.totalFees() (#996-1000)
reflect(uint256) should be declared external:
- ThunderCATS.reflect(uint256) (#1004-1018)
reflectionFromToken(uint256,bool) should be declared external:
- ThunderCATS.reflectionFromToken(uint256,bool) (#1022-1040)
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