MuvMoon Token Logo

MuvMoon Token

About MuvMoon

Listings

Not Found
Token 3 years
white paper

Store of value to purchase goods and services

Social

Laser Scorebeta Last Audit: 23 August 2022

report
Token is either risky or in presale. For presale 30+ is a fine score.

Anti-Scam

Links


Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)

MuvMoon.addLiquidity(uint256,uint256) (#1082-1095) sends eth to arbitrary user
Dangerous calls:
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1087-1094)
Ensure that an arbitrary user cannot withdraw unauthorized funds.

Additional information: link

Reentrancy in MuvMoon._transfer(address,address,uint256) (#995-1039):
External calls:
- swapAndLiquify(contractTokenBalance) (#1026)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1087-1094)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1073-1079)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1026)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1087-1094)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1038)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (#948)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1139)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1150)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#858)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1141)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1151)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#860)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1126)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1129)
- _tokenTransfer(from,to,amount,takeFee) (#1038)
- _rTotal = _rTotal.sub(rFee) (#903)
- _tokenTransfer(from,to,amount,takeFee) (#1038)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#950)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#857)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1149)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1140)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#859)
Apply the check-effects-interactions pattern.

Additional information: link


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)

Reentrancy in MuvMoon._transfer(address,address,uint256) (#995-1039):
External calls:
- swapAndLiquify(contractTokenBalance) (#1026)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1087-1094)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1073-1079)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1026)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1087-1094)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1038)
- _burnFee = 0 (#972)
- _tokenTransfer(from,to,amount,takeFee) (#1038)
- _devFee = 0 (#973)
- _tokenTransfer(from,to,amount,takeFee) (#1038)
- _liquidityFee = _previousLiquidityFee (#980)
- _liquidityFee = 0 (#975)
- _tokenTransfer(from,to,amount,takeFee) (#1038)
- _previousBurnFee = _burnFee (#970)
- _tokenTransfer(from,to,amount,takeFee) (#1038)
- _previousDevFee = _devFee (#971)
- _tokenTransfer(from,to,amount,takeFee) (#1038)
- _previousLiquidityFee = _liquidityFee (#969)
- _tokenTransfer(from,to,amount,takeFee) (#1038)
- _previousTaxFee = _taxFee (#968)
- _tokenTransfer(from,to,amount,takeFee) (#1038)
- _tFeeTotal = _tFeeTotal.add(tFee) (#904)
- _tokenTransfer(from,to,amount,takeFee) (#1038)
- _taxFee = _previousTaxFee (#979)
- _taxFee = 0 (#974)
Reentrancy in MuvMoon.setRouterAddress(address) (#742-747):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_newPancakeRouter.factory()).createPair(address(this),_newPancakeRouter.WETH()) (#745)
State variables written after the call(s):
- uniswapV2Router = _newPancakeRouter (#746)
Reentrancy in MuvMoon.swapAndLiquify(uint256) (#1041-1062):
External calls:
- swapTokensForEth(half) (#1053)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1073-1079)
- addLiquidity(otherHalf,newBalance) (#1059)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1087-1094)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1059)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1087-1094)
State variables written after the call(s):
- addLiquidity(otherHalf,newBalance) (#1059)
- _allowances[owner][spender] = amount (#991)
Reentrancy in MuvMoon.transferFrom(address,address,uint256) (#783-787):
External calls:
- _transfer(sender,recipient,amount) (#784)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1087-1094)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1073-1079)
External calls sending eth:
- _transfer(sender,recipient,amount) (#784)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1087-1094)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#785)
- _allowances[owner][spender] = amount (#991)
Apply the check-effects-interactions pattern.

Additional information: link

Reentrancy in MuvMoon._transfer(address,address,uint256) (#995-1039):
External calls:
- swapAndLiquify(contractTokenBalance) (#1026)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1087-1094)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1073-1079)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1026)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1087-1094)
Event emitted after the call(s):
- Transfer(sender,owner(),df) (#1121)
- _tokenTransfer(from,to,amount,takeFee) (#1038)
- Transfer(sender,BURN_ADDRESS,burn) (#1123)
- _tokenTransfer(from,to,amount,takeFee) (#1038)
- Transfer(sender,recipient,tTransferAmount) (#1144)
- _tokenTransfer(from,to,amount,takeFee) (#1038)
- Transfer(sender,recipient,tTransferAmount) (#1154)
- _tokenTransfer(from,to,amount,takeFee) (#1038)
- Transfer(sender,recipient,tTransferAmount) (#863)
- _tokenTransfer(from,to,amount,takeFee) (#1038)
- Transfer(sender,recipient,TransferAmount) (#1134)
- _tokenTransfer(from,to,amount,takeFee) (#1038)
Reentrancy in MuvMoon.swapAndLiquify(uint256) (#1041-1062):
External calls:
- swapTokensForEth(half) (#1053)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1073-1079)
- addLiquidity(otherHalf,newBalance) (#1059)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1087-1094)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1059)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1087-1094)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#992)
- addLiquidity(otherHalf,newBalance) (#1059)
- SwapAndLiquify(half,newBalance,otherHalf) (#1061)
Reentrancy in MuvMoon.transferFrom(address,address,uint256) (#783-787):
External calls:
- _transfer(sender,recipient,amount) (#784)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1087-1094)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1073-1079)
External calls sending eth:
- _transfer(sender,recipient,amount) (#784)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1087-1094)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#992)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#785)
Apply the check-effects-interactions pattern.

Additional information: link

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

Additional information: link

Address.isContract(address) (#278-287) uses assembly
- INLINE ASM (#285)
Address._functionCallWithValue(address,bytes,uint256,string) (#371-392) uses assembly
- INLINE ASM (#384-387)
Do not use evm assembly.

Additional information: link

MuvMoon.includeInReward(address) (#843-854) has costly operations inside a loop:
- _excluded.pop() (#850)
Use a local variable to hold the loop computation result.

Additional information: link

Address._functionCallWithValue(address,bytes,uint256,string) (#371-392) is never used and should be removed
Address.functionCall(address,bytes) (#331-333) is never used and should be removed
Address.functionCall(address,bytes,string) (#341-343) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#356-358) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#366-369) is never used and should be removed
Address.isContract(address) (#278-287) is never used and should be removed
Address.sendValue(address,uint256) (#305-311) is never used and should be removed
Context._msgData() (#250-253) is never used and should be removed
SafeMath.mod(uint256,uint256) (#223-225) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#239-242) is never used and should be removed
Remove unused functions.

Additional information: link

MuvMoon._rTotal (#691) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
MuvMoon._previousTaxFee (#699) is set pre-construction with a non-constant function or state variable:
- _taxFee
MuvMoon._previousDevFee (#701) is set pre-construction with a non-constant function or state variable:
- _devFee
MuvMoon._previousBurnFee (#703) is set pre-construction with a non-constant function or state variable:
- _burnFee
MuvMoon._previousLiquidityFee (#705) 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

Function IUniswapV2Pair.DOMAIN_SEPARATOR() (#498) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#499) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#516) is not in mixedCase
Function IUniswapV2Router01.WETH() (#538) is not in mixedCase
Parameter MuvMoon.setSwapAndLiquifyEnabled(bool)._enabled (#894) is not in mixedCase
Parameter MuvMoon.calculateTaxFee(uint256)._amount (#953) is not in mixedCase
Parameter MuvMoon.calculateLiquidityFee(uint256)._amount (#959) is not in mixedCase
Variable MuvMoon._taxFee (#698) is not in mixedCase
Variable MuvMoon._devFee (#700) is not in mixedCase
Variable MuvMoon._burnFee (#702) is not in mixedCase
Variable MuvMoon._liquidityFee (#704) is not in mixedCase
Variable MuvMoon._maxTxAmount (#713) is not in mixedCase
Follow the Solidity naming convention.

Additional information: link

MuvMoon.slitherConstructorVariables() (#676-1161) uses literals with too many digits:
- _tTotal = 1000000 * 10 ** 6 * 10 ** 9 (#690)
MuvMoon.slitherConstructorVariables() (#676-1161) uses literals with too many digits:
- _maxTxAmount = 5000000 * 10 ** 6 * 10 ** 9 (#713)
MuvMoon.slitherConstructorVariables() (#676-1161) uses literals with too many digits:
- numTokensSellToAddToLiquidity = 500000 * 10 ** 6 * 10 ** 9 (#714)
MuvMoon.slitherConstructorConstantVariables() (#676-1161) uses literals with too many digits:
- BURN_ADDRESS = 0x000000000000000000000000000000000000dEaD (#688)
Use: Ether suffix, Time suffix, or The scientific notation

Additional information: link

geUnlockTime() should be declared external:
- Ownable.geUnlockTime() (#441-443)
lock(uint256) should be declared external:
- Ownable.lock(uint256) (#446-451)
unlock() should be declared external:
- Ownable.unlock() (#454-459)
setRouterAddress(address) should be declared external:
- MuvMoon.setRouterAddress(address) (#742-747)
name() should be declared external:
- MuvMoon.name() (#748-750)
symbol() should be declared external:
- MuvMoon.symbol() (#752-754)
decimals() should be declared external:
- MuvMoon.decimals() (#756-758)
totalSupply() should be declared external:
- MuvMoon.totalSupply() (#760-762)
transfer(address,uint256) should be declared external:
- MuvMoon.transfer(address,uint256) (#769-772)
allowance(address,address) should be declared external:
- MuvMoon.allowance(address,address) (#774-776)
approve(address,uint256) should be declared external:
- MuvMoon.approve(address,uint256) (#778-781)
transferFrom(address,address,uint256) should be declared external:
- MuvMoon.transferFrom(address,address,uint256) (#783-787)
increaseAllowance(address,uint256) should be declared external:
- MuvMoon.increaseAllowance(address,uint256) (#789-792)
decreaseAllowance(address,uint256) should be declared external:
- MuvMoon.decreaseAllowance(address,uint256) (#794-797)
isExcludedFromReward(address) should be declared external:
- MuvMoon.isExcludedFromReward(address) (#799-801)
totalFees() should be declared external:
- MuvMoon.totalFees() (#803-805)
deliver(uint256) should be declared external:
- MuvMoon.deliver(uint256) (#807-814)
reflectionFromToken(uint256,bool) should be declared external:
- MuvMoon.reflectionFromToken(uint256,bool) (#816-825)
excludeFromReward(address) should be declared external:
- MuvMoon.excludeFromReward(address) (#833-841)
excludeFromFee(address) should be declared external:
- MuvMoon.excludeFromFee(address) (#866-868)
includeInFee(address) should be declared external:
- MuvMoon.includeInFee(address) (#870-872)
setSwapAndLiquifyEnabled(bool) should be declared external:
- MuvMoon.setSwapAndLiquifyEnabled(bool) (#894-897)
isExcludedFromFee(address) should be declared external:
- MuvMoon.isExcludedFromFee(address) (#983-985)
Use the external attribute for functions never called from the contract.

Additional information: link

Redundant expression "this (#251)" inContext (#245-254)
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 (#543) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#544)
Variable MuvMoon._transferFromExcluded(address,address,uint256).rTransferAmount (#1148) is too similar to MuvMoon._transferToExcluded(address,address,uint256).tTransferAmount (#1138)
Variable MuvMoon._transferFromExcluded(address,address,uint256).rTransferAmount (#1148) is too similar to MuvMoon._getValues(uint256).tTransferAmount (#908)
Variable MuvMoon._getValues(uint256).rTransferAmount (#909) is too similar to MuvMoon._transferStandard(address,address,uint256).tTransferAmount (#1119)
Variable MuvMoon._getValues(uint256).rTransferAmount (#909) is too similar to MuvMoon._getTValues(uint256).tTransferAmount (#916)
Variable MuvMoon._getValues(uint256).rTransferAmount (#909) is too similar to MuvMoon._transferFromExcluded(address,address,uint256).tTransferAmount (#1148)
Variable MuvMoon._transferBothExcluded(address,address,uint256).rTransferAmount (#856) is too similar to MuvMoon._transferToExcluded(address,address,uint256).tTransferAmount (#1138)
Variable MuvMoon._transferBothExcluded(address,address,uint256).rTransferAmount (#856) is too similar to MuvMoon._getValues(uint256).tTransferAmount (#908)
Variable MuvMoon._transferFromExcluded(address,address,uint256).rTransferAmount (#1148) is too similar to MuvMoon._transferBothExcluded(address,address,uint256).tTransferAmount (#856)
Variable MuvMoon._transferStandard(address,address,uint256).rTransferAmount (#1119) is too similar to MuvMoon._getValues(uint256).tTransferAmount (#908)
Variable MuvMoon._transferBothExcluded(address,address,uint256).rTransferAmount (#856) is too similar to MuvMoon._transferBothExcluded(address,address,uint256).tTransferAmount (#856)
Variable MuvMoon._transferToExcluded(address,address,uint256).rTransferAmount (#1138) is too similar to MuvMoon._getValues(uint256).tTransferAmount (#908)
Variable MuvMoon._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#924) is too similar to MuvMoon._transferStandard(address,address,uint256).tTransferAmount (#1119)
Variable MuvMoon.reflectionFromToken(uint256,bool).rTransferAmount (#822) is too similar to MuvMoon._getValues(uint256).tTransferAmount (#908)
Variable MuvMoon._transferStandard(address,address,uint256).rTransferAmount (#1119) is too similar to MuvMoon._transferToExcluded(address,address,uint256).tTransferAmount (#1138)
Variable MuvMoon._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#924) is too similar to MuvMoon._getTValues(uint256).tTransferAmount (#916)
Variable MuvMoon._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#924) is too similar to MuvMoon._transferFromExcluded(address,address,uint256).tTransferAmount (#1148)
Variable MuvMoon._transferToExcluded(address,address,uint256).rTransferAmount (#1138) is too similar to MuvMoon._transferToExcluded(address,address,uint256).tTransferAmount (#1138)
Variable MuvMoon._transferStandard(address,address,uint256).rTransferAmount (#1119) is too similar to MuvMoon._transferBothExcluded(address,address,uint256).tTransferAmount (#856)
Variable MuvMoon._getValues(uint256).rTransferAmount (#909) is too similar to MuvMoon._getValues(uint256).tTransferAmount (#908)
Variable MuvMoon._getValues(uint256).rTransferAmount (#909) is too similar to MuvMoon._transferToExcluded(address,address,uint256).tTransferAmount (#1138)
Variable MuvMoon._getValues(uint256).rTransferAmount (#909) is too similar to MuvMoon._transferBothExcluded(address,address,uint256).tTransferAmount (#856)
Variable MuvMoon._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#924) is too similar to MuvMoon._transferToExcluded(address,address,uint256).tTransferAmount (#1138)
Variable MuvMoon._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#924) is too similar to MuvMoon._getValues(uint256).tTransferAmount (#908)
Variable MuvMoon._transferFromExcluded(address,address,uint256).rTransferAmount (#1148) is too similar to MuvMoon._getTValues(uint256).tTransferAmount (#916)
Variable MuvMoon._transferFromExcluded(address,address,uint256).rTransferAmount (#1148) is too similar to MuvMoon._transferFromExcluded(address,address,uint256).tTransferAmount (#1148)
Variable MuvMoon._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#924) is too similar to MuvMoon._transferBothExcluded(address,address,uint256).tTransferAmount (#856)
Variable MuvMoon._transferBothExcluded(address,address,uint256).rTransferAmount (#856) is too similar to MuvMoon._getTValues(uint256).tTransferAmount (#916)
Variable MuvMoon._transferBothExcluded(address,address,uint256).rTransferAmount (#856) is too similar to MuvMoon._transferFromExcluded(address,address,uint256).tTransferAmount (#1148)
Variable MuvMoon._transferStandard(address,address,uint256).rTransferAmount (#1119) is too similar to MuvMoon._getTValues(uint256).tTransferAmount (#916)
Variable MuvMoon._transferStandard(address,address,uint256).rTransferAmount (#1119) is too similar to MuvMoon._transferStandard(address,address,uint256).tTransferAmount (#1119)
Variable MuvMoon._transferToExcluded(address,address,uint256).rTransferAmount (#1138) is too similar to MuvMoon._getTValues(uint256).tTransferAmount (#916)
Variable MuvMoon._transferStandard(address,address,uint256).rTransferAmount (#1119) is too similar to MuvMoon._transferFromExcluded(address,address,uint256).tTransferAmount (#1148)
Variable MuvMoon._transferToExcluded(address,address,uint256).rTransferAmount (#1138) is too similar to MuvMoon._transferFromExcluded(address,address,uint256).tTransferAmount (#1148)
Variable MuvMoon._transferFromExcluded(address,address,uint256).rTransferAmount (#1148) is too similar to MuvMoon._transferStandard(address,address,uint256).tTransferAmount (#1119)
Variable MuvMoon.reflectionFromToken(uint256,bool).rTransferAmount (#822) is too similar to MuvMoon._getTValues(uint256).tTransferAmount (#916)
Variable MuvMoon._transferToExcluded(address,address,uint256).rTransferAmount (#1138) is too similar to MuvMoon._transferStandard(address,address,uint256).tTransferAmount (#1119)
Variable MuvMoon._transferToExcluded(address,address,uint256).rTransferAmount (#1138) is too similar to MuvMoon._transferBothExcluded(address,address,uint256).tTransferAmount (#856)
Variable MuvMoon._transferBothExcluded(address,address,uint256).rTransferAmount (#856) is too similar to MuvMoon._transferStandard(address,address,uint256).tTransferAmount (#1119)
Variable MuvMoon.reflectionFromToken(uint256,bool).rTransferAmount (#822) is too similar to MuvMoon._transferFromExcluded(address,address,uint256).tTransferAmount (#1148)
Variable MuvMoon.reflectionFromToken(uint256,bool).rTransferAmount (#822) is too similar to MuvMoon._transferToExcluded(address,address,uint256).tTransferAmount (#1138)
Variable MuvMoon.reflectionFromToken(uint256,bool).rTransferAmount (#822) is too similar to MuvMoon._transferStandard(address,address,uint256).tTransferAmount (#1119)
Variable MuvMoon.reflectionFromToken(uint256,bool).rTransferAmount (#822) is too similar to MuvMoon._transferBothExcluded(address,address,uint256).tTransferAmount (#856)
Prevent variables from having similar names.

Additional information: link

MuvMoon._decimals (#696) should be constant
MuvMoon._name (#694) should be constant
MuvMoon._symbol (#695) should be constant
MuvMoon._tTotal (#690) should be constant
MuvMoon.numTokensSellToAddToLiquidity (#714) should be constant
Add the constant attributes to state variables that never change.

Additional information: link

Low level call in Address.sendValue(address,uint256) (#305-311):
- (success) = recipient.call{value: amount}() (#309)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#371-392):
- (success,returndata) = target.call{value: weiValue}(data) (#375)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence

Additional information: link

MuvMoon.addLiquidity(uint256,uint256) (#1082-1095) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1087-1094)
Ensure that all the return values of the function calls are used.

Additional information: link

MuvMoon.allowance(address,address).owner (#774) shadows:
- Ownable.owner() (#426-428) (function)
MuvMoon._approve(address,address,uint256).owner (#987) shadows:
- Ownable.owner() (#426-428) (function)
Rename the local variables that shadow another component.

Additional information: link

MuvMoon.setTaxFeePercent(uint256) (#874-876) should emit an event for:
- _taxFee = taxFee (#875)
MuvMoon.setLiquidityFeePercent(uint256) (#878-880) should emit an event for:
- _liquidityFee = liquidityFee (#879)
MuvMoon.setBurnFeePercent(uint256) (#881-883) should emit an event for:
- _burnFee = burnfee (#882)
MuvMoon.setDevFeePercent(uint256) (#884-886) should emit an event for:
- _devFee = devfee (#885)
MuvMoon.setMaxTxPercent(uint256) (#888-892) should emit an event for:
- _maxTxAmount = _tTotal.mul(maxTxPercent).div(10 ** 2) (#889-891)
Emit an event for critical parameter changes.

Additional information: link

Holders:


Token is deployed only at one blockchain


Average 30d number of PancakeSwap swaps is low.

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


Twitter account has less than 100 followers


Telegram account has relatively few subscribers


Unable to find Youtube account


BscScan page for the token does not contain additional info: website, socials, description, etc.

Additional information: link


Unable to find token on CoinGecko

Additional information: link


Unable to find token on CoinMarketCap

Additional information: link


Unable to find token contract audit


Unable to find audit link on the website


Unable to find token on CoinHunt

Additional information: link


Token is not listed at Mobula.Finance

Additional information: link


Unable to find code repository for the project


Token has no active CoinGecko listing / rank


Token has no active CoinMarketCap listing / rank


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

Price for MuvMoon

News for MuvMoon