Everath is the satellite project within the Baby Bitcoin Roadmap (BBTC).
Everath is a token designed for investors. It uses an innovative Smart Anti-Dump System (SADS), based on maximum prices and dynamic supports, through an oracle.
everath.addLiquidity(uint256,uint256) (#1178-1191) sends eth to arbitrary user
Dangerous calls:
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1183-1190)
Ensure that an arbitrary user cannot withdraw unauthorized funds.
Additional information: link
Reentrancy in everath._transfer(address,address,uint256) (#1194-1261):
External calls:
- swapAndLiquify(contractTokenBalance) (#1247)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1144-1150)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1247)
- recipient.transfer(amount) (#1167)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (#1099)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#997)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1007)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#977)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#988)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1008)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#989)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#999)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#979)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _rTotal = _rTotal.sub(rFee) (#1018)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#1101)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#976)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#987)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#998)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#978)
- swapping = false (#1248)
Apply the check-effects-interactions pattern.
Additional information: link
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
Combination 1: Reentrancy vulnerabilities + Functions that send Ether to arbitraty destination. Usual for scams. May be justified by some complex mechanics (e.g. rebase, reflections). DYOR & manual audit are advised.
everath.setOracleGasFeeAddress(address).wallet (#850) lacks a zero-check on :
- _oracleGasFeeAddress = address(wallet) (#851)
everath.updateUniswapV2Router(address)._uniswapV2Pair (#882-883) lacks a zero-check on :
- uniswapV2Pair = _uniswapV2Pair (#884)
Check that the address is not zero.
Additional information: link
everath.addLiquidity(uint256,uint256) (#1178-1191) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1183-1190)
Ensure that all the return values of the function calls are used.
Additional information: link
everath.allowance(address,address).owner (#726) shadows:
- Ownable.owner() (#422-424) (function)
everath._approve(address,address,uint256).owner (#1170) shadows:
- Ownable.owner() (#422-424) (function)
Rename the local variables that shadow another component.
Additional information: link
everath.setSwapTokensAtAmount(uint256) (#787-789) should emit an event for:
- swapTokensAtAmount = amount (#788)
everath.setMaxTxPercent(uint256) (#794-798) should emit an event for:
- _maxTxAmount = _tTotal.mul(maxTxPercent).div(10 ** 2) (#795-797)
everath.setLiquidityFeePercent(uint256) (#863-865) should emit an event for:
- _liquidityFee = liquidityFee (#864)
everath.setTaxFeePercent(uint256) (#867-869) should emit an event for:
- _taxFee = taxFee (#868)
everath.setPenaltyFeePercent(uint256) (#871-873) should emit an event for:
- _penaltyFee = penaltyFee (#872)
Emit an event for critical parameter changes.
Additional information: link
Reentrancy in everath._transfer(address,address,uint256) (#1194-1261):
External calls:
- swapAndLiquify(contractTokenBalance) (#1247)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1144-1150)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1247)
- recipient.transfer(amount) (#1167)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _liquidityFee = _previousLiquidityFee (#1130)
- _liquidityFee = 0 (#1124)
- _liquidityFee = 0 (#1038)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _penaltyFee = _previousPenaltyFee (#1131)
- _penaltyFee = 0 (#1125)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _previousLiquidityFee = _liquidityFee (#1120)
- _previousLiquidityFee = _liquidityFee (#1037)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _previousPenaltyFee = _penaltyFee (#1121)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _previousTaxFee = _taxFee (#1119)
- _previousTaxFee = _taxFee (#1035)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _tFeeTotal = _tFeeTotal.add(tFee) (#1019)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _taxFee = _previousTaxFee (#1129)
- _taxFee = _penaltyFee (#1036)
- _taxFee = 0 (#1123)
Reentrancy in everath.constructor() (#642-676):
External calls:
- _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#646)
State variables written after the call(s):
- _decimals = 18 (#658)
- _intTotalSupply = 100000000 (#657)
- _isExcludedFromFee[owner()] = true (#672)
- _isExcludedFromFee[address(this)] = true (#673)
- _maxTxAmount = _tTotal.mul(10).div(10 ** 2) (#665)
- _name = Everath (#654)
- _oracleGasFeeAddress = address(_msgSender()) (#669)
- _rOwned[_msgSender()] = _rTotal (#663)
- _rTotal = (MAX - (MAX % _tTotal)) (#661)
- _symbol = EATH (#655)
- _tTotal = _intTotalSupply.mul(10 ** 18) (#660)
- _setAutomatedMarketMakerPair(_uniswapV2Pair,true) (#650)
- automatedMarketMakerPairs[pair] = value (#895)
- stopSellsState = false (#652)
- swapTokensAtAmount = 50000 * 10 ** 18 (#667)
- uniswapV2Pair = _uniswapV2Pair (#649)
- uniswapV2Router = _uniswapV2Router (#648)
Reentrancy in everath.transferFrom(address,address,uint256) (#740-744):
External calls:
- _transfer(sender,recipient,amount) (#741)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1144-1150)
External calls sending eth:
- _transfer(sender,recipient,amount) (#741)
- recipient.transfer(amount) (#1167)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#742)
- _allowances[owner][spender] = amount (#1174)
Reentrancy in everath.updateUniswapV2Router(address) (#878-885):
External calls:
- _uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this),uniswapV2Router.WETH()) (#882-883)
State variables written after the call(s):
- uniswapV2Pair = _uniswapV2Pair (#884)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in everath._transfer(address,address,uint256) (#1194-1261):
External calls:
- swapAndLiquify(contractTokenBalance) (#1247)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1144-1150)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1247)
- recipient.transfer(amount) (#1167)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#1011)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- Transfer(sender,recipient,tTransferAmount) (#992)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- Transfer(sender,recipient,tTransferAmount) (#1002)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- Transfer(sender,recipient,tTransferAmount) (#982)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
Reentrancy in everath.constructor() (#642-676):
External calls:
- _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#646)
Event emitted after the call(s):
- SetAutomatedMarketMakerPair(pair,value) (#897)
- _setAutomatedMarketMakerPair(_uniswapV2Pair,true) (#650)
- Transfer(address(0),_msgSender(),_tTotal) (#675)
Reentrancy in everath.swapAndLiquify(uint256) (#1155-1164):
External calls:
- swapTokensForEth(contractTokenBalance) (#1158)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1144-1150)
External calls sending eth:
- transferToAddressETH(_oracleGasFeeAddress,newBalance) (#1160)
- recipient.transfer(amount) (#1167)
Event emitted after the call(s):
- SwapAndLiquify(contractTokenBalance,newBalance) (#1162)
Reentrancy in everath.transferFrom(address,address,uint256) (#740-744):
External calls:
- _transfer(sender,recipient,amount) (#741)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1144-1150)
External calls sending eth:
- _transfer(sender,recipient,amount) (#741)
- recipient.transfer(amount) (#1167)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1175)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#742)
Apply the check-effects-interactions pattern.
Additional information: link
Ownable.unlockOwner() (#498-503) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp > _lockTime,Contract is locked until 7 days) (#500)
Avoid relying on block.timestamp.
Additional information: link
Address.isContract(address) (#279-288) uses assembly
- INLINE ASM (#286)
Address._functionCallWithValue(address,bytes,uint256,string) (#315-336) uses assembly
- INLINE ASM (#328-331)
Do not use evm assembly.
Additional information: link
everath.ContractLock() (#635-638) compares to a boolean constant:
-require(bool,string)(_lock == false,Transaction Blocked) (#636)
Remove the equality to the boolean constant.
Additional information: link
everath.includeInReward(address) (#813-826) has costly operations inside a loop:
- _excluded.pop() (#822)
Use a local variable to hold the loop computation result.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#315-336) is never used and should be removed
Address.functionCall(address,bytes) (#298-300) is never used and should be removed
Address.functionCall(address,bytes,string) (#302-304) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#306-308) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#310-313) is never used and should be removed
Address.isContract(address) (#279-288) is never used and should be removed
Address.sendValue(address,uint256) (#290-296) is never used and should be removed
Context._msgData() (#35-38) is never used and should be removed
SafeMath.mod(uint256,uint256) (#391-393) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#396-399) is never used and should be removed
everath.addLiquidity(uint256,uint256) (#1178-1191) is never used and should be removed
Remove unused functions.
Additional information: link
everath._previousTaxFee (#581) is set pre-construction with a non-constant function or state variable:
- _taxFee
everath._previousLiquidityFee (#585) is set pre-construction with a non-constant function or state variable:
- _liquidityFee
everath._previousPenaltyFee (#589) is set pre-construction with a non-constant function or state variable:
- _penaltyFee
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) (#290-296):
- (success) = recipient.call{value: amount}() (#294)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#315-336):
- (success,returndata) = target.call{value: weiValue}(data) (#319)
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() (#98) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#99) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#116) is not in mixedCase
Function IUniswapV2Router01.WETH() (#138) is not in mixedCase
Contract everath (#513-1269) is not in CapWords
Event everathoracleTest() (#602) is not in CapWords
Event everathswapStateUpdated(bool) (#606) is not in CapWords
Parameter everath.setBuyerSpecialPresale(address,bool)._user (#685) is not in mixedCase
Parameter everath.setBuyerSpecialPresale(address,bool)._state (#685) is not in mixedCase
Parameter everath.setBuyerSpecialPresaleByOwner(address,bool)._user (#689) is not in mixedCase
Parameter everath.setBuyerSpecialPresaleByOwner(address,bool)._state (#689) is not in mixedCase
Parameter everath.getBuyerSpecialPresale(address)._user (#693) is not in mixedCase
Parameter everath.setswapState(bool)._enabled (#780) is not in mixedCase
Function everath.set_feesEnabled(bool) (#857-859) is not in mixedCase
Parameter everath.blackList(address)._user (#903) is not in mixedCase
Parameter everath.removeFromBlacklist(address)._user (#908) is not in mixedCase
Parameter everath.checkBlackList(address)._user (#913) is not in mixedCase
Function everath.lockContract_state(bool) (#920-922) is not in mixedCase
Function everath.Sweep() (#927-930) is not in mixedCase
Parameter everath.transferForeignToken(address,address)._token (#935) is not in mixedCase
Parameter everath.transferForeignToken(address,address)._to (#935) is not in mixedCase
Function everath.set_stopSellsState_owner(bool) (#943-945) is not in mixedCase
Function everath.set_stopSellsState_oracle(bool) (#947-949) is not in mixedCase
Parameter everath.calculateTaxFee(uint256)._amount (#1104) is not in mixedCase
Parameter everath.calculateLiquidityFee(uint256)._amount (#1110) is not in mixedCase
Variable everath._maxTxAmount (#571) is not in mixedCase
Variable everath._taxFee (#580) is not in mixedCase
Variable everath._liquidityFee (#584) is not in mixedCase
Variable everath._penaltyFee (#588) is not in mixedCase
Variable everath._oracleGasFeeAddress (#592) is not in mixedCase
Variable everath.special_presale (#596) is not in mixedCase
Variable everath.special_presale_buyers (#597) is not in mixedCase
Modifier everath.ContractLock() (#635-638) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#36)" inContext (#30-39)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Reentrancy in everath._transfer(address,address,uint256) (#1194-1261):
External calls:
- swapAndLiquify(contractTokenBalance) (#1247)
- recipient.transfer(amount) (#1167)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _liquidityFee = _previousLiquidityFee (#1130)
- _liquidityFee = 0 (#1124)
- _liquidityFee = 0 (#1038)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _penaltyFee = _previousPenaltyFee (#1131)
- _penaltyFee = 0 (#1125)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _previousLiquidityFee = _liquidityFee (#1120)
- _previousLiquidityFee = _liquidityFee (#1037)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _previousPenaltyFee = _penaltyFee (#1121)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _previousTaxFee = _taxFee (#1119)
- _previousTaxFee = _taxFee (#1035)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (#1099)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#997)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1007)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#977)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#988)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1008)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#989)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#999)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#979)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _rTotal = _rTotal.sub(rFee) (#1018)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _tFeeTotal = _tFeeTotal.add(tFee) (#1019)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#1101)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#976)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#987)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#998)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#978)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- _taxFee = _previousTaxFee (#1129)
- _taxFee = _penaltyFee (#1036)
- _taxFee = 0 (#1123)
- swapping = false (#1248)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#1011)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- Transfer(sender,recipient,tTransferAmount) (#992)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- Transfer(sender,recipient,tTransferAmount) (#1002)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
- Transfer(sender,recipient,tTransferAmount) (#982)
- _tokenTransfer(from,to,amount,takeFee) (#1260)
Reentrancy in everath.swapAndLiquify(uint256) (#1155-1164):
External calls:
- transferToAddressETH(_oracleGasFeeAddress,newBalance) (#1160)
- recipient.transfer(amount) (#1167)
Event emitted after the call(s):
- SwapAndLiquify(contractTokenBalance,newBalance) (#1162)
Reentrancy in everath.transferFrom(address,address,uint256) (#740-744):
External calls:
- _transfer(sender,recipient,amount) (#741)
- recipient.transfer(amount) (#1167)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#742)
- _allowances[owner][spender] = amount (#1174)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1175)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#742)
Apply the check-effects-interactions pattern.
Additional information: link
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#143) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#144)
Variable everath._transferFromExcluded(address,address,uint256).rTransferAmount (#986) is too similar to everath._transferFromExcluded(address,address,uint256).tTransferAmount (#986)
Variable everath._transferFromExcluded(address,address,uint256).rTransferAmount (#986) is too similar to everath._transferToExcluded(address,address,uint256).tTransferAmount (#996)
Variable everath._transferBothExcluded(address,address,uint256).rTransferAmount (#975) is too similar to everath._transferFromExcluded(address,address,uint256).tTransferAmount (#986)
Variable everath._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1075) is too similar to everath._getTValues(uint256).tTransferAmount (#1067)
Variable everath._transferToExcluded(address,address,uint256).rTransferAmount (#996) is too similar to everath._getTValues(uint256).tTransferAmount (#1067)
Variable everath._transferBothExcluded(address,address,uint256).rTransferAmount (#975) is too similar to everath._transferToExcluded(address,address,uint256).tTransferAmount (#996)
Variable everath._transferToExcluded(address,address,uint256).rTransferAmount (#996) is too similar to everath._getValues(uint256).tTransferAmount (#1023)
Variable everath._transferToExcluded(address,address,uint256).rTransferAmount (#996) is too similar to everath._transferStandard(address,address,uint256).tTransferAmount (#1006)
Variable everath._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1075) is too similar to everath._getValues(uint256).tTransferAmount (#1023)
Variable everath._transferStandard(address,address,uint256).rTransferAmount (#1006) is too similar to everath._getTValues(uint256).tTransferAmount (#1067)
Variable everath._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1075) is too similar to everath._transferStandard(address,address,uint256).tTransferAmount (#1006)
Variable everath.reflectionFromToken(uint256,bool).rTransferAmount (#960) is too similar to everath._getTValues(uint256).tTransferAmount (#1067)
Variable everath._transferToExcluded(address,address,uint256).rTransferAmount (#996) is too similar to everath._transferBothExcluded(address,address,uint256).tTransferAmount (#975)
Variable everath._transferStandard(address,address,uint256).rTransferAmount (#1006) is too similar to everath._transferStandard(address,address,uint256).tTransferAmount (#1006)
Variable everath._transferFromExcluded(address,address,uint256).rTransferAmount (#986) is too similar to everath._getTValues(uint256).tTransferAmount (#1067)
Variable everath._transferBothExcluded(address,address,uint256).rTransferAmount (#975) is too similar to everath._getTValues(uint256).tTransferAmount (#1067)
Variable everath.reflectionFromToken(uint256,bool).rTransferAmount (#960) is too similar to everath._getValues(uint256).tTransferAmount (#1023)
Variable everath.reflectionFromToken(uint256,bool).rTransferAmount (#960) is too similar to everath._transferStandard(address,address,uint256).tTransferAmount (#1006)
Variable everath._transferToExcluded(address,address,uint256).rTransferAmount (#996) is too similar to everath._transferFromExcluded(address,address,uint256).tTransferAmount (#986)
Variable everath._transferFromExcluded(address,address,uint256).rTransferAmount (#986) is too similar to everath._transferStandard(address,address,uint256).tTransferAmount (#1006)
Variable everath._transferFromExcluded(address,address,uint256).rTransferAmount (#986) is too similar to everath._getValues(uint256).tTransferAmount (#1023)
Variable everath._transferToExcluded(address,address,uint256).rTransferAmount (#996) is too similar to everath._transferToExcluded(address,address,uint256).tTransferAmount (#996)
Variable everath._getValues(uint256).rTransferAmount (#1024) is too similar to everath._getTValues(uint256).tTransferAmount (#1067)
Variable everath._transferBothExcluded(address,address,uint256).rTransferAmount (#975) is too similar to everath._getValues(uint256).tTransferAmount (#1023)
Variable everath._transferBothExcluded(address,address,uint256).rTransferAmount (#975) is too similar to everath._transferStandard(address,address,uint256).tTransferAmount (#1006)
Variable everath._transferBothExcluded(address,address,uint256).rTransferAmount (#975) is too similar to everath._transferBothExcluded(address,address,uint256).tTransferAmount (#975)
Variable everath._transferStandard(address,address,uint256).rTransferAmount (#1006) is too similar to everath._transferBothExcluded(address,address,uint256).tTransferAmount (#975)
Variable everath._transferStandard(address,address,uint256).rTransferAmount (#1006) is too similar to everath._getValues(uint256).tTransferAmount (#1023)
Variable everath.reflectionFromToken(uint256,bool).rTransferAmount (#960) is too similar to everath._transferFromExcluded(address,address,uint256).tTransferAmount (#986)
Variable everath._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1075) is too similar to everath._transferBothExcluded(address,address,uint256).tTransferAmount (#975)
Variable everath._getValues(uint256).rTransferAmount (#1024) is too similar to everath._transferStandard(address,address,uint256).tTransferAmount (#1006)
Variable everath.reflectionFromToken(uint256,bool).rTransferAmount (#960) is too similar to everath._transferBothExcluded(address,address,uint256).tTransferAmount (#975)
Variable everath._getValues(uint256).rTransferAmount (#1024) is too similar to everath._transferFromExcluded(address,address,uint256).tTransferAmount (#986)
Variable everath._transferFromExcluded(address,address,uint256).rTransferAmount (#986) is too similar to everath._transferBothExcluded(address,address,uint256).tTransferAmount (#975)
Variable everath._transferStandard(address,address,uint256).rTransferAmount (#1006) is too similar to everath._transferToExcluded(address,address,uint256).tTransferAmount (#996)
Variable everath._getValues(uint256).rTransferAmount (#1024) is too similar to everath._getValues(uint256).tTransferAmount (#1023)
Variable everath._getValues(uint256).rTransferAmount (#1024) is too similar to everath._transferBothExcluded(address,address,uint256).tTransferAmount (#975)
Variable everath._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1075) is too similar to everath._transferToExcluded(address,address,uint256).tTransferAmount (#996)
Variable everath.reflectionFromToken(uint256,bool).rTransferAmount (#960) is too similar to everath._transferToExcluded(address,address,uint256).tTransferAmount (#996)
Variable everath._transferStandard(address,address,uint256).rTransferAmount (#1006) is too similar to everath._transferFromExcluded(address,address,uint256).tTransferAmount (#986)
Variable everath._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1075) is too similar to everath._transferFromExcluded(address,address,uint256).tTransferAmount (#986)
Variable everath._getValues(uint256).rTransferAmount (#1024) is too similar to everath._transferToExcluded(address,address,uint256).tTransferAmount (#996)
Prevent variables from having similar names.
Additional information: link
everath.constructor() (#642-676) uses literals with too many digits:
- _intTotalSupply = 100000000 (#657)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
presaleContract() should be declared external:
- Ownable.presaleContract() (#426-428)
oracleManager() should be declared external:
- Ownable.oracleManager() (#430-432)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#449-452)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#454-456)
transferOracleManager(address) should be declared external:
- Ownable.transferOracleManager(address) (#465-467)
transferPresaleContract(address) should be declared external:
- Ownable.transferPresaleContract(address) (#475-477)
geUnlockTime() should be declared external:
- Ownable.geUnlockTime() (#485-487)
lockOwnerForTime(uint256) should be declared external:
- Ownable.lockOwnerForTime(uint256) (#490-495)
unlockOwner() should be declared external:
- Ownable.unlockOwner() (#498-503)
setSpecialPresaleState(bool) should be declared external:
- everath.setSpecialPresaleState(bool) (#681-683)
setBuyerSpecialPresale(address,bool) should be declared external:
- everath.setBuyerSpecialPresale(address,bool) (#685-687)
setBuyerSpecialPresaleByOwner(address,bool) should be declared external:
- everath.setBuyerSpecialPresaleByOwner(address,bool) (#689-691)
getBuyerSpecialPresale(address) should be declared external:
- everath.getBuyerSpecialPresale(address) (#693-695)
name() should be declared external:
- everath.name() (#700-702)
symbol() should be declared external:
- everath.symbol() (#704-706)
decimals() should be declared external:
- everath.decimals() (#708-710)
totalSupply() should be declared external:
- everath.totalSupply() (#712-714)
transfer(address,uint256) should be declared external:
- everath.transfer(address,uint256) (#721-724)
allowance(address,address) should be declared external:
- everath.allowance(address,address) (#726-728)
approve(address,uint256) should be declared external:
- everath.approve(address,uint256) (#730-738)
transferFrom(address,address,uint256) should be declared external:
- everath.transferFrom(address,address,uint256) (#740-744)
increaseAllowance(address,uint256) should be declared external:
- everath.increaseAllowance(address,uint256) (#746-749)
decreaseAllowance(address,uint256) should be declared external:
- everath.decreaseAllowance(address,uint256) (#751-754)
deliver(uint256) should be declared external:
- everath.deliver(uint256) (#756-768)
totalFees() should be declared external:
- everath.totalFees() (#773-775)
setswapState(bool) should be declared external:
- everath.setswapState(bool) (#780-783)
excludeFromReward(address) should be declared external:
- everath.excludeFromReward(address) (#803-811)
isExcludedFromReward(address) should be declared external:
- everath.isExcludedFromReward(address) (#828-830)
excludeFromFee(address) should be declared external:
- everath.excludeFromFee(address) (#835-837)
includeInFee(address) should be declared external:
- everath.includeInFee(address) (#839-841)
isExcludedFromFee(address) should be declared external:
- everath.isExcludedFromFee(address) (#843-845)
updateUniswapV2Router(address) should be declared external:
- everath.updateUniswapV2Router(address) (#878-885)
setAutomatedMarketMakerPair(address,bool) should be declared external:
- everath.setAutomatedMarketMakerPair(address,bool) (#887-891)
blackList(address) should be declared external:
- everath.blackList(address) (#903-906)
removeFromBlacklist(address) should be declared external:
- everath.removeFromBlacklist(address) (#908-911)
checkBlackList(address) should be declared external:
- everath.checkBlackList(address) (#913-915)
transferForeignToken(address,address) should be declared external:
- everath.transferForeignToken(address,address) (#935-938)
reflectionFromToken(uint256,bool) should be declared external:
- everath.reflectionFromToken(uint256,bool) (#954-963)
Use the external attribute for functions never called from the contract.
Additional information: link
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Telegram account has less than 100 subscribers
Twitter account has relatively few followers