Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Reentrancy in RabbitKing._transfer(address,address,uint256) (#650-687):
External calls:
- swapAndLiquify(contractTokenBalance) (#674)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#735-742)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#721-727)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#674)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#735-742)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#686)
- _DOwned[address(this)] = _DOwned[address(this)].add(rLiquidity) (#606)
- _DOwned[sender] = _DOwned[sender].sub(rAmount) (#768)
- _DOwned[sender] = _DOwned[sender].sub(rAmount) (#777)
- _DOwned[sender] = _DOwned[sender].sub(rAmount) (#788)
- _DOwned[recipient] = _DOwned[recipient].add(rTransferAmount) (#769)
- _DOwned[sender] = _DOwned[sender].sub(rAmount) (#524)
- _DOwned[recipient] = _DOwned[recipient].add(rTransferAmount) (#779)
- _DOwned[recipient] = _DOwned[recipient].add(rTransferAmount) (#789)
- _DOwned[recipient] = _DOwned[recipient].add(rTransferAmount) (#526)
- _tokenTransfer(from,to,amount,takeFee) (#686)
- _rTotal = _rTotal.sub(rFee) (#561)
- _tokenTransfer(from,to,amount,takeFee) (#686)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#608)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#523)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#787)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#778)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#525)
Apply the check-effects-interactions pattern.
Additional information: link
RabbitKing.withdrawToken(address,address,uint256) (#795-799) ignores return value by IERC20(tokenAddress).transfer(receiver,amount) (#798)
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.
RabbitKing.addLiquidity(uint256,uint256) (#730-743) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#735-742)
Ensure that all the return values of the function calls are used.
Additional information: link
RabbitKing.allowance(address,address).owner (#440) shadows:
- Ownable.owner() (#115-117) (function)
RabbitKing._approve(address,address,uint256).owner (#642) shadows:
- Ownable.owner() (#115-117) (function)
Rename the local variables that shadow another component.
Additional information: link
RabbitKing.setTaxFeePercent(uint256) (#540-542) should emit an event for:
- _taxFee = taxFee (#541)
RabbitKing.setNumTokenPercent(uint256) (#543-545) should emit an event for:
- numTokensSellToAddToLiquidity = numToken (#544)
RabbitKing.setLiquidityFeePercent(uint256) (#549-551) should emit an event for:
- _liquidityFee = liquidityFee (#550)
Emit an event for critical parameter changes.
Additional information: link
RabbitKing.swapTokensForEth(uint256) (#712-728) has external calls inside a loop: path[1] = uniswapV2Router.WETH() (#716)
RabbitKing.swapTokensForEth(uint256) (#712-728) has external calls inside a loop: uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#721-727)
RabbitKing.addLiquidity(uint256,uint256) (#730-743) has external calls inside a loop: uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#735-742)
Favor pull over push strategy for external calls.
Additional information: link
Reentrancy in RabbitKing._transfer(address,address,uint256) (#650-687):
External calls:
- swapAndLiquify(contractTokenBalance) (#674)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#735-742)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#721-727)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#674)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#735-742)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#686)
- _liquidityFee = _previousLiquidityFee (#635)
- _liquidityFee = 0 (#630)
- _tokenTransfer(from,to,amount,takeFee) (#686)
- _previousLiquidityFee = _liquidityFee (#627)
- _tokenTransfer(from,to,amount,takeFee) (#686)
- _previousTaxFee = _taxFee (#626)
- _tokenTransfer(from,to,amount,takeFee) (#686)
- _tFeeTotal = _tFeeTotal.add(tFee) (#562)
- _tokenTransfer(from,to,amount,takeFee) (#686)
- _taxFee = _previousTaxFee (#634)
- _taxFee = 0 (#629)
Reentrancy in RabbitKing.constructor() (#396-412):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#401-402)
State variables written after the call(s):
- _isExcludedFromFee[owner()] = true (#408)
- _isExcludedFromFee[address(this)] = true (#409)
- uniswapV2Router = _uniswapV2Router (#405)
Reentrancy in RabbitKing.swapAndLiquify(uint256) (#689-710):
External calls:
- swapTokensForEth(half) (#701)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#721-727)
- addLiquidity(otherHalf,newBalance) (#707)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#735-742)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#707)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#735-742)
State variables written after the call(s):
- addLiquidity(otherHalf,newBalance) (#707)
- _allowances[owner][spender] = amount (#646)
Reentrancy in RabbitKing.transferFrom(address,address,uint256) (#449-453):
External calls:
- _transfer(sender,recipient,amount) (#450)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#735-742)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#721-727)
External calls sending eth:
- _transfer(sender,recipient,amount) (#450)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#735-742)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#451)
- _allowances[owner][spender] = amount (#646)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in RabbitKing._transfer(address,address,uint256) (#650-687):
External calls:
- swapAndLiquify(contractTokenBalance) (#674)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#735-742)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#721-727)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#674)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#735-742)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#772)
- _tokenTransfer(from,to,amount,takeFee) (#686)
- Transfer(sender,recipient,tTransferAmount) (#792)
- _tokenTransfer(from,to,amount,takeFee) (#686)
- Transfer(sender,recipient,tTransferAmount) (#782)
- _tokenTransfer(from,to,amount,takeFee) (#686)
- Transfer(sender,recipient,tTransferAmount) (#529)
- _tokenTransfer(from,to,amount,takeFee) (#686)
Reentrancy in RabbitKing.constructor() (#396-412):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#401-402)
Event emitted after the call(s):
- Transfer(address(0),_msgSender(),_tTotal) (#411)
Reentrancy in RabbitKing.swapAndLiquify(uint256) (#689-710):
External calls:
- swapTokensForEth(half) (#701)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#721-727)
- addLiquidity(otherHalf,newBalance) (#707)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#735-742)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#707)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#735-742)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#647)
- addLiquidity(otherHalf,newBalance) (#707)
- SwapAndLiquify(half,newBalance,otherHalf) (#709)
Reentrancy in RabbitKing.transferFrom(address,address,uint256) (#449-453):
External calls:
- _transfer(sender,recipient,amount) (#450)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#735-742)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#721-727)
External calls sending eth:
- _transfer(sender,recipient,amount) (#450)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#735-742)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#647)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#451)
Apply the check-effects-interactions pattern.
Additional information: link
Address.isContract(address) (#63-68) uses assembly
- INLINE ASM (#66)
Address._functionCallWithValue(address,bytes,uint256,string) (#87-102) uses assembly
- INLINE ASM (#94-97)
Do not use evm assembly.
Additional information: link
RabbitKing.includeInReward(address) (#509-520) has costly operations inside a loop:
- _excluded.pop() (#516)
RabbitKing.lockTheSwap() (#390-394) has costly operations inside a loop:
- inSwapAndLiquify = true (#391)
RabbitKing.lockTheSwap() (#390-394) has costly operations inside a loop:
- inSwapAndLiquify = false (#393)
RabbitKing.removeAllFee() (#623-631) has costly operations inside a loop:
- _previousTaxFee = _taxFee (#626)
RabbitKing.removeAllFee() (#623-631) has costly operations inside a loop:
- _previousLiquidityFee = _liquidityFee (#627)
RabbitKing.removeAllFee() (#623-631) has costly operations inside a loop:
- _taxFee = 0 (#629)
RabbitKing.removeAllFee() (#623-631) has costly operations inside a loop:
- _liquidityFee = 0 (#630)
RabbitKing._reflectFee(uint256,uint256) (#560-563) has costly operations inside a loop:
- _rTotal = _rTotal.sub(rFee) (#561)
RabbitKing._reflectFee(uint256,uint256) (#560-563) has costly operations inside a loop:
- _tFeeTotal = _tFeeTotal.add(tFee) (#562)
RabbitKing.restoreAllFee() (#633-636) has costly operations inside a loop:
- _taxFee = _previousTaxFee (#634)
RabbitKing.restoreAllFee() (#633-636) has costly operations inside a loop:
- _liquidityFee = _previousLiquidityFee (#635)
Use a local variable to hold the loop computation result.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#87-102) is never used and should be removed
Address.functionCall(address,bytes) (#74-76) is never used and should be removed
Address.functionCall(address,bytes,string) (#77-79) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#80-82) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#83-86) is never used and should be removed
Address.isContract(address) (#63-68) is never used and should be removed
Address.sendValue(address,uint256) (#69-73) is never used and should be removed
Context._msgData() (#57-60) is never used and should be removed
SafeMath.mod(uint256,uint256) (#45-47) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#48-51) is never used and should be removed
Remove unused functions.
Additional information: link
RabbitKing._rTotal (#363) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
RabbitKing._previousTaxFee (#371) is set pre-construction with a non-constant function or state variable:
- _taxFee
RabbitKing._previousLiquidityFee (#374) is set pre-construction with a non-constant function or state variable:
- _liquidityFee
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
Low level call in Address.sendValue(address,uint256) (#69-73):
- (success) = recipient.call{value: amount}() (#71)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#87-102):
- (success,returndata) = target.call{value: weiValue}(data) (#89)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (#170) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#171) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#188) is not in mixedCase
Function IUniswapV2Router01.WETH() (#210) is not in mixedCase
Parameter RabbitKing.setSwapAndLiquifyEnabled(bool)._enabled (#552) is not in mixedCase
Parameter RabbitKing.calculateTaxFee(uint256)._amount (#611) is not in mixedCase
Parameter RabbitKing.calculateLiquidityFee(uint256)._amount (#617) is not in mixedCase
Function RabbitKing.TransferKing(address[],uint256) (#801-808) is not in mixedCase
Parameter RabbitKing.TransferKing(address[],uint256).KingAddress (#801-802) is not in mixedCase
Parameter RabbitKing.TransferKing(address[],uint256).KingAmount (#803) is not in mixedCase
Variable RabbitKing._DOwned (#352) is not in mixedCase
Variable RabbitKing._taxFee (#370) is not in mixedCase
Variable RabbitKing._liquidityFee (#373) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#58)" inContext (#53-61)
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 (#215) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#216)
Variable RabbitKing._transferFromExcluded(address,address,uint256).rTransferAmount (#786) is too similar to RabbitKing._transferBothExcluded(address,address,uint256).tTransferAmount (#522)
Variable RabbitKing._getValues(uint256).rTransferAmount (#567) is too similar to RabbitKing._getTValues(uint256).tTransferAmount (#574)
Variable RabbitKing._transferFromExcluded(address,address,uint256).rTransferAmount (#786) is too similar to RabbitKing._transferStandard(address,address,uint256).tTransferAmount (#767)
Variable RabbitKing._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#582) is too similar to RabbitKing._getTValues(uint256).tTransferAmount (#574)
Variable RabbitKing._getValues(uint256).rTransferAmount (#567) is too similar to RabbitKing._transferBothExcluded(address,address,uint256).tTransferAmount (#522)
Variable RabbitKing._transferFromExcluded(address,address,uint256).rTransferAmount (#786) is too similar to RabbitKing._transferFromExcluded(address,address,uint256).tTransferAmount (#786)
Variable RabbitKing._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#582) is too similar to RabbitKing._transferBothExcluded(address,address,uint256).tTransferAmount (#522)
Variable RabbitKing._transferFromExcluded(address,address,uint256).rTransferAmount (#786) is too similar to RabbitKing._transferToExcluded(address,address,uint256).tTransferAmount (#776)
Variable RabbitKing._transferToExcluded(address,address,uint256).rTransferAmount (#776) is too similar to RabbitKing._transferToExcluded(address,address,uint256).tTransferAmount (#776)
Variable RabbitKing._getValues(uint256).rTransferAmount (#567) is too similar to RabbitKing._transferToExcluded(address,address,uint256).tTransferAmount (#776)
Variable RabbitKing._transferFromExcluded(address,address,uint256).rTransferAmount (#786) is too similar to RabbitKing._getValues(uint256).tTransferAmount (#566)
Variable RabbitKing._transferFromExcluded(address,address,uint256).rTransferAmount (#786) is too similar to RabbitKing._getTValues(uint256).tTransferAmount (#574)
Variable RabbitKing._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#582) is too similar to RabbitKing._transferToExcluded(address,address,uint256).tTransferAmount (#776)
Variable RabbitKing._transferStandard(address,address,uint256).rTransferAmount (#767) is too similar to RabbitKing._getTValues(uint256).tTransferAmount (#574)
Variable RabbitKing.reflectionFromToken(uint256,bool).rTransferAmount (#488) is too similar to RabbitKing._transferFromExcluded(address,address,uint256).tTransferAmount (#786)
Variable RabbitKing._transferBothExcluded(address,address,uint256).rTransferAmount (#522) is too similar to RabbitKing._transferFromExcluded(address,address,uint256).tTransferAmount (#786)
Variable RabbitKing._transferStandard(address,address,uint256).rTransferAmount (#767) is too similar to RabbitKing._transferBothExcluded(address,address,uint256).tTransferAmount (#522)
Variable RabbitKing.reflectionFromToken(uint256,bool).rTransferAmount (#488) is too similar to RabbitKing._transferStandard(address,address,uint256).tTransferAmount (#767)
Variable RabbitKing._transferBothExcluded(address,address,uint256).rTransferAmount (#522) is too similar to RabbitKing._transferStandard(address,address,uint256).tTransferAmount (#767)
Variable RabbitKing.reflectionFromToken(uint256,bool).rTransferAmount (#488) is too similar to RabbitKing._transferToExcluded(address,address,uint256).tTransferAmount (#776)
Variable RabbitKing._transferBothExcluded(address,address,uint256).rTransferAmount (#522) is too similar to RabbitKing._transferToExcluded(address,address,uint256).tTransferAmount (#776)
Variable RabbitKing._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#582) is too similar to RabbitKing._transferFromExcluded(address,address,uint256).tTransferAmount (#786)
Variable RabbitKing._transferStandard(address,address,uint256).rTransferAmount (#767) is too similar to RabbitKing._transferFromExcluded(address,address,uint256).tTransferAmount (#786)
Variable RabbitKing._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#582) is too similar to RabbitKing._transferStandard(address,address,uint256).tTransferAmount (#767)
Variable RabbitKing._transferToExcluded(address,address,uint256).rTransferAmount (#776) is too similar to RabbitKing._getTValues(uint256).tTransferAmount (#574)
Variable RabbitKing._transferStandard(address,address,uint256).rTransferAmount (#767) is too similar to RabbitKing._transferToExcluded(address,address,uint256).tTransferAmount (#776)
Variable RabbitKing._transferStandard(address,address,uint256).rTransferAmount (#767) is too similar to RabbitKing._transferStandard(address,address,uint256).tTransferAmount (#767)
Variable RabbitKing.reflectionFromToken(uint256,bool).rTransferAmount (#488) is too similar to RabbitKing._getValues(uint256).tTransferAmount (#566)
Variable RabbitKing._transferBothExcluded(address,address,uint256).rTransferAmount (#522) is too similar to RabbitKing._getValues(uint256).tTransferAmount (#566)
Variable RabbitKing._transferToExcluded(address,address,uint256).rTransferAmount (#776) is too similar to RabbitKing._transferBothExcluded(address,address,uint256).tTransferAmount (#522)
Variable RabbitKing._getValues(uint256).rTransferAmount (#567) is too similar to RabbitKing._transferFromExcluded(address,address,uint256).tTransferAmount (#786)
Variable RabbitKing._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#582) is too similar to RabbitKing._getValues(uint256).tTransferAmount (#566)
Variable RabbitKing._transferToExcluded(address,address,uint256).rTransferAmount (#776) is too similar to RabbitKing._transferFromExcluded(address,address,uint256).tTransferAmount (#786)
Variable RabbitKing._getValues(uint256).rTransferAmount (#567) is too similar to RabbitKing._transferStandard(address,address,uint256).tTransferAmount (#767)
Variable RabbitKing._transferStandard(address,address,uint256).rTransferAmount (#767) is too similar to RabbitKing._getValues(uint256).tTransferAmount (#566)
Variable RabbitKing._transferToExcluded(address,address,uint256).rTransferAmount (#776) is too similar to RabbitKing._transferStandard(address,address,uint256).tTransferAmount (#767)
Variable RabbitKing.reflectionFromToken(uint256,bool).rTransferAmount (#488) is too similar to RabbitKing._getTValues(uint256).tTransferAmount (#574)
Variable RabbitKing._transferBothExcluded(address,address,uint256).rTransferAmount (#522) is too similar to RabbitKing._getTValues(uint256).tTransferAmount (#574)
Variable RabbitKing.reflectionFromToken(uint256,bool).rTransferAmount (#488) is too similar to RabbitKing._transferBothExcluded(address,address,uint256).tTransferAmount (#522)
Variable RabbitKing._getValues(uint256).rTransferAmount (#567) is too similar to RabbitKing._getValues(uint256).tTransferAmount (#566)
Variable RabbitKing._transferBothExcluded(address,address,uint256).rTransferAmount (#522) is too similar to RabbitKing._transferBothExcluded(address,address,uint256).tTransferAmount (#522)
Variable RabbitKing._transferToExcluded(address,address,uint256).rTransferAmount (#776) is too similar to RabbitKing._getValues(uint256).tTransferAmount (#566)
Prevent variables from having similar names.
Additional information: link
RabbitKing.slitherConstructorVariables() (#348-811) uses literals with too many digits:
- _tTotal = 100000000 * 10 ** 9 (#362)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
RabbitKing._decimals (#368) should be constant
RabbitKing._name (#366) should be constant
RabbitKing._symbol (#367) should be constant
RabbitKing._tTotal (#362) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#126-130)
name() should be declared external:
- RabbitKing.name() (#414-416)
symbol() should be declared external:
- RabbitKing.symbol() (#418-420)
decimals() should be declared external:
- RabbitKing.decimals() (#422-424)
totalSupply() should be declared external:
- RabbitKing.totalSupply() (#426-428)
transfer(address,uint256) should be declared external:
- RabbitKing.transfer(address,uint256) (#435-438)
allowance(address,address) should be declared external:
- RabbitKing.allowance(address,address) (#440-442)
approve(address,uint256) should be declared external:
- RabbitKing.approve(address,uint256) (#444-447)
transferFrom(address,address,uint256) should be declared external:
- RabbitKing.transferFrom(address,address,uint256) (#449-453)
increaseAllowance(address,uint256) should be declared external:
- RabbitKing.increaseAllowance(address,uint256) (#455-458)
decreaseAllowance(address,uint256) should be declared external:
- RabbitKing.decreaseAllowance(address,uint256) (#460-463)
isExcludedFromReward(address) should be declared external:
- RabbitKing.isExcludedFromReward(address) (#465-467)
totalFees() should be declared external:
- RabbitKing.totalFees() (#469-471)
deliver(uint256) should be declared external:
- RabbitKing.deliver(uint256) (#473-480)
reflectionFromToken(uint256,bool) should be declared external:
- RabbitKing.reflectionFromToken(uint256,bool) (#482-491)
excludeFromReward(address) should be declared external:
- RabbitKing.excludeFromReward(address) (#499-507)
excludeFromFee(address) should be declared external:
- RabbitKing.excludeFromFee(address) (#532-534)
includeInFee(address) should be declared external:
- RabbitKing.includeInFee(address) (#536-538)
setotherFee(address,uint256) should be declared external:
- RabbitKing.setotherFee(address,uint256) (#546-548)
setSwapAndLiquifyEnabled(bool) should be declared external:
- RabbitKing.setSwapAndLiquifyEnabled(bool) (#552-555)
isExcludedFromFee(address) should be declared external:
- RabbitKing.isExcludedFromFee(address) (#638-640)
withdrawToken(address,address,uint256) should be declared external:
- RabbitKing.withdrawToken(address,address,uint256) (#795-799)
TransferKing(address[],uint256) should be declared external:
- RabbitKing.TransferKing(address[],uint256) (#801-808)
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