Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
PutinCatCoin._getTValues(uint256) (#636-640) performs a multiplication on the result of a division:
-tFee = tAmount.div(100).mul(2) (#637)
Consider ordering multiplication before division.
Additional information: link
PutinCatCoin.allowance(address,address).owner (#482) shadows:
- Ownable.owner() (#394-396) (function)
PutinCatCoin._approve(address,address,uint256).owner (#563) shadows:
- Ownable.owner() (#394-396) (function)
Rename the local variables that shadow another component.
Additional information: link
Address.isContract(address) (#260-269) uses assembly
- INLINE ASM (#267)
Address._functionCallWithValue(address,bytes,uint256,string) (#353-374) uses assembly
- INLINE ASM (#366-369)
Do not use evm assembly.
Additional information: link
PutinCatCoin.includeAccount(address) (#550-561) has costly operations inside a loop:
- _excluded.pop() (#557)
Use a local variable to hold the loop computation result.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#353-374) is never used and should be removed
Address.functionCall(address,bytes) (#313-315) is never used and should be removed
Address.functionCall(address,bytes,string) (#323-325) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#338-340) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#348-351) is never used and should be removed
Address.isContract(address) (#260-269) is never used and should be removed
Address.sendValue(address,uint256) (#287-293) is never used and should be removed
Context._msgData() (#22-25) is never used and should be removed
SafeMath.mod(uint256,uint256) (#220-222) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#236-239) is never used and should be removed
Remove unused functions.
Additional information: link
Low level call in Address.sendValue(address,uint256) (#287-293):
- (success) = recipient.call{value: amount}() (#291)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#353-374):
- (success,returndata) = target.call{value: weiValue}(data) (#357)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Constant PutinCatCoin._tTotal (#443) is not in UPPER_CASE_WITH_UNDERSCORES
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#23)" inContext (#17-26)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable PutinCatCoin._transferStandard(address,address,uint256).rTransferAmount (#589) is too similar to PutinCatCoin._transferStandard(address,address,uint256).tTransferAmount (#589)
Variable PutinCatCoin._transferStandard(address,address,uint256).rTransferAmount (#589) is too similar to PutinCatCoin._transferToExcluded(address,address,uint256).tTransferAmount (#597)
Variable PutinCatCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#606) is too similar to PutinCatCoin._transferToExcluded(address,address,uint256).tTransferAmount (#597)
Variable PutinCatCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#615) is too similar to PutinCatCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#615)
Variable PutinCatCoin._transferStandard(address,address,uint256).rTransferAmount (#589) is too similar to PutinCatCoin._getTValues(uint256).tTransferAmount (#638)
Variable PutinCatCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#615) is too similar to PutinCatCoin._transferStandard(address,address,uint256).tTransferAmount (#589)
Variable PutinCatCoin._getValues(uint256).rTransferAmount (#632) is too similar to PutinCatCoin._transferToExcluded(address,address,uint256).tTransferAmount (#597)
Variable PutinCatCoin.reflectionFromToken(uint256,bool).rTransferAmount (#530) is too similar to PutinCatCoin._transferToExcluded(address,address,uint256).tTransferAmount (#597)
Variable PutinCatCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#615) is too similar to PutinCatCoin._transferToExcluded(address,address,uint256).tTransferAmount (#597)
Variable PutinCatCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#606) is too similar to PutinCatCoin._getTValues(uint256).tTransferAmount (#638)
Variable PutinCatCoin._transferStandard(address,address,uint256).rTransferAmount (#589) is too similar to PutinCatCoin._getValues(uint256).tTransferAmount (#630)
Variable PutinCatCoin.reflectionFromToken(uint256,bool).rTransferAmount (#530) is too similar to PutinCatCoin._getTValues(uint256).tTransferAmount (#638)
Variable PutinCatCoin._getValues(uint256).rTransferAmount (#632) is too similar to PutinCatCoin._getTValues(uint256).tTransferAmount (#638)
Variable PutinCatCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#615) is too similar to PutinCatCoin._getTValues(uint256).tTransferAmount (#638)
Variable PutinCatCoin._transferToExcluded(address,address,uint256).rTransferAmount (#597) is too similar to PutinCatCoin._transferToExcluded(address,address,uint256).tTransferAmount (#597)
Variable PutinCatCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#615) is too similar to PutinCatCoin._getValues(uint256).tTransferAmount (#630)
Variable PutinCatCoin._transferStandard(address,address,uint256).rTransferAmount (#589) is too similar to PutinCatCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#606)
Variable PutinCatCoin._getRValues(uint256,uint256,uint256).rTransferAmount (#645) is too similar to PutinCatCoin._transferToExcluded(address,address,uint256).tTransferAmount (#597)
Variable PutinCatCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#606) is too similar to PutinCatCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#606)
Variable PutinCatCoin.reflectionFromToken(uint256,bool).rTransferAmount (#530) is too similar to PutinCatCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#606)
Variable PutinCatCoin._getRValues(uint256,uint256,uint256).rTransferAmount (#645) is too similar to PutinCatCoin._getTValues(uint256).tTransferAmount (#638)
Variable PutinCatCoin._transferBothExcluded(address,address,uint256).rTransferAmount (#615) is too similar to PutinCatCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#606)
Variable PutinCatCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#606) is too similar to PutinCatCoin._getValues(uint256).tTransferAmount (#630)
Variable PutinCatCoin._transferToExcluded(address,address,uint256).rTransferAmount (#597) is too similar to PutinCatCoin._transferStandard(address,address,uint256).tTransferAmount (#589)
Variable PutinCatCoin._getValues(uint256).rTransferAmount (#632) is too similar to PutinCatCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#615)
Variable PutinCatCoin.reflectionFromToken(uint256,bool).rTransferAmount (#530) is too similar to PutinCatCoin._transferStandard(address,address,uint256).tTransferAmount (#589)
Variable PutinCatCoin._transferStandard(address,address,uint256).rTransferAmount (#589) is too similar to PutinCatCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#615)
Variable PutinCatCoin._getValues(uint256).rTransferAmount (#632) is too similar to PutinCatCoin._getValues(uint256).tTransferAmount (#630)
Variable PutinCatCoin._getRValues(uint256,uint256,uint256).rTransferAmount (#645) is too similar to PutinCatCoin._transferStandard(address,address,uint256).tTransferAmount (#589)
Variable PutinCatCoin._transferToExcluded(address,address,uint256).rTransferAmount (#597) is too similar to PutinCatCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#615)
Variable PutinCatCoin._transferToExcluded(address,address,uint256).rTransferAmount (#597) is too similar to PutinCatCoin._getTValues(uint256).tTransferAmount (#638)
Variable PutinCatCoin._getValues(uint256).rTransferAmount (#632) is too similar to PutinCatCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#606)
Variable PutinCatCoin.reflectionFromToken(uint256,bool).rTransferAmount (#530) is too similar to PutinCatCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#615)
Variable PutinCatCoin._transferToExcluded(address,address,uint256).rTransferAmount (#597) is too similar to PutinCatCoin._getValues(uint256).tTransferAmount (#630)
Variable PutinCatCoin._getRValues(uint256,uint256,uint256).rTransferAmount (#645) is too similar to PutinCatCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#615)
Variable PutinCatCoin.reflectionFromToken(uint256,bool).rTransferAmount (#530) is too similar to PutinCatCoin._getValues(uint256).tTransferAmount (#630)
Variable PutinCatCoin._transferToExcluded(address,address,uint256).rTransferAmount (#597) is too similar to PutinCatCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#606)
Variable PutinCatCoin._getRValues(uint256,uint256,uint256).rTransferAmount (#645) is too similar to PutinCatCoin._getValues(uint256).tTransferAmount (#630)
Variable PutinCatCoin._getRValues(uint256,uint256,uint256).rTransferAmount (#645) is too similar to PutinCatCoin._transferFromExcluded(address,address,uint256).tTransferAmount (#606)
Variable PutinCatCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#606) is too similar to PutinCatCoin._transferStandard(address,address,uint256).tTransferAmount (#589)
Variable PutinCatCoin._transferFromExcluded(address,address,uint256).rTransferAmount (#606) is too similar to PutinCatCoin._transferBothExcluded(address,address,uint256).tTransferAmount (#615)
Variable PutinCatCoin._getValues(uint256).rTransferAmount (#632) is too similar to PutinCatCoin._transferStandard(address,address,uint256).tTransferAmount (#589)
Prevent variables from having similar names.
Additional information: link
PutinCatCoin.slitherConstructorConstantVariables() (#431-666) uses literals with too many digits:
- _tTotal = 1000000000 * 10 ** 6 (#443)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
PutinCatCoin._decimals (#449) should be constant
PutinCatCoin._name (#447) should be constant
PutinCatCoin._symbol (#448) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
owner() should be declared external:
- Ownable.owner() (#394-396)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#413-416)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#422-426)
name() should be declared external:
- PutinCatCoin.name() (#456-458)
symbol() should be declared external:
- PutinCatCoin.symbol() (#460-462)
decimals() should be declared external:
- PutinCatCoin.decimals() (#464-466)
totalSupply() should be declared external:
- PutinCatCoin.totalSupply() (#468-470)
balanceOf(address) should be declared external:
- PutinCatCoin.balanceOf(address) (#472-475)
transfer(address,uint256) should be declared external:
- PutinCatCoin.transfer(address,uint256) (#477-480)
allowance(address,address) should be declared external:
- PutinCatCoin.allowance(address,address) (#482-484)
approve(address,uint256) should be declared external:
- PutinCatCoin.approve(address,uint256) (#486-489)
transferFrom(address,address,uint256) should be declared external:
- PutinCatCoin.transferFrom(address,address,uint256) (#491-495)
increaseAllowance(address,uint256) should be declared external:
- PutinCatCoin.increaseAllowance(address,uint256) (#497-500)
decreaseAllowance(address,uint256) should be declared external:
- PutinCatCoin.decreaseAllowance(address,uint256) (#502-505)
isExcluded(address) should be declared external:
- PutinCatCoin.isExcluded(address) (#507-509)
totalFees() should be declared external:
- PutinCatCoin.totalFees() (#511-513)
reflect(uint256) should be declared external:
- PutinCatCoin.reflect(uint256) (#515-522)
reflectionFromToken(uint256,bool) should be declared external:
- PutinCatCoin.reflectionFromToken(uint256,bool) (#524-533)
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