A new cryptocurrency based on BNB smart chain. 4% of each transaction is always distributed to all holders as a reward. Thus, personal wealth increases automatically with every purchase or sale. In addition, 4% is donated to the network. This uses the existing capital to finance advertising measures, network expansions, and capital increases for the token. Drive is dedicated to the entire spectrum of topics of individual transport and has set itself the task of maintaining and continuously improving the driving pleasure and mobility of every individual around the world. DRIVE is enthusiastic about all forms of automotive traffic.
The following criteria are important: Automatic liquidity pool (LP) Automatic LP is DRIVE´s core competence. Here we have a feature that acts as a twofold beneficial implementation for owners.
4% for every transaction for all holders 4% for the liquidity of the DRIVE token First, the contract soaks up tokens from sellers and buyers alike and adds them to the LP, creating a solid price floor.
The increasing liquidity ultimately serves all holders, network members, and the token itself. This process is important to ensure stability in addition to pure speculation on the stock exchanges and to give all users the same opportunities.
All of this is an effort to alleviate some of the troubles we have seen with the current DeFi reflection tokens. We are confident that this model and protocol will prevail over the outdated reflection tokens for these reasons The long-term commitment of all holders and users is guaranteed by the permanently implemented LP process. A pure “burn” process is not up-to-date and also not transparent. Our process not only creates trust but also a long-term establishment.
We will implement this process of the (LP) accordingly in real-time on our homepage and make it accessible to everyone at any time with data.
Contract creator or owner is blacklisted for past scams
Reentrancy in SafeDrive._transfer(address,address,uint256) (#996-1040):
External calls:
- swapAndLiquify(contractTokenBalance) (#1027)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1088-1095)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1074-1080)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1027)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1088-1095)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1039)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (#952)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1121)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1130)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1141)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#868)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1122)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1132)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1142)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#870)
- _tokenTransfer(from,to,amount,takeFee) (#1039)
- _rTotal = _rTotal.sub(rFee) (#907)
- _tokenTransfer(from,to,amount,takeFee) (#1039)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#954)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#867)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1140)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1131)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#869)
Apply the check-effects-interactions pattern.
Additional information: link
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
SafeDrive.addLiquidity(uint256,uint256) (#1083-1096) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1088-1095)
Ensure that all the return values of the function calls are used.
Additional information: link
SafeDrive.allowance(address,address).owner (#784) shadows:
- Ownable.owner() (#420-422) (function)
SafeDrive._approve(address,address,uint256).owner (#988) shadows:
- Ownable.owner() (#420-422) (function)
Rename the local variables that shadow another component.
Additional information: link
SafeDrive.setTaxFeePercent(uint256) (#884-886) should emit an event for:
- _taxFee = taxFee (#885)
SafeDrive.setLiquidityFeePercent(uint256) (#888-890) should emit an event for:
- _liquidityFee = liquidityFee (#889)
SafeDrive.setMaxTxPercent(uint256) (#892-896) should emit an event for:
- _maxTxAmount = _tTotal.mul(maxTxPercent).div(10 ** 2) (#893-895)
Emit an event for critical parameter changes.
Additional information: link
Reentrancy in SafeDrive._transfer(address,address,uint256) (#996-1040):
External calls:
- swapAndLiquify(contractTokenBalance) (#1027)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1088-1095)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1074-1080)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1027)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1088-1095)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1039)
- _liquidityFee = _previousLiquidityFee (#981)
- _liquidityFee = 0 (#976)
- _tokenTransfer(from,to,amount,takeFee) (#1039)
- _previousLiquidityFee = _liquidityFee (#973)
- _tokenTransfer(from,to,amount,takeFee) (#1039)
- _previousTaxFee = _taxFee (#972)
- _tokenTransfer(from,to,amount,takeFee) (#1039)
- _tFeeTotal = _tFeeTotal.add(tFee) (#908)
- _tokenTransfer(from,to,amount,takeFee) (#1039)
- _taxFee = _previousTaxFee (#980)
- _taxFee = 0 (#975)
Reentrancy in SafeDrive.constructor() (#740-756):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#745-746)
State variables written after the call(s):
- _isExcludedFromFee[owner()] = true (#752)
- _isExcludedFromFee[address(this)] = true (#753)
- uniswapV2Router = _uniswapV2Router (#749)
Reentrancy in SafeDrive.swapAndLiquify(uint256) (#1042-1063):
External calls:
- swapTokensForEth(half) (#1054)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1074-1080)
- addLiquidity(otherHalf,newBalance) (#1060)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1088-1095)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1060)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1088-1095)
State variables written after the call(s):
- addLiquidity(otherHalf,newBalance) (#1060)
- _allowances[owner][spender] = amount (#992)
Reentrancy in SafeDrive.transferFrom(address,address,uint256) (#793-797):
External calls:
- _transfer(sender,recipient,amount) (#794)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1088-1095)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1074-1080)
External calls sending eth:
- _transfer(sender,recipient,amount) (#794)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1088-1095)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,BEP20: transfer amount exceeds allowance)) (#795)
- _allowances[owner][spender] = amount (#992)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in SafeDrive._transfer(address,address,uint256) (#996-1040):
External calls:
- swapAndLiquify(contractTokenBalance) (#1027)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1088-1095)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1074-1080)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1027)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1088-1095)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#1125)
- _tokenTransfer(from,to,amount,takeFee) (#1039)
- Transfer(sender,recipient,tTransferAmount) (#1145)
- _tokenTransfer(from,to,amount,takeFee) (#1039)
- Transfer(sender,recipient,tTransferAmount) (#1135)
- _tokenTransfer(from,to,amount,takeFee) (#1039)
- Transfer(sender,recipient,tTransferAmount) (#873)
- _tokenTransfer(from,to,amount,takeFee) (#1039)
Reentrancy in SafeDrive.constructor() (#740-756):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#745-746)
Event emitted after the call(s):
- Transfer(address(0),_msgSender(),_tTotal) (#755)
Reentrancy in SafeDrive.swapAndLiquify(uint256) (#1042-1063):
External calls:
- swapTokensForEth(half) (#1054)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1074-1080)
- addLiquidity(otherHalf,newBalance) (#1060)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1088-1095)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1060)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1088-1095)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#993)
- addLiquidity(otherHalf,newBalance) (#1060)
- SwapAndLiquify(half,newBalance,otherHalf) (#1062)
Reentrancy in SafeDrive.transferFrom(address,address,uint256) (#793-797):
External calls:
- _transfer(sender,recipient,amount) (#794)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1088-1095)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1074-1080)
External calls sending eth:
- _transfer(sender,recipient,amount) (#794)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1088-1095)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#993)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,BEP20: transfer amount exceeds allowance)) (#795)
Apply the check-effects-interactions pattern.
Additional information: link
Ownable.unlock() (#467-472) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now > _lockTime,Contract is locked until 7 days) (#469)
Avoid relying on block.timestamp.
Additional information: link
Address.isContract(address) (#272-281) uses assembly
- INLINE ASM (#279)
Address._functionCallWithValue(address,bytes,uint256,string) (#365-386) uses assembly
- INLINE ASM (#378-381)
Do not use evm assembly.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#365-386) is never used and should be removed
Address.functionCall(address,bytes) (#325-327) is never used and should be removed
Address.functionCall(address,bytes,string) (#335-337) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#350-352) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#360-363) is never used and should be removed
Address.isContract(address) (#272-281) is never used and should be removed
Address.sendValue(address,uint256) (#299-305) is never used and should be removed
Context._msgData() (#244-247) is never used and should be removed
SafeMath.mod(uint256,uint256) (#217-219) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#233-236) is never used and should be removed
Remove unused functions.
Additional information: link
SafeDrive._rTotal (#704) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
SafeDrive._previousTaxFee (#712) is set pre-construction with a non-constant function or state variable:
- _taxFee
SafeDrive._previousLiquidityFee (#715) 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) (#299-305):
- (success) = recipient.call{value: amount}() (#303)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#365-386):
- (success,returndata) = target.call{value: weiValue}(data) (#369)
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() (#511) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#512) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#529) is not in mixedCase
Function IUniswapV2Router01.WETH() (#551) is not in mixedCase
Parameter SafeDrive.setSwapAndLiquifyEnabled(bool)._enabled (#898) is not in mixedCase
Parameter SafeDrive.calculateTaxFee(uint256)._amount (#957) is not in mixedCase
Parameter SafeDrive.calculateLiquidityFee(uint256)._amount (#963) is not in mixedCase
Variable SafeDrive._taxFee (#711) is not in mixedCase
Variable SafeDrive._liquidityFee (#714) is not in mixedCase
Variable SafeDrive._maxTxAmount (#723) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#245)" inContext (#239-248)
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 (#556) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#557)
Variable SafeDrive._transferToExcluded(address,address,uint256).rTransferAmount (#1129) is too similar to SafeDrive._transferStandard(address,address,uint256).tTransferAmount (#1120)
Variable SafeDrive._transferBothExcluded(address,address,uint256).rTransferAmount (#866) is too similar to SafeDrive._getValues(uint256).tTransferAmount (#912)
Variable SafeDrive._transferFromExcluded(address,address,uint256).rTransferAmount (#1139) is too similar to SafeDrive._transferStandard(address,address,uint256).tTransferAmount (#1120)
Variable SafeDrive._transferToExcluded(address,address,uint256).rTransferAmount (#1129) is too similar to SafeDrive._transferBothExcluded(address,address,uint256).tTransferAmount (#866)
Variable SafeDrive._transferStandard(address,address,uint256).rTransferAmount (#1120) is too similar to SafeDrive._getTValues(uint256).tTransferAmount (#920)
Variable SafeDrive.reflectionFromToken(uint256,bool).rTransferAmount (#832) is too similar to SafeDrive._transferBothExcluded(address,address,uint256).tTransferAmount (#866)
Variable SafeDrive._transferFromExcluded(address,address,uint256).rTransferAmount (#1139) is too similar to SafeDrive._transferBothExcluded(address,address,uint256).tTransferAmount (#866)
Variable SafeDrive._transferToExcluded(address,address,uint256).rTransferAmount (#1129) is too similar to SafeDrive._transferToExcluded(address,address,uint256).tTransferAmount (#1129)
Variable SafeDrive._transferFromExcluded(address,address,uint256).rTransferAmount (#1139) is too similar to SafeDrive._transferToExcluded(address,address,uint256).tTransferAmount (#1129)
Variable SafeDrive._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#928) is too similar to SafeDrive._getTValues(uint256).tTransferAmount (#920)
Variable SafeDrive._transferBothExcluded(address,address,uint256).rTransferAmount (#866) is too similar to SafeDrive._getTValues(uint256).tTransferAmount (#920)
Variable SafeDrive._getValues(uint256).rTransferAmount (#913) is too similar to SafeDrive._getTValues(uint256).tTransferAmount (#920)
Variable SafeDrive._transferToExcluded(address,address,uint256).rTransferAmount (#1129) is too similar to SafeDrive._transferFromExcluded(address,address,uint256).tTransferAmount (#1139)
Variable SafeDrive.reflectionFromToken(uint256,bool).rTransferAmount (#832) is too similar to SafeDrive._getValues(uint256).tTransferAmount (#912)
Variable SafeDrive._transferFromExcluded(address,address,uint256).rTransferAmount (#1139) is too similar to SafeDrive._transferFromExcluded(address,address,uint256).tTransferAmount (#1139)
Variable SafeDrive._transferStandard(address,address,uint256).rTransferAmount (#1120) is too similar to SafeDrive._transferStandard(address,address,uint256).tTransferAmount (#1120)
Variable SafeDrive._transferToExcluded(address,address,uint256).rTransferAmount (#1129) is too similar to SafeDrive._getValues(uint256).tTransferAmount (#912)
Variable SafeDrive._transferStandard(address,address,uint256).rTransferAmount (#1120) is too similar to SafeDrive._transferBothExcluded(address,address,uint256).tTransferAmount (#866)
Variable SafeDrive._transferFromExcluded(address,address,uint256).rTransferAmount (#1139) is too similar to SafeDrive._getValues(uint256).tTransferAmount (#912)
Variable SafeDrive._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#928) is too similar to SafeDrive._transferStandard(address,address,uint256).tTransferAmount (#1120)
Variable SafeDrive._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#928) is too similar to SafeDrive._transferBothExcluded(address,address,uint256).tTransferAmount (#866)
Variable SafeDrive._transferToExcluded(address,address,uint256).rTransferAmount (#1129) is too similar to SafeDrive._getTValues(uint256).tTransferAmount (#920)
Variable SafeDrive.reflectionFromToken(uint256,bool).rTransferAmount (#832) is too similar to SafeDrive._getTValues(uint256).tTransferAmount (#920)
Variable SafeDrive._transferFromExcluded(address,address,uint256).rTransferAmount (#1139) is too similar to SafeDrive._getTValues(uint256).tTransferAmount (#920)
Variable SafeDrive._transferBothExcluded(address,address,uint256).rTransferAmount (#866) is too similar to SafeDrive._transferBothExcluded(address,address,uint256).tTransferAmount (#866)
Variable SafeDrive._transferStandard(address,address,uint256).rTransferAmount (#1120) is too similar to SafeDrive._getValues(uint256).tTransferAmount (#912)
Variable SafeDrive._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#928) is too similar to SafeDrive._getValues(uint256).tTransferAmount (#912)
Variable SafeDrive.reflectionFromToken(uint256,bool).rTransferAmount (#832) is too similar to SafeDrive._transferFromExcluded(address,address,uint256).tTransferAmount (#1139)
Variable SafeDrive._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#928) is too similar to SafeDrive._transferToExcluded(address,address,uint256).tTransferAmount (#1129)
Variable SafeDrive._getValues(uint256).rTransferAmount (#913) is too similar to SafeDrive._transferFromExcluded(address,address,uint256).tTransferAmount (#1139)
Variable SafeDrive._transferStandard(address,address,uint256).rTransferAmount (#1120) is too similar to SafeDrive._transferFromExcluded(address,address,uint256).tTransferAmount (#1139)
Variable SafeDrive.reflectionFromToken(uint256,bool).rTransferAmount (#832) is too similar to SafeDrive._transferToExcluded(address,address,uint256).tTransferAmount (#1129)
Variable SafeDrive._getValues(uint256).rTransferAmount (#913) is too similar to SafeDrive._transferToExcluded(address,address,uint256).tTransferAmount (#1129)
Variable SafeDrive._transferBothExcluded(address,address,uint256).rTransferAmount (#866) is too similar to SafeDrive._transferFromExcluded(address,address,uint256).tTransferAmount (#1139)
Variable SafeDrive._transferStandard(address,address,uint256).rTransferAmount (#1120) is too similar to SafeDrive._transferToExcluded(address,address,uint256).tTransferAmount (#1129)
Variable SafeDrive._transferBothExcluded(address,address,uint256).rTransferAmount (#866) is too similar to SafeDrive._transferToExcluded(address,address,uint256).tTransferAmount (#1129)
Variable SafeDrive.reflectionFromToken(uint256,bool).rTransferAmount (#832) is too similar to SafeDrive._transferStandard(address,address,uint256).tTransferAmount (#1120)
Variable SafeDrive._getValues(uint256).rTransferAmount (#913) is too similar to SafeDrive._transferStandard(address,address,uint256).tTransferAmount (#1120)
Variable SafeDrive._transferBothExcluded(address,address,uint256).rTransferAmount (#866) is too similar to SafeDrive._transferStandard(address,address,uint256).tTransferAmount (#1120)
Variable SafeDrive._getValues(uint256).rTransferAmount (#913) is too similar to SafeDrive._transferBothExcluded(address,address,uint256).tTransferAmount (#866)
Variable SafeDrive._getValues(uint256).rTransferAmount (#913) is too similar to SafeDrive._getValues(uint256).tTransferAmount (#912)
Variable SafeDrive._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#928) is too similar to SafeDrive._transferFromExcluded(address,address,uint256).tTransferAmount (#1139)
Prevent variables from having similar names.
Additional information: link
SafeDrive.slitherConstructorVariables() (#689-1149) uses literals with too many digits:
- _tTotal = 210000000000 * 10 ** 9 (#703)
SafeDrive.slitherConstructorVariables() (#689-1149) uses literals with too many digits:
- _maxTxAmount = 5000000 * 10 ** 6 * 10 ** 9 (#723)
SafeDrive.slitherConstructorVariables() (#689-1149) uses literals with too many digits:
- numTokensSellToAddToLiquidity = 5000000 * 10 ** 6 * 10 ** 9 (#724)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
SafeDrive._decimals (#709) should be constant
SafeDrive._name (#707) should be constant
SafeDrive._symbol (#708) should be constant
SafeDrive._tTotal (#703) should be constant
SafeDrive.numTokensSellToAddToLiquidity (#724) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#439-442)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#448-452)
geUnlockTime() should be declared external:
- Ownable.geUnlockTime() (#454-456)
lock(uint256) should be declared external:
- Ownable.lock(uint256) (#459-464)
unlock() should be declared external:
- Ownable.unlock() (#467-472)
name() should be declared external:
- SafeDrive.name() (#758-760)
symbol() should be declared external:
- SafeDrive.symbol() (#762-764)
decimals() should be declared external:
- SafeDrive.decimals() (#766-768)
totalSupply() should be declared external:
- SafeDrive.totalSupply() (#770-772)
transfer(address,uint256) should be declared external:
- SafeDrive.transfer(address,uint256) (#779-782)
allowance(address,address) should be declared external:
- SafeDrive.allowance(address,address) (#784-786)
approve(address,uint256) should be declared external:
- SafeDrive.approve(address,uint256) (#788-791)
transferFrom(address,address,uint256) should be declared external:
- SafeDrive.transferFrom(address,address,uint256) (#793-797)
increaseAllowance(address,uint256) should be declared external:
- SafeDrive.increaseAllowance(address,uint256) (#799-802)
decreaseAllowance(address,uint256) should be declared external:
- SafeDrive.decreaseAllowance(address,uint256) (#804-807)
isExcludedFromReward(address) should be declared external:
- SafeDrive.isExcludedFromReward(address) (#809-811)
totalFees() should be declared external:
- SafeDrive.totalFees() (#813-815)
deliver(uint256) should be declared external:
- SafeDrive.deliver(uint256) (#817-824)
reflectionFromToken(uint256,bool) should be declared external:
- SafeDrive.reflectionFromToken(uint256,bool) (#826-835)
excludeFromReward(address) should be declared external:
- SafeDrive.excludeFromReward(address) (#843-851)
excludeFromFee(address) should be declared external:
- SafeDrive.excludeFromFee(address) (#876-878)
includeInFee(address) should be declared external:
- SafeDrive.includeInFee(address) (#880-882)
setSwapAndLiquifyEnabled(bool) should be declared external:
- SafeDrive.setSwapAndLiquifyEnabled(bool) (#898-901)
isExcludedFromFee(address) should be declared external:
- SafeDrive.isExcludedFromFee(address) (#984-986)
Use the external attribute for functions never called from the contract.
Additional information: link
SafeDrive.includeInReward(address) (#853-864) has costly operations inside a loop:
- _excluded.pop() (#860)
Use a local variable to hold the loop computation result.
Additional information: link
Average 30d PancakeSwap volume is less than $100. Token is either dead or inactive.
Average 30d PancakeSwap liquidity is low.
Average 30d number of PancakeSwap swaps is low.
Average PancakeSwap trading volume, liqudity, number of swaps are low. Token seems to be inactive.
Token is deployed only at one blockchain
Contract has 8% buy tax and 7% sell tax.
Taxes are low and contract ownership is renounced.
Unable to find Telegram link on the website
Unable to find Twitter link on the website
Unable to find token on CoinHunt
Additional information: link
Token is marked as scam (rug pull, honeypot, phishing, etc.)
Additional information: link
Alexa traffic rank is very low
Additional information: link
Young tokens have high risks of scam / price dump / death
Token has a considerable age, but social accounts / website are missing or have few users
Token has a considerable age, but average PancakeSwap 30d trading volume is low
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Token has relatively low CoinGecko rank
Token has relatively low CoinMarketCap rank
Telegram account link seems to be invalid
Last post in Twitter was more than 30 days ago