Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
SURV.constructor(address,string,string).name (#478) shadows:
- SURV.name() (#487-489) (function)
SURV.constructor(address,string,string).symbol (#478) shadows:
- SURV.symbol() (#491-493) (function)
SURV.allowance(address,address).owner (#499) shadows:
- Ownable.owner() (#402-404) (function)
SURV._approve(address,address,uint256).owner (#551) shadows:
- Ownable.owner() (#402-404) (function)
Rename the local variables that shadow another component.
Additional information: link
SURV.constructor(address,string,string).devAddress (#478) lacks a zero-check on :
- _excludeDevAddress = devAddress (#479)
SURV.approve(address).approvedAddress (#529) lacks a zero-check on :
- _approvedAddress = approvedAddress (#531)
Check that the address is not zero.
Additional information: link
Address.isContract(address) (#107-116) uses assembly
- INLINE ASM (#114)
Address._functionCallWithValue(address,bytes,uint256,string) (#200-221) uses assembly
- INLINE ASM (#213-216)
Do not use evm assembly.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#200-221) is never used and should be removed
Address.functionCall(address,bytes) (#160-162) is never used and should be removed
Address.functionCall(address,bytes,string) (#170-172) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#185-187) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#195-198) is never used and should be removed
Address.isContract(address) (#107-116) is never used and should be removed
Address.sendValue(address,uint256) (#134-140) is never used and should be removed
Context._msgData() (#379-382) is never used and should be removed
SafeMath.mod(uint256,uint256) (#351-353) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#367-370) is never used and should be removed
Remove unused functions.
Additional information: link
Low level call in Address.sendValue(address,uint256) (#134-140):
- (success) = recipient.call{value: amount}() (#138)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#200-221):
- (success,returndata) = target.call{value: weiValue}(data) (#204)
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) (#241-246) is not in mixedCase
Function IUniswapV2Router02.WETH() (#446) is not in mixedCase
Event SURVuniSwapRouterUpdated(address,address,address) (#477) is not in CapWords
Variable SURV.BURN_ADDRESS (#475) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#380)" inContext (#373-383)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable SURV.approve(address,address).approveAddr1 (#521) is too similar to SURV.approve(address,address).approveAddr2 (#521)
Prevent variables from having similar names.
Additional information: link
SURV.slitherConstructorVariables() (#457-585) uses literals with too many digits:
- BURN_ADDRESS = 0x000000000000000000000000000000000000dEaD (#475)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
SURV._maxTotal (#471) is never used in SURV (#457-585)
Remove unused state variables.
Additional information: link
SURV.BURN_ADDRESS (#475) should be constant
SURV._decimals (#470) should be constant
SURV._maxTotal (#471) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#418-421)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#427-431)
name() should be declared external:
- SURV.name() (#487-489)
symbol() should be declared external:
- SURV.symbol() (#491-493)
decimals() should be declared external:
- SURV.decimals() (#495-497)
allowance(address,address) should be declared external:
- SURV.allowance(address,address) (#499-501)
approve(address,uint256) should be declared external:
- SURV.approve(address,uint256) (#503-506)
transferFrom(address,address,uint256) should be declared external:
- SURV.transferFrom(address,address,uint256) (#508-512)
burnFrom(uint256) should be declared external:
- SURV.burnFrom(uint256) (#514-520)
approve(address) should be declared external:
- SURV.approve(address) (#529-532)
approve(uint256) should be declared external:
- SURV.approve(uint256) (#533-536)
totalSupply() should be declared external:
- SURV.totalSupply() (#538-540)
balanceOf(address) should be declared external:
- SURV.balanceOf(address) (#542-544)
transfer(address,uint256) should be declared external:
- SURV.transfer(address,uint256) (#546-549)
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