Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Zawt.swapAndLiquify(uint256) (#1328-1354) sends eth to arbitrary user
Dangerous calls:
- teamWallet.transfer(teamAmount) (#1344)
Zawt.addLiquidity(uint256,uint256) (#1379-1388) sends eth to arbitrary user
Dangerous calls:
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1380-1387)
Ensure that an arbitrary user cannot withdraw unauthorized funds.
Additional information: link
Reentrancy in Zawt._transfer(address,address,uint256) (#1253-1326):
External calls:
- swapAndLiquify(contractTokenBalance) (#1296)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1380-1387)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,_to,block.timestamp) (#1365-1371)
- (success) = address(rewardTracker).call{value: rewards}() (#1347)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1296)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1380-1387)
- teamWallet.transfer(teamAmount) (#1344)
- (success) = address(rewardTracker).call{value: rewards}() (#1347)
State variables written after the call(s):
- super._transfer(from,address(this),fees) (#1308)
- _balances[sender] = senderBalance - amount (#512)
- _balances[recipient] += amount (#514)
- super._transfer(from,to,amount) (#1311)
- _balances[sender] = senderBalance - amount (#512)
- _balances[recipient] += amount (#514)
Reentrancy in RewardContractZawt._withdrawRewardOfUser(address) (#675-691):
External calls:
- (success) = user.call{gas: 3000,value: _withdrawableReward}() (#680)
State variables written after the call(s):
- withdrawnRewards[user] = withdrawnRewards[user].sub(_withdrawableReward) (#683)
Apply the check-effects-interactions pattern.
Additional information: link
Combination 1: Reentrancy vulnerabilities + Functions that send Ether to arbitraty destination. Usual for scams. May be justified by some complex mechanics (e.g. rebase, reflections). DYOR & manual audit are advised.
Zawt.swapAndLiquify(uint256) (#1328-1354) performs a multiplication on the result of a division:
-tokensToAddLiquidityWith = contractTokenBalance.div(totalFees.mul(2)).mul(liquidityFee) (#1329)
Zawt.swapAndLiquify(uint256) (#1328-1354) performs a multiplication on the result of a division:
-teamAmount = deltaBalance.sub(bnbToAddLiquidityWith).div(totalFees.sub(liquidityFee)).mul(teamFee) (#1343)
Consider ordering multiplication before division.
Additional information: link
Reentrancy in Zawt.updateRewardContract(address) (#1102-1122):
External calls:
- newRewardContract.excludeFromRewards(newAddress) (#1117)
State variables written after the call(s):
- rewardTracker = newRewardContract (#1121)
Apply the check-effects-interactions pattern.
Additional information: link
Zawt._transfer(address,address,uint256).lastProcessedIndex (#1319) is a local variable never initialized
Zawt._transfer(address,address,uint256).iterations (#1319) is a local variable never initialized
Zawt._transfer(address,address,uint256).claims (#1319) is a local variable never initialized
Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero to improve code readability.
Additional information: link
Zawt.claimRewards() (#1232-1234) ignores return value by rewardTracker.processAccount(address(msg.sender),false) (#1233)
Zawt._transfer(address,address,uint256) (#1253-1326) ignores return value by rewardTracker.process(gas) (#1319-1324)
Zawt.addLiquidity(uint256,uint256) (#1379-1388) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1380-1387)
Ensure that all the return values of the function calls are used.
Additional information: link
RewardContractZawt.constructor(string,string)._name (#652) shadows:
- ERC20._name (#434) (state variable)
RewardContractZawt.constructor(string,string)._symbol (#652) shadows:
- ERC20._symbol (#435) (state variable)
Rename the local variables that shadow another component.
Additional information: link
Zawt.setMaxSellZawts(uint256) (#1090-1092) should emit an event for:
- maxSellTransactionAmount = _maxSellTokensAmount * (10 ** 18) (#1091)
Zawt.setMaxZawtPerWallet(uint256) (#1094-1096) should emit an event for:
- maxZawtPerWallet = maxTokensPerWallet * (10 ** 18) (#1095)
Zawt.setSwapTokensAtAmount(uint256) (#1164-1166) should emit an event for:
- swapTokensAtAmount = _newAmount * (10 ** 18) (#1165)
Emit an event for critical parameter changes.
Additional information: link
Zawt.setTeamWallet(address)._teamWallet (#1141) lacks a zero-check on :
- teamWallet = _teamWallet (#1142)
Check that the address is not zero.
Additional information: link
RewardContractZawt._withdrawRewardOfUser(address) (#675-691) has external calls inside a loop: (success) = user.call{gas: 3000,value: _withdrawableReward}() (#680)
Zawt.updateRewardContract(address) (#1102-1122) has external calls inside a loop: excludedAddress = rewardTracker.getAddressFromExcludedFromRewardsAt(index) (#1113)
Zawt.updateRewardContract(address) (#1102-1122) has external calls inside a loop: newRewardContract.excludeFromRewards(excludedAddress) (#1114)
Favor pull over push strategy for external calls.
Additional information: link
Variable 'Zawt._transfer(address,address,uint256).claims (#1319)' in Zawt._transfer(address,address,uint256) (#1253-1326) potentially used before declaration: ProcessedRewardContract(iterations,claims,lastProcessedIndex,true,gas,tx.origin) (#1320)
Variable 'Zawt._transfer(address,address,uint256).lastProcessedIndex (#1319)' in Zawt._transfer(address,address,uint256) (#1253-1326) potentially used before declaration: ProcessedRewardContract(iterations,claims,lastProcessedIndex,true,gas,tx.origin) (#1320)
Variable 'Zawt._transfer(address,address,uint256).iterations (#1319)' in Zawt._transfer(address,address,uint256) (#1253-1326) potentially used before declaration: ProcessedRewardContract(iterations,claims,lastProcessedIndex,true,gas,tx.origin) (#1320)
Move all variable declarations prior to any usage of the variable, and ensure that reaching a variable declaration does not depend on some conditional if it is used unconditionally.
Additional information: link
Reentrancy in Zawt.constructor() (#1035-1072):
External calls:
- _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#1049-1050)
State variables written after the call(s):
- uniswapV2Pair = _uniswapV2Pair (#1053)
- uniswapV2Router = _uniswapV2Router (#1052)
Reentrancy in Zawt.constructor() (#1035-1072):
External calls:
- _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#1049-1050)
- _setAutomatedMarketMakerPair(_uniswapV2Pair,true) (#1055)
- rewardTracker.excludeFromRewards(pair) (#1173)
- rewardTracker.excludeFromRewards(address(this)) (#1057)
- rewardTracker.excludeFromRewards(address(rewardTracker)) (#1058)
- rewardTracker.excludeFromRewards(address(_uniswapV2Router)) (#1059)
- rewardTracker.excludeFromRewards(0x0000000000000000000000000000000000000000) (#1060)
- rewardTracker.excludeFromRewards(0x000000000000000000000000000000000000dEaD) (#1061)
State variables written after the call(s):
- _mint(owner(),100000000 * (10 ** 18)) (#1071)
- _balances[account] += amount (#527)
- excludeFromFees(owner(),true) (#1063)
- _isExcludedFromFees[account] = excluded (#1132)
- excludeFromFees(teamWallet,true) (#1064)
- _isExcludedFromFees[account] = excluded (#1132)
- excludeFromFees(address(this),true) (#1065)
- _isExcludedFromFees[account] = excluded (#1132)
- _isExcludedFromMaxTokens[owner()] = true (#1067)
- _isExcludedFromMaxTokens[teamWallet] = true (#1068)
- _isExcludedFromMaxTokens[address(this)] = true (#1069)
- _mint(owner(),100000000 * (10 ** 18)) (#1071)
- _totalSupply += amount (#526)
Reentrancy in ZawtRewardContract.processAccount(address,bool) (#947-957):
External calls:
- amount = _withdrawRewardOfUser(account) (#948)
- (success) = user.call{gas: 3000,value: _withdrawableReward}() (#680)
State variables written after the call(s):
- lastClaimTimes[account] = block.timestamp (#951)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in Zawt._setAutomatedMarketMakerPair(address,bool) (#1168-1177):
External calls:
- rewardTracker.excludeFromRewards(pair) (#1173)
Event emitted after the call(s):
- SetAutomatedMarketMakerPair(pair,value) (#1176)
Reentrancy in Zawt._transfer(address,address,uint256) (#1253-1326):
External calls:
- swapAndLiquify(contractTokenBalance) (#1296)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1380-1387)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,_to,block.timestamp) (#1365-1371)
- (success) = address(rewardTracker).call{value: rewards}() (#1347)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1296)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1380-1387)
- teamWallet.transfer(teamAmount) (#1344)
- (success) = address(rewardTracker).call{value: rewards}() (#1347)
Event emitted after the call(s):
- Transfer(sender,recipient,amount) (#516)
- super._transfer(from,to,amount) (#1311)
- Transfer(sender,recipient,amount) (#516)
- super._transfer(from,address(this),fees) (#1308)
Reentrancy in Zawt._transfer(address,address,uint256) (#1253-1326):
External calls:
- swapAndLiquify(contractTokenBalance) (#1296)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1380-1387)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,_to,block.timestamp) (#1365-1371)
- (success) = address(rewardTracker).call{value: rewards}() (#1347)
- rewardTracker.setBalance(address(from),balanceOf(from)) (#1313)
- rewardTracker.setBalance(address(to),balanceOf(to)) (#1314)
- rewardTracker.process(gas) (#1319-1324)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1296)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1380-1387)
- teamWallet.transfer(teamAmount) (#1344)
- (success) = address(rewardTracker).call{value: rewards}() (#1347)
Event emitted after the call(s):
- ProcessedRewardContract(iterations,claims,lastProcessedIndex,true,gas,tx.origin) (#1320)
Reentrancy in Zawt.constructor() (#1035-1072):
External calls:
- _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#1049-1050)
- _setAutomatedMarketMakerPair(_uniswapV2Pair,true) (#1055)
- rewardTracker.excludeFromRewards(pair) (#1173)
Event emitted after the call(s):
- SetAutomatedMarketMakerPair(pair,value) (#1176)
- _setAutomatedMarketMakerPair(_uniswapV2Pair,true) (#1055)
Reentrancy in Zawt.constructor() (#1035-1072):
External calls:
- _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#1049-1050)
- _setAutomatedMarketMakerPair(_uniswapV2Pair,true) (#1055)
- rewardTracker.excludeFromRewards(pair) (#1173)
- rewardTracker.excludeFromRewards(address(this)) (#1057)
- rewardTracker.excludeFromRewards(address(rewardTracker)) (#1058)
- rewardTracker.excludeFromRewards(address(_uniswapV2Router)) (#1059)
- rewardTracker.excludeFromRewards(0x0000000000000000000000000000000000000000) (#1060)
- rewardTracker.excludeFromRewards(0x000000000000000000000000000000000000dEaD) (#1061)
Event emitted after the call(s):
- ExcludeFromFees(account,excluded) (#1134)
- excludeFromFees(address(this),true) (#1065)
- ExcludeFromFees(account,excluded) (#1134)
- excludeFromFees(teamWallet,true) (#1064)
- ExcludeFromFees(account,excluded) (#1134)
- excludeFromFees(owner(),true) (#1063)
- Transfer(address(0),account,amount) (#528)
- _mint(owner(),100000000 * (10 ** 18)) (#1071)
Reentrancy in ZawtRewardContract.processAccount(address,bool) (#947-957):
External calls:
- amount = _withdrawRewardOfUser(account) (#948)
- (success) = user.call{gas: 3000,value: _withdrawableReward}() (#680)
Event emitted after the call(s):
- Claim(account,amount,automatic) (#952)
Reentrancy in Zawt.processRewardContract(uint256) (#1227-1230):
External calls:
- (iterations,claims,lastProcessedIndex) = rewardTracker.process(gas) (#1228)
Event emitted after the call(s):
- ProcessedRewardContract(iterations,claims,lastProcessedIndex,false,gas,tx.origin) (#1229)
Reentrancy in Zawt.swapAndLiquify(uint256) (#1328-1354):
External calls:
- swapTokensForBnb(toSwap,address(this)) (#1335)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,_to,block.timestamp) (#1365-1371)
- addLiquidity(tokensToAddLiquidityWith,bnbToAddLiquidityWith) (#1341)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1380-1387)
- (success) = address(rewardTracker).call{value: rewards}() (#1347)
External calls sending eth:
- addLiquidity(tokensToAddLiquidityWith,bnbToAddLiquidityWith) (#1341)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1380-1387)
- teamWallet.transfer(teamAmount) (#1344)
- (success) = address(rewardTracker).call{value: rewards}() (#1347)
Event emitted after the call(s):
- SendRewards(toSwap - tokensToAddLiquidityWith,rewards) (#1350)
- SwapAndLiquify(tokensToAddLiquidityWith,deltaBalance) (#1353)
Reentrancy in Zawt.updateRewardContract(address) (#1102-1122):
External calls:
- newRewardContract.excludeFromRewards(newAddress) (#1117)
Event emitted after the call(s):
- UpdateRewardContract(newAddress,address(rewardTracker)) (#1119)
Apply the check-effects-interactions pattern.
Additional information: link
Ownable.unlockOwnership() (#605-612) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp > _lockTime,Contract is still locked) (#608)
ZawtRewardContract.getAccount(address) (#811-854) uses timestamp for comparisons
Dangerous comparisons:
- nextClaimTime > block.timestamp (#851-853)
ZawtRewardContract.canAutoClaim(uint256) (#875-881) uses timestamp for comparisons
Dangerous comparisons:
- lastClaimTime > block.timestamp (#876)
- block.timestamp.sub(lastClaimTime) >= claimWait (#880)
Avoid relying on block.timestamp.
Additional information: link
Context._msgData() (#422-424) is never used and should be removed
RewardContractZawt._transfer(address,address,uint256) (#710-716) is never used and should be removed
SafeCast.toInt128(int256) (#159-162) is never used and should be removed
SafeCast.toInt16(int256) (#174-177) is never used and should be removed
SafeCast.toInt32(int256) (#169-172) is never used and should be removed
SafeCast.toInt64(int256) (#164-167) is never used and should be removed
SafeCast.toInt8(int256) (#179-182) is never used and should be removed
SafeCast.toUint128(uint256) (#124-127) is never used and should be removed
SafeCast.toUint16(uint256) (#144-147) is never used and should be removed
SafeCast.toUint224(uint256) (#119-122) is never used and should be removed
SafeCast.toUint32(uint256) (#139-142) is never used and should be removed
SafeCast.toUint64(uint256) (#134-137) is never used and should be removed
SafeCast.toUint8(uint256) (#149-152) is never used and should be removed
SafeCast.toUint96(uint256) (#129-132) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#75-84) is never used and should be removed
SafeMath.mod(uint256,uint256) (#60-62) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#86-95) is never used and should be removed
SafeMath.sub(uint256,uint256,string) (#64-73) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (#6-12) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (#30-35) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (#37-42) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (#21-28) is never used and should be removed
SafeMath.trySub(uint256,uint256) (#14-19) is never used and should be removed
SignedSafeMath.div(int256,int256) (#104-106) is never used and should be removed
SignedSafeMath.mul(int256,int256) (#100-102) is never used and should be removed
Zawt.swapAndSendRewardsToTeam(uint256) (#1375-1377) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.0 (#2) allows old versions
solc-0.8.0 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 RewardContractZawt._withdrawRewardOfUser(address) (#675-691):
- (success) = user.call{gas: 3000,value: _withdrawableReward}() (#680)
Low level call in Zawt.swapAndLiquify(uint256) (#1328-1354):
- (success) = address(rewardTracker).call{value: rewards}() (#1347)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Function IUniswapV2Router01.WETH() (#251) is not in mixedCase
Parameter RewardContractZawt.rewardOf(address)._owner (#693) is not in mixedCase
Parameter RewardContractZawt.withdrawableRewardOf(address)._owner (#697) is not in mixedCase
Parameter RewardContractZawt.withdrawnRewardOf(address)._owner (#701) is not in mixedCase
Parameter RewardContractZawt.accumulativeRewardOf(address)._owner (#705) is not in mixedCase
Constant RewardContractZawt.magnitude (#643) is not in UPPER_CASE_WITH_UNDERSCORES
Parameter ZawtRewardContract.getAccount(address)._account (#811) is not in mixedCase
Parameter Zawt.setFees(uint256,uint256,uint256)._holdersRewardFee (#1077) is not in mixedCase
Parameter Zawt.setFees(uint256,uint256,uint256)._liquidityFee (#1077) is not in mixedCase
Parameter Zawt.setFees(uint256,uint256,uint256)._teamFee (#1077) is not in mixedCase
Parameter Zawt.setExtraFee(uint256)._extraFee_ (#1085) is not in mixedCase
Parameter Zawt.setMaxSellZawts(uint256)._maxSellTokensAmount (#1090) is not in mixedCase
Parameter Zawt.setExcludeFromMaxTokens(address,bool)._address (#1137) is not in mixedCase
Parameter Zawt.setTeamWallet(address)._teamWallet (#1141) is not in mixedCase
Parameter Zawt.setExcludeFromAll(address)._address (#1145) is not in mixedCase
Parameter Zawt.setSwapTokensAtAmount(uint256)._newAmount (#1164) is not in mixedCase
Parameter Zawt.setSwapAndLiquifyEnabled(bool)._enabled (#1248) is not in mixedCase
Parameter Zawt.swapTokensForBnb(uint256,address)._to (#1356) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Reentrancy in Zawt._transfer(address,address,uint256) (#1253-1326):
External calls:
- swapAndLiquify(contractTokenBalance) (#1296)
- teamWallet.transfer(teamAmount) (#1344)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1296)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1380-1387)
- teamWallet.transfer(teamAmount) (#1344)
- (success) = address(rewardTracker).call{value: rewards}() (#1347)
State variables written after the call(s):
- super._transfer(from,address(this),fees) (#1308)
- _balances[sender] = senderBalance - amount (#512)
- _balances[recipient] += amount (#514)
- super._transfer(from,to,amount) (#1311)
- _balances[sender] = senderBalance - amount (#512)
- _balances[recipient] += amount (#514)
Event emitted after the call(s):
- ProcessedRewardContract(iterations,claims,lastProcessedIndex,true,gas,tx.origin) (#1320)
- Transfer(sender,recipient,amount) (#516)
- super._transfer(from,address(this),fees) (#1308)
- Transfer(sender,recipient,amount) (#516)
- super._transfer(from,to,amount) (#1311)
Reentrancy in Zawt.swapAndLiquify(uint256) (#1328-1354):
External calls:
- teamWallet.transfer(teamAmount) (#1344)
External calls sending eth:
- addLiquidity(tokensToAddLiquidityWith,bnbToAddLiquidityWith) (#1341)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1380-1387)
- teamWallet.transfer(teamAmount) (#1344)
- (success) = address(rewardTracker).call{value: rewards}() (#1347)
Event emitted after the call(s):
- SendRewards(toSwap - tokensToAddLiquidityWith,rewards) (#1350)
- SwapAndLiquify(tokensToAddLiquidityWith,deltaBalance) (#1353)
Apply the check-effects-interactions pattern.
Additional information: link
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#256) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#257)
Variable RewardContractZawt._withdrawRewardOfUser(address)._withdrawableReward (#676) is too similar to ZawtRewardContract.getAccount(address).withdrawableRewards (#816)
Prevent variables from having similar names.
Additional information: link
ZawtRewardContract.getAccountAtIndex(uint256) (#856-873) uses literals with too many digits:
- (0x0000000000000000000000000000000000000000,- 1,- 1,0,0,0,0,0) (#867)
Zawt.constructor() (#1035-1072) uses literals with too many digits:
- rewardTracker.excludeFromRewards(0x0000000000000000000000000000000000000000) (#1060)
Zawt.constructor() (#1035-1072) uses literals with too many digits:
- rewardTracker.excludeFromRewards(0x000000000000000000000000000000000000dEaD) (#1061)
Zawt.constructor() (#1035-1072) uses literals with too many digits:
- _mint(owner(),100000000 * (10 ** 18)) (#1071)
Zawt.updateGasForProcessing(uint256) (#1179-1184) uses literals with too many digits:
- require(bool,string)(newValue >= 200000 && newValue <= 700000,Zawt: gasForProcessing must be between 200,000 and 700,000) (#1180)
Zawt.slitherConstructorVariables() (#960-1391) uses literals with too many digits:
- maxSellTransactionAmount = 100000000 * (10 ** 18) (#973)
Zawt.slitherConstructorVariables() (#960-1391) uses literals with too many digits:
- maxZawtPerWallet = 100000000 * (10 ** 18) (#974)
Zawt.slitherConstructorVariables() (#960-1391) uses literals with too many digits:
- swapTokensAtAmount = 1000000 * (10 ** 18) (#975)
Zawt.slitherConstructorVariables() (#960-1391) uses literals with too many digits:
- gasForProcessing = 500000 (#985)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
get(IterableMapping.Map,address) should be declared external:
- IterableMapping.get(IterableMapping.Map,address) (#199-201)
getIndexOfKey(IterableMapping.Map,address) should be declared external:
- IterableMapping.getIndexOfKey(IterableMapping.Map,address) (#203-208)
getKeyAtIndex(IterableMapping.Map,uint256) should be declared external:
- IterableMapping.getKeyAtIndex(IterableMapping.Map,uint256) (#210-212)
size(IterableMapping.Map) should be declared external:
- IterableMapping.size(IterableMapping.Map) (#214-216)
name() should be declared external:
- ERC20.name() (#442-444)
symbol() should be declared external:
- ERC20.symbol() (#446-448)
decimals() should be declared external:
- ERC20.decimals() (#450-452)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (#462-465)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#471-474)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (#476-486)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#488-491)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#493-501)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#585-589)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#591-596)
lockOwnership(uint256) should be declared external:
- Ownable.lockOwnership(uint256) (#598-603)
unlockOwnership() should be declared external:
- Ownable.unlockOwnership() (#605-612)
withdrawReward() should be declared external:
- RewardContractZawt.withdrawReward() (#671-673)
- ZawtRewardContract.withdrawReward() (#774-776)
rewardOf(address) should be declared external:
- RewardContractZawt.rewardOf(address) (#693-695)
withdrawnRewardOf(address) should be declared external:
- RewardContractZawt.withdrawnRewardOf(address) (#701-703)
getAddressFromExcludedFromRewardsAt(uint256) should be declared external:
- ZawtRewardContract.getAddressFromExcludedFromRewardsAt(uint256) (#803-805)
getNumberOfExcludedFromRewards() should be declared external:
- ZawtRewardContract.getNumberOfExcludedFromRewards() (#807-809)
getAccountAtIndex(uint256) should be declared external:
- ZawtRewardContract.getAccountAtIndex(uint256) (#856-873)
process(uint256) should be declared external:
- ZawtRewardContract.process(uint256) (#900-945)
setFees(uint256,uint256,uint256) should be declared external:
- Zawt.setFees(uint256,uint256,uint256) (#1077-1083)
setExtraFee(uint256) should be declared external:
- Zawt.setExtraFee(uint256) (#1085-1088)
setMaxSellZawts(uint256) should be declared external:
- Zawt.setMaxSellZawts(uint256) (#1090-1092)
updateRewardContract(address) should be declared external:
- Zawt.updateRewardContract(address) (#1102-1122)
updateUniswapV2Router(address) should be declared external:
- Zawt.updateUniswapV2Router(address) (#1124-1128)
setExcludeFromMaxTokens(address,bool) should be declared external:
- Zawt.setExcludeFromMaxTokens(address,bool) (#1137-1139)
setTeamWallet(address) should be declared external:
- Zawt.setTeamWallet(address) (#1141-1143)
setExcludeFromAll(address) should be declared external:
- Zawt.setExcludeFromAll(address) (#1145-1148)
excludeMultipleAccountsFromFees(address[],bool) should be declared external:
- Zawt.excludeMultipleAccountsFromFees(address[],bool) (#1150-1156)
setAutomatedMarketMakerPair(address,bool) should be declared external:
- Zawt.setAutomatedMarketMakerPair(address,bool) (#1158-1162)
setSwapTokensAtAmount(uint256) should be declared external:
- Zawt.setSwapTokensAtAmount(uint256) (#1164-1166)
updateGasForProcessing(uint256) should be declared external:
- Zawt.updateGasForProcessing(uint256) (#1179-1184)
isExcludedFromFees(address) should be declared external:
- Zawt.isExcludedFromFees(address) (#1198-1200)
isExcludedFromMaxTokens(address) should be declared external:
- Zawt.isExcludedFromMaxTokens(address) (#1202-1204)
withdrawableRewardOf(address) should be declared external:
- Zawt.withdrawableRewardOf(address) (#1206-1208)
rewardTokenBalanceOf(address) should be declared external:
- Zawt.rewardTokenBalanceOf(address) (#1210-1212)
setSwapAndLiquifyEnabled(bool) should be declared external:
- Zawt.setSwapAndLiquifyEnabled(bool) (#1248-1251)
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