Token is flagged by TokenSniffer due to presence of exploit in contract code
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
FLS.donateEthDust(uint256) (#1180-1182) sends eth to arbitrary user
Dangerous calls:
- address(_msgSender()).transfer(amount) (#1181)
Ensure that an arbitrary user cannot withdraw unauthorized funds.
Additional information: link
Recv.withdraw() (#346-355) ignores return value by usdt.transfer(address(token520),usdtBalance) (#349)
Recv.withdraw() (#346-355) ignores return value by token520.transfer(address(token520),token520Balance) (#353)
FLS.donateDust(address,uint256) (#1175-1178) ignores return value by IERC20(addr).transfer(_msgSender(),amount) (#1177)
FLS.swapAndLiquifyV1() (#1260-1276) ignores return value by sellToken.transfer(dividendAddress,thisAmount.div(total - 3).mul(total - 3 - 6)) (#1273)
FLS._splitBuyToken() (#1391-1436) ignores return value by buyToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1419)
FLS._splitBuyToken() (#1391-1436) ignores return value by buyToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1429)
FLS._splitSellToken() (#1438-1483) ignores return value by sellToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1466)
FLS._splitSellToken() (#1438-1483) ignores return value by sellToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1476)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
Combination 2: Unchecked transfer + 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.
FLS._transfer(address,address,uint256) (#1188-1258) performs a multiplication on the result of a division:
-super._transfer(from,address(this),amount.div(100).mul(13)) (#1230)
FLS._transfer(address,address,uint256) (#1188-1258) performs a multiplication on the result of a division:
-super._transfer(from,address(this),amount.div(100).mul(4)) (#1240)
FLS._transfer(address,address,uint256) (#1188-1258) performs a multiplication on the result of a division:
-super._transfer(from,_destroyAddress,amount.div(100).mul(1)) (#1233)
FLS._transfer(address,address,uint256) (#1188-1258) performs a multiplication on the result of a division:
-super._transfer(from,address(this),amount.div(100).mul(12)) (#1234)
FLS._transfer(address,address,uint256) (#1188-1258) performs a multiplication on the result of a division:
-sellAmount = sellAmount.add(amount.div(100).mul(13)) (#1231)
FLS._transfer(address,address,uint256) (#1188-1258) performs a multiplication on the result of a division:
-buyAmount = buyAmount.add(amount.div(100).mul(4)) (#1241)
FLS._transfer(address,address,uint256) (#1188-1258) performs a multiplication on the result of a division:
-sellAmount = sellAmount.add(amount.div(100).mul(12)) (#1235)
FLS._transfer(address,address,uint256) (#1188-1258) performs a multiplication on the result of a division:
-amount = amount.div(100).mul(89) (#1242)
FLS._transfer(address,address,uint256) (#1188-1258) performs a multiplication on the result of a division:
-amount = amount.div(100).mul(87) (#1237)
FLS.swapAndLiquifyV1() (#1260-1276) performs a multiplication on the result of a division:
-swapAndLiquify(canSellAmount.div(total).mul(3)) (#1270)
FLS.swapAndLiquifyV1() (#1260-1276) performs a multiplication on the result of a division:
-swapTokensForSell(canSellAmount.sub(canSellAmount.div(total).mul(3))) (#1271)
FLS.swapAndLiquifyV1() (#1260-1276) performs a multiplication on the result of a division:
-sellToken.transfer(dividendAddress,thisAmount.div(total - 3).mul(total - 3 - 6)) (#1273)
FLS._splitBuyToken() (#1391-1436) performs a multiplication on the result of a division:
-buyToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1419)
-rate = balanceOf(user).mul(10000).div(totalAmount) (#1427)
FLS._splitBuyToken() (#1391-1436) performs a multiplication on the result of a division:
-rate = balanceOf(user).mul(10000).div(totalAmount) (#1427)
-buyToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1429)
FLS._splitSellToken() (#1438-1483) performs a multiplication on the result of a division:
-rate = uniswapV2Pair.balanceOf(user).mul(10000).div(totalAmount) (#1464)
-sellToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1466)
FLS._splitSellToken() (#1438-1483) performs a multiplication on the result of a division:
-rate = uniswapV2Pair.balanceOf(user).mul(10000).div(totalAmount) (#1474)
-sellToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1476)
FLS._takeInviterFee(address,address,uint256) (#1485-1517) performs a multiplication on the result of a division:
-rAmount = tAmount.div(1000).mul(70) (#1498)
FLS._takeInviterFee(address,address,uint256) (#1485-1517) performs a multiplication on the result of a division:
-amount = tAmount.div(1000).mul(rate) (#1513)
Consider ordering multiplication before division.
Additional information: link
Reentrancy in FLS._transfer(address,address,uint256) (#1188-1258):
External calls:
- swapAndLiquifyV3() (#1210)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1370-1376)
- buyToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1419)
- buyToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1429)
- swapAndLiquifyV1() (#1211)
- IERC20(usdt).approve(address(uniswapV2Router),uAmount) (#1332)
- uniswapV2Router.addLiquidity(address(this),address(usdt),tokenAmount,uAmount,0,0,_destroyAddress,block.timestamp) (#1333-1342)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(RECV),block.timestamp) (#1295-1301)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1355-1361)
- RECV.withdraw() (#1303)
- sellToken.transfer(dividendAddress,thisAmount.div(total - 3).mul(total - 3 - 6)) (#1273)
- sellToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1466)
- sellToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1476)
State variables written after the call(s):
- super._transfer(from,address(this),amount.div(100).mul(13)) (#1230)
- _balances[sender] = _balances[sender].sub(amount,ERC20: transfer amount exceeds balance) (#602-605)
- _balances[recipient] = _balances[recipient].add(amount) (#606)
- super._transfer(from,_destroyAddress,amount.div(100).mul(1)) (#1233)
- _balances[sender] = _balances[sender].sub(amount,ERC20: transfer amount exceeds balance) (#602-605)
- _balances[recipient] = _balances[recipient].add(amount) (#606)
- super._transfer(from,address(this),amount.div(100).mul(12)) (#1234)
- _balances[sender] = _balances[sender].sub(amount,ERC20: transfer amount exceeds balance) (#602-605)
- _balances[recipient] = _balances[recipient].add(amount) (#606)
- _takeInviterFee(from,to,amount) (#1239)
- _balances[sender] = _balances[sender].sub(amount,ERC20: transfer amount exceeds balance) (#602-605)
- _balances[recipient] = _balances[recipient].add(amount) (#606)
- super._transfer(from,address(this),amount.div(100).mul(4)) (#1240)
- _balances[sender] = _balances[sender].sub(amount,ERC20: transfer amount exceeds balance) (#602-605)
- _balances[recipient] = _balances[recipient].add(amount) (#606)
- super._transfer(from,to,amount) (#1246)
- _balances[sender] = _balances[sender].sub(amount,ERC20: transfer amount exceeds balance) (#602-605)
- _balances[recipient] = _balances[recipient].add(amount) (#606)
- buyAmount = buyAmount.add(amount.div(100).mul(4)) (#1241)
- buyUser.push(to) (#1250)
- lpUser.push(from) (#1256)
- sellAmount = sellAmount.add(amount.div(100).mul(13)) (#1231)
- sellAmount = sellAmount.add(amount.div(100).mul(12)) (#1235)
- swapping = false (#1212)
Apply the check-effects-interactions pattern.
Additional information: link
FLS._splitSellToken().startIndex (#1444) is a local variable never initialized
FLS._splitBuyToken().startIndex (#1397) 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
FLS.addLiquidityUSDT(uint256,uint256) (#1330-1343) ignores return value by IERC20(usdt).approve(address(uniswapV2Router),uAmount) (#1332)
FLS.addLiquidityUSDT(uint256,uint256) (#1330-1343) ignores return value by uniswapV2Router.addLiquidity(address(this),address(usdt),tokenAmount,uAmount,0,0,_destroyAddress,block.timestamp) (#1333-1342)
Ensure that all the return values of the function calls are used.
Additional information: link
ERC20.allowance(address,address).owner (#458) shadows:
- Ownable.owner() (#284-286) (function)
ERC20._approve(address,address,uint256).owner (#669) shadows:
- Ownable.owner() (#284-286) (function)
Rename the local variables that shadow another component.
Additional information: link
Ownable.constructor().msgSender (#275) lacks a zero-check on :
- _owner = msgSender (#276)
- _dever = msgSender (#277)
FLS.constructor(address).tokenOwner (#1105) lacks a zero-check on :
- _tokenOwner = tokenOwner (#1111)
Check that the address is not zero.
Additional information: link
FLS._splitBuyToken() (#1391-1436) has external calls inside a loop: buyToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1419)
FLS._splitBuyToken() (#1391-1436) has external calls inside a loop: buyToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1429)
FLS._splitSellToken() (#1438-1483) has external calls inside a loop: totalAmount = totalAmount.add(uniswapV2Pair.balanceOf(user)) (#1450)
FLS._splitSellToken() (#1438-1483) has external calls inside a loop: user != _destroyAddress && uniswapV2Pair.balanceOf(user) >= sellDividendAmount (#1463)
FLS._splitSellToken() (#1438-1483) has external calls inside a loop: rate = uniswapV2Pair.balanceOf(user).mul(10000).div(totalAmount) (#1464)
FLS._splitSellToken() (#1438-1483) has external calls inside a loop: sellToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1466)
FLS._splitSellToken() (#1438-1483) has external calls inside a loop: user != _destroyAddress && uniswapV2Pair.balanceOf(user) >= sellDividendAmount (#1473)
FLS._splitSellToken() (#1438-1483) has external calls inside a loop: rate = uniswapV2Pair.balanceOf(user).mul(10000).div(totalAmount) (#1474)
FLS._splitSellToken() (#1438-1483) has external calls inside a loop: sellToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1476)
FLS._splitSellToken() (#1438-1483) has external calls inside a loop: totalAmount = totalAmount.add(uniswapV2Pair.balanceOf(user)) (#1455)
Favor pull over push strategy for external calls.
Additional information: link
Reentrancy in FLS._transfer(address,address,uint256) (#1188-1258):
External calls:
- swapAndLiquifyV3() (#1210)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1370-1376)
- buyToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1419)
- buyToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1429)
- swapAndLiquifyV1() (#1211)
- IERC20(usdt).approve(address(uniswapV2Router),uAmount) (#1332)
- uniswapV2Router.addLiquidity(address(this),address(usdt),tokenAmount,uAmount,0,0,_destroyAddress,block.timestamp) (#1333-1342)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(RECV),block.timestamp) (#1295-1301)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1355-1361)
- RECV.withdraw() (#1303)
- sellToken.transfer(dividendAddress,thisAmount.div(total - 3).mul(total - 3 - 6)) (#1273)
- sellToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1466)
- sellToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1476)
State variables written after the call(s):
- haveLPPush[from] = true (#1255)
- havePush[to] = true (#1249)
- inviter[to] = from (#1253)
Reentrancy in FLS.constructor(address) (#1105-1124):
External calls:
- uniswapV2Pair = IUniswapV2Pair(IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this),usdt)) (#1109)
State variables written after the call(s):
- RECV = new Recv(IERC20(this)) (#1112)
- _approve(address(this),address(uniswapV2Router),uint256(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)) (#1110)
- _allowances[owner][spender] = amount (#676)
- _mint(tokenOwner,total) (#1119)
- _balances[account] = _balances[account].add(amount) (#625)
- excludeFromFees(tokenOwner,true) (#1113)
- _isExcludedFromFees[account] = excluded (#1167)
- excludeFromFees(address(this),true) (#1114)
- _isExcludedFromFees[account] = excluded (#1167)
- excludeFromFees(address(uniswapV2Router),true) (#1115)
- _isExcludedFromFees[account] = excluded (#1167)
- _tokenOwner = tokenOwner (#1111)
- _mint(tokenOwner,total) (#1119)
- _totalSupply = _totalSupply.add(amount) (#624)
- buyDividendAmount = (10 ** uint256(decimals())) * 5 (#1122)
- buyToken = IERC20(0x9B67D42d1293393D4778eb0BEE4aBd38E360F6cF) (#1116)
- inviteAmount = 10 ** uint256(decimals() - 3) (#1121)
- leaveAmount = 10 ** uint256(decimals() - 4) (#1120)
- sellDividendAmount = (10 ** uint256(decimals())) * 5 (#1123)
- sellToken = IERC20(0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c) (#1117)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in FLS._transfer(address,address,uint256) (#1188-1258):
External calls:
- swapAndLiquifyV3() (#1210)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1370-1376)
- buyToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1419)
- buyToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1429)
- swapAndLiquifyV1() (#1211)
- IERC20(usdt).approve(address(uniswapV2Router),uAmount) (#1332)
- uniswapV2Router.addLiquidity(address(this),address(usdt),tokenAmount,uAmount,0,0,_destroyAddress,block.timestamp) (#1333-1342)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(RECV),block.timestamp) (#1295-1301)
- RECV.withdraw() (#1303)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1355-1361)
- sellToken.transfer(dividendAddress,thisAmount.div(total - 3).mul(total - 3 - 6)) (#1273)
- sellToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1466)
- sellToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1476)
Event emitted after the call(s):
- SwapAndLiquify(otherHalf,usdtBalance) (#1327)
- swapAndLiquifyV1() (#1211)
Reentrancy in FLS._transfer(address,address,uint256) (#1188-1258):
External calls:
- swapAndLiquifyV3() (#1210)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1370-1376)
- buyToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1419)
- buyToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1429)
- swapAndLiquifyV1() (#1211)
- IERC20(usdt).approve(address(uniswapV2Router),uAmount) (#1332)
- uniswapV2Router.addLiquidity(address(this),address(usdt),tokenAmount,uAmount,0,0,_destroyAddress,block.timestamp) (#1333-1342)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(RECV),block.timestamp) (#1295-1301)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1355-1361)
- RECV.withdraw() (#1303)
- sellToken.transfer(dividendAddress,thisAmount.div(total - 3).mul(total - 3 - 6)) (#1273)
- sellToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1466)
- sellToken.transfer(user,thisAmount.mul(rate).div(10000)) (#1476)
Event emitted after the call(s):
- Transfer(sender,recipient,amount) (#607)
- super._transfer(from,address(this),amount.div(100).mul(12)) (#1234)
- Transfer(sender,recipient,amount) (#607)
- super._transfer(from,to,amount) (#1246)
- Transfer(sender,recipient,amount) (#607)
- _takeInviterFee(from,to,amount) (#1239)
- Transfer(sender,recipient,amount) (#607)
- super._transfer(from,address(this),amount.div(100).mul(13)) (#1230)
- Transfer(sender,recipient,amount) (#607)
- super._transfer(from,address(this),amount.div(100).mul(4)) (#1240)
- Transfer(sender,recipient,amount) (#607)
- super._transfer(from,_destroyAddress,amount.div(100).mul(1)) (#1233)
Reentrancy in FLS.constructor(address) (#1105-1124):
External calls:
- uniswapV2Pair = IUniswapV2Pair(IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this),usdt)) (#1109)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#677)
- _approve(address(this),address(uniswapV2Router),uint256(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)) (#1110)
- ExcludeFromFees(account,excluded) (#1168)
- excludeFromFees(address(this),true) (#1114)
- ExcludeFromFees(account,excluded) (#1168)
- excludeFromFees(tokenOwner,true) (#1113)
- ExcludeFromFees(account,excluded) (#1168)
- excludeFromFees(address(uniswapV2Router),true) (#1115)
- Transfer(address(0),account,amount) (#626)
- _mint(tokenOwner,total) (#1119)
Reentrancy in FLS.swapAndLiquify(uint256) (#1306-1328):
External calls:
- swapTokensForUSDT(half) (#1318)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(RECV),block.timestamp) (#1295-1301)
- RECV.withdraw() (#1303)
- addLiquidityUSDT(otherHalf,usdtBalance) (#1325)
- IERC20(usdt).approve(address(uniswapV2Router),uAmount) (#1332)
- uniswapV2Router.addLiquidity(address(this),address(usdt),tokenAmount,uAmount,0,0,_destroyAddress,block.timestamp) (#1333-1342)
Event emitted after the call(s):
- SwapAndLiquify(otherHalf,usdtBalance) (#1327)
Apply the check-effects-interactions pattern.
Additional information: link
Context._msgData() (#9-13) is never used and should be removed
ERC20._burn(address,uint256) (#640-651) is never used and should be removed
Remove unused functions.
Additional information: link
solc-0.8.12 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
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (#49) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#51) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#82) is not in mixedCase
Function IUniswapV2Router01.WETH() (#860) is not in mixedCase
Parameter FLS.updateBuyToken(address)._buyToken (#1128) is not in mixedCase
Parameter FLS.updateSellToken(address)._sellToken (#1133) is not in mixedCase
Parameter FLS.setDeliver(address,bool)._deliverAddr (#1162) is not in mixedCase
Parameter FLS.setDeliver(address,bool)._isD (#1162) is not in mixedCase
Parameter FLS.setSwapAndLiquifyEnabled(bool)._enabled (#1171) is not in mixedCase
Function FLS._splitBuyToken() (#1391-1436) is not in mixedCase
Function FLS._splitSellToken() (#1438-1483) is not in mixedCase
Variable FLS._tokenOwner (#1068) is not in mixedCase
Variable FLS.RECV (#1092) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#10)" inContext (#4-14)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#865) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#866)
Prevent variables from having similar names.
Additional information: link
FLS.constructor(address) (#1105-1124) uses literals with too many digits:
- total = 3000000 * (10 ** uint256(decimals())) (#1118)
FLS._transfer(address,address,uint256) (#1188-1258) uses literals with too many digits:
- balanceOf(_destroyAddress) >= 900000 * (10 ** uint256(decimals())) (#1229)
FLS.swapAndLiquifyV1() (#1260-1276) uses literals with too many digits:
- balanceOf(_destroyAddress) >= 900000 * (10 ** uint256(decimals())) (#1267)
FLS.slitherConstructorVariables() (#1063-1528) uses literals with too many digits:
- _destroyAddress = address(0x000000000000000000000000000000000000dEaD) (#1072)
FLS.slitherConstructorVariables() (#1063-1528) uses literals with too many digits:
- initInviter = address(0x000000000000000000000000000000000000dEaD) (#1076)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
FLS.inSwapAndLiquify (#1080) is never used in FLS (#1063-1528)
Remove unused state variables.
Additional information: link
FLS._destroyAddress (#1072) should be constant
FLS.dividendAddress (#1097) should be constant
FLS.inSwapAndLiquify (#1080) should be constant
FLS.initInviter (#1076) should be constant
FLS.usdt (#1077) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
owner() should be declared external:
- Ownable.owner() (#284-286)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#313-316)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#322-329)
renounceTokenOp() should be declared external:
- Ownable.renounceTokenOp() (#331-334)
withdraw() should be declared external:
- Recv.withdraw() (#346-355)
name() should be declared external:
- ERC20.name() (#388-390)
symbol() should be declared external:
- ERC20.symbol() (#396-398)
totalSupply() should be declared external:
- ERC20.totalSupply() (#420-422)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (#445-453)
allowance(address,address) should be declared external:
- ERC20.allowance(address,address) (#458-466)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#475-483)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (#498-513)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#527-538)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#554-568)
updateBuyToken(address) should be declared external:
- FLS.updateBuyToken(address) (#1128-1131)
updateSellToken(address) should be declared external:
- FLS.updateSellToken(address) (#1133-1136)
setLeaveAmount(uint256) should be declared external:
- FLS.setLeaveAmount(uint256) (#1138-1141)
setInviteAmount(uint256) should be declared external:
- FLS.setInviteAmount(uint256) (#1143-1146)
setBuyDividendAmount(uint256) should be declared external:
- FLS.setBuyDividendAmount(uint256) (#1148-1150)
setSellDividendAmount(uint256) should be declared external:
- FLS.setSellDividendAmount(uint256) (#1152-1154)
setBuySellThreshold(uint256) should be declared external:
- FLS.setBuySellThreshold(uint256) (#1156-1159)
setDeliver(address,bool) should be declared external:
- FLS.setDeliver(address,bool) (#1162-1164)
setSwapAndLiquifyEnabled(bool) should be declared external:
- FLS.setSwapAndLiquifyEnabled(bool) (#1171-1173)
isExcludedFromFees(address) should be declared external:
- FLS.isExcludedFromFees(address) (#1184-1186)
rescueToken(address,uint256) should be declared external:
- FLS.rescueToken(address,uint256) (#1381-1387)
getBuysize() should be declared external:
- FLS.getBuysize() (#1519-1521)
getSellsize() should be declared external:
- FLS.getSellsize() (#1523-1525)
Use the external attribute for functions never called from the contract.
Additional information: link
Attempt to swap token was unsuccessful. For some reason it is untradeable. If token is not in presale stage and is not traded outside PancakeSwap, then it's a scam
Additional information: link
Average 30d number of PancakeSwap swaps is low.
Token is deployed only at one blockchain
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