WIFEDOGE Token Logo

WIFEDOGE Token

About WIFEDOGE

Listings

Token 11 months
CoinGecko 11 months
CoinMarketCap 10 months
white paper

Wifedoge is a good wife who can help doge make money. She starts to make money for you automatically when you hold wifedoge. At the same time, there is a punishment mechanism for those who abandon her. She will give you rewards for staying true to her.

Laser Scorebeta Last Audit: 16 May 2022

report
Token seems to be (relatively) fine. It still become a scam, but probability is moderate.

wifedoge.addLiquidity(uint256,uint256) (#848-861) sends eth to arbitrary user
Dangerous calls:
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#853-860)
Ensure that an arbitrary user cannot withdraw unauthorized funds.

Additional information: link

Reentrancy in wifedoge._transfer(address,address,uint256) (#767-808):
External calls:
- swapAndLiquify(contractTokenBalance) (#795)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#853-860)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#839-845)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#795)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#853-860)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#807)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (#718)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#886)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#895)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#632)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#906)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#887)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#897)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#907)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#634)
- _tokenTransfer(from,to,amount,takeFee) (#807)
- _rTotal = _rTotal.sub(rFee) (#673)
- _tokenTransfer(from,to,amount,takeFee) (#807)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#720)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#631)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#905)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#896)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#633)
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.


Contract ownership is not renounced (belongs to a wallet)

renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#194-197)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#200-204)
geUnlockTime() should be declared external:
- Ownable.geUnlockTime() (#206-208)
lock(uint256) should be declared external:
- Ownable.lock(uint256) (#211-216)
unlock() should be declared external:
- Ownable.unlock() (#219-224)
name() should be declared external:
- wifedoge.name() (#522-524)
symbol() should be declared external:
- wifedoge.symbol() (#526-528)
decimals() should be declared external:
- wifedoge.decimals() (#530-532)
totalSupply() should be declared external:
- wifedoge.totalSupply() (#534-536)
transfer(address,uint256) should be declared external:
- wifedoge.transfer(address,uint256) (#543-546)
allowance(address,address) should be declared external:
- wifedoge.allowance(address,address) (#548-550)
approve(address,uint256) should be declared external:
- wifedoge.approve(address,uint256) (#552-555)
transferFrom(address,address,uint256) should be declared external:
- wifedoge.transferFrom(address,address,uint256) (#557-561)
increaseAllowance(address,uint256) should be declared external:
- wifedoge.increaseAllowance(address,uint256) (#563-566)
decreaseAllowance(address,uint256) should be declared external:
- wifedoge.decreaseAllowance(address,uint256) (#568-571)
isExcludedFromReward(address) should be declared external:
- wifedoge.isExcludedFromReward(address) (#573-575)
totalFees() should be declared external:
- wifedoge.totalFees() (#577-579)
deliver(uint256) should be declared external:
- wifedoge.deliver(uint256) (#581-588)
reflectionFromToken(uint256,bool) should be declared external:
- wifedoge.reflectionFromToken(uint256,bool) (#590-599)
excludeFromReward(address) should be declared external:
- wifedoge.excludeFromReward(address) (#607-615)
excludeFromFee(address) should be declared external:
- wifedoge.excludeFromFee(address) (#640-642)
includeInFee(address) should be declared external:
- wifedoge.includeInFee(address) (#644-646)
setNumTokensSellToAddToLiquidity(uint256) should be declared external:
- wifedoge.setNumTokensSellToAddToLiquidity(uint256) (#656-658)
setMaxTxPercent(uint256) should be declared external:
- wifedoge.setMaxTxPercent(uint256) (#660-662)
setSwapAndLiquifyEnabled(bool) should be declared external:
- wifedoge.setSwapAndLiquifyEnabled(bool) (#664-667)
claimTokens() should be declared external:
- wifedoge.claimTokens() (#724-726)
isExcludedFromFee(address) should be declared external:
- wifedoge.isExcludedFromFee(address) (#755-757)
Use the external attribute for functions never called from the contract.

Additional information: link

wifedoge.includeInReward(address) (#617-628) has costly operations inside a loop:
- _excluded.pop() (#624)
Use a local variable to hold the loop computation result.

Additional information: link

wifedoge.addLiquidity(uint256,uint256) (#848-861) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#853-860)
Ensure that all the return values of the function calls are used.

Additional information: link

wifedoge.allowance(address,address).owner (#548) shadows:
- Ownable.owner() (#183-185) (function)
wifedoge._approve(address,address,uint256).owner (#759) shadows:
- Ownable.owner() (#183-185) (function)
Rename the local variables that shadow another component.

Additional information: link

wifedoge.setTaxFeePercent(uint256) (#648-650) should emit an event for:
- _taxFee = taxFee (#649)
wifedoge.setLiquidityFeePercent(uint256) (#652-654) should emit an event for:
- _liquidityFee = liquidityFee (#653)
wifedoge.setNumTokensSellToAddToLiquidity(uint256) (#656-658) should emit an event for:
- numTokensSellToAddToLiquidity = swapNumber * 10 ** _decimals (#657)
wifedoge.setMaxTxPercent(uint256) (#660-662) should emit an event for:
- _maxTxAmount = maxTxPercent * 10 ** _decimals (#661)
Emit an event for critical parameter changes.

Additional information: link

wifedoge.constructor(string,string,uint256,uint256,uint256,uint256,uint256,uint256,address,address).tokenOwner (#491) lacks a zero-check on :
- _owner = tokenOwner (#517)
Check that the address is not zero.

Additional information: link

Reentrancy in wifedoge._transfer(address,address,uint256) (#767-808):
External calls:
- swapAndLiquify(contractTokenBalance) (#795)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#853-860)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#839-845)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#795)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#853-860)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#807)
- _liquidityFee = _previousLiquidityFee (#752)
- _liquidityFee = 0 (#747)
- _tokenTransfer(from,to,amount,takeFee) (#807)
- _previousLiquidityFee = _liquidityFee (#744)
- _tokenTransfer(from,to,amount,takeFee) (#807)
- _previousTaxFee = _taxFee (#743)
- _tokenTransfer(from,to,amount,takeFee) (#807)
- _tFeeTotal = _tFeeTotal.add(tFee) (#674)
- _tokenTransfer(from,to,amount,takeFee) (#807)
- _taxFee = _previousTaxFee (#751)
- _taxFee = 0 (#746)
Reentrancy in wifedoge.constructor(string,string,uint256,uint256,uint256,uint256,uint256,uint256,address,address) (#491-519):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#509-510)
State variables written after the call(s):
- _isExcludedFromFee[tokenOwner] = true (#514)
- _isExcludedFromFee[address(this)] = true (#515)
- _owner = tokenOwner (#517)
- uniswapV2Router = _uniswapV2Router (#512)
Reentrancy in wifedoge.swapAndLiquify(uint256) (#810-828):
External calls:
- swapTokensForEth(half) (#819)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#839-845)
- addLiquidity(otherHalf,newBalance) (#825)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#853-860)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#825)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#853-860)
State variables written after the call(s):
- addLiquidity(otherHalf,newBalance) (#825)
- _allowances[owner][spender] = amount (#763)
Reentrancy in wifedoge.transferFrom(address,address,uint256) (#557-561):
External calls:
- _transfer(sender,recipient,amount) (#558)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#853-860)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#839-845)
External calls sending eth:
- _transfer(sender,recipient,amount) (#558)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#853-860)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#559)
- _allowances[owner][spender] = amount (#763)
Apply the check-effects-interactions pattern.

Additional information: link

Reentrancy in wifedoge._transfer(address,address,uint256) (#767-808):
External calls:
- swapAndLiquify(contractTokenBalance) (#795)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#853-860)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#839-845)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#795)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#853-860)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#890)
- _tokenTransfer(from,to,amount,takeFee) (#807)
- Transfer(sender,recipient,tTransferAmount) (#910)
- _tokenTransfer(from,to,amount,takeFee) (#807)
- Transfer(sender,recipient,tTransferAmount) (#900)
- _tokenTransfer(from,to,amount,takeFee) (#807)
- Transfer(sender,recipient,tTransferAmount) (#637)
- _tokenTransfer(from,to,amount,takeFee) (#807)
Reentrancy in wifedoge.constructor(string,string,uint256,uint256,uint256,uint256,uint256,uint256,address,address) (#491-519):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#509-510)
Event emitted after the call(s):
- Transfer(address(0),tokenOwner,_tTotal) (#518)
Reentrancy in wifedoge.swapAndLiquify(uint256) (#810-828):
External calls:
- swapTokensForEth(half) (#819)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#839-845)
- addLiquidity(otherHalf,newBalance) (#825)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#853-860)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#825)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#853-860)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#764)
- addLiquidity(otherHalf,newBalance) (#825)
- SwapAndLiquify(half,newBalance,otherHalf) (#827)
Reentrancy in wifedoge.transferFrom(address,address,uint256) (#557-561):
External calls:
- _transfer(sender,recipient,amount) (#558)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#853-860)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#839-845)
External calls sending eth:
- _transfer(sender,recipient,amount) (#558)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#853-860)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#764)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#559)
Apply the check-effects-interactions pattern.

Additional information: link

Ownable.unlock() (#219-224) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now > _lockTime,Contract is locked until 7 days) (#221)
Avoid relying on block.timestamp.

Additional information: link

Address.isContract(address) (#112-119) uses assembly
- INLINE ASM (#117)
Address._functionCallWithValue(address,bytes,uint256,string) (#151-170) uses assembly
- INLINE ASM (#162-165)
Do not use evm assembly.

Additional information: link

Address._functionCallWithValue(address,bytes,uint256,string) (#151-170) is never used and should be removed
Address.functionCall(address,bytes) (#131-133) is never used and should be removed
Address.functionCall(address,bytes,string) (#136-138) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#141-143) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#146-149) is never used and should be removed
Address.isContract(address) (#112-119) is never used and should be removed
Address.sendValue(address,uint256) (#122-128) is never used and should be removed
Context._msgData() (#102-105) is never used and should be removed
SafeMath.mod(uint256,uint256) (#87-89) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#91-94) is never used and should be removed
Remove unused functions.

Additional information: link

Low level call in Address.sendValue(address,uint256) (#122-128):
- (success) = recipient.call{value: amount}() (#126)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#151-170):
- (success,returndata) = target.call{value: weiValue}(data) (#155)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence

Additional information: link

Variable Ownable._owner (#175) is not in mixedCase
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (#262) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#263) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#280) is not in mixedCase
Function IUniswapV2Router01.WETH() (#302) is not in mixedCase
Contract wifedoge (#440-917) is not in CapWords
Parameter wifedoge.setSwapAndLiquifyEnabled(bool)._enabled (#664) is not in mixedCase
Parameter wifedoge.calculateTaxFee(uint256)._amount (#728) is not in mixedCase
Parameter wifedoge.calculateLiquidityFee(uint256)._amount (#734) is not in mixedCase
Variable wifedoge._taxFee (#462) is not in mixedCase
Variable wifedoge._liquidityFee (#465) is not in mixedCase
Variable wifedoge._maxTxAmount (#474) is not in mixedCase
Follow the Solidity naming convention.

Additional information: link

Redundant expression "this (#103)" inContext (#97-106)
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 (#307) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#308)
Variable wifedoge._transferStandard(address,address,uint256).rTransferAmount (#885) is too similar to wifedoge._transferStandard(address,address,uint256).tTransferAmount (#885)
Variable wifedoge._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#694) is too similar to wifedoge._getTValues(uint256).tTransferAmount (#686)
Variable wifedoge._transferToExcluded(address,address,uint256).rTransferAmount (#894) is too similar to wifedoge._getValues(uint256).tTransferAmount (#678)
Variable wifedoge.reflectionFromToken(uint256,bool).rTransferAmount (#596) is too similar to wifedoge._transferToExcluded(address,address,uint256).tTransferAmount (#894)
Variable wifedoge._transferFromExcluded(address,address,uint256).rTransferAmount (#904) is too similar to wifedoge._transferFromExcluded(address,address,uint256).tTransferAmount (#904)
Variable wifedoge._transferBothExcluded(address,address,uint256).rTransferAmount (#630) is too similar to wifedoge._getTValues(uint256).tTransferAmount (#686)
Variable wifedoge._transferStandard(address,address,uint256).rTransferAmount (#885) is too similar to wifedoge._transferFromExcluded(address,address,uint256).tTransferAmount (#904)
Variable wifedoge._transferFromExcluded(address,address,uint256).rTransferAmount (#904) is too similar to wifedoge._getTValues(uint256).tTransferAmount (#686)
Variable wifedoge._getValues(uint256).rTransferAmount (#679) is too similar to wifedoge._getTValues(uint256).tTransferAmount (#686)
Variable wifedoge._transferStandard(address,address,uint256).rTransferAmount (#885) is too similar to wifedoge._getTValues(uint256).tTransferAmount (#686)
Variable wifedoge.reflectionFromToken(uint256,bool).rTransferAmount (#596) is too similar to wifedoge._getValues(uint256).tTransferAmount (#678)
Variable wifedoge._transferToExcluded(address,address,uint256).rTransferAmount (#894) is too similar to wifedoge._transferFromExcluded(address,address,uint256).tTransferAmount (#904)
Variable wifedoge._transferFromExcluded(address,address,uint256).rTransferAmount (#904) is too similar to wifedoge._transferToExcluded(address,address,uint256).tTransferAmount (#894)
Variable wifedoge._transferToExcluded(address,address,uint256).rTransferAmount (#894) is too similar to wifedoge._getTValues(uint256).tTransferAmount (#686)
Variable wifedoge._transferStandard(address,address,uint256).rTransferAmount (#885) is too similar to wifedoge._transferToExcluded(address,address,uint256).tTransferAmount (#894)
Variable wifedoge._transferBothExcluded(address,address,uint256).rTransferAmount (#630) is too similar to wifedoge._getValues(uint256).tTransferAmount (#678)
Variable wifedoge.reflectionFromToken(uint256,bool).rTransferAmount (#596) is too similar to wifedoge._transferFromExcluded(address,address,uint256).tTransferAmount (#904)
Variable wifedoge._transferToExcluded(address,address,uint256).rTransferAmount (#894) is too similar to wifedoge._transferToExcluded(address,address,uint256).tTransferAmount (#894)
Variable wifedoge._transferFromExcluded(address,address,uint256).rTransferAmount (#904) is too similar to wifedoge._getValues(uint256).tTransferAmount (#678)
Variable wifedoge.reflectionFromToken(uint256,bool).rTransferAmount (#596) is too similar to wifedoge._getTValues(uint256).tTransferAmount (#686)
Variable wifedoge._transferStandard(address,address,uint256).rTransferAmount (#885) is too similar to wifedoge._getValues(uint256).tTransferAmount (#678)
Variable wifedoge._transferStandard(address,address,uint256).rTransferAmount (#885) is too similar to wifedoge._transferBothExcluded(address,address,uint256).tTransferAmount (#630)
Variable wifedoge._transferBothExcluded(address,address,uint256).rTransferAmount (#630) is too similar to wifedoge._transferBothExcluded(address,address,uint256).tTransferAmount (#630)
Variable wifedoge._transferFromExcluded(address,address,uint256).rTransferAmount (#904) is too similar to wifedoge._transferBothExcluded(address,address,uint256).tTransferAmount (#630)
Variable wifedoge.reflectionFromToken(uint256,bool).rTransferAmount (#596) is too similar to wifedoge._transferBothExcluded(address,address,uint256).tTransferAmount (#630)
Variable wifedoge._transferBothExcluded(address,address,uint256).rTransferAmount (#630) is too similar to wifedoge._transferToExcluded(address,address,uint256).tTransferAmount (#894)
Variable wifedoge._transferBothExcluded(address,address,uint256).rTransferAmount (#630) is too similar to wifedoge._transferFromExcluded(address,address,uint256).tTransferAmount (#904)
Variable wifedoge._transferBothExcluded(address,address,uint256).rTransferAmount (#630) is too similar to wifedoge._transferStandard(address,address,uint256).tTransferAmount (#885)
Variable wifedoge.reflectionFromToken(uint256,bool).rTransferAmount (#596) is too similar to wifedoge._transferStandard(address,address,uint256).tTransferAmount (#885)
Variable wifedoge._getValues(uint256).rTransferAmount (#679) is too similar to wifedoge._transferBothExcluded(address,address,uint256).tTransferAmount (#630)
Variable wifedoge._transferFromExcluded(address,address,uint256).rTransferAmount (#904) is too similar to wifedoge._transferStandard(address,address,uint256).tTransferAmount (#885)
Variable wifedoge._getValues(uint256).rTransferAmount (#679) is too similar to wifedoge._transferToExcluded(address,address,uint256).tTransferAmount (#894)
Variable wifedoge._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#694) is too similar to wifedoge._transferBothExcluded(address,address,uint256).tTransferAmount (#630)
Variable wifedoge._transferToExcluded(address,address,uint256).rTransferAmount (#894) is too similar to wifedoge._transferBothExcluded(address,address,uint256).tTransferAmount (#630)
Variable wifedoge._getValues(uint256).rTransferAmount (#679) is too similar to wifedoge._transferFromExcluded(address,address,uint256).tTransferAmount (#904)
Variable wifedoge._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#694) is too similar to wifedoge._transferToExcluded(address,address,uint256).tTransferAmount (#894)
Variable wifedoge._getValues(uint256).rTransferAmount (#679) is too similar to wifedoge._getValues(uint256).tTransferAmount (#678)
Variable wifedoge._getValues(uint256).rTransferAmount (#679) is too similar to wifedoge._transferStandard(address,address,uint256).tTransferAmount (#885)
Variable wifedoge._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#694) is too similar to wifedoge._transferFromExcluded(address,address,uint256).tTransferAmount (#904)
Variable wifedoge._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#694) is too similar to wifedoge._transferStandard(address,address,uint256).tTransferAmount (#885)
Variable wifedoge._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#694) is too similar to wifedoge._getValues(uint256).tTransferAmount (#678)
Variable wifedoge._transferToExcluded(address,address,uint256).rTransferAmount (#894) is too similar to wifedoge._transferStandard(address,address,uint256).tTransferAmount (#885)
Prevent variables from having similar names.

Additional information: link

Holders:


Token is deployed only at one blockchain

Contract has 10% buy tax and 9% sell tax.
Taxes are low but contract ownership is not renounced. Token has a high risk of becoming a honeypot.


Token has only one trading pair

No disclosed threats


Token is not listed at Mobula.Finance

Additional information: link


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

Price for WIFEDOGE

News for WIFEDOGE