Wallet pay is a decentralized wallet on the smart chain binance blockchain, offering debit card payments using crypto, support for e-commerce payments,
Reentrancy in WALLETPAY._transfer(address,address,uint256) (#756-800):
External calls:
- swapAndLiquify(contractTokenBalance) (#787)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#848-855)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#834-840)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#787)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#848-855)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#799)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (#695)
- _rOwned[_burnWalletAddress] = _rOwned[_burnWalletAddress].add(rBurn) (#703)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#881)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#891)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#604)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#882)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#903)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#904)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#893)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#606)
- _tokenTransfer(from,to,amount,takeFee) (#799)
- _rTotal = _rTotal.sub(rFee) (#648)
- _tokenTransfer(from,to,amount,takeFee) (#799)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#697)
- _tOwned[_burnWalletAddress] = _tOwned[_burnWalletAddress].add(tBurn) (#705)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#603)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#902)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#892)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#605)
Apply the check-effects-interactions pattern.
Additional information: link
Contract ownership is not renounced (belongs to a wallet)
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
WALLETPAY.addLiquidity(uint256,uint256) (#843-856) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#848-855)
Ensure that all the return values of the function calls are used.
Additional information: link
WALLETPAY.allowance(address,address).owner (#520) shadows:
- Ownable.owner() (#197-199) (function)
WALLETPAY._approve(address,address,uint256).owner (#748) shadows:
- Ownable.owner() (#197-199) (function)
Rename the local variables that shadow another component.
Additional information: link
includeInFee(address) should be declared external:
- WALLETPAY.includeInFee(address) (#617-619)
excludeFromFee(address) should be declared external:
- WALLETPAY.excludeFromFee(address) (#613-615)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#206-209)
decreaseAllowance(address,uint256) should be declared external:
- WALLETPAY.decreaseAllowance(address,uint256) (#540-543)
symbol() should be declared external:
- WALLETPAY.symbol() (#498-500)
increaseAllowance(address,uint256) should be declared external:
- WALLETPAY.increaseAllowance(address,uint256) (#535-538)
setSwapAndLiquifyEnabled(bool) should be declared external:
- WALLETPAY.setSwapAndLiquifyEnabled(bool) (#639-642)
reflectionFromToken(uint256,bool) should be declared external:
- WALLETPAY.reflectionFromToken(uint256,bool) (#562-571)
transfer(address,uint256) should be declared external:
- WALLETPAY.transfer(address,uint256) (#515-518)
deliver(uint256) should be declared external:
- WALLETPAY.deliver(uint256) (#553-560)
decimals() should be declared external:
- WALLETPAY.decimals() (#502-504)
isExcludedFromReward(address) should be declared external:
- WALLETPAY.isExcludedFromReward(address) (#545-547)
excludeFromReward(address) should be declared external:
- WALLETPAY.excludeFromReward(address) (#579-587)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#211-215)
totalSupply() should be declared external:
- WALLETPAY.totalSupply() (#506-508)
allowance(address,address) should be declared external:
- WALLETPAY.allowance(address,address) (#520-522)
totalFees() should be declared external:
- WALLETPAY.totalFees() (#549-551)
name() should be declared external:
- WALLETPAY.name() (#494-496)
transferFrom(address,address,uint256) should be declared external:
- WALLETPAY.transferFrom(address,address,uint256) (#529-533)
approve(address,uint256) should be declared external:
- WALLETPAY.approve(address,uint256) (#524-527)
isExcludedFromFee(address) should be declared external:
- WALLETPAY.isExcludedFromFee(address) (#744-746)
Use the external attribute for functions never called from the contract.
Additional information: link
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (#135-142):
- (success,returndata) = target.call{value: value}(data) (#140)
Low level call in Address.sendValue(address,uint256) (#115-121):
- (success) = recipient.call{value: amount}() (#119)
Low level call in Address.functionStaticCall(address,bytes,string) (#148-154):
- (success,returndata) = target.staticcall(data) (#152)
Low level call in Address.functionDelegateCall(address,bytes,string) (#160-166):
- (success,returndata) = target.delegatecall(data) (#164)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Redundant expression "this (#102)" inContext (#96-105)
Remove redundant statements if they congest code but offer no value.
Additional information: link
WALLETPAY.setMaxTxPercent(uint256) (#633-637) should emit an event for:
- _maxTxAmount = _tTotal.mul(maxTxPercent).div(10 ** 2) (#634-636)
WALLETPAY.setBurnFeePercent(uint256) (#625-627) should emit an event for:
- _burnFee = burnFee (#626)
WALLETPAY.setTaxFeePercent(uint256) (#621-623) should emit an event for:
- _taxFee = taxFee (#622)
WALLETPAY.setLiquidityFeePercent(uint256) (#629-631) should emit an event for:
- _liquidityFee = liquidityFee (#630)
Emit an event for critical parameter changes.
Additional information: link
Address._verifyCallResult(bool,bytes,string) (#168-185) uses assembly
- INLINE ASM (#177-180)
Address.isContract(address) (#108-113) uses assembly
- INLINE ASM (#111)
Do not use evm assembly.
Additional information: link
Reentrancy in WALLETPAY.transferFrom(address,address,uint256) (#529-533):
External calls:
- _transfer(sender,recipient,amount) (#530)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#848-855)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#834-840)
External calls sending eth:
- _transfer(sender,recipient,amount) (#530)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#848-855)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#531)
- _allowances[owner][spender] = amount (#752)
Reentrancy in WALLETPAY.swapAndLiquify(uint256) (#802-823):
External calls:
- swapTokensForEth(half) (#814)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#834-840)
- addLiquidity(otherHalf,newBalance) (#820)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#848-855)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#820)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#848-855)
State variables written after the call(s):
- addLiquidity(otherHalf,newBalance) (#820)
- _allowances[owner][spender] = amount (#752)
Reentrancy in WALLETPAY._transfer(address,address,uint256) (#756-800):
External calls:
- swapAndLiquify(contractTokenBalance) (#787)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#848-855)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#834-840)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#787)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#848-855)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#799)
- _burnFee = _previousBurnFee (#740)
- _burnFee = 0 (#734)
- _tokenTransfer(from,to,amount,takeFee) (#799)
- _liquidityFee = _previousLiquidityFee (#741)
- _liquidityFee = 0 (#735)
- _tokenTransfer(from,to,amount,takeFee) (#799)
- _previousBurnFee = _burnFee (#730)
- _tokenTransfer(from,to,amount,takeFee) (#799)
- _previousLiquidityFee = _liquidityFee (#731)
- _tokenTransfer(from,to,amount,takeFee) (#799)
- _previousTaxFee = _taxFee (#729)
- _tokenTransfer(from,to,amount,takeFee) (#799)
- _tFeeTotal = _tFeeTotal.add(tFee) (#649)
- _tokenTransfer(from,to,amount,takeFee) (#799)
- _taxFee = _previousTaxFee (#739)
- _taxFee = 0 (#733)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in WALLETPAY._transfer(address,address,uint256) (#756-800):
External calls:
- swapAndLiquify(contractTokenBalance) (#787)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#848-855)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#834-840)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#787)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#848-855)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#886)
- _tokenTransfer(from,to,amount,takeFee) (#799)
- Transfer(sender,recipient,tTransferAmount) (#908)
- _tokenTransfer(from,to,amount,takeFee) (#799)
- Transfer(sender,recipient,tTransferAmount) (#897)
- _tokenTransfer(from,to,amount,takeFee) (#799)
- Transfer(sender,recipient,tTransferAmount) (#610)
- _tokenTransfer(from,to,amount,takeFee) (#799)
Reentrancy in WALLETPAY.transferFrom(address,address,uint256) (#529-533):
External calls:
- _transfer(sender,recipient,amount) (#530)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#848-855)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#834-840)
External calls sending eth:
- _transfer(sender,recipient,amount) (#530)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#848-855)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#753)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#531)
Reentrancy in WALLETPAY.swapAndLiquify(uint256) (#802-823):
External calls:
- swapTokensForEth(half) (#814)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#834-840)
- addLiquidity(otherHalf,newBalance) (#820)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#848-855)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#820)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#848-855)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#753)
- addLiquidity(otherHalf,newBalance) (#820)
- SwapAndLiquify(half,newBalance,otherHalf) (#822)
Apply the check-effects-interactions pattern.
Additional information: link
WALLETPAY.includeInReward(address) (#589-600) has costly operations inside a loop:
- _excluded.pop() (#596)
Use a local variable to hold the loop computation result.
Additional information: link
SafeMath.tryDiv(uint256,uint256) (#40-45) is never used and should be removed
Address.sendValue(address,uint256) (#115-121) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#131-133) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (#47-52) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (#160-166) is never used and should be removed
Address.functionDelegateCall(address,bytes) (#156-158) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (#16-22) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#88-93) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#135-142) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#81-86) is never used and should be removed
Context._msgData() (#101-104) is never used and should be removed
Address.functionStaticCall(address,bytes) (#144-146) is never used and should be removed
SafeMath.mod(uint256,uint256) (#70-72) is never used and should be removed
Address._verifyCallResult(bool,bytes,string) (#168-185) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (#31-38) is never used and should be removed
SafeMath.trySub(uint256,uint256) (#24-29) is never used and should be removed
Address.isContract(address) (#108-113) is never used and should be removed
Address.functionCall(address,bytes,string) (#127-129) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#148-154) is never used and should be removed
Address.functionCall(address,bytes) (#123-125) is never used and should be removed
Remove unused functions.
Additional information: link
WALLETPAY._previousLiquidityFee (#451) is set pre-construction with a non-constant function or state variable:
- _liquidityFee
WALLETPAY._rTotal (#437) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
WALLETPAY._previousBurnFee (#448) is set pre-construction with a non-constant function or state variable:
- _burnFee
WALLETPAY._previousTaxFee (#445) is set pre-construction with a non-constant function or state variable:
- _taxFee
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
Variable WALLETPAY._taxFee (#444) is not in mixedCase
Variable WALLETPAY._liquidityFee (#450) is not in mixedCase
Variable WALLETPAY._burnFee (#447) is not in mixedCase
Variable WALLETPAY._maxTxAmount (#459) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#250) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#267) is not in mixedCase
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (#249) is not in mixedCase
Parameter WALLETPAY.calculateBurnFee(uint256)._amount (#714) is not in mixedCase
Parameter WALLETPAY.calculateLiquidityFee(uint256)._amount (#720) is not in mixedCase
Parameter WALLETPAY.setSwapAndLiquifyEnabled(bool)._enabled (#639) is not in mixedCase
Function IUniswapV2Router01.WETH() (#287) is not in mixedCase
Parameter WALLETPAY.calculateTaxFee(uint256)._amount (#708) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Variable WALLETPAY._transferFromExcluded(address,address,uint256).rTransferAmount (#901) is too similar to WALLETPAY._getTValues(uint256).tTransferAmount (#662)
Variable WALLETPAY.reflectionFromToken(uint256,bool).rTransferAmount (#568) is too similar to WALLETPAY._transferToExcluded(address,address,uint256).tTransferAmount (#890)
Variable WALLETPAY._transferBothExcluded(address,address,uint256).rTransferAmount (#602) is too similar to WALLETPAY._transferStandard(address,address,uint256).tTransferAmount (#880)
Variable WALLETPAY._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#671) is too similar to WALLETPAY._transferFromExcluded(address,address,uint256).tTransferAmount (#901)
Variable WALLETPAY._getValues(uint256).rTransferAmount (#654) is too similar to WALLETPAY._transferFromExcluded(address,address,uint256).tTransferAmount (#901)
Variable WALLETPAY._transferToExcluded(address,address,uint256).rTransferAmount (#890) is too similar to WALLETPAY._getTValues(uint256).tTransferAmount (#662)
Variable WALLETPAY._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#671) is too similar to WALLETPAY._transferToExcluded(address,address,uint256).tTransferAmount (#890)
Variable WALLETPAY._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#671) is too similar to WALLETPAY._getValues(uint256).tTransferAmount (#653)
Variable WALLETPAY._transferFromExcluded(address,address,uint256).rTransferAmount (#901) is too similar to WALLETPAY._transferBothExcluded(address,address,uint256).tTransferAmount (#602)
Variable WALLETPAY.reflectionFromToken(uint256,bool).rTransferAmount (#568) is too similar to WALLETPAY._transferBothExcluded(address,address,uint256).tTransferAmount (#602)
Variable WALLETPAY._transferToExcluded(address,address,uint256).rTransferAmount (#890) is too similar to WALLETPAY._getValues(uint256).tTransferAmount (#653)
Variable WALLETPAY._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#671) is too similar to WALLETPAY._getTValues(uint256).tTransferAmount (#662)
Variable WALLETPAY._transferFromExcluded(address,address,uint256).rTransferAmount (#901) is too similar to WALLETPAY._transferToExcluded(address,address,uint256).tTransferAmount (#890)
Variable WALLETPAY._transferBothExcluded(address,address,uint256).rTransferAmount (#602) is too similar to WALLETPAY._getTValues(uint256).tTransferAmount (#662)
Variable WALLETPAY.reflectionFromToken(uint256,bool).rTransferAmount (#568) is too similar to WALLETPAY._transferStandard(address,address,uint256).tTransferAmount (#880)
Variable WALLETPAY._transferBothExcluded(address,address,uint256).rTransferAmount (#602) is too similar to WALLETPAY._transferBothExcluded(address,address,uint256).tTransferAmount (#602)
Variable WALLETPAY._transferToExcluded(address,address,uint256).rTransferAmount (#890) is too similar to WALLETPAY._transferToExcluded(address,address,uint256).tTransferAmount (#890)
Variable WALLETPAY.reflectionFromToken(uint256,bool).rTransferAmount (#568) is too similar to WALLETPAY._getTValues(uint256).tTransferAmount (#662)
Variable WALLETPAY._transferStandard(address,address,uint256).rTransferAmount (#880) is too similar to WALLETPAY._transferStandard(address,address,uint256).tTransferAmount (#880)
Variable WALLETPAY._transferToExcluded(address,address,uint256).rTransferAmount (#890) is too similar to WALLETPAY._transferBothExcluded(address,address,uint256).tTransferAmount (#602)
Variable WALLETPAY._transferBothExcluded(address,address,uint256).rTransferAmount (#602) is too similar to WALLETPAY._transferFromExcluded(address,address,uint256).tTransferAmount (#901)
Variable WALLETPAY.reflectionFromToken(uint256,bool).rTransferAmount (#568) is too similar to WALLETPAY._getValues(uint256).tTransferAmount (#653)
Variable WALLETPAY._transferFromExcluded(address,address,uint256).rTransferAmount (#901) is too similar to WALLETPAY._getValues(uint256).tTransferAmount (#653)
Variable WALLETPAY._transferFromExcluded(address,address,uint256).rTransferAmount (#901) is too similar to WALLETPAY._transferFromExcluded(address,address,uint256).tTransferAmount (#901)
Variable WALLETPAY._getValues(uint256).rTransferAmount (#654) is too similar to WALLETPAY._transferBothExcluded(address,address,uint256).tTransferAmount (#602)
Variable WALLETPAY._getValues(uint256).rTransferAmount (#654) is too similar to WALLETPAY._getTValues(uint256).tTransferAmount (#662)
Variable WALLETPAY._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#671) is too similar to WALLETPAY._transferStandard(address,address,uint256).tTransferAmount (#880)
Variable WALLETPAY._transferBothExcluded(address,address,uint256).rTransferAmount (#602) is too similar to WALLETPAY._transferToExcluded(address,address,uint256).tTransferAmount (#890)
Variable WALLETPAY._transferStandard(address,address,uint256).rTransferAmount (#880) is too similar to WALLETPAY._transferFromExcluded(address,address,uint256).tTransferAmount (#901)
Variable WALLETPAY.reflectionFromToken(uint256,bool).rTransferAmount (#568) is too similar to WALLETPAY._transferFromExcluded(address,address,uint256).tTransferAmount (#901)
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#292) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#293)
Variable WALLETPAY._transferStandard(address,address,uint256).rTransferAmount (#880) is too similar to WALLETPAY._transferToExcluded(address,address,uint256).tTransferAmount (#890)
Variable WALLETPAY._getValues(uint256).rTransferAmount (#654) is too similar to WALLETPAY._transferToExcluded(address,address,uint256).tTransferAmount (#890)
Variable WALLETPAY._transferStandard(address,address,uint256).rTransferAmount (#880) is too similar to WALLETPAY._getTValues(uint256).tTransferAmount (#662)
Variable WALLETPAY._transferFromExcluded(address,address,uint256).rTransferAmount (#901) is too similar to WALLETPAY._transferStandard(address,address,uint256).tTransferAmount (#880)
Variable WALLETPAY._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#671) is too similar to WALLETPAY._transferBothExcluded(address,address,uint256).tTransferAmount (#602)
Variable WALLETPAY._transferToExcluded(address,address,uint256).rTransferAmount (#890) is too similar to WALLETPAY._transferStandard(address,address,uint256).tTransferAmount (#880)
Variable WALLETPAY._transferToExcluded(address,address,uint256).rTransferAmount (#890) is too similar to WALLETPAY._transferFromExcluded(address,address,uint256).tTransferAmount (#901)
Variable WALLETPAY._getValues(uint256).rTransferAmount (#654) is too similar to WALLETPAY._transferStandard(address,address,uint256).tTransferAmount (#880)
Variable WALLETPAY._transferStandard(address,address,uint256).rTransferAmount (#880) is too similar to WALLETPAY._transferBothExcluded(address,address,uint256).tTransferAmount (#602)
Variable WALLETPAY._transferBothExcluded(address,address,uint256).rTransferAmount (#602) is too similar to WALLETPAY._getValues(uint256).tTransferAmount (#653)
Variable WALLETPAY._transferStandard(address,address,uint256).rTransferAmount (#880) is too similar to WALLETPAY._getValues(uint256).tTransferAmount (#653)
Variable WALLETPAY._getValues(uint256).rTransferAmount (#654) is too similar to WALLETPAY._getValues(uint256).tTransferAmount (#653)
Prevent variables from having similar names.
Additional information: link
WALLETPAY.slitherConstructorVariables() (#420-912) uses literals with too many digits:
- _maxTxAmount = 1500000 * 10 ** 3 * 10 ** 9 (#459)
WALLETPAY.slitherConstructorVariables() (#420-912) uses literals with too many digits:
- _burnWalletAddress = 0x000000000000000000000000000000000000dEaD (#433)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
WALLETPAY._decimals (#442) should be constant
WALLETPAY.numTokensSellToAddToLiquidity (#460) should be constant
WALLETPAY._symbol (#441) should be constant
WALLETPAY._tTotal (#436) should be constant
WALLETPAY._burnWalletAddress (#433) should be constant
WALLETPAY._name (#440) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
Average 30d PancakeSwap volume is less than $100. Token is either dead or inactive.
Average 30d number of PancakeSwap swaps is low.
Token is deployed only at one blockchain
Contract has 3% buy tax and 2% sell tax.
Taxes are low but contract ownership is not renounced. Token has a high risk of becoming a honeypot.
Average 30d PancakeSwap liquidity is low.
Average PancakeSwap trading volume, liqudity, number of swaps are low. Token seems to be inactive.
Token has a considerable age, but average PancakeSwap 30d trading volume is low
Token has relatively low CoinGecko rank
Young tokens have high risks of price dump / death
Token has relatively low CoinMarketCap rank
Last post in Twitter was more than 180 days ago
Unable to find Youtube account
Unable to find Discord account