Powermade ⚡️ an Ecosystem of different product/services using the PWD deflationary token as main utility and as future DAO governance token 🔑 Key points 👉 Reflection in BTCB 🤩 Integrated Buyback&Burn with BUSD accumulation 🤩 Automatic liquidity 🤩 Farming and Staking dApps with PWD rewards 💰 Discount and benefits in the ecosystem 🧩 Learn in the crypto Academy 📚 Buy goods in the marketplace (EEA) 🛒 Smart contract based affiliation plan 🗣 And many more in the roadmap! 🚀 See our Whitepaper! 📖
POWERMADE._addLiquidityPWDandBNBpair(uint256,uint256) (POWERMADE.sol#390-401) sends eth to arbitrary user
Dangerous calls:
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
Ensure that an arbitrary user cannot withdraw unauthorized funds.
Additional information: link
Reentrancy in POWERMADE._transfer(address,address,uint256) (POWERMADE.sol#224-306):
External calls:
- buyback_executed = automaticBuyback.trigger() (POWERMADE.sol#252)
- _swapAndSendAutomaticBuyback(amountBuybackTax) (POWERMADE.sol#267)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#270)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
- pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (POWERMADE.sol#379-385)
- _swapAndSendReflectionManager(amountReflectionTax) (POWERMADE.sol#273)
- reflectionManager.update_deposit(received_amount) (POWERMADE.sol#325)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
External calls sending eth:
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#270)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
State variables written after the call(s):
- super._transfer(from,address(this),total_tax_amount) (POWERMADE.sol#293)
- _balances[sender] = _balances[sender].sub(amount,BEP20: transfer amount exceeds balance) (BEP20.sol#80)
- _balances[recipient] = _balances[recipient].add(amount) (BEP20.sol#81)
- super._transfer(from,to,amount) (POWERMADE.sol#301)
- _balances[sender] = _balances[sender].sub(amount,BEP20: transfer amount exceeds balance) (BEP20.sol#80)
- _balances[recipient] = _balances[recipient].add(amount) (BEP20.sol#81)
- amountBuybackTax = amountBuybackTax.add(buyback_amount) (POWERMADE.sol#296)
- amountLiquidityTax = amountLiquidityTax.add(liquidity_amount) (POWERMADE.sol#297)
- amountReflectionTax = amountReflectionTax.add(reflection_amount) (POWERMADE.sol#295)
- swapping = false (POWERMADE.sol#275)
Apply the check-effects-interactions pattern.
Additional information: link
LPLocker.withdrawLP(address,uint256,address) (LPLocker.sol#33-41) ignores return value by token_out.transfer(_to,_amount) (LPLocker.sol#39)
POWERMADE.withdrawStuckTokens(address,uint256,address) (POWERMADE.sol#857-872) ignores return value by token_bep20.transfer(recipient,amount) (POWERMADE.sol#869)
ReflectionManager.distributeDividend(address,bool) (ReflectionManager.sol#168-187) ignores return value by RWRD.transfer(shareholder,amount) (ReflectionManager.sol#173)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
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)
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.
Combination 2: Unchecked transfer + 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.
AutomaticBuyback._changeBuybackPeriod(uint256) (AutomaticBuyback.sol#71-97) uses a dangerous strict equality:
- buyback_timestamp == 0 (AutomaticBuyback.sol#72)
Don't use strict equality to determine if an account has enough Ether or tokens.
Additional information: link
POWERMADE.setCooldownBuyPeriod(uint256) (POWERMADE.sol#610-614) contains a tautology or contradiction:
- require(bool,string)(_period_seconds >= 0 && _period_seconds <= 3600,Cooldown: period <= 1h) (POWERMADE.sol#611)
Fix the incorrect comparison by changing the value type or the comparison.
Additional information: link
Combination 3: Reentrancy vulnerabilities + Unchecked transfer vulnerability. Usual for scams. May be justified by some complex mechanics (e.g. rebase, reflections). DYOR & manual audit are advised.
POWERMADE.constructor(address).totalSupply (POWERMADE.sol#128) shadows:
- BEP20.totalSupply() (BEP20.sol#38-40) (function)
- IBEP20.totalSupply() (IBEP20.sol#8) (function)
Rename the local variables that shadow another component.
Additional information: link
POWERMADE.withdrawStuckTokens(address,uint256,address).recipient (POWERMADE.sol#857) lacks a zero-check on :
- address(recipient).transfer(amount) (POWERMADE.sol#862)
Check that the address is not zero.
Additional information: link
Reentrancy in AutomaticBuyback._buybackAll() (AutomaticBuyback.sol#103-124):
External calls:
- cumulatedToken.approve(address(pancakeRouter),tokenAmount) (AutomaticBuyback.sol#111)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (AutomaticBuyback.sol#113-119)
State variables written after the call(s):
- totalBuyedBackAlltime = totalBuyedBackAlltime.add(currentBuybackBalance).sub(previousBuybackBalance) (AutomaticBuyback.sol#122)
Reentrancy in POWERMADE._swapAndLiquify(uint256) (POWERMADE.sol#333-349):
External calls:
- _swapPWDtoBNB(half) (POWERMADE.sol#340)
- pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (POWERMADE.sol#379-385)
- _addLiquidityPWDandBNBpair(otherHalf,newBalance) (POWERMADE.sol#344)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
External calls sending eth:
- _addLiquidityPWDandBNBpair(otherHalf,newBalance) (POWERMADE.sol#344)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
State variables written after the call(s):
- _addLiquidityPWDandBNBpair(otherHalf,newBalance) (POWERMADE.sol#344)
- _allowances[owner][spender] = amount (BEP20.sol#104)
- amountLiquidityTax = amountLiquidityTax.sub(realPWDamountUsed) (POWERMADE.sol#347)
Reentrancy in POWERMADE._swapAndSendAutomaticBuyback(uint256) (POWERMADE.sol#311-317):
External calls:
- received_amount = _swapPWDtoTokenAndSendToRecipient(automaticBuyback_cumulatedToken,amount,address(automaticBuyback)) (POWERMADE.sol#313)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
State variables written after the call(s):
- amountBuybackTax = amountBuybackTax.sub(amount) (POWERMADE.sol#315)
Reentrancy in POWERMADE._swapAndSendReflectionManager(uint256) (POWERMADE.sol#321-329):
External calls:
- received_amount = _swapPWDtoTokenAndSendToRecipient(reflectionToken,amount,address(reflectionManager)) (POWERMADE.sol#323)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
- reflectionManager.update_deposit(received_amount) (POWERMADE.sol#325)
State variables written after the call(s):
- amountReflectionTax = amountReflectionTax.sub(amount) (POWERMADE.sol#327)
Reentrancy in POWERMADE._transfer(address,address,uint256) (POWERMADE.sol#224-306):
External calls:
- buyback_executed = automaticBuyback.trigger() (POWERMADE.sol#252)
State variables written after the call(s):
- _burn(address(automaticBuyback),balanceOf(address(automaticBuyback))) (POWERMADE.sol#255)
- _balances[account] = _balances[account].sub(amount,BEP20: burn amount exceeds balance) (BEP20.sol#96)
- tx_counter ++ (POWERMADE.sol#263)
Reentrancy in POWERMADE._transfer(address,address,uint256) (POWERMADE.sol#224-306):
External calls:
- buyback_executed = automaticBuyback.trigger() (POWERMADE.sol#252)
- _swapAndSendAutomaticBuyback(amountBuybackTax) (POWERMADE.sol#267)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
State variables written after the call(s):
- _swapAndSendAutomaticBuyback(amountBuybackTax) (POWERMADE.sol#267)
- _allowances[owner][spender] = amount (BEP20.sol#104)
Reentrancy in POWERMADE._transfer(address,address,uint256) (POWERMADE.sol#224-306):
External calls:
- buyback_executed = automaticBuyback.trigger() (POWERMADE.sol#252)
- _swapAndSendAutomaticBuyback(amountBuybackTax) (POWERMADE.sol#267)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#270)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
- pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (POWERMADE.sol#379-385)
External calls sending eth:
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#270)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
State variables written after the call(s):
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#270)
- _allowances[owner][spender] = amount (BEP20.sol#104)
Reentrancy in POWERMADE._transfer(address,address,uint256) (POWERMADE.sol#224-306):
External calls:
- buyback_executed = automaticBuyback.trigger() (POWERMADE.sol#252)
- _swapAndSendAutomaticBuyback(amountBuybackTax) (POWERMADE.sol#267)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#270)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
- pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (POWERMADE.sol#379-385)
- _swapAndSendReflectionManager(amountReflectionTax) (POWERMADE.sol#273)
- reflectionManager.update_deposit(received_amount) (POWERMADE.sol#325)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
External calls sending eth:
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#270)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
State variables written after the call(s):
- _swapAndSendReflectionManager(amountReflectionTax) (POWERMADE.sol#273)
- _allowances[owner][spender] = amount (BEP20.sol#104)
Reentrancy in POWERMADE._transferOwnership(address) (POWERMADE.sol#200-219):
External calls:
- reflectionManager.setReflectionDisabledWallet(owner(),false) (POWERMADE.sol#206)
State variables written after the call(s):
- _setCanSnapshotWallet(owner(),false) (POWERMADE.sol#210)
- _canSnapshot[account] = can_snapshot (POWERMADE.sol#579)
- _setExcludedFromAntiWhale(owner(),false) (POWERMADE.sol#208)
- _isExcludedFromAntiWhale[account] = excluded (POWERMADE.sol#541)
- _excludeFromFees(owner(),false) (POWERMADE.sol#207)
- _isExcludedFromFees[account] = excluded (POWERMADE.sol#512)
- _setExcludedFromCooldown(owner(),false) (POWERMADE.sol#209)
- _isTimelockExempt[account] = excluded (POWERMADE.sol#566)
Reentrancy in POWERMADE._transferOwnership(address) (POWERMADE.sol#200-219):
External calls:
- reflectionManager.setReflectionDisabledWallet(owner(),false) (POWERMADE.sol#206)
- reflectionManager.setReflectionDisabledWallet(owner(),true) (POWERMADE.sol#214)
State variables written after the call(s):
- _setCanSnapshotWallet(owner(),true) (POWERMADE.sol#218)
- _canSnapshot[account] = can_snapshot (POWERMADE.sol#579)
Reentrancy in POWERMADE._updateAndProcessReflectionManagers(address,address) (POWERMADE.sol#405-434):
External calls:
- reflectionManager.setShare(from,balanceOf(from)) (POWERMADE.sol#408)
- reflectionManager.setShare(to,balanceOf(to)) (POWERMADE.sol#409)
State variables written after the call(s):
- delete reflectionManagerOld (POWERMADE.sol#419)
Reentrancy in POWERMADE.changeBuybackCumulatedToken(address) (POWERMADE.sol#805-809):
External calls:
- automaticBuyback.changeCumulatedToken(newCumulatedTokenAddress) (POWERMADE.sol#807)
State variables written after the call(s):
- automaticBuyback_cumulatedToken = BEP20(newCumulatedTokenAddress) (POWERMADE.sol#808)
Reentrancy in POWERMADE.changeReflectionManager(address,address,uint256) (POWERMADE.sol#742-772):
External calls:
- new_reflection_manager.initialize(newReflectionToken) (POWERMADE.sol#747)
- new_reflection_manager.setDistributionCriteria(21600,_minDistribution,REFLECTION_ELIGIBILITY_THRESHOLD) (POWERMADE.sol#749)
- new_reflection_manager.setReflectionDisabledWallet(address(reflectionManager),true) (POWERMADE.sol#751)
- new_reflection_manager.setReflectionDisabledWallet(address(reflectionManagerOld),true) (POWERMADE.sol#752)
- new_reflection_manager.setReflectionDisabledWallet(address(this),true) (POWERMADE.sol#753)
- new_reflection_manager.setReflectionDisabledWallet(owner(),true) (POWERMADE.sol#754)
- new_reflection_manager.setReflectionDisabledWallet(address(pancakeRouter),true) (POWERMADE.sol#755)
- new_reflection_manager.setReflectionDisabledWallet(address(pancakePair),true) (POWERMADE.sol#756)
- new_reflection_manager.setReflectionDisabledWallet(address(automaticBuyback),true) (POWERMADE.sol#757)
- new_reflection_manager.setReflectionDisabledWallet(address(LP_locker),true) (POWERMADE.sol#758)
State variables written after the call(s):
- _setExcludedFromAntiWhale(address(new_reflection_manager),true) (POWERMADE.sol#761)
- _isExcludedFromAntiWhale[account] = excluded (POWERMADE.sol#541)
- _excludeFromFees(address(new_reflection_manager),true) (POWERMADE.sol#760)
- _isExcludedFromFees[account] = excluded (POWERMADE.sol#512)
- _setExcludedFromCooldown(address(new_reflection_manager),true) (POWERMADE.sol#762)
- _isTimelockExempt[account] = excluded (POWERMADE.sol#566)
- reflectionToken = BEP20(newReflectionToken) (POWERMADE.sol#765)
Reentrancy in POWERMADE.constructor(address) (POWERMADE.sol#127-189):
External calls:
- pancakePair = IPancakeFactory(pancakeRouter.factory()).createPair(address(this),pancakeRouter.WETH()) (POWERMADE.sol#136)
State variables written after the call(s):
- reflectionManager = new ReflectionManager() (POWERMADE.sol#139)
Reentrancy in POWERMADE.constructor(address) (POWERMADE.sol#127-189):
External calls:
- pancakePair = IPancakeFactory(pancakeRouter.factory()).createPair(address(this),pancakeRouter.WETH()) (POWERMADE.sol#136)
- reflectionManager.initialize(address(reflectionToken)) (POWERMADE.sol#140)
- reflectionManager.setDistributionCriteria(21600,10 ** 12,REFLECTION_ELIGIBILITY_THRESHOLD) (POWERMADE.sol#141)
State variables written after the call(s):
- automaticBuyback = new AutomaticBuyback() (POWERMADE.sol#143)
Reentrancy in POWERMADE.constructor(address) (POWERMADE.sol#127-189):
External calls:
- pancakePair = IPancakeFactory(pancakeRouter.factory()).createPair(address(this),pancakeRouter.WETH()) (POWERMADE.sol#136)
- reflectionManager.initialize(address(reflectionToken)) (POWERMADE.sol#140)
- reflectionManager.setDistributionCriteria(21600,10 ** 12,REFLECTION_ELIGIBILITY_THRESHOLD) (POWERMADE.sol#141)
- automaticBuyback.initialize(address(pancakeRouter),address(automaticBuyback_cumulatedToken),address(this)) (POWERMADE.sol#144)
State variables written after the call(s):
- LP_locker = new LPLocker() (POWERMADE.sol#146)
Reentrancy in POWERMADE.constructor(address) (POWERMADE.sol#127-189):
External calls:
- pancakePair = IPancakeFactory(pancakeRouter.factory()).createPair(address(this),pancakeRouter.WETH()) (POWERMADE.sol#136)
- reflectionManager.initialize(address(reflectionToken)) (POWERMADE.sol#140)
- reflectionManager.setDistributionCriteria(21600,10 ** 12,REFLECTION_ELIGIBILITY_THRESHOLD) (POWERMADE.sol#141)
- automaticBuyback.initialize(address(pancakeRouter),address(automaticBuyback_cumulatedToken),address(this)) (POWERMADE.sol#144)
- LP_locker.initialize(block.timestamp + 2 * 31536000) (POWERMADE.sol#147)
- _setAutomatedMarketMakerPair(pancakePair,true) (POWERMADE.sol#150)
- reflectionManager.setReflectionDisabledWallet(pair,true) (POWERMADE.sol#489)
State variables written after the call(s):
- _setAutomatedMarketMakerPair(pancakePair,true) (POWERMADE.sol#150)
- automatedMarketMakerPairs[pair] = value (POWERMADE.sol#487)
Reentrancy in POWERMADE.constructor(address) (POWERMADE.sol#127-189):
External calls:
- pancakePair = IPancakeFactory(pancakeRouter.factory()).createPair(address(this),pancakeRouter.WETH()) (POWERMADE.sol#136)
- reflectionManager.initialize(address(reflectionToken)) (POWERMADE.sol#140)
- reflectionManager.setDistributionCriteria(21600,10 ** 12,REFLECTION_ELIGIBILITY_THRESHOLD) (POWERMADE.sol#141)
- automaticBuyback.initialize(address(pancakeRouter),address(automaticBuyback_cumulatedToken),address(this)) (POWERMADE.sol#144)
- LP_locker.initialize(block.timestamp + 2 * 31536000) (POWERMADE.sol#147)
- _setAutomatedMarketMakerPair(pancakePair,true) (POWERMADE.sol#150)
- reflectionManager.setReflectionDisabledWallet(pair,true) (POWERMADE.sol#489)
- reflectionManager.setReflectionDisabledWallet(address(reflectionManager),true) (POWERMADE.sol#153)
- reflectionManager.setReflectionDisabledWallet(address(this),true) (POWERMADE.sol#154)
- reflectionManager.setReflectionDisabledWallet(owner(),true) (POWERMADE.sol#155)
- reflectionManager.setReflectionDisabledWallet(TGE_destination,true) (POWERMADE.sol#156)
- reflectionManager.setReflectionDisabledWallet(address(pancakeRouter),true) (POWERMADE.sol#157)
- reflectionManager.setReflectionDisabledWallet(address(pancakePair),true) (POWERMADE.sol#158)
- reflectionManager.setReflectionDisabledWallet(address(automaticBuyback),true) (POWERMADE.sol#159)
- reflectionManager.setReflectionDisabledWallet(address(LP_locker),true) (POWERMADE.sol#160)
State variables written after the call(s):
- _mint(TGE_destination,totalSupply) (POWERMADE.sol#187)
- _balances[account] = _balances[account].add(amount) (BEP20.sol#89)
- _setCanSnapshotWallet(owner(),true) (POWERMADE.sol#183)
- _canSnapshot[account] = can_snapshot (POWERMADE.sol#579)
- _setCanSnapshotWallet(TGE_destination,true) (POWERMADE.sol#184)
- _canSnapshot[account] = can_snapshot (POWERMADE.sol#579)
- _setExcludedFromAntiWhale(owner(),true) (POWERMADE.sol#169)
- _isExcludedFromAntiWhale[account] = excluded (POWERMADE.sol#541)
- _setExcludedFromAntiWhale(address(this),true) (POWERMADE.sol#170)
- _isExcludedFromAntiWhale[account] = excluded (POWERMADE.sol#541)
- _setExcludedFromAntiWhale(TGE_destination,true) (POWERMADE.sol#171)
- _isExcludedFromAntiWhale[account] = excluded (POWERMADE.sol#541)
- _setExcludedFromAntiWhale(address(automaticBuyback),true) (POWERMADE.sol#172)
- _isExcludedFromAntiWhale[account] = excluded (POWERMADE.sol#541)
- _setExcludedFromAntiWhale(address(LP_locker),true) (POWERMADE.sol#173)
- _isExcludedFromAntiWhale[account] = excluded (POWERMADE.sol#541)
- _setExcludedFromAntiWhale(address(reflectionManager),true) (POWERMADE.sol#174)
- _isExcludedFromAntiWhale[account] = excluded (POWERMADE.sol#541)
- _excludeFromFees(owner(),true) (POWERMADE.sol#162)
- _isExcludedFromFees[account] = excluded (POWERMADE.sol#512)
- _excludeFromFees(address(this),true) (POWERMADE.sol#163)
- _isExcludedFromFees[account] = excluded (POWERMADE.sol#512)
- _excludeFromFees(TGE_destination,true) (POWERMADE.sol#164)
- _isExcludedFromFees[account] = excluded (POWERMADE.sol#512)
- _excludeFromFees(address(automaticBuyback),true) (POWERMADE.sol#165)
- _isExcludedFromFees[account] = excluded (POWERMADE.sol#512)
- _excludeFromFees(address(LP_locker),true) (POWERMADE.sol#166)
- _isExcludedFromFees[account] = excluded (POWERMADE.sol#512)
- _excludeFromFees(address(reflectionManager),true) (POWERMADE.sol#167)
- _isExcludedFromFees[account] = excluded (POWERMADE.sol#512)
- _setExcludedFromCooldown(owner(),true) (POWERMADE.sol#176)
- _isTimelockExempt[account] = excluded (POWERMADE.sol#566)
- _setExcludedFromCooldown(address(this),true) (POWERMADE.sol#177)
- _isTimelockExempt[account] = excluded (POWERMADE.sol#566)
- _setExcludedFromCooldown(TGE_destination,true) (POWERMADE.sol#178)
- _isTimelockExempt[account] = excluded (POWERMADE.sol#566)
- _setExcludedFromCooldown(address(automaticBuyback),true) (POWERMADE.sol#179)
- _isTimelockExempt[account] = excluded (POWERMADE.sol#566)
- _setExcludedFromCooldown(address(LP_locker),true) (POWERMADE.sol#180)
- _isTimelockExempt[account] = excluded (POWERMADE.sol#566)
- _setExcludedFromCooldown(address(reflectionManager),true) (POWERMADE.sol#181)
- _isTimelockExempt[account] = excluded (POWERMADE.sol#566)
- _mint(TGE_destination,totalSupply) (POWERMADE.sol#187)
- _totalSupply = _totalSupply.add(amount) (BEP20.sol#88)
Reentrancy in ReflectionManager.distributeDividend(address,bool) (ReflectionManager.sol#168-187):
External calls:
- RWRD.transfer(shareholder,amount) (ReflectionManager.sol#173)
State variables written after the call(s):
- shareholderClaims[shareholder] = block.timestamp (ReflectionManager.sol#174)
Reentrancy in ReflectionManager.setShare(address,uint256) (ReflectionManager.sol#69-94):
External calls:
- distributeDividend(shareholder,true) (ReflectionManager.sol#74)
- RWRD.transfer(shareholder,amount) (ReflectionManager.sol#173)
State variables written after the call(s):
- removeShareholder(shareholder) (ReflectionManager.sol#82)
- shareholderIndexes[shareholders[shareholders.length - 1]] = shareholderIndexes[shareholder] (ReflectionManager.sol#111)
- shareholderIndexes[shareholder] = 0 (ReflectionManager.sol#112)
- addShareholder(shareholder) (ReflectionManager.sol#85)
- shareholderIndexes[shareholder] = shareholders.length + 1 (ReflectionManager.sol#100)
- removeShareholder(shareholder) (ReflectionManager.sol#87)
- shareholderIndexes[shareholders[shareholders.length - 1]] = shareholderIndexes[shareholder] (ReflectionManager.sol#111)
- shareholderIndexes[shareholder] = 0 (ReflectionManager.sol#112)
- removeShareholder(shareholder) (ReflectionManager.sol#82)
- shareholders[shareholderIndexes[shareholder] - 1] = shareholders[shareholders.length - 1] (ReflectionManager.sol#110)
- shareholders.pop() (ReflectionManager.sol#113)
- addShareholder(shareholder) (ReflectionManager.sol#85)
- shareholders.push(shareholder) (ReflectionManager.sol#101)
- removeShareholder(shareholder) (ReflectionManager.sol#87)
- shareholders[shareholderIndexes[shareholder] - 1] = shareholders[shareholders.length - 1] (ReflectionManager.sol#110)
- shareholders.pop() (ReflectionManager.sol#113)
- totalShares = totalShares.sub(shares[shareholder].amount).add(amount) (ReflectionManager.sol#91)
Reentrancy in POWERMADE.swapManual() (POWERMADE.sol#468-482):
External calls:
- _swapAndSendAutomaticBuyback(amountBuybackTax) (POWERMADE.sol#473)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#476)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
- pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (POWERMADE.sol#379-385)
External calls sending eth:
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#476)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
State variables written after the call(s):
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#476)
- _allowances[owner][spender] = amount (BEP20.sol#104)
Reentrancy in POWERMADE.swapManual() (POWERMADE.sol#468-482):
External calls:
- _swapAndSendAutomaticBuyback(amountBuybackTax) (POWERMADE.sol#473)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#476)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
- pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (POWERMADE.sol#379-385)
- _swapAndSendReflectionManager(amountReflectionTax) (POWERMADE.sol#479)
- reflectionManager.update_deposit(received_amount) (POWERMADE.sol#325)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
External calls sending eth:
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#476)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
State variables written after the call(s):
- _swapAndSendReflectionManager(amountReflectionTax) (POWERMADE.sol#479)
- _allowances[owner][spender] = amount (BEP20.sol#104)
- swapping = false (POWERMADE.sol#481)
Reentrancy in AutomaticBuyback.trigger() (AutomaticBuyback.sol#46-60):
External calls:
- _buybackAll() (AutomaticBuyback.sol#49)
- cumulatedToken.approve(address(pancakeRouter),tokenAmount) (AutomaticBuyback.sol#111)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (AutomaticBuyback.sol#113-119)
State variables written after the call(s):
- buybackPeriod = buybackPeriodNew (AutomaticBuyback.sol#52)
Reentrancy in POWERMADE.updatePancakeRouter(address) (POWERMADE.sol#826-843):
External calls:
- pancakePair = IPancakeFactory(_newRouter.factory()).createPair(address(this),_newRouter.WETH()) (POWERMADE.sol#833)
- _setAutomatedMarketMakerPair(pancakePair,true) (POWERMADE.sol#838)
- reflectionManager.setReflectionDisabledWallet(pair,true) (POWERMADE.sol#489)
State variables written after the call(s):
- _setAutomatedMarketMakerPair(pancakePair,true) (POWERMADE.sol#838)
- automatedMarketMakerPairs[pair] = value (POWERMADE.sol#487)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in AutomaticBuyback._buybackAll() (AutomaticBuyback.sol#103-124):
External calls:
- cumulatedToken.approve(address(pancakeRouter),tokenAmount) (AutomaticBuyback.sol#111)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (AutomaticBuyback.sol#113-119)
Event emitted after the call(s):
- BuybackExecuted(tokenAmount,currentBuybackBalance.sub(previousBuybackBalance),currentBuybackBalance,totalBuyedBackAlltime) (AutomaticBuyback.sol#123)
Reentrancy in POWERMADE._setAutomatedMarketMakerPair(address,bool) (POWERMADE.sol#486-492):
External calls:
- reflectionManager.setReflectionDisabledWallet(pair,true) (POWERMADE.sol#489)
Event emitted after the call(s):
- SetAutomatedMarketMakerPair(pair,value) (POWERMADE.sol#491)
Reentrancy in POWERMADE._swapAndLiquify(uint256) (POWERMADE.sol#333-349):
External calls:
- _swapPWDtoBNB(half) (POWERMADE.sol#340)
- pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (POWERMADE.sol#379-385)
- _addLiquidityPWDandBNBpair(otherHalf,newBalance) (POWERMADE.sol#344)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
External calls sending eth:
- _addLiquidityPWDandBNBpair(otherHalf,newBalance) (POWERMADE.sol#344)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
Event emitted after the call(s):
- Approval(owner,spender,amount) (BEP20.sol#105)
- _addLiquidityPWDandBNBpair(otherHalf,newBalance) (POWERMADE.sol#344)
- SwapAndLiquify(half,newBalance,realPWDamountUsed) (POWERMADE.sol#348)
Reentrancy in POWERMADE._swapAndSendAutomaticBuyback(uint256) (POWERMADE.sol#311-317):
External calls:
- received_amount = _swapPWDtoTokenAndSendToRecipient(automaticBuyback_cumulatedToken,amount,address(automaticBuyback)) (POWERMADE.sol#313)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
Event emitted after the call(s):
- SwapAndSendAutomaticBuyback(amount,received_amount) (POWERMADE.sol#316)
Reentrancy in POWERMADE._swapAndSendReflectionManager(uint256) (POWERMADE.sol#321-329):
External calls:
- received_amount = _swapPWDtoTokenAndSendToRecipient(reflectionToken,amount,address(reflectionManager)) (POWERMADE.sol#323)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
- reflectionManager.update_deposit(received_amount) (POWERMADE.sol#325)
Event emitted after the call(s):
- SwapAndSendReflectionManager(amount,received_amount) (POWERMADE.sol#328)
Reentrancy in POWERMADE._transfer(address,address,uint256) (POWERMADE.sol#224-306):
External calls:
- buyback_executed = automaticBuyback.trigger() (POWERMADE.sol#252)
Event emitted after the call(s):
- Transfer(account,address(0),amount) (BEP20.sol#98)
- _burn(address(automaticBuyback),balanceOf(address(automaticBuyback))) (POWERMADE.sol#255)
Reentrancy in POWERMADE._transfer(address,address,uint256) (POWERMADE.sol#224-306):
External calls:
- buyback_executed = automaticBuyback.trigger() (POWERMADE.sol#252)
- _swapAndSendAutomaticBuyback(amountBuybackTax) (POWERMADE.sol#267)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
Event emitted after the call(s):
- Approval(owner,spender,amount) (BEP20.sol#105)
- _swapAndSendAutomaticBuyback(amountBuybackTax) (POWERMADE.sol#267)
- SwapAndSendAutomaticBuyback(amount,received_amount) (POWERMADE.sol#316)
- _swapAndSendAutomaticBuyback(amountBuybackTax) (POWERMADE.sol#267)
Reentrancy in POWERMADE._transfer(address,address,uint256) (POWERMADE.sol#224-306):
External calls:
- buyback_executed = automaticBuyback.trigger() (POWERMADE.sol#252)
- _swapAndSendAutomaticBuyback(amountBuybackTax) (POWERMADE.sol#267)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#270)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
- pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (POWERMADE.sol#379-385)
External calls sending eth:
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#270)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
Event emitted after the call(s):
- Approval(owner,spender,amount) (BEP20.sol#105)
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#270)
- SwapAndLiquify(half,newBalance,realPWDamountUsed) (POWERMADE.sol#348)
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#270)
Reentrancy in POWERMADE._transfer(address,address,uint256) (POWERMADE.sol#224-306):
External calls:
- buyback_executed = automaticBuyback.trigger() (POWERMADE.sol#252)
- _swapAndSendAutomaticBuyback(amountBuybackTax) (POWERMADE.sol#267)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#270)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
- pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (POWERMADE.sol#379-385)
- _swapAndSendReflectionManager(amountReflectionTax) (POWERMADE.sol#273)
- reflectionManager.update_deposit(received_amount) (POWERMADE.sol#325)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
External calls sending eth:
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#270)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
Event emitted after the call(s):
- Approval(owner,spender,amount) (BEP20.sol#105)
- _swapAndSendReflectionManager(amountReflectionTax) (POWERMADE.sol#273)
- SwapAndSendReflectionManager(amount,received_amount) (POWERMADE.sol#328)
- _swapAndSendReflectionManager(amountReflectionTax) (POWERMADE.sol#273)
- Transfer(sender,recipient,amount) (BEP20.sol#82)
- super._transfer(from,to,amount) (POWERMADE.sol#301)
- Transfer(sender,recipient,amount) (BEP20.sol#82)
- super._transfer(from,address(this),total_tax_amount) (POWERMADE.sol#293)
Reentrancy in POWERMADE._transfer(address,address,uint256) (POWERMADE.sol#224-306):
External calls:
- buyback_executed = automaticBuyback.trigger() (POWERMADE.sol#252)
- _swapAndSendAutomaticBuyback(amountBuybackTax) (POWERMADE.sol#267)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#270)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
- pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (POWERMADE.sol#379-385)
- _swapAndSendReflectionManager(amountReflectionTax) (POWERMADE.sol#273)
- reflectionManager.update_deposit(received_amount) (POWERMADE.sol#325)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
- _updateAndProcessReflectionManagers(from,to) (POWERMADE.sol#304)
- reflectionManager.setShare(from,balanceOf(from)) (POWERMADE.sol#408)
- reflectionManager.setShare(to,balanceOf(to)) (POWERMADE.sol#409)
- reflectionManagerOld.process(gas) (POWERMADE.sol#423-425)
- reflectionManager.process(gas) (POWERMADE.sol#429-431)
External calls sending eth:
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#270)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
Event emitted after the call(s):
- ProcessedReflectionDistribution(currentIndex_scope_0,iterations_scope_1,claims_scope_2,true,dismission_completed_scope_3,gas,tx.origin) (POWERMADE.sol#430)
- _updateAndProcessReflectionManagers(from,to) (POWERMADE.sol#304)
- ProcessedReflectionDistributionOLD(currentIndex,iterations,claims,true,dismission_completed,gas,tx.origin) (POWERMADE.sol#424)
- _updateAndProcessReflectionManagers(from,to) (POWERMADE.sol#304)
Reentrancy in POWERMADE._transferOwnership(address) (POWERMADE.sol#200-219):
External calls:
- reflectionManager.setReflectionDisabledWallet(owner(),false) (POWERMADE.sol#206)
Event emitted after the call(s):
- ExcludeFromAntiWhale(account,excluded) (POWERMADE.sol#542)
- _setExcludedFromAntiWhale(owner(),false) (POWERMADE.sol#208)
- ExcludeFromCooldown(account,excluded) (POWERMADE.sol#567)
- _setExcludedFromCooldown(owner(),false) (POWERMADE.sol#209)
- ExcludeFromFees(account,excluded) (POWERMADE.sol#513)
- _excludeFromFees(owner(),false) (POWERMADE.sol#207)
- OwnershipTransferred(oldOwner,newOwner) (Ownable.sol#52)
- super._transferOwnership(newOwner) (POWERMADE.sol#212)
- SetCanSnapshotWallet(account,can_snapshot) (POWERMADE.sol#580)
- _setCanSnapshotWallet(owner(),false) (POWERMADE.sol#210)
Reentrancy in POWERMADE._transferOwnership(address) (POWERMADE.sol#200-219):
External calls:
- reflectionManager.setReflectionDisabledWallet(owner(),false) (POWERMADE.sol#206)
- reflectionManager.setReflectionDisabledWallet(owner(),true) (POWERMADE.sol#214)
Event emitted after the call(s):
- ExcludeFromAntiWhale(account,excluded) (POWERMADE.sol#542)
- _setExcludedFromAntiWhale(owner(),true) (POWERMADE.sol#216)
- ExcludeFromCooldown(account,excluded) (POWERMADE.sol#567)
- _setExcludedFromCooldown(owner(),true) (POWERMADE.sol#217)
- ExcludeFromFees(account,excluded) (POWERMADE.sol#513)
- _excludeFromFees(owner(),true) (POWERMADE.sol#215)
- SetCanSnapshotWallet(account,can_snapshot) (POWERMADE.sol#580)
- _setCanSnapshotWallet(owner(),true) (POWERMADE.sol#218)
Reentrancy in POWERMADE._updateAndProcessReflectionManagers(address,address) (POWERMADE.sol#405-434):
External calls:
- reflectionManager.setShare(from,balanceOf(from)) (POWERMADE.sol#408)
- reflectionManager.setShare(to,balanceOf(to)) (POWERMADE.sol#409)
- reflectionManagerOld.process(gas) (POWERMADE.sol#423-425)
Event emitted after the call(s):
- ProcessedReflectionDistributionOLD(currentIndex,iterations,claims,true,dismission_completed,gas,tx.origin) (POWERMADE.sol#424)
Reentrancy in POWERMADE._updateAndProcessReflectionManagers(address,address) (POWERMADE.sol#405-434):
External calls:
- reflectionManager.setShare(from,balanceOf(from)) (POWERMADE.sol#408)
- reflectionManager.setShare(to,balanceOf(to)) (POWERMADE.sol#409)
- reflectionManagerOld.process(gas) (POWERMADE.sol#423-425)
- reflectionManager.process(gas) (POWERMADE.sol#429-431)
Event emitted after the call(s):
- ProcessedReflectionDistribution(currentIndex_scope_0,iterations_scope_1,claims_scope_2,true,dismission_completed_scope_3,gas,tx.origin) (POWERMADE.sol#430)
Reentrancy in POWERMADE.changeReflectionManager(address,address,uint256) (POWERMADE.sol#742-772):
External calls:
- new_reflection_manager.initialize(newReflectionToken) (POWERMADE.sol#747)
- new_reflection_manager.setDistributionCriteria(21600,_minDistribution,REFLECTION_ELIGIBILITY_THRESHOLD) (POWERMADE.sol#749)
- new_reflection_manager.setReflectionDisabledWallet(address(reflectionManager),true) (POWERMADE.sol#751)
- new_reflection_manager.setReflectionDisabledWallet(address(reflectionManagerOld),true) (POWERMADE.sol#752)
- new_reflection_manager.setReflectionDisabledWallet(address(this),true) (POWERMADE.sol#753)
- new_reflection_manager.setReflectionDisabledWallet(owner(),true) (POWERMADE.sol#754)
- new_reflection_manager.setReflectionDisabledWallet(address(pancakeRouter),true) (POWERMADE.sol#755)
- new_reflection_manager.setReflectionDisabledWallet(address(pancakePair),true) (POWERMADE.sol#756)
- new_reflection_manager.setReflectionDisabledWallet(address(automaticBuyback),true) (POWERMADE.sol#757)
- new_reflection_manager.setReflectionDisabledWallet(address(LP_locker),true) (POWERMADE.sol#758)
Event emitted after the call(s):
- ExcludeFromAntiWhale(account,excluded) (POWERMADE.sol#542)
- _setExcludedFromAntiWhale(address(new_reflection_manager),true) (POWERMADE.sol#761)
- ExcludeFromCooldown(account,excluded) (POWERMADE.sol#567)
- _setExcludedFromCooldown(address(new_reflection_manager),true) (POWERMADE.sol#762)
- ExcludeFromFees(account,excluded) (POWERMADE.sol#513)
- _excludeFromFees(address(new_reflection_manager),true) (POWERMADE.sol#760)
Reentrancy in POWERMADE.changeReflectionManager(address,address,uint256) (POWERMADE.sol#742-772):
External calls:
- new_reflection_manager.initialize(newReflectionToken) (POWERMADE.sol#747)
- new_reflection_manager.setDistributionCriteria(21600,_minDistribution,REFLECTION_ELIGIBILITY_THRESHOLD) (POWERMADE.sol#749)
- new_reflection_manager.setReflectionDisabledWallet(address(reflectionManager),true) (POWERMADE.sol#751)
- new_reflection_manager.setReflectionDisabledWallet(address(reflectionManagerOld),true) (POWERMADE.sol#752)
- new_reflection_manager.setReflectionDisabledWallet(address(this),true) (POWERMADE.sol#753)
- new_reflection_manager.setReflectionDisabledWallet(owner(),true) (POWERMADE.sol#754)
- new_reflection_manager.setReflectionDisabledWallet(address(pancakeRouter),true) (POWERMADE.sol#755)
- new_reflection_manager.setReflectionDisabledWallet(address(pancakePair),true) (POWERMADE.sol#756)
- new_reflection_manager.setReflectionDisabledWallet(address(automaticBuyback),true) (POWERMADE.sol#757)
- new_reflection_manager.setReflectionDisabledWallet(address(LP_locker),true) (POWERMADE.sol#758)
- reflectionManagerOld.dismissReflectionManager() (POWERMADE.sol#770)
Event emitted after the call(s):
- ReflectionTokenChanged(address(old_reflectionToken),address(reflectionToken),address(reflectionManagerOld),address(reflectionManager)) (POWERMADE.sol#771)
Reentrancy in POWERMADE.constructor(address) (POWERMADE.sol#127-189):
External calls:
- pancakePair = IPancakeFactory(pancakeRouter.factory()).createPair(address(this),pancakeRouter.WETH()) (POWERMADE.sol#136)
- reflectionManager.initialize(address(reflectionToken)) (POWERMADE.sol#140)
- reflectionManager.setDistributionCriteria(21600,10 ** 12,REFLECTION_ELIGIBILITY_THRESHOLD) (POWERMADE.sol#141)
- automaticBuyback.initialize(address(pancakeRouter),address(automaticBuyback_cumulatedToken),address(this)) (POWERMADE.sol#144)
- LP_locker.initialize(block.timestamp + 2 * 31536000) (POWERMADE.sol#147)
- _setAutomatedMarketMakerPair(pancakePair,true) (POWERMADE.sol#150)
- reflectionManager.setReflectionDisabledWallet(pair,true) (POWERMADE.sol#489)
Event emitted after the call(s):
- SetAutomatedMarketMakerPair(pair,value) (POWERMADE.sol#491)
- _setAutomatedMarketMakerPair(pancakePair,true) (POWERMADE.sol#150)
Reentrancy in POWERMADE.constructor(address) (POWERMADE.sol#127-189):
External calls:
- pancakePair = IPancakeFactory(pancakeRouter.factory()).createPair(address(this),pancakeRouter.WETH()) (POWERMADE.sol#136)
- reflectionManager.initialize(address(reflectionToken)) (POWERMADE.sol#140)
- reflectionManager.setDistributionCriteria(21600,10 ** 12,REFLECTION_ELIGIBILITY_THRESHOLD) (POWERMADE.sol#141)
- automaticBuyback.initialize(address(pancakeRouter),address(automaticBuyback_cumulatedToken),address(this)) (POWERMADE.sol#144)
- LP_locker.initialize(block.timestamp + 2 * 31536000) (POWERMADE.sol#147)
- _setAutomatedMarketMakerPair(pancakePair,true) (POWERMADE.sol#150)
- reflectionManager.setReflectionDisabledWallet(pair,true) (POWERMADE.sol#489)
- reflectionManager.setReflectionDisabledWallet(address(reflectionManager),true) (POWERMADE.sol#153)
- reflectionManager.setReflectionDisabledWallet(address(this),true) (POWERMADE.sol#154)
- reflectionManager.setReflectionDisabledWallet(owner(),true) (POWERMADE.sol#155)
- reflectionManager.setReflectionDisabledWallet(TGE_destination,true) (POWERMADE.sol#156)
- reflectionManager.setReflectionDisabledWallet(address(pancakeRouter),true) (POWERMADE.sol#157)
- reflectionManager.setReflectionDisabledWallet(address(pancakePair),true) (POWERMADE.sol#158)
- reflectionManager.setReflectionDisabledWallet(address(automaticBuyback),true) (POWERMADE.sol#159)
- reflectionManager.setReflectionDisabledWallet(address(LP_locker),true) (POWERMADE.sol#160)
Event emitted after the call(s):
- ExcludeFromAntiWhale(account,excluded) (POWERMADE.sol#542)
- _setExcludedFromAntiWhale(address(this),true) (POWERMADE.sol#170)
- ExcludeFromAntiWhale(account,excluded) (POWERMADE.sol#542)
- _setExcludedFromAntiWhale(address(LP_locker),true) (POWERMADE.sol#173)
- ExcludeFromAntiWhale(account,excluded) (POWERMADE.sol#542)
- _setExcludedFromAntiWhale(address(reflectionManager),true) (POWERMADE.sol#174)
- ExcludeFromAntiWhale(account,excluded) (POWERMADE.sol#542)
- _setExcludedFromAntiWhale(TGE_destination,true) (POWERMADE.sol#171)
- ExcludeFromAntiWhale(account,excluded) (POWERMADE.sol#542)
- _setExcludedFromAntiWhale(owner(),true) (POWERMADE.sol#169)
- ExcludeFromAntiWhale(account,excluded) (POWERMADE.sol#542)
- _setExcludedFromAntiWhale(address(automaticBuyback),true) (POWERMADE.sol#172)
- ExcludeFromCooldown(account,excluded) (POWERMADE.sol#567)
- _setExcludedFromCooldown(address(LP_locker),true) (POWERMADE.sol#180)
- ExcludeFromCooldown(account,excluded) (POWERMADE.sol#567)
- _setExcludedFromCooldown(address(this),true) (POWERMADE.sol#177)
- ExcludeFromCooldown(account,excluded) (POWERMADE.sol#567)
- _setExcludedFromCooldown(TGE_destination,true) (POWERMADE.sol#178)
- ExcludeFromCooldown(account,excluded) (POWERMADE.sol#567)
- _setExcludedFromCooldown(address(reflectionManager),true) (POWERMADE.sol#181)
- ExcludeFromCooldown(account,excluded) (POWERMADE.sol#567)
- _setExcludedFromCooldown(address(automaticBuyback),true) (POWERMADE.sol#179)
- ExcludeFromCooldown(account,excluded) (POWERMADE.sol#567)
- _setExcludedFromCooldown(owner(),true) (POWERMADE.sol#176)
- ExcludeFromFees(account,excluded) (POWERMADE.sol#513)
- _excludeFromFees(owner(),true) (POWERMADE.sol#162)
- ExcludeFromFees(account,excluded) (POWERMADE.sol#513)
- _excludeFromFees(address(reflectionManager),true) (POWERMADE.sol#167)
- ExcludeFromFees(account,excluded) (POWERMADE.sol#513)
- _excludeFromFees(address(automaticBuyback),true) (POWERMADE.sol#165)
- ExcludeFromFees(account,excluded) (POWERMADE.sol#513)
- _excludeFromFees(address(this),true) (POWERMADE.sol#163)
- ExcludeFromFees(account,excluded) (POWERMADE.sol#513)
- _excludeFromFees(address(LP_locker),true) (POWERMADE.sol#166)
- ExcludeFromFees(account,excluded) (POWERMADE.sol#513)
- _excludeFromFees(TGE_destination,true) (POWERMADE.sol#164)
- SetCanSnapshotWallet(account,can_snapshot) (POWERMADE.sol#580)
- _setCanSnapshotWallet(TGE_destination,true) (POWERMADE.sol#184)
- SetCanSnapshotWallet(account,can_snapshot) (POWERMADE.sol#580)
- _setCanSnapshotWallet(owner(),true) (POWERMADE.sol#183)
- Transfer(address(0),account,amount) (BEP20.sol#90)
- _mint(TGE_destination,totalSupply) (POWERMADE.sol#187)
Reentrancy in ReflectionManager.distributeDividend(address,bool) (ReflectionManager.sol#168-187):
External calls:
- RWRD.transfer(shareholder,amount) (ReflectionManager.sol#173)
Event emitted after the call(s):
- Claim(shareholder,amount,automatic) (ReflectionManager.sol#178)
Reentrancy in POWERMADE.processReflectionDistribution(uint256) (POWERMADE.sol#726-729):
External calls:
- (currentIndex,iterations,claims,dismission_completed) = reflectionManager.process(gas) (POWERMADE.sol#727)
Event emitted after the call(s):
- ProcessedReflectionDistribution(currentIndex,iterations,claims,false,dismission_completed,gas,tx.origin) (POWERMADE.sol#728)
Reentrancy in POWERMADE.processReflectionDistributionOLD(uint256) (POWERMADE.sol#732-740):
External calls:
- (currentIndex,iterations,claims,dismission_completed) = reflectionManagerOld.process(gas) (POWERMADE.sol#734)
Event emitted after the call(s):
- ProcessedReflectionDistributionOLD(currentIndex,iterations,claims,false,dismission_completed,gas,tx.origin) (POWERMADE.sol#739)
Reentrancy in POWERMADE.swapManual() (POWERMADE.sol#468-482):
External calls:
- _swapAndSendAutomaticBuyback(amountBuybackTax) (POWERMADE.sol#473)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#476)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
- pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (POWERMADE.sol#379-385)
External calls sending eth:
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#476)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
Event emitted after the call(s):
- Approval(owner,spender,amount) (BEP20.sol#105)
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#476)
- SwapAndLiquify(half,newBalance,realPWDamountUsed) (POWERMADE.sol#348)
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#476)
Reentrancy in POWERMADE.swapManual() (POWERMADE.sol#468-482):
External calls:
- _swapAndSendAutomaticBuyback(amountBuybackTax) (POWERMADE.sol#473)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#476)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
- pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (POWERMADE.sol#379-385)
- _swapAndSendReflectionManager(amountReflectionTax) (POWERMADE.sol#479)
- reflectionManager.update_deposit(received_amount) (POWERMADE.sol#325)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,recipient,block.timestamp) (POWERMADE.sol#361-367)
External calls sending eth:
- _swapAndLiquify(amountLiquidityTax) (POWERMADE.sol#476)
- pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
Event emitted after the call(s):
- Approval(owner,spender,amount) (BEP20.sol#105)
- _swapAndSendReflectionManager(amountReflectionTax) (POWERMADE.sol#479)
- SwapAndSendReflectionManager(amount,received_amount) (POWERMADE.sol#328)
- _swapAndSendReflectionManager(amountReflectionTax) (POWERMADE.sol#479)
Reentrancy in AutomaticBuyback.trigger() (AutomaticBuyback.sol#46-60):
External calls:
- _buybackAll() (AutomaticBuyback.sol#49)
- cumulatedToken.approve(address(pancakeRouter),tokenAmount) (AutomaticBuyback.sol#111)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (AutomaticBuyback.sol#113-119)
Event emitted after the call(s):
- NewBuybackTimestampSet(buybackPeriod,buyback_timestamp) (AutomaticBuyback.sol#55)
Reentrancy in POWERMADE.updatePancakeRouter(address) (POWERMADE.sol#826-843):
External calls:
- pancakePair = IPancakeFactory(_newRouter.factory()).createPair(address(this),_newRouter.WETH()) (POWERMADE.sol#833)
- _setAutomatedMarketMakerPair(pancakePair,true) (POWERMADE.sol#838)
- reflectionManager.setReflectionDisabledWallet(pair,true) (POWERMADE.sol#489)
Event emitted after the call(s):
- SetAutomatedMarketMakerPair(pair,value) (POWERMADE.sol#491)
- _setAutomatedMarketMakerPair(pancakePair,true) (POWERMADE.sol#838)
- UpdatedPancakeRouter(newAddress,address(pancakeRouter),address(pancakePair)) (POWERMADE.sol#839)
Reentrancy in LPLocker.withdrawLP(address,uint256,address) (LPLocker.sol#33-41):
External calls:
- token_out.transfer(_to,_amount) (LPLocker.sol#39)
Event emitted after the call(s):
- LPWithdrawn(_LPaddress,_amount,_to) (LPLocker.sol#40)
Reentrancy in POWERMADE.withdrawStuckTokens(address,uint256,address) (POWERMADE.sol#857-872):
External calls:
- token_bep20.transfer(recipient,amount) (POWERMADE.sol#869)
External calls sending eth:
- address(recipient).transfer(amount) (POWERMADE.sol#862)
Event emitted after the call(s):
- WithdrawnStuckTokens(token_address,amount,recipient) (POWERMADE.sol#871)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in POWERMADE.withdrawStuckTokens(address,uint256,address) (POWERMADE.sol#857-872):
External calls:
- address(recipient).transfer(amount) (POWERMADE.sol#862)
Event emitted after the call(s):
- WithdrawnStuckTokens(token_address,amount,recipient) (POWERMADE.sol#871)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in POWERMADE._transfer(address,address,uint256) (POWERMADE.sol#224-306):
External calls:
- buyback_executed = automaticBuyback.trigger() (POWERMADE.sol#252)
State variables written after the call(s):
- _burn(address(automaticBuyback),balanceOf(address(automaticBuyback))) (POWERMADE.sol#255)
- _totalSupply = _totalSupply.sub(amount) (BEP20.sol#97)
- swapping = false (POWERMADE.sol#257)
- swapping = true (POWERMADE.sol#265)
Reentrancy in POWERMADE._transferOwnership(address) (POWERMADE.sol#200-219):
External calls:
- reflectionManager.setReflectionDisabledWallet(owner(),false) (POWERMADE.sol#206)
State variables written after the call(s):
- super._transferOwnership(newOwner) (POWERMADE.sol#212)
- _owner = newOwner (Ownable.sol#51)
Reentrancy in POWERMADE._transferOwnership(address) (POWERMADE.sol#200-219):
External calls:
- reflectionManager.setReflectionDisabledWallet(owner(),false) (POWERMADE.sol#206)
- reflectionManager.setReflectionDisabledWallet(owner(),true) (POWERMADE.sol#214)
State variables written after the call(s):
- _setExcludedFromAntiWhale(owner(),true) (POWERMADE.sol#216)
- _isExcludedFromAntiWhale[account] = excluded (POWERMADE.sol#541)
- _excludeFromFees(owner(),true) (POWERMADE.sol#215)
- _isExcludedFromFees[account] = excluded (POWERMADE.sol#512)
- _setExcludedFromCooldown(owner(),true) (POWERMADE.sol#217)
- _isTimelockExempt[account] = excluded (POWERMADE.sol#566)
Reentrancy in AutomaticBuyback.changeCumulatedToken(address) (AutomaticBuyback.sol#136-145):
External calls:
- _buybackAll() (AutomaticBuyback.sol#142)
- cumulatedToken.approve(address(pancakeRouter),tokenAmount) (AutomaticBuyback.sol#111)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (AutomaticBuyback.sol#113-119)
State variables written after the call(s):
- cumulatedToken = IBEP20(newCumulatedTokenAddress) (AutomaticBuyback.sol#144)
Reentrancy in POWERMADE.changeReflectionManager(address,address,uint256) (POWERMADE.sol#742-772):
External calls:
- new_reflection_manager.initialize(newReflectionToken) (POWERMADE.sol#747)
- new_reflection_manager.setDistributionCriteria(21600,_minDistribution,REFLECTION_ELIGIBILITY_THRESHOLD) (POWERMADE.sol#749)
- new_reflection_manager.setReflectionDisabledWallet(address(reflectionManager),true) (POWERMADE.sol#751)
- new_reflection_manager.setReflectionDisabledWallet(address(reflectionManagerOld),true) (POWERMADE.sol#752)
- new_reflection_manager.setReflectionDisabledWallet(address(this),true) (POWERMADE.sol#753)
- new_reflection_manager.setReflectionDisabledWallet(owner(),true) (POWERMADE.sol#754)
- new_reflection_manager.setReflectionDisabledWallet(address(pancakeRouter),true) (POWERMADE.sol#755)
- new_reflection_manager.setReflectionDisabledWallet(address(pancakePair),true) (POWERMADE.sol#756)
- new_reflection_manager.setReflectionDisabledWallet(address(automaticBuyback),true) (POWERMADE.sol#757)
- new_reflection_manager.setReflectionDisabledWallet(address(LP_locker),true) (POWERMADE.sol#758)
State variables written after the call(s):
- reflectionManager = new_reflection_manager (POWERMADE.sol#768)
- reflectionManagerOld = reflectionManager (POWERMADE.sol#767)
Reentrancy in ReflectionManager.distributeDividend(address,bool) (ReflectionManager.sol#168-187):
External calls:
- RWRD.transfer(shareholder,amount) (ReflectionManager.sol#173)
State variables written after the call(s):
- shares[shareholder].totalRemainings = 0 (ReflectionManager.sol#175)
- shares[shareholder].totalRealised = shares[shareholder].totalRealised.add(amount) (ReflectionManager.sol#176)
- shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount) (ReflectionManager.sol#177)
Reentrancy in ReflectionManager.process(uint256) (ReflectionManager.sol#125-156):
External calls:
- distributed = distributeDividend(shareholder_current_index,true) (ReflectionManager.sol#147)
- RWRD.transfer(shareholder,amount) (ReflectionManager.sol#173)
State variables written after the call(s):
- currentIndex ++ (ReflectionManager.sol#152)
Reentrancy in POWERMADE.processReflectionDistributionOLD(uint256) (POWERMADE.sol#732-740):
External calls:
- (currentIndex,iterations,claims,dismission_completed) = reflectionManagerOld.process(gas) (POWERMADE.sol#734)
State variables written after the call(s):
- delete reflectionManagerOld (POWERMADE.sol#737)
Reentrancy in ReflectionManager.setShare(address,uint256) (ReflectionManager.sol#69-94):
External calls:
- distributeDividend(shareholder,true) (ReflectionManager.sol#74)
- RWRD.transfer(shareholder,amount) (ReflectionManager.sol#173)
State variables written after the call(s):
- shares[shareholder].amount = amount (ReflectionManager.sol#92)
- shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount) (ReflectionManager.sol#93)
Reentrancy in AutomaticBuyback.trigger() (AutomaticBuyback.sol#46-60):
External calls:
- _buybackAll() (AutomaticBuyback.sol#49)
- cumulatedToken.approve(address(pancakeRouter),tokenAmount) (AutomaticBuyback.sol#111)
- pancakeRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (AutomaticBuyback.sol#113-119)
State variables written after the call(s):
- buyback_timestamp = buyback_timestamp + buybackPeriod * TIME_UNIT (AutomaticBuyback.sol#54)
Reentrancy in POWERMADE.updatePancakeRouter(address) (POWERMADE.sol#826-843):
External calls:
- pancakePair = IPancakeFactory(_newRouter.factory()).createPair(address(this),_newRouter.WETH()) (POWERMADE.sol#833)
- _setAutomatedMarketMakerPair(pancakePair,true) (POWERMADE.sol#838)
- reflectionManager.setReflectionDisabledWallet(pair,true) (POWERMADE.sol#489)
State variables written after the call(s):
- pancakeRouter = _newRouter (POWERMADE.sol#840)
Apply the check-effects-interactions pattern.
Additional information: link
POWERMADE._updateAndProcessReflectionManagers(address,address).iterations (POWERMADE.sol#423) is a local variable never initialized
POWERMADE._updateAndProcessReflectionManagers(address,address).currentIndex_scope_0 (POWERMADE.sol#429) is a local variable never initialized
POWERMADE._updateAndProcessReflectionManagers(address,address).iterations_scope_1 (POWERMADE.sol#429) is a local variable never initialized
POWERMADE._updateAndProcessReflectionManagers(address,address).claims (POWERMADE.sol#423) is a local variable never initialized
POWERMADE._updateAndProcessReflectionManagers(address,address).dismission_completed_scope_3 (POWERMADE.sol#429) is a local variable never initialized
POWERMADE._updateAndProcessReflectionManagers(address,address).claims_scope_2 (POWERMADE.sol#429) is a local variable never initialized
POWERMADE._updateAndProcessReflectionManagers(address,address).dismission_completed (POWERMADE.sol#423) is a local variable never initialized
POWERMADE._updateAndProcessReflectionManagers(address,address).currentIndex (POWERMADE.sol#423) is a local variable never initialized
Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero to improve code readability.
Additional information: link
AutomaticBuyback._buybackAll() (AutomaticBuyback.sol#103-124) ignores return value by cumulatedToken.approve(address(pancakeRouter),tokenAmount) (AutomaticBuyback.sol#111)
POWERMADE._addLiquidityPWDandBNBpair(uint256,uint256) (POWERMADE.sol#390-401) ignores return value by pancakeRouter.addLiquidityETH{value: BNBamount}(address(this),tokenAmount,0,0,address(LP_locker),block.timestamp) (POWERMADE.sol#393-400)
POWERMADE._updateAndProcessReflectionManagers(address,address) (POWERMADE.sol#405-434) ignores return value by reflectionManagerOld.process(gas) (POWERMADE.sol#423-425)
POWERMADE._updateAndProcessReflectionManagers(address,address) (POWERMADE.sol#405-434) ignores return value by reflectionManager.process(gas) (POWERMADE.sol#429-431)
Ensure that all the return values of the function calls are used.
Additional information: link
ReflectionManager.setShare(address,uint256) (ReflectionManager.sol#69-94) should emit an event for:
- totalShares = totalShares.sub(shares[shareholder].amount).add(amount) (ReflectionManager.sol#91)
ReflectionManager.update_deposit(uint256) (ReflectionManager.sol#118-122) should emit an event for:
- totalDividends = totalDividends.add(amount) (ReflectionManager.sol#120)
- dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares)) (ReflectionManager.sol#121)
- dividendsPerShare = 0 (ReflectionManager.sol#121)
Emit an event for critical parameter changes.
Additional information: link
ReflectionManager.distributeDividend(address,bool) (ReflectionManager.sol#168-187) has external calls inside a loop: amount > 0 && RWRD.balanceOf(address(this)) >= amount (ReflectionManager.sol#171)
ReflectionManager.distributeDividend(address,bool) (ReflectionManager.sol#168-187) has external calls inside a loop: RWRD.transfer(shareholder,amount) (ReflectionManager.sol#173)
ReflectionManager.distributeDividend(address,bool) (ReflectionManager.sol#168-187) has external calls inside a loop: amount > 0 && RWRD.balanceOf(address(this)) < amount (ReflectionManager.sol#180)
Favor pull over push strategy for external calls.
Additional information: link
Variable 'POWERMADE._updateAndProcessReflectionManagers(address,address).currentIndex_scope_0 (POWERMADE.sol#429)' in POWERMADE._updateAndProcessReflectionManagers(address,address) (POWERMADE.sol#405-434) potentially used before declaration: ProcessedReflectionDistribution(currentIndex_scope_0,iterations_scope_1,claims_scope_2,true,dismission_completed_scope_3,gas,tx.origin) (POWERMADE.sol#430)
Variable 'POWERMADE._updateAndProcessReflectionManagers(address,address).dismission_completed_scope_3 (POWERMADE.sol#429)' in POWERMADE._updateAndProcessReflectionManagers(address,address) (POWERMADE.sol#405-434) potentially used before declaration: ProcessedReflectionDistribution(currentIndex_scope_0,iterations_scope_1,claims_scope_2,true,dismission_completed_scope_3,gas,tx.origin) (POWERMADE.sol#430)
Variable 'POWERMADE._updateAndProcessReflectionManagers(address,address).iterations_scope_1 (POWERMADE.sol#429)' in POWERMADE._updateAndProcessReflectionManagers(address,address) (POWERMADE.sol#405-434) potentially used before declaration: ProcessedReflectionDistribution(currentIndex_scope_0,iterations_scope_1,claims_scope_2,true,dismission_completed_scope_3,gas,tx.origin) (POWERMADE.sol#430)
Variable 'POWERMADE._updateAndProcessReflectionManagers(address,address).claims_scope_2 (POWERMADE.sol#429)' in POWERMADE._updateAndProcessReflectionManagers(address,address) (POWERMADE.sol#405-434) potentially used before declaration: ProcessedReflectionDistribution(currentIndex_scope_0,iterations_scope_1,claims_scope_2,true,dismission_completed_scope_3,gas,tx.origin) (POWERMADE.sol#430)
Variable 'POWERMADE._updateAndProcessReflectionManagers(address,address).dismission_completed (POWERMADE.sol#423)' in POWERMADE._updateAndProcessReflectionManagers(address,address) (POWERMADE.sol#405-434) potentially used before declaration: ProcessedReflectionDistributionOLD(currentIndex,iterations,claims,true,dismission_completed,gas,tx.origin) (POWERMADE.sol#424)
Variable 'POWERMADE._updateAndProcessReflectionManagers(address,address).currentIndex (POWERMADE.sol#423)' in POWERMADE._updateAndProcessReflectionManagers(address,address) (POWERMADE.sol#405-434) potentially used before declaration: ProcessedReflectionDistributionOLD(currentIndex,iterations,claims,true,dismission_completed,gas,tx.origin) (POWERMADE.sol#424)
Variable 'POWERMADE._updateAndProcessReflectionManagers(address,address).iterations (POWERMADE.sol#423)' in POWERMADE._updateAndProcessReflectionManagers(address,address) (POWERMADE.sol#405-434) potentially used before declaration: ProcessedReflectionDistributionOLD(currentIndex,iterations,claims,true,dismission_completed,gas,tx.origin) (POWERMADE.sol#424)
Variable 'POWERMADE._updateAndProcessReflectionManagers(address,address).claims (POWERMADE.sol#423)' in POWERMADE._updateAndProcessReflectionManagers(address,address) (POWERMADE.sol#405-434) potentially used before declaration: ProcessedReflectionDistributionOLD(currentIndex,iterations,claims,true,dismission_completed,gas,tx.origin) (POWERMADE.sol#424)
Move all variable declarations prior to any usage of the variable, and ensure that reaching a variable declaration does not depend on some conditional if it is used unconditionally.
Additional information: link
AutomaticBuyback.trigger() (AutomaticBuyback.sol#46-60) uses timestamp for comparisons
Dangerous comparisons:
- block.timestamp >= buyback_timestamp (AutomaticBuyback.sol#47)
AutomaticBuyback._changeBuybackPeriod(uint256) (AutomaticBuyback.sol#71-97) uses timestamp for comparisons
Dangerous comparisons:
- buyback_timestamp == 0 (AutomaticBuyback.sol#72)
- block.timestamp < buyback_timestamp - INSTANT_UPDATE_FORBIDDEN_TH (AutomaticBuyback.sol#81)
AutomaticBuyback.changeCumulatedToken(address) (AutomaticBuyback.sol#136-145) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp <= (buyback_timestamp - buybackPeriod * TIME_UNIT) + CUMULATED_TOKEN_CHANGE_PERIOD_TH,AutomaticBuyback: cannot change the cumulatedToken used NOW) (AutomaticBuyback.sol#139)
AutomaticBuyback.getAutomaticBuybackStatus() (AutomaticBuyback.sol#148-167) uses timestamp for comparisons
Dangerous comparisons:
- block.timestamp < buyback_timestamp (AutomaticBuyback.sol#160)
LPLocker.withdrawLP(address,uint256,address) (LPLocker.sol#33-41) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp > unlock_ts,LPLocker: Lock not expired!) (LPLocker.sol#34)
LPLocker._updateLock(uint256) (LPLocker.sol#49-54) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(_newUnlockTimestamp > block.timestamp + 86400 && _newUnlockTimestamp > unlock_ts,LPLocker: _newUnlockTimestamp must be > now + 1 day && > current unlock_ts) (LPLocker.sol#51)
LPLocker.getInfoLP(address) (LPLocker.sol#57-64) uses timestamp for comparisons
Dangerous comparisons:
- unlocked = (block.timestamp > unlock_ts) (LPLocker.sol#63)
Ownable.unlock() (Ownable.sol#69-73) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp > _lockTime,Contract is locked until UnlockTime) (Ownable.sol#71)
POWERMADE._applyCooldown(address,address) (POWERMADE.sol#450-465) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp > cooldownCheckpoint[recipient] + cooldownBuyInterval,Cooldown: please wait!) (POWERMADE.sol#456)
- require(bool,string)(block.timestamp > cooldownCheckpoint[sender] + cooldownSellInterval,Cooldown: please wait!) (POWERMADE.sol#461)
ReflectionManager.process(uint256) (ReflectionManager.sol#125-156) uses timestamp for comparisons
Dangerous comparisons:
- shouldDistribute(shareholder_current_index) || (dismission_reflection_manager && ! excluded_auto_distribution[shareholder_current_index]) (ReflectionManager.sol#146)
ReflectionManager.shouldDistribute(address) (ReflectionManager.sol#159-163) uses timestamp for comparisons
Dangerous comparisons:
- shareholderClaims[shareholder] + minPeriod < block.timestamp && getUnpaidEarnings(shareholder) > minDistribution && ! excluded_auto_distribution[shareholder] (ReflectionManager.sol#160-162)
Avoid relying on block.timestamp.
Additional information: link
Different versions of Solidity is used:
- Version used: ['^0.8.0', '^0.8.13']
- ^0.8.0 (Arrays.sol#3)
- ^0.8.0 (AutomaticBuyback.sol#2)
- ^0.8.0 (BEP20.sol#2)
- ^0.8.0 (BEP20Snapshot.sol#4)
- ^0.8.0 (Context.sol#2)
- ^0.8.0 (Counters.sol#3)
- ^0.8.0 (IAutomaticBuyback.sol#2)
- ^0.8.0 (IBEP20.sol#2)
- ^0.8.0 (IBEP20Metadata.sol#2)
- ^0.8.0 (ILPLocker.sol#2)
- ^0.8.0 (IPancakeSwap.sol#1)
- ^0.8.0 (IReflectionManager.sol#2)
- ^0.8.0 (LPLocker.sol#2)
- ^0.8.0 (Ownable.sol#2)
- ^0.8.13 (POWERMADE.sol#19)
- ^0.8.0 (ReflectionManager.sol#2)
- ^0.8.0 (SafeMath.sol#2)
Use one Solidity version.
Additional information: link
ReflectionManager.process(uint256) (ReflectionManager.sol#125-156) has costly operations inside a loop:
- currentIndex = 0 (ReflectionManager.sol#136)
ReflectionManager.process(uint256) (ReflectionManager.sol#125-156) has costly operations inside a loop:
- dismission_completed = true (ReflectionManager.sol#140)
ReflectionManager.distributeDividend(address,bool) (ReflectionManager.sol#168-187) has costly operations inside a loop:
- totalDistributed = totalDistributed.add(amount) (ReflectionManager.sol#172)
ReflectionManager.process(uint256) (ReflectionManager.sol#125-156) has costly operations inside a loop:
- currentIndex ++ (ReflectionManager.sol#152)
Use a local variable to hold the loop computation result.
Additional information: link
Context._msgData() (Context.sol#12-14) is never used and should be removed
Counters.decrement(Counters.Counter) (Counters.sol#25-31) is never used and should be removed
Counters.reset(Counters.Counter) (Counters.sol#33-35) is never used and should be removed
SafeMath.toInt256Safe(uint256) (SafeMath.sol#56-60) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.0 (Arrays.sol#3) allows old versions
Pragma version^0.8.0 (AutomaticBuyback.sol#2) allows old versions
Pragma version^0.8.0 (BEP20.sol#2) allows old versions
Pragma version^0.8.0 (BEP20Snapshot.sol#4) allows old versions
Pragma version^0.8.0 (Context.sol#2) allows old versions
Pragma version^0.8.0 (Counters.sol#3) allows old versions
Pragma version^0.8.0 (IAutomaticBuyback.sol#2) allows old versions
Pragma version^0.8.0 (IBEP20.sol#2) allows old versions
Pragma version^0.8.0 (IBEP20Metadata.sol#2) allows old versions
Pragma version^0.8.0 (ILPLocker.sol#2) allows old versions
Pragma version^0.8.0 (IPancakeSwap.sol#1) allows old versions
Pragma version^0.8.0 (IReflectionManager.sol#2) allows old versions
Pragma version^0.8.0 (LPLocker.sol#2) allows old versions
Pragma version^0.8.0 (Ownable.sol#2) allows old versions
Pragma version^0.8.13 (POWERMADE.sol#19) necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7
Pragma version^0.8.0 (ReflectionManager.sol#2) allows old versions
Pragma version^0.8.0 (SafeMath.sol#2) allows old versions
solc-0.8.13 is not recommended for deployment
Deploy with any of the following Solidity versions: 0.5.16 - 0.5.17, 0.6.11 - 0.6.12, 0.7.5 - 0.7.6 Use a simple pragma version that allows any of these versions. Consider using the latest version of Solidity for testing.
Additional information: link
Parameter AutomaticBuyback.initialize(address,address,address)._pancakeRouterAddress (AutomaticBuyback.sol#33) is not in mixedCase
Parameter AutomaticBuyback.initialize(address,address,address)._cumulatedTokenAddress (AutomaticBuyback.sol#33) is not in mixedCase
Parameter AutomaticBuyback.initialize(address,address,address)._buybackTokenAddress (AutomaticBuyback.sol#33) is not in mixedCase
Variable AutomaticBuyback.buyback_timestamp (AutomaticBuyback.sol#19) is not in mixedCase
Parameter ILPLocker.initialize(uint256)._initial_unlock_ts (ILPLocker.sol#5) is not in mixedCase
Parameter ILPLocker.withdrawLP(address,uint256,address)._LPaddress (ILPLocker.sol#6) is not in mixedCase
Parameter ILPLocker.getInfoLP(address)._LPaddress (ILPLocker.sol#8) is not in mixedCase
Function IPancakeRouter01.WETH() (IPancakeSwap.sol#8) is not in mixedCase
Function IPancakePair.DOMAIN_SEPARATOR() (IPancakeSwap.sol#169) is not in mixedCase
Function IPancakePair.PERMIT_TYPEHASH() (IPancakeSwap.sol#170) is not in mixedCase
Function IPancakePair.MINIMUM_LIQUIDITY() (IPancakeSwap.sol#184) is not in mixedCase
Event IReflectionManagersetDistributionCriteriaUpdate(uint256,uint256,uint256) (IReflectionManager.sol#45) is not in CapWords
Event IReflectionManagersetReflectionEnabledContractUpdate(address,bool) (IReflectionManager.sol#46) is not in CapWords
Event IReflectionManagersetReflectionDisabledWalletUpdate(address,bool) (IReflectionManager.sol#47) is not in CapWords
Event IReflectionManagersetAutoDistributionExcludeFlagUpdate(address,bool) (IReflectionManager.sol#48) is not in CapWords
Function IReflectionManager.update_deposit(uint256) (IReflectionManager.sol#7) is not in mixedCase
Parameter LPLocker.initialize(uint256)._initial_unlock_ts (LPLocker.sol#22) is not in mixedCase
Parameter LPLocker.withdrawLP(address,uint256,address)._LPaddress (LPLocker.sol#33) is not in mixedCase
Parameter LPLocker.withdrawLP(address,uint256,address)._amount (LPLocker.sol#33) is not in mixedCase
Parameter LPLocker.withdrawLP(address,uint256,address)._to (LPLocker.sol#33) is not in mixedCase
Parameter LPLocker.updateLock(uint256)._newUnlockTimestamp (LPLocker.sol#44) is not in mixedCase
Parameter LPLocker.getInfoLP(address)._LPaddress (LPLocker.sol#57) is not in mixedCase
Variable LPLocker.unlock_ts (LPLocker.sol#14) is not in mixedCase
Parameter POWERMADE.setMultisenderSmartContract(address,bool).multisender_sc (POWERMADE.sol#496) is not in mixedCase
Parameter POWERMADE.setEnableAntiwhale(bool)._val (POWERMADE.sol#552) is not in mixedCase
Parameter POWERMADE.setCanSnapshotWallet(address,bool).can_snapshot (POWERMADE.sol#572) is not in mixedCase
Parameter POWERMADE.setEnableCooldown(bool)._val (POWERMADE.sol#589) is not in mixedCase
Parameter POWERMADE.setMaxTransferAmountRate(uint256)._val (POWERMADE.sol#595) is not in mixedCase
Parameter POWERMADE.setCooldownSellPeriod(uint256)._period_seconds (POWERMADE.sol#603) is not in mixedCase
Parameter POWERMADE.setCooldownBuyPeriod(uint256)._period_seconds (POWERMADE.sol#610) is not in mixedCase
Parameter POWERMADE.setNumberOfTransactionsBeforeExecution(uint256)._numberOfTransactions (POWERMADE.sol#624) is not in mixedCase
Parameter POWERMADE.setReflectionDistributionCriteria(uint256,uint256)._minPeriod (POWERMADE.sol#652) is not in mixedCase
Parameter POWERMADE.setReflectionDistributionCriteria(uint256,uint256)._minDistribution (POWERMADE.sol#652) is not in mixedCase
Parameter POWERMADE.setReflectionEnabledContract(address,bool)._contractAddress (POWERMADE.sol#657) is not in mixedCase
Parameter POWERMADE.setReflectionEnabledContract(address,bool)._enableDisable (POWERMADE.sol#657) is not in mixedCase
Parameter POWERMADE.setReflectionDisabledWallet(address,bool)._walletAddress (POWERMADE.sol#663) is not in mixedCase
Parameter POWERMADE.setReflectionDisabledWallet(address,bool)._disableEnable (POWERMADE.sol#663) is not in mixedCase
Parameter POWERMADE.setReflectionAutoDistributionExcludeFlag(address,bool)._shareholder (POWERMADE.sol#684) is not in mixedCase
Parameter POWERMADE.setReflectionAutoDistributionExcludeFlag(address,bool)._exclude (POWERMADE.sol#684) is not in mixedCase
Parameter POWERMADE.changeReflectionManager(address,address,uint256)._minDistribution (POWERMADE.sol#742) is not in mixedCase
Function POWERMADE.LPLockerWithdrawLP(address,uint256,address) (POWERMADE.sol#785-787) is not in mixedCase
Parameter POWERMADE.LPLockerWithdrawLP(address,uint256,address)._LPaddress (POWERMADE.sol#785) is not in mixedCase
Parameter POWERMADE.LPLockerWithdrawLP(address,uint256,address)._amount (POWERMADE.sol#785) is not in mixedCase
Parameter POWERMADE.LPLockerWithdrawLP(address,uint256,address)._to (POWERMADE.sol#785) is not in mixedCase
Function POWERMADE.LPLockerUpdateLock(uint256) (POWERMADE.sol#790-792) is not in mixedCase
Parameter POWERMADE.LPLockerUpdateLock(uint256)._newUnlockTimestamp (POWERMADE.sol#790) is not in mixedCase
Parameter POWERMADE.getLPLockerInfoLP(address)._LPaddress (POWERMADE.sol#795) is not in mixedCase
Function POWERMADE._check_get_pair(IPancakeRouter02,address,bool) (POWERMADE.sol#846-852) is not in mixedCase
Parameter POWERMADE._check_get_pair(IPancakeRouter02,address,bool).token_addr (POWERMADE.sol#846) is not in mixedCase
Parameter POWERMADE.withdrawStuckTokens(address,uint256,address).token_address (POWERMADE.sol#857) is not in mixedCase
Variable POWERMADE.tx_counter (POWERMADE.sol#39) is not in mixedCase
Variable POWERMADE.automaticBuyback_cumulatedToken (POWERMADE.sol#52) is not in mixedCase
Variable POWERMADE.LP_locker (POWERMADE.sol#54) is not in mixedCase
Parameter ReflectionManager.initialize(address)._rewardToken (ReflectionManager.sol#51) is not in mixedCase
Parameter ReflectionManager.setDistributionCriteria(uint256,uint256,uint256)._minPeriod (ReflectionManager.sol#60) is not in mixedCase
Parameter ReflectionManager.setDistributionCriteria(uint256,uint256,uint256)._minDistribution (ReflectionManager.sol#60) is not in mixedCase
Parameter ReflectionManager.setDistributionCriteria(uint256,uint256,uint256)._eligibilityThresholdShares (ReflectionManager.sol#60) is not in mixedCase
Function ReflectionManager.update_deposit(uint256) (ReflectionManager.sol#118-122) is not in mixedCase
Parameter ReflectionManager.setReflectionEnabledContract(address,bool)._contractAddress (ReflectionManager.sol#216) is not in mixedCase
Parameter ReflectionManager.setReflectionEnabledContract(address,bool)._enableDisable (ReflectionManager.sol#216) is not in mixedCase
Parameter ReflectionManager.setReflectionDisabledWallet(address,bool)._walletAddress (ReflectionManager.sol#223) is not in mixedCase
Parameter ReflectionManager.setReflectionDisabledWallet(address,bool)._disableEnable (ReflectionManager.sol#223) is not in mixedCase
Parameter ReflectionManager.setAutoDistributionExcludeFlag(address,bool)._shareholder (ReflectionManager.sol#229) is not in mixedCase
Parameter ReflectionManager.setAutoDistributionExcludeFlag(address,bool)._exclude (ReflectionManager.sol#229) is not in mixedCase
Variable ReflectionManager.RWRD (ReflectionManager.sol#12) is not in mixedCase
Variable ReflectionManager.enabled_contracts (ReflectionManager.sol#26) is not in mixedCase
Variable ReflectionManager.disabled_wallets (ReflectionManager.sol#27) is not in mixedCase
Variable ReflectionManager.excluded_auto_distribution (ReflectionManager.sol#28) is not in mixedCase
Constant ReflectionManager.dividendsPerShareAccuracyFactor (ReflectionManager.sol#35) is not in UPPER_CASE_WITH_UNDERSCORES
Variable ReflectionManager.dismission_reflection_manager (ReflectionManager.sol#41) is not in mixedCase
Variable ReflectionManager.dismission_completed (ReflectionManager.sol#42) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Variable IPancakeRouter01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (IPancakeSwap.sol#12) is too similar to IPancakeRouter01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (IPancakeSwap.sol#13)
Variable IReflectionManager.setDistributionCriteria(uint256,uint256,uint256)._minDistribution (IReflectionManager.sol#14) is too similar to IReflectionManager.getReflectionManagerInfo().min_distribution (IReflectionManager.sol#39)
Variable POWERMADE._canSnapshot (POWERMADE.sol#66) is too similar to POWERMADE.setCanSnapshotWallet(address,bool).can_snapshot (POWERMADE.sol#572)
Variable POWERMADE._canSnapshot (POWERMADE.sol#66) is too similar to POWERMADE._setCanSnapshotWallet(address,bool).can_snapshot (POWERMADE.sol#578)
Variable POWERMADE.setReflectionDistributionCriteria(uint256,uint256)._minDistribution (POWERMADE.sol#652) is too similar to POWERMADE.getReflectionManagerInfo().min_distribution (POWERMADE.sol#720)
Variable POWERMADE.changeReflectionManager(address,address,uint256)._minDistribution (POWERMADE.sol#742) is too similar to POWERMADE.getReflectionManagerInfo().min_distribution (POWERMADE.sol#720)
Variable IReflectionManager.setDistributionCriteria(uint256,uint256,uint256)._minDistribution (IReflectionManager.sol#14) is too similar to ReflectionManager.getReflectionManagerInfo().min_distribution (ReflectionManager.sol#286)
Variable ReflectionManager.setDistributionCriteria(uint256,uint256,uint256)._minDistribution (ReflectionManager.sol#60) is too similar to ReflectionManager.getReflectionManagerInfo().min_distribution (ReflectionManager.sol#286)
Variable IReflectionManager.setAutoDistributionExcludeFlag(address,bool)._shareholder (IReflectionManager.sol#15) is too similar to ReflectionManager.shareholders (ReflectionManager.sol#22)
Variable ReflectionManager.setAutoDistributionExcludeFlag(address,bool)._shareholder (ReflectionManager.sol#229) is too similar to ReflectionManager.shareholders (ReflectionManager.sol#22)
Variable ReflectionManager.setDistributionCriteria(uint256,uint256,uint256)._minDistribution (ReflectionManager.sol#60) is too similar to IReflectionManager.getReflectionManagerInfo().min_distribution (IReflectionManager.sol#39)
Prevent variables from having similar names.
Additional information: link
POWERMADE.constructor(address) (POWERMADE.sol#127-189) uses literals with too many digits:
- totalSupply = (14000000) * (10 ** 18) (POWERMADE.sol#128)
POWERMADE._checkAntiWhale(address,address,uint256) (POWERMADE.sol#438-445) uses literals with too many digits:
- maxTransferAmount = totalSupply().mul(maxTransferAmountRate).div(1000000) (POWERMADE.sol#439)
POWERMADE.updateGasForProcessing(uint256) (POWERMADE.sol#643-649) uses literals with too many digits:
- require(bool,string)(newValue >= 200000 && newValue <= 700000,Configuration: GasForProcessing must be between 200,000 and 700,000) (POWERMADE.sol#644)
POWERMADE.slitherConstructorVariables() (POWERMADE.sol#30-882) uses literals with too many digits:
- gasForProcessing = 300000 (POWERMADE.sol#49)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
getAutomaticBuybackStatus() should be declared external:
- AutomaticBuyback.getAutomaticBuybackStatus() (AutomaticBuyback.sol#148-167)
name() should be declared external:
- BEP20.name() (BEP20.sol#26-28)
symbol() should be declared external:
- BEP20.symbol() (BEP20.sol#30-32)
decimals() should be declared external:
- BEP20.decimals() (BEP20.sol#34-36)
transfer(address,uint256) should be declared external:
- BEP20.transfer(address,uint256) (BEP20.sol#46-49)
allowance(address,address) should be declared external:
- BEP20.allowance(address,address) (BEP20.sol#51-53)
approve(address,uint256) should be declared external:
- BEP20.approve(address,uint256) (BEP20.sol#55-58)
transferFrom(address,address,uint256) should be declared external:
- BEP20.transferFrom(address,address,uint256) (BEP20.sol#60-64)
increaseAllowance(address,uint256) should be declared external:
- BEP20.increaseAllowance(address,uint256) (BEP20.sol#66-69)
decreaseAllowance(address,uint256) should be declared external:
- BEP20.decreaseAllowance(address,uint256) (BEP20.sol#71-74)
balanceOfAt(address,uint256) should be declared external:
- BEP20Snapshot.balanceOfAt(address,uint256) (BEP20Snapshot.sol#40-44)
totalSupplyAt(uint256) should be declared external:
- BEP20Snapshot.totalSupplyAt(uint256) (BEP20Snapshot.sol#46-49)
getInfoLP(address) should be declared external:
- LPLocker.getInfoLP(address) (LPLocker.sol#57-64)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (Ownable.sol#43-46)
getUnlockTime() should be declared external:
- Ownable.getUnlockTime() (Ownable.sol#56-58)
lock(uint256) should be declared external:
- Ownable.lock(uint256) (Ownable.sol#61-66)
unlock() should be declared external:
- Ownable.unlock() (Ownable.sol#69-73)
swapManual() should be declared external:
- POWERMADE.swapManual() (POWERMADE.sol#468-482)
excludeFromFees(address,bool) should be declared external:
- POWERMADE.excludeFromFees(address,bool) (POWERMADE.sol#504-507)
isExcludedFromFees(address) should be declared external:
- POWERMADE.isExcludedFromFees(address) (POWERMADE.sol#528-530)
setExcludedFromAntiWhale(address,bool) should be declared external:
- POWERMADE.setExcludedFromAntiWhale(address,bool) (POWERMADE.sol#533-536)
isExcludedFromAntiWhale(address) should be declared external:
- POWERMADE.isExcludedFromAntiWhale(address) (POWERMADE.sol#547-549)
setEnableAntiwhale(bool) should be declared external:
- POWERMADE.setEnableAntiwhale(bool) (POWERMADE.sol#552-555)
setExcludedFromCooldown(address,bool) should be declared external:
- POWERMADE.setExcludedFromCooldown(address,bool) (POWERMADE.sol#558-561)
setCanSnapshotWallet(address,bool) should be declared external:
- POWERMADE.setCanSnapshotWallet(address,bool) (POWERMADE.sol#572-575)
isExcludedFromCooldown(address) should be declared external:
- POWERMADE.isExcludedFromCooldown(address) (POWERMADE.sol#584-586)
setEnableCooldown(bool) should be declared external:
- POWERMADE.setEnableCooldown(bool) (POWERMADE.sol#589-592)
isBlacklistedAddress(address) should be declared external:
- POWERMADE.isBlacklistedAddress(address) (POWERMADE.sol#638-640)
getReflectionAccountInfo(address) should be declared external:
- POWERMADE.getReflectionAccountInfo(address) (POWERMADE.sol#689-702)
getReflectionShareholderAtIndex(uint256) should be declared external:
- POWERMADE.getReflectionShareholderAtIndex(uint256) (POWERMADE.sol#705-707)
getReflectionManagerInfo() should be declared external:
- POWERMADE.getReflectionManagerInfo() (POWERMADE.sol#710-723)
getLPLockerInfoLP(address) should be declared external:
- POWERMADE.getLPLockerInfoLP(address) (POWERMADE.sol#795-797)
getAutomaticBuybackStatus() should be declared external:
- POWERMADE.getAutomaticBuybackStatus() (POWERMADE.sol#812-823)
getAccountInfo(address) should be declared external:
- ReflectionManager.getAccountInfo(address) (ReflectionManager.sol#235-267)
isDismission() should be declared external:
- ReflectionManager.isDismission() (ReflectionManager.sol#270-273)
getReflectionManagerInfo() should be declared external:
- ReflectionManager.getReflectionManagerInfo() (ReflectionManager.sol#276-299)
getShareholderAtIndex(uint256) should be declared external:
- ReflectionManager.getShareholderAtIndex(uint256) (ReflectionManager.sol#302-304)
Use the external attribute for functions never called from the contract.
Additional information: link
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 on CoinHunt
Additional information: link
Unable to find code repository for the project
Token is not listed at Mobula.Finance
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 Discord account
Twitter account has few posts