Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract locking ether found:
Contract ZED (#400-511) has payable functions:
- ZED.receive() (#479)
But does not have a function to withdraw the ether
Remove the payable attribute or add a withdraw function.
Additional information: link
ZED._maxTxAmountBUY (#415) should be constant
ZED._maxTxAmountSELL (#416) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (#223) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#224) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#241) is not in mixedCase
Function IUniswapV2Router01.WETH() (#261) is not in mixedCase
Variable ZED._balances (#408) is not in mixedCase
Variable ZED._allowances (#409) is not in mixedCase
Variable ZED._totalSupply (#412) is not in mixedCase
Variable ZED._maxTxAmountBUY (#415) is not in mixedCase
Variable ZED._maxTxAmountSELL (#416) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#266) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#267)
Prevent variables from having similar names.
Additional information: link
Reentrancy in ZED.constructor() (#418-437):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#426-427)
State variables written after the call(s):
- _isExcludedFromMaxTx[owner()] = true (#432)
- _isExcludedFromMaxTx[address(this)] = true (#433)
- uniswapV2Router = _uniswapV2Router (#430)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in ZED.constructor() (#418-437):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#426-427)
Event emitted after the call(s):
- Transfer(address(0),owner(),_totalSupply) (#436)
Apply the check-effects-interactions pattern.
Additional information: link
Address.isContract(address) (#150-156) uses assembly
- INLINE ASM (#154)
Do not use evm assembly.
Additional information: link
Address.isContract(address) (#150-156) is never used and should be removed
SafeBEP20.callOptionalReturn(IBEP20,bytes) (#177-188) is never used and should be removed
SafeBEP20.safeApprove(IBEP20,address,uint256) (#171-176) is never used and should be removed
SafeBEP20.safeTransfer(IBEP20,address,uint256) (#163-165) is never used and should be removed
SafeBEP20.safeTransferFrom(IBEP20,address,address,uint256) (#167-169) is never used and should be removed
SafeMath.div(uint256,uint256) (#49-51) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#52-58) is never used and should be removed
SafeMath.mul(uint256,uint256) (#39-48) is never used and should be removed
SafeMath.sub(uint256,uint256) (#30-32) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.11 (#11) necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7
solc-0.8.11 is not recommended for deployment
Deploy with any of the following Solidity versions: 0.5.16 - 0.5.17, 0.6.11 - 0.6.12, 0.7.5 - 0.7.6 Use a simple pragma version that allows any of these versions. Consider using the latest version of Solidity for testing.
Additional information: link
Low level call in SafeBEP20.callOptionalReturn(IBEP20,bytes) (#177-188):
- (success,returndata) = address(token).call(data) (#181)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
ZED.constructor() (#418-437) uses literals with too many digits:
- _totalSupply = 1000000000 * (10 ** 8) (#420)
ZED.slitherConstructorVariables() (#400-511) uses literals with too many digits:
- _maxTxAmountBUY = 3000000 * 10 ** 8 (#415)
ZED.slitherConstructorVariables() (#400-511) uses literals with too many digits:
- _maxTxAmountSELL = 2000000 * 10 ** 8 (#416)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#106-109)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#115-119)
name() should be declared external:
- BEP20Detailed.name() (#136-138)
symbol() should be declared external:
- BEP20Detailed.symbol() (#139-141)
decimals() should be declared external:
- BEP20Detailed.decimals() (#142-144)
totalSupply() should be declared external:
- ZED.totalSupply() (#439-441)
balanceOf(address) should be declared external:
- ZED.balanceOf(address) (#442-444)
transfer(address,uint256) should be declared external:
- ZED.transfer(address,uint256) (#445-448)
allowance(address,address) should be declared external:
- ZED.allowance(address,address) (#449-451)
approve(address,uint256) should be declared external:
- ZED.approve(address,uint256) (#452-455)
transferFrom(address,address,uint256) should be declared external:
- ZED.transferFrom(address,address,uint256) (#456-460)
increaseAllowance(address,uint256) should be declared external:
- ZED.increaseAllowance(address,uint256) (#461-464)
decreaseAllowance(address,uint256) should be declared external:
- ZED.decreaseAllowance(address,uint256) (#465-468)
excludeFromMaxTxLimit(address) should be declared external:
- ZED.excludeFromMaxTxLimit(address) (#470-472)
includeInMaxTxLimit(address) should be declared external:
- ZED.includeInMaxTxLimit(address) (#474-476)
Use the external attribute for functions never called from the contract.
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