Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Reentrancy in BEP20Token._transfer(address,address,uint256) (#1147-1181):
External calls:
- swapAndLiquify(contractTokenBalance) (#1173)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1216-1222)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1234-1240)
- IERC20(BUSDToken).transfer(address(devAddress),dividends) (#1242)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1173)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1180)
- _devFee = _previousDevFee (#1132)
- _devFee = 0 (#1125)
- _tokenTransfer(from,to,amount,takeFee) (#1180)
- _liquidityFee = _previousLiquidityFee (#1130)
- _liquidityFee = 0 (#1123)
- _tokenTransfer(from,to,amount,takeFee) (#1180)
- _rOwned[burnAddress] = _rOwned[burnAddress].add(rBurn) (#968)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (#1086)
- _rOwned[devAddress] = _rOwned[devAddress].add(rDev) (#978)
- _rOwned[address(this)] = _rOwned[address(this)].add(rDev) (#980)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#888)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#889)
- _tokenTransfer(from,to,amount,takeFee) (#1180)
- _rTotal = _rTotal.sub(rFee) (#1031)
Apply the check-effects-interactions pattern.
Additional information: link
BEP20Token.swapTokensForDividendToken(uint256) (#1225-1244) ignores return value by IERC20(BUSDToken).transfer(address(devAddress),dividends) (#1242)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
Combination 3: Reentrancy vulnerabilities + Unchecked transfer vulnerability. Usual for scams. May be justified by some complex mechanics (e.g. rebase, reflections). DYOR & manual audit are advised.
BEP20Token.swapAndLiquify(uint256) (#1183-1204) performs a multiplication on the result of a division:
-addHl = uint256(100).mul(_liquidityFee).div(_liquidityFee.add(lsDevFee)) (#1188)
-addNumber = contractTokenBalance.mul(addHl).div(100) (#1189)
Consider ordering multiplication before division.
Additional information: link
PancakeLibrary.getAmountsOut(address,uint256,address[]).i (#729) 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
BEP20Token.addLiquidity(uint256,uint256) (#856-869) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
Ensure that all the return values of the function calls are used.
Additional information: link
BEP20Token.allowance(address,address).owner (#852) shadows:
- Ownable.owner() (#398-400) (function)
BEP20Token._approve(address,address,uint256).owner (#1139) shadows:
- Ownable.owner() (#398-400) (function)
Rename the local variables that shadow another component.
Additional information: link
BEP20Token.setTaxFeePercent(uint256) (#993-995) should emit an event for:
- _taxFee = taxFee (#994)
BEP20Token.setLiquidityFeePercent(uint256) (#997-999) should emit an event for:
- _liquidityFee = liquidityFee (#998)
BEP20Token.setBurnFeePercent(uint256) (#1001-1003) should emit an event for:
- _burnFee = burnFee (#1002)
BEP20Token.setNumTokenPercent(uint256) (#1005-1007) should emit an event for:
- numTokensSellToAddToLiquidity = numToken (#1006)
BEP20Token.setDevFeePercent(uint256) (#1009-1011) should emit an event for:
- _devFee = devFee (#1010)
BEP20Token.setMaxTxPercent(uint256) (#1013-1015) should emit an event for:
- _maxTxAmount = maxTxPercent (#1014)
Emit an event for critical parameter changes.
Additional information: link
BEP20Token.constructor(address)._dev (#808) lacks a zero-check on :
- devAddress = _dev (#818)
Check that the address is not zero.
Additional information: link
Reentrancy in BEP20Token._transfer(address,address,uint256) (#1147-1181):
External calls:
- swapAndLiquify(contractTokenBalance) (#1173)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1216-1222)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1234-1240)
- IERC20(BUSDToken).transfer(address(devAddress),dividends) (#1242)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1173)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1180)
- _burnFee = _previousBurnFee (#1131)
- _burnFee = 0 (#1124)
- _tokenTransfer(from,to,amount,takeFee) (#1180)
- _previousBurnFee = _burnFee (#1119)
- _tokenTransfer(from,to,amount,takeFee) (#1180)
- _previousDevFee = _devFee (#1120)
- _tokenTransfer(from,to,amount,takeFee) (#1180)
- _previousLiquidityFee = _liquidityFee (#1118)
- _tokenTransfer(from,to,amount,takeFee) (#1180)
- _previousTaxFee = _taxFee (#1117)
- _tokenTransfer(from,to,amount,takeFee) (#1180)
- _tFeeTotal = _tFeeTotal.add(tFee) (#1032)
- _tokenTransfer(from,to,amount,takeFee) (#1180)
- _taxFee = _previousTaxFee (#1129)
- _taxFee = 0 (#1122)
Reentrancy in BEP20Token.constructor(address) (#808-825):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#813-814)
State variables written after the call(s):
- _isExcludedFromFee[owner()] = true (#820)
- _isExcludedFromFee[burnAddress] = true (#821)
- _isExcludedFromFee[address(this)] = true (#822)
- devAddress = _dev (#818)
- uniswapV2Router = _uniswapV2Router (#817)
Reentrancy in BEP20Token.swapAndLiquify(uint256) (#1183-1204):
External calls:
- swapTokensForEth(half) (#1196)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1216-1222)
- addLiquidity(otherHalf,newBalance) (#1199)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1199)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
State variables written after the call(s):
- addLiquidity(otherHalf,newBalance) (#1199)
- _allowances[owner][spender] = amount (#1143)
Reentrancy in BEP20Token.swapAndLiquify(uint256) (#1183-1204):
External calls:
- swapTokensForEth(half) (#1196)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1216-1222)
- addLiquidity(otherHalf,newBalance) (#1199)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
- swapTokensForDividendToken(devNumber) (#1201)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1234-1240)
- IERC20(BUSDToken).transfer(address(devAddress),dividends) (#1242)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1199)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
State variables written after the call(s):
- swapTokensForDividendToken(devNumber) (#1201)
- _allowances[owner][spender] = amount (#1143)
Reentrancy in BEP20Token.transferFrom(address,address,uint256) (#903-907):
External calls:
- _transfer(sender,recipient,amount) (#904)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1216-1222)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1234-1240)
- IERC20(BUSDToken).transfer(address(devAddress),dividends) (#1242)
External calls sending eth:
- _transfer(sender,recipient,amount) (#904)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#905)
- _allowances[owner][spender] = amount (#1143)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in BEP20Token._transfer(address,address,uint256) (#1147-1181):
External calls:
- swapAndLiquify(contractTokenBalance) (#1173)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1216-1222)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1234-1240)
- IERC20(BUSDToken).transfer(address(devAddress),dividends) (#1242)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1173)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
Event emitted after the call(s):
- Transfer(sender,burnAddress,tBurn) (#970)
- _tokenTransfer(from,to,amount,takeFee) (#1180)
- Transfer(sender,recipient,tTransferAmount) (#895)
- _tokenTransfer(from,to,amount,takeFee) (#1180)
Reentrancy in BEP20Token.constructor(address) (#808-825):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#813-814)
Event emitted after the call(s):
- Transfer(address(0),owner(),_tTotal) (#824)
Reentrancy in BEP20Token.swapAndLiquify(uint256) (#1183-1204):
External calls:
- swapTokensForEth(half) (#1196)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1216-1222)
- addLiquidity(otherHalf,newBalance) (#1199)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1199)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1144)
- addLiquidity(otherHalf,newBalance) (#1199)
Reentrancy in BEP20Token.swapAndLiquify(uint256) (#1183-1204):
External calls:
- swapTokensForEth(half) (#1196)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1216-1222)
- addLiquidity(otherHalf,newBalance) (#1199)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
- swapTokensForDividendToken(devNumber) (#1201)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1234-1240)
- IERC20(BUSDToken).transfer(address(devAddress),dividends) (#1242)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1199)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1144)
- swapTokensForDividendToken(devNumber) (#1201)
- SwapAndLiquify(half,newBalance,otherHalf) (#1203)
Reentrancy in BEP20Token.transferFrom(address,address,uint256) (#903-907):
External calls:
- _transfer(sender,recipient,amount) (#904)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1216-1222)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1234-1240)
- IERC20(BUSDToken).transfer(address(devAddress),dividends) (#1242)
External calls sending eth:
- _transfer(sender,recipient,amount) (#904)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(this),block.timestamp) (#861-868)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1144)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#905)
Apply the check-effects-interactions pattern.
Additional information: link
Ownable.unlock() (#445-450) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now > _lockTime,Contract is locked until 7 days) (#447)
Avoid relying on block.timestamp.
Additional information: link
Address.isContract(address) (#250-259) uses assembly
- INLINE ASM (#257)
Address._functionCallWithValue(address,bytes,uint256,string) (#343-364) uses assembly
- INLINE ASM (#356-359)
Do not use evm assembly.
Additional information: link
BEP20Token._tokenTransfer(address,address,uint256,bool) (#872-884) compares to a boolean constant:
-require(bool,string)(_list[sender] != true,List Account) (#877)
BEP20Token._tokenTransfer(address,address,uint256,bool) (#872-884) compares to a boolean constant:
-require(bool,string)(_list[recipient] != true,List Account) (#878)
BEP20Token.isList(address) (#932-938) compares to a boolean constant:
-_list[account] == true (#933)
BEP20Token.changeListStatus() (#940-946) compares to a boolean constant:
-enableList == true (#941)
Remove the equality to the boolean constant.
Additional information: link
Different versions of Solidity is used:
- Version used: ['>=0.5.0', '^0.6.12']
- ^0.6.12 (#5)
- >=0.5.0 (#646)
- >=0.5.0 (#665)
Use one Solidity version.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#343-364) is never used and should be removed
Address.functionCall(address,bytes) (#303-305) is never used and should be removed
Address.functionCall(address,bytes,string) (#313-315) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#328-330) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#338-341) is never used and should be removed
Address.isContract(address) (#250-259) is never used and should be removed
Address.sendValue(address,uint256) (#277-283) is never used and should be removed
Context._msgData() (#222-225) is never used and should be removed
PancakeLibrary.getAmountIn(uint256,uint256,uint256) (#716-722) is never used and should be removed
PancakeLibrary.getAmountOut(uint256,uint256,uint256) (#706-713) is never used and should be removed
PancakeLibrary.getAmountsIn(address,uint256,address[]) (#736-744) is never used and should be removed
PancakeLibrary.getAmountsOut(address,uint256,address[]) (#725-733) is never used and should be removed
PancakeLibrary.getReserves(address,address,address) (#691-696) is never used and should be removed
PancakeLibrary.pairFor(address,address,address) (#680-688) is never used and should be removed
PancakeLibrary.quote(uint256,uint256,uint256) (#699-703) is never used and should be removed
PancakeLibrary.sortTokens(address,address) (#673-677) is never used and should be removed
SafeMath.mod(uint256,uint256) (#128-130) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#144-147) is never used and should be removed
Remove unused functions.
Additional information: link
BEP20Token._rTotal (#760) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
BEP20Token._previousTaxFee (#768) is set pre-construction with a non-constant function or state variable:
- _taxFee
BEP20Token._previousLiquidityFee (#771) is set pre-construction with a non-constant function or state variable:
- _liquidityFee
BEP20Token._previousBurnFee (#774) is set pre-construction with a non-constant function or state variable:
- _burnFee
BEP20Token._previousDevFee (#777) is set pre-construction with a non-constant function or state variable:
- _devFee
Remove any initialization of state variables via non-constant state variables or function calls. If variables must be set upon contract deployment, locate initialization in the constructor instead.
Additional information: link
Pragma version>=0.5.0 (#646) allows old versions
Pragma version>=0.5.0 (#665) allows old versions
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 Address.sendValue(address,uint256) (#277-283):
- (success) = recipient.call{value: amount}() (#281)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#343-364):
- (success,returndata) = target.call{value: weiValue}(data) (#347)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Function IPancakeRouter01.WETH() (#457) is not in mixedCase
Function IPancakePair.DOMAIN_SEPARATOR() (#610) is not in mixedCase
Function IPancakePair.PERMIT_TYPEHASH() (#611) is not in mixedCase
Function IPancakePair.MINIMUM_LIQUIDITY() (#628) is not in mixedCase
Parameter BEP20Token.setSwapAndLiquifyEnabled(bool)._enabled (#1017) is not in mixedCase
Parameter BEP20Token.setSwapDevEnabled(bool)._enabled (#1022) is not in mixedCase
Parameter BEP20Token.calculateTaxFee(uint256)._amount (#1089) is not in mixedCase
Parameter BEP20Token.calculateLiquidityFee(uint256)._amount (#1095) is not in mixedCase
Parameter BEP20Token.calculateBurnFee(uint256)._amount (#1101) is not in mixedCase
Parameter BEP20Token.calculateDevFee(uint256)._amount (#1107) is not in mixedCase
Variable BEP20Token._taxFee (#767) is not in mixedCase
Variable BEP20Token._liquidityFee (#770) is not in mixedCase
Variable BEP20Token._burnFee (#773) is not in mixedCase
Variable BEP20Token._devFee (#776) is not in mixedCase
Variable BEP20Token.BUSDToken (#781) is not in mixedCase
Variable BEP20Token._maxTxAmount (#791) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#223)" inContext (#217-226)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable IPancakeRouter01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#462) is too similar to IPancakeRouter01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#463)
Variable BEP20Token._getRValues(BEP20Token.TData,uint256).rTransferAmount (#1066) is too similar to BEP20Token._getTValues(uint256).tTransferAmount (#1055)
Variable BEP20Token._getValues(uint256).rTransferAmount (#1046) is too similar to BEP20Token._getTValues(uint256).tTransferAmount (#1055)
Variable BEP20Token._getRValues(BEP20Token.TData,uint256).rTransferAmount (#1066) is too similar to BEP20Token._getValues(uint256).tTransferAmount (#1044)
Variable BEP20Token._getRValues(BEP20Token.TData,uint256).rTransferAmount (#1066) is too similar to BEP20Token._transferStandard(address,address,uint256).tTransferAmount (#887)
Variable BEP20Token._transferStandard(address,address,uint256).rTransferAmount (#887) is too similar to BEP20Token._getValues(uint256).tTransferAmount (#1044)
Variable BEP20Token._transferStandard(address,address,uint256).rTransferAmount (#887) is too similar to BEP20Token._transferStandard(address,address,uint256).tTransferAmount (#887)
Variable BEP20Token._transferStandard(address,address,uint256).rTransferAmount (#887) is too similar to BEP20Token._getTValues(uint256).tTransferAmount (#1055)
Variable BEP20Token._getValues(uint256).rTransferAmount (#1046) is too similar to BEP20Token._getValues(uint256).tTransferAmount (#1044)
Variable BEP20Token._getValues(uint256).rTransferAmount (#1046) is too similar to BEP20Token._transferStandard(address,address,uint256).tTransferAmount (#887)
Variable BEP20Token.reflectionFromToken(uint256,bool).rTransferAmount (#954) is too similar to BEP20Token._transferStandard(address,address,uint256).tTransferAmount (#887)
Variable BEP20Token.reflectionFromToken(uint256,bool).rTransferAmount (#954) is too similar to BEP20Token._getValues(uint256).tTransferAmount (#1044)
Variable BEP20Token.reflectionFromToken(uint256,bool).rTransferAmount (#954) is too similar to BEP20Token._getTValues(uint256).tTransferAmount (#1055)
Prevent variables from having similar names.
Additional information: link
BEP20Token.slitherConstructorVariables() (#747-1246) uses literals with too many digits:
- _tTotal = 1000000000000 * 10 ** 18 (#759)
BEP20Token.slitherConstructorVariables() (#747-1246) uses literals with too many digits:
- burnAddress = address(0x000000000000000000000000000000000000dEaD) (#782)
BEP20Token.slitherConstructorVariables() (#747-1246) uses literals with too many digits:
- _maxTxAmount = 1000000000000 * 10 ** 18 (#791)
BEP20Token.slitherConstructorVariables() (#747-1246) uses literals with too many digits:
- numTokensSellToAddToLiquidity = 15000000000 * 10 ** 18 (#792)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
BEP20Token._tOwned (#752) is never used in BEP20Token (#747-1246)
Remove unused state variables.
Additional information: link
BEP20Token.BUSDToken (#781) should be constant
BEP20Token._decimals (#765) should be constant
BEP20Token._name (#763) should be constant
BEP20Token._symbol (#764) should be constant
BEP20Token._tTotal (#759) should be constant
BEP20Token.burnAddress (#782) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#417-420)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#426-430)
geUnlockTime() should be declared external:
- Ownable.geUnlockTime() (#432-434)
lock(uint256) should be declared external:
- Ownable.lock(uint256) (#437-442)
unlock() should be declared external:
- Ownable.unlock() (#445-450)
name() should be declared external:
- BEP20Token.name() (#827-829)
symbol() should be declared external:
- BEP20Token.symbol() (#831-833)
decimals() should be declared external:
- BEP20Token.decimals() (#835-837)
totalSupply() should be declared external:
- BEP20Token.totalSupply() (#839-841)
transfer(address,uint256) should be declared external:
- BEP20Token.transfer(address,uint256) (#847-850)
allowance(address,address) should be declared external:
- BEP20Token.allowance(address,address) (#852-854)
approve(address,uint256) should be declared external:
- BEP20Token.approve(address,uint256) (#898-901)
transferFrom(address,address,uint256) should be declared external:
- BEP20Token.transferFrom(address,address,uint256) (#903-907)
increaseAllowance(address,uint256) should be declared external:
- BEP20Token.increaseAllowance(address,uint256) (#909-912)
decreaseAllowance(address,uint256) should be declared external:
- BEP20Token.decreaseAllowance(address,uint256) (#914-917)
totalFees() should be declared external:
- BEP20Token.totalFees() (#920-922)
addList(address) should be declared external:
- BEP20Token.addList(address) (#924-926)
removeList(address) should be declared external:
- BEP20Token.removeList(address) (#928-930)
isList(address) should be declared external:
- BEP20Token.isList(address) (#932-938)
changeListStatus() should be declared external:
- BEP20Token.changeListStatus() (#940-946)
reflectionFromToken(uint256,bool) should be declared external:
- BEP20Token.reflectionFromToken(uint256,bool) (#948-957)
excludeFromFee(address) should be declared external:
- BEP20Token.excludeFromFee(address) (#985-987)
includeInFee(address) should be declared external:
- BEP20Token.includeInFee(address) (#989-991)
setSwapAndLiquifyEnabled(bool) should be declared external:
- BEP20Token.setSwapAndLiquifyEnabled(bool) (#1017-1020)
setSwapDevEnabled(bool) should be declared external:
- BEP20Token.setSwapDevEnabled(bool) (#1022-1024)
isExcludedFromFee(address) should be declared external:
- BEP20Token.isExcludedFromFee(address) (#1135-1137)
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