INFO:Detectors:
Reentrancy in RAKcoin._transfer(address,address,uint256) (contracts/RAKcoin.sol#395-438):
External calls:
- swapAndLiquify(contractTokenBalance) (contracts/RAKcoin.sol#425)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/RAKcoin.sol#486-493)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/RAKcoin.sol#472-478)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (contracts/RAKcoin.sol#425)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/RAKcoin.sol#486-493)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (contracts/RAKcoin.sol#437)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (contracts/RAKcoin.sol#351)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (contracts/RAKcoin.sol#553)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (contracts/RAKcoin.sol#533)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (contracts/RAKcoin.sol#231)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (contracts/RAKcoin.sol#534)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (contracts/RAKcoin.sol#575)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (contracts/RAKcoin.sol#555)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (contracts/RAKcoin.sol#576)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (contracts/RAKcoin.sol#233)
- _tokenTransfer(from,to,amount,takeFee) (contracts/RAKcoin.sol#437)
- _rTotal = _rTotal.sub(rFee) (contracts/RAKcoin.sol#268)
- _tokenTransfer(from,to,amount,takeFee) (contracts/RAKcoin.sol#437)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (contracts/RAKcoin.sol#353)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (contracts/RAKcoin.sol#574)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (contracts/RAKcoin.sol#230)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (contracts/RAKcoin.sol#554)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (contracts/RAKcoin.sol#232)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities
INFO:Detectors:
RAKcoin.addLiquidity(uint256,uint256) (contracts/RAKcoin.sol#481-494) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/RAKcoin.sol#486-493)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
RAKcoin.allowance(address,address).owner (contracts/RAKcoin.sol#109) shadows:
- Ownable.owner() (node_modules/@openzeppelin/contracts/access/Ownable.sol#35-37) (function)
RAKcoin._approve(address,address,uint256).owner (contracts/RAKcoin.sol#384) shadows:
- Ownable.owner() (node_modules/@openzeppelin/contracts/access/Ownable.sol#35-37) (function)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
Reentrancy in RAKcoin._transfer(address,address,uint256) (contracts/RAKcoin.sol#395-438):
External calls:
- swapAndLiquify(contractTokenBalance) (contracts/RAKcoin.sol#425)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/RAKcoin.sol#486-493)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/RAKcoin.sol#472-478)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (contracts/RAKcoin.sol#425)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/RAKcoin.sol#486-493)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (contracts/RAKcoin.sol#437)
- _liquidityFee = _previousLiquidityFee (contracts/RAKcoin.sol#376)
- _liquidityFee = 0 (contracts/RAKcoin.sol#371)
- _tokenTransfer(from,to,amount,takeFee) (contracts/RAKcoin.sol#437)
- _previousLiquidityFee = _liquidityFee (contracts/RAKcoin.sol#368)
- _tokenTransfer(from,to,amount,takeFee) (contracts/RAKcoin.sol#437)
- _previousTaxFee = _taxFee (contracts/RAKcoin.sol#367)
- _tokenTransfer(from,to,amount,takeFee) (contracts/RAKcoin.sol#437)
- _tFeeTotal = _tFeeTotal.add(tFee) (contracts/RAKcoin.sol#269)
- _tokenTransfer(from,to,amount,takeFee) (contracts/RAKcoin.sol#437)
- _taxFee = _previousTaxFee (contracts/RAKcoin.sol#375)
- _taxFee = 0 (contracts/RAKcoin.sol#370)
Reentrancy in RAKcoin.constructor() (contracts/RAKcoin.sol#61-81):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (contracts/RAKcoin.sol#68-71)
State variables written after the call(s):
- _isExcludedFromFee[owner()] = true (contracts/RAKcoin.sol#77)
- _isExcludedFromFee[address(this)] = true (contracts/RAKcoin.sol#78)
- uniswapV2Router = _uniswapV2Router (contracts/RAKcoin.sol#74)
Reentrancy in RAKcoin.swapAndLiquify(uint256) (contracts/RAKcoin.sol#440-461):
External calls:
- swapTokensForEth(half) (contracts/RAKcoin.sol#452)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/RAKcoin.sol#472-478)
- addLiquidity(otherHalf,newBalance) (contracts/RAKcoin.sol#458)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/RAKcoin.sol#486-493)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (contracts/RAKcoin.sol#458)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/RAKcoin.sol#486-493)
State variables written after the call(s):
- addLiquidity(otherHalf,newBalance) (contracts/RAKcoin.sol#458)
- _allowances[owner][spender] = amount (contracts/RAKcoin.sol#391)
Reentrancy in RAKcoin.transferFrom(address,address,uint256) (contracts/RAKcoin.sol#118-133):
External calls:
- _transfer(sender,recipient,amount) (contracts/RAKcoin.sol#123)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/RAKcoin.sol#486-493)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/RAKcoin.sol#472-478)
External calls sending eth:
- _transfer(sender,recipient,amount) (contracts/RAKcoin.sol#123)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/RAKcoin.sol#486-493)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (contracts/RAKcoin.sol#124-131)
- _allowances[owner][spender] = amount (contracts/RAKcoin.sol#391)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2
INFO:Detectors:
Reentrancy in RAKcoin._transfer(address,address,uint256) (contracts/RAKcoin.sol#395-438):
External calls:
- swapAndLiquify(contractTokenBalance) (contracts/RAKcoin.sol#425)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/RAKcoin.sol#486-493)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/RAKcoin.sol#472-478)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (contracts/RAKcoin.sol#425)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/RAKcoin.sol#486-493)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (contracts/RAKcoin.sol#537)
- _tokenTransfer(from,to,amount,takeFee) (contracts/RAKcoin.sol#437)
- Transfer(sender,recipient,tTransferAmount) (contracts/RAKcoin.sol#579)
- _tokenTransfer(from,to,amount,takeFee) (contracts/RAKcoin.sol#437)
- Transfer(sender,recipient,tTransferAmount) (contracts/RAKcoin.sol#558)
- _tokenTransfer(from,to,amount,takeFee) (contracts/RAKcoin.sol#437)
- Transfer(sender,recipient,tTransferAmount) (contracts/RAKcoin.sol#236)
- _tokenTransfer(from,to,amount,takeFee) (contracts/RAKcoin.sol#437)
Reentrancy in RAKcoin.constructor() (contracts/RAKcoin.sol#61-81):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (contracts/RAKcoin.sol#68-71)
Event emitted after the call(s):
- Transfer(address(0),_msgSender(),_tTotal) (contracts/RAKcoin.sol#80)
Reentrancy in RAKcoin.swapAndLiquify(uint256) (contracts/RAKcoin.sol#440-461):
External calls:
- swapTokensForEth(half) (contracts/RAKcoin.sol#452)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/RAKcoin.sol#472-478)
- addLiquidity(otherHalf,newBalance) (contracts/RAKcoin.sol#458)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/RAKcoin.sol#486-493)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (contracts/RAKcoin.sol#458)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/RAKcoin.sol#486-493)
Event emitted after the call(s):
- Approval(owner,spender,amount) (contracts/RAKcoin.sol#392)
- addLiquidity(otherHalf,newBalance) (contracts/RAKcoin.sol#458)
- SwapAndLiquify(half,newBalance,otherHalf) (contracts/RAKcoin.sol#460)
Reentrancy in RAKcoin.transferFrom(address,address,uint256) (contracts/RAKcoin.sol#118-133):
External calls:
- _transfer(sender,recipient,amount) (contracts/RAKcoin.sol#123)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/RAKcoin.sol#486-493)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/RAKcoin.sol#472-478)
External calls sending eth:
- _transfer(sender,recipient,amount) (contracts/RAKcoin.sol#123)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/RAKcoin.sol#486-493)
Event emitted after the call(s):
- Approval(owner,spender,amount) (contracts/RAKcoin.sol#392)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (contracts/RAKcoin.sol#124-131)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
Address.isContract(address) (node_modules/@openzeppelin/contracts/utils/Address.sol#26-35) uses assembly
- INLINE ASM (node_modules/@openzeppelin/contracts/utils/Address.sol#33)
Address._verifyCallResult(bool,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#171-188) uses assembly
- INLINE ASM (node_modules/@openzeppelin/contracts/utils/Address.sol#180-183)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Different versions of Solidity is used:
- Version used: ['>=0.6.0<0.8.0', '>=0.6.2<0.8.0', '^0.6.12']
- >=0.6.0<0.8.0 (node_modules/@openzeppelin/contracts/access/Ownable.sol#3)
- >=0.6.0<0.8.0 (node_modules/@openzeppelin/contracts/math/SafeMath.sol#3)
- >=0.6.0<0.8.0 (node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol#3)
- >=0.6.2<0.8.0 (node_modules/@openzeppelin/contracts/utils/Address.sol#3)
- >=0.6.0<0.8.0 (node_modules/@openzeppelin/contracts/utils/Context.sol#3)
- ^0.6.12 (contracts/RAKcoin.sol#3)
- ^0.6.12 (contracts/interfaces/IUniswapV2Factory.sol#3)
- ^0.6.12 (contracts/interfaces/IUniswapV2Pair.sol#3)
- ^0.6.12 (contracts/interfaces/IUniswapV2Router01.sol#3)
- ^0.6.12 (contracts/interfaces/IUniswapV2Router02.sol#3)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used
INFO:Detectors:
RAKcoin._rTotal (contracts/RAKcoin.sol#29) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
RAKcoin._previousTaxFee (contracts/RAKcoin.sol#37) is set pre-construction with a non-constant function or state variable:
- _taxFee
RAKcoin._previousLiquidityFee (contracts/RAKcoin.sol#40) is set pre-construction with a non-constant function or state variable:
- _liquidityFee
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#function-initializing-state-variables
INFO:Detectors:
Pragma version>=0.6.0<0.8.0 (node_modules/@openzeppelin/contracts/access/Ownable.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (node_modules/@openzeppelin/contracts/math/SafeMath.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol#3) is too complex
Pragma version>=0.6.2<0.8.0 (node_modules/@openzeppelin/contracts/utils/Address.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (node_modules/@openzeppelin/contracts/utils/Context.sol#3) is too complex
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity
INFO:Detectors:
Low level call in Address.sendValue(address,uint256) (node_modules/@openzeppelin/contracts/utils/Address.sol#53-59):
- (success) = recipient.call{value: amount}() (node_modules/@openzeppelin/contracts/utils/Address.sol#57)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#114-121):
- (success,returndata) = target.call{value: value}(data) (node_modules/@openzeppelin/contracts/utils/Address.sol#119)
Low level call in Address.functionStaticCall(address,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#139-145):
- (success,returndata) = target.staticcall(data) (node_modules/@openzeppelin/contracts/utils/Address.sol#143)
Low level call in Address.functionDelegateCall(address,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#163-169):
- (success,returndata) = target.delegatecall(data) (node_modules/@openzeppelin/contracts/utils/Address.sol#167)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Parameter RAKcoin.setSwapAndLiquifyEnabled(bool)._enabled (contracts/RAKcoin.sol#259) is not in mixedCase
Parameter RAKcoin.calculateTaxFee(uint256)._amount (contracts/RAKcoin.sol#356) is not in mixedCase
Parameter RAKcoin.calculateLiquidityFee(uint256)._amount (contracts/RAKcoin.sol#360) is not in mixedCase
Variable RAKcoin._taxFee (contracts/RAKcoin.sol#36) is not in mixedCase
Variable RAKcoin._liquidityFee (contracts/RAKcoin.sol#39) is not in mixedCase
Variable RAKcoin._maxTxAmount (contracts/RAKcoin.sol#48) is not in mixedCase
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (contracts/interfaces/IUniswapV2Pair.sol#31) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (contracts/interfaces/IUniswapV2Pair.sol#33) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (contracts/interfaces/IUniswapV2Pair.sol#59) is not in mixedCase
Function IUniswapV2Router01.WETH() (contracts/interfaces/IUniswapV2Router01.sol#8) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Redundant expression "this (node_modules/@openzeppelin/contracts/utils/Context.sol#21)" inContext (node_modules/@openzeppelin/contracts/utils/Context.sol#15-24)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements
INFO:Detectors:
Variable RAKcoin._transferStandard(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#527) is too similar to RAKcoin._transferBothExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#226)
Variable RAKcoin.reflectionFromToken(uint256,bool).rTransferAmount (contracts/RAKcoin.sol#183) is too similar to RAKcoin._transferBothExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#226)
Variable RAKcoin._transferStandard(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#527) is too similar to RAKcoin._transferStandard(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#529)
Variable RAKcoin._transferToExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#547) is too similar to RAKcoin._transferToExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#549)
Variable RAKcoin._transferFromExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#568) is too similar to RAKcoin._transferBothExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#226)
Variable RAKcoin._transferFromExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#568) is too similar to RAKcoin._transferStandard(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#529)
Variable RAKcoin._transferToExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#547) is too similar to RAKcoin._transferBothExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#226)
Variable RAKcoin._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (contracts/RAKcoin.sol#326) is too similar to RAKcoin._transferStandard(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#529)
Variable RAKcoin._transferFromExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#568) is too similar to RAKcoin._transferFromExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#570)
Variable RAKcoin._transferToExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#547) is too similar to RAKcoin._transferStandard(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#529)
Variable RAKcoin._transferFromExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#568) is too similar to RAKcoin._getValues(uint256).tTransferAmount (contracts/RAKcoin.sol#284)
Variable RAKcoin._transferToExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#547) is too similar to RAKcoin._transferFromExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#570)
Variable RAKcoin._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (contracts/RAKcoin.sol#326) is too similar to RAKcoin._transferBothExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#226)
Variable RAKcoin._getValues(uint256).rTransferAmount (contracts/RAKcoin.sol#285) is too similar to RAKcoin._transferBothExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#226)
Variable RAKcoin._transferFromExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#568) is too similar to RAKcoin._transferToExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#549)
Variable RAKcoin._transferToExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#547) is too similar to RAKcoin._getValues(uint256).tTransferAmount (contracts/RAKcoin.sol#284)
Variable RAKcoin._transferBothExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#224) is too similar to RAKcoin._transferBothExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#226)
Variable RAKcoin._getValues(uint256).rTransferAmount (contracts/RAKcoin.sol#285) is too similar to RAKcoin._transferStandard(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#529)
Variable RAKcoin._transferToExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#547) is too similar to RAKcoin._getTValues(uint256).tTransferAmount (contracts/RAKcoin.sol#305)
Variable RAKcoin._transferBothExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#224) is too similar to RAKcoin._transferStandard(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#529)
Variable RAKcoin.reflectionFromToken(uint256,bool).rTransferAmount (contracts/RAKcoin.sol#183) is too similar to RAKcoin._transferStandard(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#529)
Variable RAKcoin._transferBothExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#224) is too similar to RAKcoin._getTValues(uint256).tTransferAmount (contracts/RAKcoin.sol#305)
Variable RAKcoin._getValues(uint256).rTransferAmount (contracts/RAKcoin.sol#285) is too similar to RAKcoin._getTValues(uint256).tTransferAmount (contracts/RAKcoin.sol#305)
Variable RAKcoin._transferBothExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#224) is too similar to RAKcoin._transferFromExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#570)
Variable RAKcoin._getValues(uint256).rTransferAmount (contracts/RAKcoin.sol#285) is too similar to RAKcoin._transferFromExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#570)
Variable RAKcoin._transferStandard(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#527) is too similar to RAKcoin._getTValues(uint256).tTransferAmount (contracts/RAKcoin.sol#305)
Variable RAKcoin._transferBothExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#224) is too similar to RAKcoin._getValues(uint256).tTransferAmount (contracts/RAKcoin.sol#284)
Variable RAKcoin._getValues(uint256).rTransferAmount (contracts/RAKcoin.sol#285) is too similar to RAKcoin._getValues(uint256).tTransferAmount (contracts/RAKcoin.sol#284)
Variable RAKcoin.reflectionFromToken(uint256,bool).rTransferAmount (contracts/RAKcoin.sol#183) is too similar to RAKcoin._getTValues(uint256).tTransferAmount (contracts/RAKcoin.sol#305)
Variable RAKcoin._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (contracts/RAKcoin.sol#326) is too similar to RAKcoin._getTValues(uint256).tTransferAmount (contracts/RAKcoin.sol#305)
Variable RAKcoin._transferStandard(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#527) is too similar to RAKcoin._transferFromExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#570)
Variable RAKcoin._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (contracts/RAKcoin.sol#326) is too similar to RAKcoin._transferFromExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#570)
Variable RAKcoin.reflectionFromToken(uint256,bool).rTransferAmount (contracts/RAKcoin.sol#183) is too similar to RAKcoin._transferFromExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#570)
Variable RAKcoin._transferStandard(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#527) is too similar to RAKcoin._getValues(uint256).tTransferAmount (contracts/RAKcoin.sol#284)
Variable RAKcoin._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (contracts/RAKcoin.sol#326) is too similar to RAKcoin._getValues(uint256).tTransferAmount (contracts/RAKcoin.sol#284)
Variable RAKcoin._getValues(uint256).rTransferAmount (contracts/RAKcoin.sol#285) is too similar to RAKcoin._transferToExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#549)
Variable RAKcoin.reflectionFromToken(uint256,bool).rTransferAmount (contracts/RAKcoin.sol#183) is too similar to RAKcoin._getValues(uint256).tTransferAmount (contracts/RAKcoin.sol#284)
Variable RAKcoin._transferBothExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#224) is too similar to RAKcoin._transferToExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#549)
Variable RAKcoin._transferFromExcluded(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#568) is too similar to RAKcoin._getTValues(uint256).tTransferAmount (contracts/RAKcoin.sol#305)
Variable RAKcoin._transferStandard(address,address,uint256).rTransferAmount (contracts/RAKcoin.sol#527) is too similar to RAKcoin._transferToExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#549)
Variable RAKcoin._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (contracts/RAKcoin.sol#326) is too similar to RAKcoin._transferToExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#549)
Variable RAKcoin.reflectionFromToken(uint256,bool).rTransferAmount (contracts/RAKcoin.sol#183) is too similar to RAKcoin._transferToExcluded(address,address,uint256).tTransferAmount (contracts/RAKcoin.sol#549)
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (contracts/interfaces/IUniswapV2Router01.sol#13) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (contracts/interfaces/IUniswapV2Router01.sol#14)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#variable-names-are-too-similar
INFO:Detectors:
RAKcoin.slitherConstructorVariables() (contracts/RAKcoin.sol#14-581) uses literals with too many digits:
- _tTotal = 1000000000 * 10 ** 6 * 10 ** 9 (contracts/RAKcoin.sol#28)
RAKcoin.slitherConstructorVariables() (contracts/RAKcoin.sol#14-581) uses literals with too many digits:
- _maxTxAmount = 5000000 * 10 ** 6 * 10 ** 9 (contracts/RAKcoin.sol#48)
RAKcoin.slitherConstructorVariables() (contracts/RAKcoin.sol#14-581) uses literals with too many digits:
- numTokensSellToAddToLiquidity = 500000 * 10 ** 6 * 10 ** 9 (contracts/RAKcoin.sol#49)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits
INFO:Detectors:
RAKcoin._decimals (contracts/RAKcoin.sol#34) should be constant
RAKcoin._name (contracts/RAKcoin.sol#32) should be constant
RAKcoin._symbol (contracts/RAKcoin.sol#33) should be constant
RAKcoin._tTotal (contracts/RAKcoin.sol#28) should be constant
RAKcoin.numTokensSellToAddToLiquidity (contracts/RAKcoin.sol#49) should be constant
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant
INFO:Detectors:
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (node_modules/@openzeppelin/contracts/access/Ownable.sol#54-57)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (node_modules/@openzeppelin/contracts/access/Ownable.sol#63-67)
name() should be declared external:
- RAKcoin.name() (contracts/RAKcoin.sol#83-85)
symbol() should be declared external:
- RAKcoin.symbol() (contracts/RAKcoin.sol#87-89)
decimals() should be declared external:
- RAKcoin.decimals() (contracts/RAKcoin.sol#91-93)
totalSupply() should be declared external:
- RAKcoin.totalSupply() (contracts/RAKcoin.sol#95-97)
transfer(address,uint256) should be declared external:
- RAKcoin.transfer(address,uint256) (contracts/RAKcoin.sol#104-107)
allowance(address,address) should be declared external:
- RAKcoin.allowance(address,address) (contracts/RAKcoin.sol#109-111)
approve(address,uint256) should be declared external:
- RAKcoin.approve(address,uint256) (contracts/RAKcoin.sol#113-116)
transferFrom(address,address,uint256) should be declared external:
- RAKcoin.transferFrom(address,address,uint256) (contracts/RAKcoin.sol#118-133)
increaseAllowance(address,uint256) should be declared external:
- RAKcoin.increaseAllowance(address,uint256) (contracts/RAKcoin.sol#135-138)
decreaseAllowance(address,uint256) should be declared external:
- RAKcoin.decreaseAllowance(address,uint256) (contracts/RAKcoin.sol#140-154)
isExcludedFromReward(address) should be declared external:
- RAKcoin.isExcludedFromReward(address) (contracts/RAKcoin.sol#156-158)
totalFees() should be declared external:
- RAKcoin.totalFees() (contracts/RAKcoin.sol#160-162)
deliver(uint256) should be declared external:
- RAKcoin.deliver(uint256) (contracts/RAKcoin.sol#164-171)
reflectionFromToken(uint256,bool) should be declared external:
- RAKcoin.reflectionFromToken(uint256,bool) (contracts/RAKcoin.sol#173-186)
excludeFromReward(address) should be declared external:
- RAKcoin.excludeFromReward(address) (contracts/RAKcoin.sol#194-202)
excludeFromFee(address) should be declared external:
- RAKcoin.excludeFromFee(address) (contracts/RAKcoin.sol#239-241)
includeInFee(address) should be declared external:
- RAKcoin.includeInFee(address) (contracts/RAKcoin.sol#243-245)
setSwapAndLiquifyEnabled(bool) should be declared external:
- RAKcoin.setSwapAndLiquifyEnabled(bool) (contracts/RAKcoin.sol#259-262)
isExcludedFromFee(address) should be declared external:
- RAKcoin.isExcludedFromFee(address) (contracts/RAKcoin.sol#379-381)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-external