Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Cougarcoin._getTValues(uint256) (#628-632) performs a multiplication on the result of a division:
-tFee = tAmount.div(100).mul(2) (#629)
Consider ordering multiplication before division.
Additional information: link
Cougarcoin.allowance(address,address).owner (#474) shadows:
- Ownable.owner() (#386-388) (function)
Cougarcoin._approve(address,address,uint256).owner (#555) shadows:
- Ownable.owner() (#386-388) (function)
Rename the local variables that shadow another component.
Additional information: link
Address.isContract(address) (#252-261) uses assembly
- INLINE ASM (#259)
Address._functionCallWithValue(address,bytes,uint256,string) (#345-366) uses assembly
- INLINE ASM (#358-361)
Do not use evm assembly.
Additional information: link
Cougarcoin.includeAccount(address) (#542-553) has costly operations inside a loop:
- _excluded.pop() (#549)
Use a local variable to hold the loop computation result.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#345-366) is never used and should be removed
Address.functionCall(address,bytes) (#305-307) is never used and should be removed
Address.functionCall(address,bytes,string) (#315-317) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#330-332) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#340-343) is never used and should be removed
Address.isContract(address) (#252-261) is never used and should be removed
Address.sendValue(address,uint256) (#279-285) is never used and should be removed
Context._msgData() (#14-17) is never used and should be removed
SafeMath.mod(uint256,uint256) (#212-214) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#228-231) is never used and should be removed
Remove unused functions.
Additional information: link
Low level call in Address.sendValue(address,uint256) (#279-285):
- (success) = recipient.call{value: amount}() (#283)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#345-366):
- (success,returndata) = target.call{value: weiValue}(data) (#349)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Constant Cougarcoin._tTotal (#435) is not in UPPER_CASE_WITH_UNDERSCORES
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#15)" inContext (#9-18)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable Cougarcoin._transferBothExcluded(address,address,uint256).rTransferAmount (#607) is too similar to Cougarcoin._transferStandard(address,address,uint256).tTransferAmount (#581)
Variable Cougarcoin._transferBothExcluded(address,address,uint256).rTransferAmount (#607) is too similar to Cougarcoin._transferBothExcluded(address,address,uint256).tTransferAmount (#607)
Variable Cougarcoin._transferBothExcluded(address,address,uint256).rTransferAmount (#607) is too similar to Cougarcoin._transferToExcluded(address,address,uint256).tTransferAmount (#589)
Variable Cougarcoin._getValues(uint256).rTransferAmount (#624) is too similar to Cougarcoin._getTValues(uint256).tTransferAmount (#630)
Variable Cougarcoin._transferFromExcluded(address,address,uint256).rTransferAmount (#598) is too similar to Cougarcoin._transferFromExcluded(address,address,uint256).tTransferAmount (#598)
Variable Cougarcoin._transferBothExcluded(address,address,uint256).rTransferAmount (#607) is too similar to Cougarcoin._getTValues(uint256).tTransferAmount (#630)
Variable Cougarcoin._getRValues(uint256,uint256,uint256).rTransferAmount (#637) is too similar to Cougarcoin._getValues(uint256).tTransferAmount (#622)
Variable Cougarcoin._transferToExcluded(address,address,uint256).rTransferAmount (#589) is too similar to Cougarcoin._transferToExcluded(address,address,uint256).tTransferAmount (#589)
Variable Cougarcoin._transferBothExcluded(address,address,uint256).rTransferAmount (#607) is too similar to Cougarcoin._getValues(uint256).tTransferAmount (#622)
Variable Cougarcoin.reflectionFromToken(uint256,bool).rTransferAmount (#522) is too similar to Cougarcoin._transferToExcluded(address,address,uint256).tTransferAmount (#589)
Variable Cougarcoin._transferFromExcluded(address,address,uint256).rTransferAmount (#598) is too similar to Cougarcoin._transferStandard(address,address,uint256).tTransferAmount (#581)
Variable Cougarcoin._transferStandard(address,address,uint256).rTransferAmount (#581) is too similar to Cougarcoin._transferStandard(address,address,uint256).tTransferAmount (#581)
Variable Cougarcoin._transferFromExcluded(address,address,uint256).rTransferAmount (#598) is too similar to Cougarcoin._transferBothExcluded(address,address,uint256).tTransferAmount (#607)
Variable Cougarcoin._transferFromExcluded(address,address,uint256).rTransferAmount (#598) is too similar to Cougarcoin._transferToExcluded(address,address,uint256).tTransferAmount (#589)
Variable Cougarcoin._transferStandard(address,address,uint256).rTransferAmount (#581) is too similar to Cougarcoin._transferToExcluded(address,address,uint256).tTransferAmount (#589)
Variable Cougarcoin.reflectionFromToken(uint256,bool).rTransferAmount (#522) is too similar to Cougarcoin._getTValues(uint256).tTransferAmount (#630)
Variable Cougarcoin._transferFromExcluded(address,address,uint256).rTransferAmount (#598) is too similar to Cougarcoin._getTValues(uint256).tTransferAmount (#630)
Variable Cougarcoin._transferStandard(address,address,uint256).rTransferAmount (#581) is too similar to Cougarcoin._getTValues(uint256).tTransferAmount (#630)
Variable Cougarcoin._getRValues(uint256,uint256,uint256).rTransferAmount (#637) is too similar to Cougarcoin._transferToExcluded(address,address,uint256).tTransferAmount (#589)
Variable Cougarcoin._getRValues(uint256,uint256,uint256).rTransferAmount (#637) is too similar to Cougarcoin._transferStandard(address,address,uint256).tTransferAmount (#581)
Variable Cougarcoin._transferFromExcluded(address,address,uint256).rTransferAmount (#598) is too similar to Cougarcoin._getValues(uint256).tTransferAmount (#622)
Variable Cougarcoin._transferStandard(address,address,uint256).rTransferAmount (#581) is too similar to Cougarcoin._getValues(uint256).tTransferAmount (#622)
Variable Cougarcoin._getRValues(uint256,uint256,uint256).rTransferAmount (#637) is too similar to Cougarcoin._getTValues(uint256).tTransferAmount (#630)
Variable Cougarcoin._getValues(uint256).rTransferAmount (#624) is too similar to Cougarcoin._transferToExcluded(address,address,uint256).tTransferAmount (#589)
Variable Cougarcoin.reflectionFromToken(uint256,bool).rTransferAmount (#522) is too similar to Cougarcoin._transferStandard(address,address,uint256).tTransferAmount (#581)
Variable Cougarcoin._transferToExcluded(address,address,uint256).rTransferAmount (#589) is too similar to Cougarcoin._getValues(uint256).tTransferAmount (#622)
Variable Cougarcoin._getRValues(uint256,uint256,uint256).rTransferAmount (#637) is too similar to Cougarcoin._transferBothExcluded(address,address,uint256).tTransferAmount (#607)
Variable Cougarcoin.reflectionFromToken(uint256,bool).rTransferAmount (#522) is too similar to Cougarcoin._transferBothExcluded(address,address,uint256).tTransferAmount (#607)
Variable Cougarcoin._transferToExcluded(address,address,uint256).rTransferAmount (#589) is too similar to Cougarcoin._getTValues(uint256).tTransferAmount (#630)
Variable Cougarcoin.reflectionFromToken(uint256,bool).rTransferAmount (#522) is too similar to Cougarcoin._getValues(uint256).tTransferAmount (#622)
Variable Cougarcoin._getValues(uint256).rTransferAmount (#624) is too similar to Cougarcoin._transferFromExcluded(address,address,uint256).tTransferAmount (#598)
Variable Cougarcoin._transferStandard(address,address,uint256).rTransferAmount (#581) is too similar to Cougarcoin._transferFromExcluded(address,address,uint256).tTransferAmount (#598)
Variable Cougarcoin._transferToExcluded(address,address,uint256).rTransferAmount (#589) is too similar to Cougarcoin._transferFromExcluded(address,address,uint256).tTransferAmount (#598)
Variable Cougarcoin._transferBothExcluded(address,address,uint256).rTransferAmount (#607) is too similar to Cougarcoin._transferFromExcluded(address,address,uint256).tTransferAmount (#598)
Variable Cougarcoin._getValues(uint256).rTransferAmount (#624) is too similar to Cougarcoin._transferStandard(address,address,uint256).tTransferAmount (#581)
Variable Cougarcoin._transferToExcluded(address,address,uint256).rTransferAmount (#589) is too similar to Cougarcoin._transferStandard(address,address,uint256).tTransferAmount (#581)
Variable Cougarcoin._getRValues(uint256,uint256,uint256).rTransferAmount (#637) is too similar to Cougarcoin._transferFromExcluded(address,address,uint256).tTransferAmount (#598)
Variable Cougarcoin.reflectionFromToken(uint256,bool).rTransferAmount (#522) is too similar to Cougarcoin._transferFromExcluded(address,address,uint256).tTransferAmount (#598)
Variable Cougarcoin._getValues(uint256).rTransferAmount (#624) is too similar to Cougarcoin._transferBothExcluded(address,address,uint256).tTransferAmount (#607)
Variable Cougarcoin._transferStandard(address,address,uint256).rTransferAmount (#581) is too similar to Cougarcoin._transferBothExcluded(address,address,uint256).tTransferAmount (#607)
Variable Cougarcoin._getValues(uint256).rTransferAmount (#624) is too similar to Cougarcoin._getValues(uint256).tTransferAmount (#622)
Variable Cougarcoin._transferToExcluded(address,address,uint256).rTransferAmount (#589) is too similar to Cougarcoin._transferBothExcluded(address,address,uint256).tTransferAmount (#607)
Prevent variables from having similar names.
Additional information: link
Cougarcoin.slitherConstructorConstantVariables() (#423-658) uses literals with too many digits:
- _tTotal = 1000000 * 10 ** 6 (#435)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
Cougarcoin._decimals (#441) should be constant
Cougarcoin._name (#439) should be constant
Cougarcoin._symbol (#440) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
owner() should be declared external:
- Ownable.owner() (#386-388)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#405-408)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#414-418)
name() should be declared external:
- Cougarcoin.name() (#448-450)
symbol() should be declared external:
- Cougarcoin.symbol() (#452-454)
decimals() should be declared external:
- Cougarcoin.decimals() (#456-458)
totalSupply() should be declared external:
- Cougarcoin.totalSupply() (#460-462)
balanceOf(address) should be declared external:
- Cougarcoin.balanceOf(address) (#464-467)
transfer(address,uint256) should be declared external:
- Cougarcoin.transfer(address,uint256) (#469-472)
allowance(address,address) should be declared external:
- Cougarcoin.allowance(address,address) (#474-476)
approve(address,uint256) should be declared external:
- Cougarcoin.approve(address,uint256) (#478-481)
transferFrom(address,address,uint256) should be declared external:
- Cougarcoin.transferFrom(address,address,uint256) (#483-487)
increaseAllowance(address,uint256) should be declared external:
- Cougarcoin.increaseAllowance(address,uint256) (#489-492)
decreaseAllowance(address,uint256) should be declared external:
- Cougarcoin.decreaseAllowance(address,uint256) (#494-497)
isExcluded(address) should be declared external:
- Cougarcoin.isExcluded(address) (#499-501)
totalFees() should be declared external:
- Cougarcoin.totalFees() (#503-505)
reflect(uint256) should be declared external:
- Cougarcoin.reflect(uint256) (#507-514)
reflectionFromToken(uint256,bool) should be declared external:
- Cougarcoin.reflectionFromToken(uint256,bool) (#516-525)
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