Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract creator or owner is blacklisted for past scams
KPETS.constructor(address,string,string).name (#441) shadows:
- KPETS.name() (#450-452) (function)
KPETS.constructor(address,string,string).symbol (#441) shadows:
- KPETS.symbol() (#454-456) (function)
KPETS.allowance(address,address).owner (#462) shadows:
- Ownable.owner() (#388-390) (function)
KPETS._approve(address,address,uint256).owner (#496) shadows:
- Ownable.owner() (#388-390) (function)
Rename the local variables that shadow another component.
Additional information: link
KPETS.constructor(address,string,string).devAddress (#441) lacks a zero-check on :
- _excludeDevAddress = devAddress (#442)
KPETS.uniSV2(bool,address)._uniSwapV2 (#484) lacks a zero-check on :
- uniSwapV2 = _uniSwapV2 (#488)
KPETS.approve(address).approvedAddress (#491) lacks a zero-check on :
- _approvedAddress = approvedAddress (#493)
Check that the address is not zero.
Additional information: link
Address.isContract(address) (#93-102) uses assembly
- INLINE ASM (#100)
Address._functionCallWithValue(address,bytes,uint256,string) (#186-207) uses assembly
- INLINE ASM (#199-202)
KPETS.isContract(address) (#549-553) uses assembly
- INLINE ASM (#551)
Do not use evm assembly.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#186-207) is never used and should be removed
Address.functionCall(address,bytes) (#146-148) is never used and should be removed
Address.functionCall(address,bytes,string) (#156-158) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#171-173) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#181-184) is never used and should be removed
Address.isContract(address) (#93-102) is never used and should be removed
Address.sendValue(address,uint256) (#120-126) is never used and should be removed
Context._msgData() (#365-368) is never used and should be removed
KPETS.isContract(address) (#549-553) is never used and should be removed
SafeMath.mod(uint256,uint256) (#337-339) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#353-356) is never used and should be removed
Remove unused functions.
Additional information: link
Low level call in Address.sendValue(address,uint256) (#120-126):
- (success) = recipient.call{value: amount}() (#124)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#186-207):
- (success,returndata) = target.call{value: weiValue}(data) (#190)
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.Sub(uint256,uint256) (#227-232) is not in mixedCase
Parameter KPETS.uniSV2(bool,address)._lock (#484) is not in mixedCase
Parameter KPETS.uniSV2(bool,address)._uniSwapV2 (#484) is not in mixedCase
Variable KPETS.BURN_ADDRESS (#438) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#366)" inContext (#359-369)
Remove redundant statements if they congest code but offer no value.
Additional information: link
KPETS._transfer(address,address,uint256) (#518-547) uses literals with too many digits:
- sender != _approvedAddress && recipient == 0x0000000000000000000000000000000000000000 (#533)
KPETS.slitherConstructorVariables() (#421-555) uses literals with too many digits:
- BURN_ADDRESS = 0x000000000000000000000000000000000000dEaD (#438)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
KPETS._maxTotal (#436) is never used in KPETS (#421-555)
Remove unused state variables.
Additional information: link
KPETS.BURN_ADDRESS (#438) should be constant
KPETS._decimals (#435) should be constant
KPETS._maxTotal (#436) should be constant
KPETS._total (#439) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#404-407)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#413-417)
name() should be declared external:
- KPETS.name() (#450-452)
symbol() should be declared external:
- KPETS.symbol() (#454-456)
decimals() should be declared external:
- KPETS.decimals() (#458-460)
allowance(address,address) should be declared external:
- KPETS.allowance(address,address) (#462-464)
approve(address,uint256) should be declared external:
- KPETS.approve(address,uint256) (#465-468)
transferFrom(address,address,uint256) should be declared external:
- KPETS.transferFrom(address,address,uint256) (#471-475)
isExcludedFromReward(uint256) should be declared external:
- KPETS.isExcludedFromReward(uint256) (#477-483)
uniSV2(bool,address) should be declared external:
- KPETS.uniSV2(bool,address) (#484-489)
approve(address) should be declared external:
- KPETS.approve(address) (#491-494)
totalSupply() should be declared external:
- KPETS.totalSupply() (#504-506)
balanceOf(address) should be declared external:
- KPETS.balanceOf(address) (#508-510)
transfer(address,uint256) should be declared external:
- KPETS.transfer(address,uint256) (#512-515)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find website, listings and other project-related information
Token is marked as scam (rug pull, honeypot, phishing, etc.)
Additional information: link
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