💥 SHIBAMOVE Anti-Dump Mechanism - strict cash-out limit of up-to 5% per day. Super-high fixed interest of 2.35% per day. 💥 Automatic Staking and Compounding in Your Wallet ! 💥 Play-To-Earn 💥 Move-To-Earn 💥 SHIBAMOVE RUN World's First Move2Earn Rebase |
KYCs or identity verification done with owners | Usecase - NFT - Games - Launchpad - Exchange - Staking | The Highest Paying Coin in the World - Without The Big Dumps.
Massive marketing before and after the Launch
Reentrancy in SMR._transferFrom(address,address,uint256) (#510-558):
External calls:
- swapBack() (#535)
- router.addLiquidity(address(this),busdToken,tokenAmount,busdAmount,0,0,liquidityReceiver,block.timestamp) (#609-618)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#599-606)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#626-632)
- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#640-646)
External calls sending eth:
- swapBack() (#535)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#599-606)
State variables written after the call(s):
- _gonBalances[sender] = _gonBalances[sender].sub(gonAmount) (#538)
- _gonBalances[recipient] = _gonBalances[recipient].add(gonAmountReceived) (#541)
- gonAmountReceived = takeFee(sender,recipient,gonAmount) (#540)
- _gonBalances[address(this)] = _gonBalances[address(this)].add(feeAmount) (#680)
- _rebase() (#550)
- _gonsPerFragment = TOTAL_GONS.div(_totalSupply) (#748)
Apply the check-effects-interactions pattern.
Additional information: link
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
Contract ownership is not renounced (belongs to a wallet)
SMR.swapBack() (#649-672) performs a multiplication on the result of a division:
-contractTokenBalance = _gonBalances[address(this)].div(_gonsPerFragment) (#653)
-amountToLiquify = contractTokenBalance.mul(dynamicLiquidityFee.mul(2)).div(realTotalFee) (#655)
SMR.swapBack() (#649-672) performs a multiplication on the result of a division:
-contractTokenBalance = _gonBalances[address(this)].div(_gonsPerFragment) (#653)
-amountToRFV = contractTokenBalance.mul(buyFeemarketing.mul(2).add(sellFeemarketingAdded)).div(realTotalFee) (#656)
SMR.setSwapBackSettings(bool,uint256,uint256) (#806-809) performs a multiplication on the result of a division:
-gonSwapThreshold = TOTAL_GONS.div(_denom).mul(_num) (#808)
Consider ordering multiplication before division.
Additional information: link
SMR.constructor() (#397-426) ignores return value by IBEP20(busdToken).approve(address(router),uint256(- 1)) (#421)
SMR.constructor() (#397-426) ignores return value by IBEP20(busdToken).approve(address(pairBusd),uint256(- 1)) (#422)
SMR.constructor() (#397-426) ignores return value by IBEP20(busdToken).approve(address(this),uint256(- 1)) (#423)
SMR.getLiquidityBacking(uint256) (#477-483) ignores return value by liquidityBalance.add(balanceOf(_markerPairs[i]).div(10 ** 9)) (#480)
SMR._addLiquidity(uint256,uint256) (#598-607) ignores return value by router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#599-606)
SMR._addLiquidityBusd(uint256,uint256) (#608-619) ignores return value by router.addLiquidity(address(this),busdToken,tokenAmount,busdAmount,0,0,liquidityReceiver,block.timestamp) (#609-618)
Ensure that all the return values of the function calls are used.
Additional information: link
SMR.setTargetLiquidity(uint256,uint256) (#801-804) should emit an event for:
- targetLiquidity = target (#802)
- targetLiquidityDenominator = accuracy (#803)
SMR.setSwapBackSettings(bool,uint256,uint256) (#806-809) should emit an event for:
- gonSwapThreshold = TOTAL_GONS.div(_denom).mul(_num) (#808)
SMR.setRebaseFrequency(uint256) (#833-836) should emit an event for:
- rebaseFrequency = _rebaseFrequency (#835)
SMR.setRewardYield(uint256,uint256) (#838-841) should emit an event for:
- rewardYield = _rewardYield (#839)
- rewardYieldDenominator = _rewardYieldDenominator (#840)
SMR.setNextRebase(uint256) (#853-855) should emit an event for:
- nextRebase = _nextRebase (#854)
SMR.setMaxSellTransaction(uint256) (#857-859) should emit an event for:
- maxSellTransactionAmount = _maxTxn (#858)
Emit an event for critical parameter changes.
Additional information: link
SMR.setFeeReceivers(address,address,address)._liquidityReceiver (#811) lacks a zero-check on :
- liquidityReceiver = _liquidityReceiver (#812)
SMR.setFeeReceivers(address,address,address)._DevelopmentReceiver (#811) lacks a zero-check on :
- DevelopmentReceiver = _DevelopmentReceiver (#813)
SMR.setFeeReceivers(address,address,address)._fmarketingValueReceiver (#811) lacks a zero-check on :
- fmarketingValueReceiver = _fmarketingValueReceiver (#814)
SMR.clearStuckBalance(address)._receiver (#819) lacks a zero-check on :
- address(_receiver).transfer(balance) (#821)
Check that the address is not zero.
Additional information: link
SMR.manualSync() (#489-493) has external calls inside a loop: InterfaceLP(_markerPairs[i]).sync() (#491)
Favor pull over push strategy for external calls.
Additional information: link
Reentrancy in SMR._transferFrom(address,address,uint256) (#510-558):
External calls:
- swapBack() (#535)
- router.addLiquidity(address(this),busdToken,tokenAmount,busdAmount,0,0,liquidityReceiver,block.timestamp) (#609-618)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#599-606)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#626-632)
- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#640-646)
External calls sending eth:
- swapBack() (#535)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#599-606)
State variables written after the call(s):
- _rebase() (#550)
- _totalSupply = _totalSupply.sub(uint256(- supplyDelta)) (#739)
- _totalSupply = _totalSupply.add(uint256(supplyDelta)) (#741)
- _totalSupply = MAX_SUPPLY (#745)
- _rebase() (#550)
- nextRebase = epoch + rebaseFrequency (#750)
Reentrancy in SMR.constructor() (#397-426):
External calls:
- pair = IDEXFactory(router.factory()).createPair(address(this),router.WETH()) (#399)
- pairBusd = IDEXFactory(router.factory()).createPair(address(this),busdToken) (#400)
State variables written after the call(s):
- DevelopmentReceiver = msg.sender (#402)
- _allowedFragments[address(this)][address(router)] = uint256(- 1) (#404)
- _allowedFragments[address(this)][pair] = uint256(- 1) (#405)
- _allowedFragments[address(this)][address(this)] = uint256(- 1) (#406)
- _allowedFragments[address(this)][pairBusd] = uint256(- 1) (#407)
- _gonBalances[msg.sender] = TOTAL_GONS (#413)
- _gonsPerFragment = TOTAL_GONS.div(_totalSupply) (#414)
- _isFeeExempt[DevelopmentReceiver] = true (#416)
- _isFeeExempt[fmarketingValueReceiver] = true (#417)
- _isFeeExempt[address(this)] = true (#418)
- _isFeeExempt[msg.sender] = true (#419)
- setAutomatedMarketMakerPair(pair,true) (#409)
- _markerPairs.push(_pair) (#773)
- _markerPairs[i] = _markerPairs[_markerPairs.length - 1] (#778)
- _markerPairs.pop() (#779)
- setAutomatedMarketMakerPair(pairBusd,true) (#410)
- _markerPairs.push(_pair) (#773)
- _markerPairs[i] = _markerPairs[_markerPairs.length - 1] (#778)
- _markerPairs.pop() (#779)
- _totalSupply = INITIAL_FRAGMENTS_SUPPLY (#412)
- setAutomatedMarketMakerPair(pair,true) (#409)
- automatedMarketMakerPairs[_pair] = _value (#770)
- setAutomatedMarketMakerPair(pairBusd,true) (#410)
- automatedMarketMakerPairs[_pair] = _value (#770)
- fmarketingValueReceiver = msg.sender (#403)
- liquidityReceiver = msg.sender (#401)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in SMR._swapAndLiquify(uint256) (#571-596):
External calls:
- _swapTokensForBNB(half,address(this)) (#578)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#626-632)
- _addLiquidity(otherHalf,newBalance) (#582)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#599-606)
External calls sending eth:
- _addLiquidity(otherHalf,newBalance) (#582)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#599-606)
Event emitted after the call(s):
- SwapAndLiquify(half,newBalance,otherHalf) (#584)
Reentrancy in SMR._swapAndLiquify(uint256) (#571-596):
External calls:
- _swapTokensForBusd(half,address(this)) (#588)
- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#640-646)
- _addLiquidityBusd(otherHalf,newBalance_scope_1) (#592)
- router.addLiquidity(address(this),busdToken,tokenAmount,busdAmount,0,0,liquidityReceiver,block.timestamp) (#609-618)
Event emitted after the call(s):
- SwapAndLiquifyBusd(half,newBalance_scope_1,otherHalf) (#594)
Reentrancy in SMR._transferFrom(address,address,uint256) (#510-558):
External calls:
- swapBack() (#535)
- router.addLiquidity(address(this),busdToken,tokenAmount,busdAmount,0,0,liquidityReceiver,block.timestamp) (#609-618)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#599-606)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#626-632)
- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#640-646)
External calls sending eth:
- swapBack() (#535)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#599-606)
Event emitted after the call(s):
- LogRebase(epoch,_totalSupply) (#734)
- _rebase() (#550)
- LogRebase(epoch,_totalSupply) (#752)
- _rebase() (#550)
- Transfer(sender,address(this),feeAmount.div(_gonsPerFragment)) (#681)
- gonAmountReceived = takeFee(sender,recipient,gonAmount) (#540)
- Transfer(sender,recipient,gonAmountReceived.div(_gonsPerFragment)) (#543-547)
Reentrancy in SMR.constructor() (#397-426):
External calls:
- pair = IDEXFactory(router.factory()).createPair(address(this),router.WETH()) (#399)
- pairBusd = IDEXFactory(router.factory()).createPair(address(this),busdToken) (#400)
Event emitted after the call(s):
- SetAutomatedMarketMakerPair(_pair,_value) (#785)
- setAutomatedMarketMakerPair(pairBusd,true) (#410)
- SetAutomatedMarketMakerPair(_pair,_value) (#785)
- setAutomatedMarketMakerPair(pair,true) (#409)
Reentrancy in SMR.constructor() (#397-426):
External calls:
- pair = IDEXFactory(router.factory()).createPair(address(this),router.WETH()) (#399)
- pairBusd = IDEXFactory(router.factory()).createPair(address(this),busdToken) (#400)
- IBEP20(busdToken).approve(address(router),uint256(- 1)) (#421)
- IBEP20(busdToken).approve(address(pairBusd),uint256(- 1)) (#422)
- IBEP20(busdToken).approve(address(this),uint256(- 1)) (#423)
Event emitted after the call(s):
- Transfer(address(0x0),msg.sender,_totalSupply) (#425)
Reentrancy in SMR.swapBack() (#649-672):
External calls:
- _swapAndLiquify(amountToLiquify) (#660)
- router.addLiquidity(address(this),busdToken,tokenAmount,busdAmount,0,0,liquidityReceiver,block.timestamp) (#609-618)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#599-606)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#626-632)
- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#640-646)
- _swapTokensForBusd(amountToRFV,fmarketingValueReceiver) (#664)
- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#640-646)
- _swapTokensForBNB(amountToDevelopment,DevelopmentReceiver) (#668)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#626-632)
External calls sending eth:
- _swapAndLiquify(amountToLiquify) (#660)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#599-606)
Event emitted after the call(s):
- SwapBack(contractTokenBalance,amountToLiquify,amountToRFV,amountToDevelopment) (#671)
Apply the check-effects-interactions pattern.
Additional information: link
SMR.shouldRebase() (#450-452) uses timestamp for comparisons
Dangerous comparisons:
- nextRebase <= block.timestamp (#451)
SMR._transferFrom(address,address,uint256) (#510-558) uses timestamp for comparisons
Dangerous comparisons:
- shouldRebase() && autoRebase (#549)
SMR.manualRebase() (#756-765) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(nextRebase <= block.timestamp,Not in time) (#758)
Avoid relying on block.timestamp.
Additional information: link
SMR.setAutomatedMarketMakerPair(address,bool) (#767-786) has costly operations inside a loop:
- _markerPairs.pop() (#779)
Use a local variable to hold the loop computation result.
Additional information: link
SafeMath.mod(uint256,uint256) (#109-112) is never used and should be removed
SafeMathInt.abs(int256) (#35-38) is never used and should be removed
SafeMathInt.add(int256,int256) (#29-33) is never used and should be removed
SafeMathInt.div(int256,int256) (#17-21) is never used and should be removed
SafeMathInt.mul(int256,int256) (#9-15) is never used and should be removed
SafeMathInt.sub(int256,int256) (#23-27) is never used and should be removed
Remove unused functions.
Additional information: link
SMR.totalBuyFee (#359) is set pre-construction with a non-constant function or state variable:
- DevelopmentFee.add(buyFeemarketing)
SMR.totalSellFee (#360) is set pre-construction with a non-constant function or state variable:
- totalBuyFee.add(sellFeeDevelopmentAdded).add(sellFeemarketingAdded)
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 IDEXRouter.WETH() (#171) is not in mixedCase
Struct SMR.user (#375-379) is not in CapWords
Parameter SMR.checkFeeExempt(address)._addr (#442) is not in mixedCase
Parameter SMR.setAutomatedMarketMakerPair(address,bool)._pair (#767) is not in mixedCase
Parameter SMR.setAutomatedMarketMakerPair(address,bool)._value (#767) is not in mixedCase
Parameter SMR.setFeeExempt(address,bool)._addr (#790) is not in mixedCase
Parameter SMR.setFeeExempt(address,bool)._value (#790) is not in mixedCase
Parameter SMR.setTwentyFourhours(uint256)._time (#797) is not in mixedCase
Parameter SMR.setSwapBackSettings(bool,uint256,uint256)._enabled (#806) is not in mixedCase
Parameter SMR.setSwapBackSettings(bool,uint256,uint256)._num (#806) is not in mixedCase
Parameter SMR.setSwapBackSettings(bool,uint256,uint256)._denom (#806) is not in mixedCase
Parameter SMR.setFeeReceivers(address,address,address)._liquidityReceiver (#811) is not in mixedCase
Parameter SMR.setFeeReceivers(address,address,address)._DevelopmentReceiver (#811) is not in mixedCase
Parameter SMR.setFeeReceivers(address,address,address)._fmarketingValueReceiver (#811) is not in mixedCase
Parameter SMR.clearStuckBalance(address)._receiver (#819) is not in mixedCase
Parameter SMR.setAutoRebase(bool)._autoRebase (#828) is not in mixedCase
Parameter SMR.setRebaseFrequency(uint256)._rebaseFrequency (#833) is not in mixedCase
Parameter SMR.setRewardYield(uint256,uint256)._rewardYield (#838) is not in mixedCase
Parameter SMR.setRewardYield(uint256,uint256)._rewardYieldDenominator (#838) is not in mixedCase
Parameter SMR.setFeesOnNormalTransfers(bool)._enabled (#843) is not in mixedCase
Parameter SMR.setIsLiquidityInBnb(bool)._value (#848) is not in mixedCase
Parameter SMR.setNextRebase(uint256)._nextRebase (#853) is not in mixedCase
Parameter SMR.setMaxSellTransaction(uint256)._maxTxn (#857) is not in mixedCase
Variable SMR._isFeeExempt (#331) is not in mixedCase
Variable SMR._markerPairs (#332) is not in mixedCase
Variable SMR.DEAD (#343) is not in mixedCase
Variable SMR.ZERO (#344) is not in mixedCase
Variable SMR.DevelopmentReceiver (#347) is not in mixedCase
Variable SMR.DevelopmentFee (#355) is not in mixedCase
Variable SMR.TwentyFourhours (#381) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Variable IDEXRouter.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#176) is too similar to IDEXRouter.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#177)
Prevent variables from having similar names.
Additional information: link
SMR.slitherConstructorVariables() (#314-867) uses literals with too many digits:
- rewardYieldDenominator = 10000000000 (#325)
SMR.slitherConstructorVariables() (#314-867) uses literals with too many digits:
- maxSellTransactionAmount = 2500000 * 10 ** 18 (#326)
SMR.slitherConstructorVariables() (#314-867) uses literals with too many digits:
- DEAD = 0x000000000000000000000000000000000000dEaD (#343)
SMR.slitherConstructorVariables() (#314-867) uses literals with too many digits:
- ZERO = 0x0000000000000000000000000000000000000000 (#344)
SMR.slitherConstructorConstantVariables() (#314-867) uses literals with too many digits:
- INITIAL_FRAGMENTS_SUPPLY = 10000000000 * 10 ** DECIMALS (#339)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
SafeMathInt.MAX_INT256 (#7) is never used in SafeMathInt (#5-39)
Remove unused state variables.
Additional information: link
SMR.DEAD (#343) should be constant
SMR.DevelopmentFee (#355) should be constant
SMR.ZERO (#344) should be constant
SMR.busdToken (#349) should be constant
SMR.buyFeemarketing (#356) should be constant
SMR.feeDenominator (#361) should be constant
SMR.sellFeeDevelopmentAdded (#357) should be constant
SMR.sellFeemarketingAdded (#358) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
name() should be declared external:
- BEP20Detailed.name() (#155-157)
symbol() should be declared external:
- BEP20Detailed.symbol() (#159-161)
decimals() should be declared external:
- BEP20Detailed.decimals() (#163-165)
owner() should be declared external:
- Ownable.owner() (#250-252)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#259-262)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#264-266)
addWhitelisted(address) should be declared external:
- WhitelistedRole.addWhitelisted(address) (#291-293)
removeWhitelisted(address) should be declared external:
- WhitelistedRole.removeWhitelisted(address) (#295-297)
renounceWhitelisted() should be declared external:
- WhitelistedRole.renounceWhitelisted() (#299-301)
Use the external attribute for functions never called from the contract.
Additional information: link
Not a direct threat, but may indicate unreliable intentions of developer. Widespread names (e.g. Elon, King, Moon, Doge) are common among meme-tokens and scams. The allow to gain free hype and attract unexperienced investors.
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
Token is not listed at Mobula.Finance
Additional information: link
Unable to find token on CoinHunt
Additional information: link
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Unable to find Blog account (Reddit or Medium)
Unable to find Youtube account
Unable to find Discord account