Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
MetaRush.changeReflectionFee(uint256) (#691-696) contains a tautology or contradiction:
- require(bool,string)(newReflectionFee >= 0,Reflection fee must be greater or equal to zero) (#692)
MetaRush.changeBurnFee(uint256) (#698-703) contains a tautology or contradiction:
- require(bool,string)(burnFee_ >= 0,Burn fee must be greater or equal to zero) (#699)
MetaRush.changeInvestingFee(uint256) (#706-711) contains a tautology or contradiction:
- require(bool,string)(investingFee_ >= 0,Investing fee must be greater or equal to zero) (#707)
MetaRush.changeMarketingFee(uint256) (#713-718) contains a tautology or contradiction:
- require(bool,string)(marketingFee_ >= 0,Marketing fee must be greater or equal to zero) (#714)
Fix the incorrect comparison by changing the value type or the comparison.
Additional information: link
MetaRush._reflectFee(uint256,uint256) (#914-920) performs a multiplication on the result of a division:
-tFee = tAmount * _reflectionFee / 100 (#915)
-rFee = tFee * currentRate (#916)
MetaRush.burnFeeTransfer(address,uint256,uint256) (#947-955) performs a multiplication on the result of a division:
-tBurnFee = tAmount * _burnFee / 100 (#948)
-rBurnFee = tBurnFee * currentRate (#950)
MetaRush.investingFeeTransfer(address,uint256,uint256) (#957-964) performs a multiplication on the result of a division:
-tInvestingFee = tAmount * _investingFee / 100 (#958)
-rInvestingFee = tInvestingFee * currentRate (#960)
MetaRush.marketingFeeTransfer(address,uint256,uint256) (#966-973) performs a multiplication on the result of a division:
-tMarketingFee = tAmount * _marketingFee / 100 (#967)
-rMarketingFee = tMarketingFee * currentRate (#969)
Consider ordering multiplication before division.
Additional information: link
MetaRush.changeReflectionFee(uint256) (#691-696) should emit an event for:
- _reflectionFee = newReflectionFee (#694)
MetaRush.changeBurnFee(uint256) (#698-703) should emit an event for:
- _burnFee = burnFee_ (#701)
MetaRush.changeInvestingFee(uint256) (#706-711) should emit an event for:
- _investingFee = investingFee_ (#709)
MetaRush.changeMarketingFee(uint256) (#713-718) should emit an event for:
- _marketingFee = marketingFee_ (#716)
Emit an event for critical parameter changes.
Additional information: link
MetaRush.constructor(uint256,string,string,uint8,uint256,uint256,uint256,uint256,address,address,address).investingAccount_ (#581) lacks a zero-check on :
- _investingAccount = investingAccount_ (#598)
MetaRush.constructor(uint256,string,string,uint8,uint256,uint256,uint256,uint256,address,address,address).marketingAccount_ (#581) lacks a zero-check on :
- _marketingAccount = marketingAccount_ (#599)
MetaRush.constructor(uint256,string,string,uint8,uint256,uint256,uint256,uint256,address,address,address).service_ (#581) lacks a zero-check on :
- address(service_).transfer(getBalance()) (#608)
Check that the address is not zero.
Additional information: link
MetaRush.includeAccountinReward(address) (#767-778) has costly operations inside a loop:
- _excluded.pop() (#774)
Use a local variable to hold the loop computation result.
Additional information: link
Context._msgData() (#120-122) is never used and should be removed
ERC20._burn(address,uint256) (#455-470) is never used and should be removed
ERC20._givereward(address,uint256) (#432-442) is never used and should be removed
ERC20._transfer(address,address,uint256) (#401-421) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.0 (#3) allows old versions
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
Variable ERC20._balances (#216) is not in mixedCase
Variable ERC20._totalSupply (#220) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Variable MetaRush._investingAccount (#578) is too similar to MetaRush.constructor(uint256,string,string,uint8,uint256,uint256,uint256,uint256,address,address,address).investingAccount_ (#581)
Variable MetaRush._investingFee (#572) is too similar to MetaRush.changeInvestingFee(uint256).investingFee_ (#706)
Variable MetaRush._investingFee (#572) is too similar to MetaRush.constructor(uint256,string,string,uint8,uint256,uint256,uint256,uint256,address,address,address).investingFee_ (#581)
Variable MetaRush._investingFee (#572) is too similar to MetaRush.investingFeeTransfer(address,uint256,uint256).rInvestingFee (#960)
Variable MetaRush._investingFee (#572) is too similar to MetaRush.investingFeeTransfer(address,uint256,uint256).tInvestingFee (#958)
Variable MetaRush._marketingAccount (#579) is too similar to MetaRush.constructor(uint256,string,string,uint8,uint256,uint256,uint256,uint256,address,address,address).marketingAccount_ (#581)
Variable MetaRush._marketingFee (#575) is too similar to MetaRush.constructor(uint256,string,string,uint8,uint256,uint256,uint256,uint256,address,address,address).marketingFee_ (#581)
Variable MetaRush._marketingFee (#575) is too similar to MetaRush.changeMarketingFee(uint256).marketingFee_ (#713)
Variable MetaRush._marketingFee (#575) is too similar to MetaRush.marketingFeeTransfer(address,uint256,uint256).rMarketingFee (#969)
Variable MetaRush._marketingFee (#575) is too similar to MetaRush.marketingFeeTransfer(address,uint256,uint256).tMarketingFee (#967)
Variable MetaRush._reflectionFee (#566) is too similar to MetaRush.constructor(uint256,string,string,uint8,uint256,uint256,uint256,uint256,address,address,address).reflectionFee_ (#581)
Variable MetaRush.changeInvestingFee(uint256).investingFee_ (#706) is too similar to MetaRush.investingFeeTransfer(address,uint256,uint256).rInvestingFee (#960)
Variable MetaRush.constructor(uint256,string,string,uint8,uint256,uint256,uint256,uint256,address,address,address).investingFee_ (#581) is too similar to MetaRush.investingFeeTransfer(address,uint256,uint256).rInvestingFee (#960)
Variable MetaRush.changeMarketingFee(uint256).marketingFee_ (#713) is too similar to MetaRush.marketingFeeTransfer(address,uint256,uint256).rMarketingFee (#969)
Variable MetaRush.constructor(uint256,string,string,uint8,uint256,uint256,uint256,uint256,address,address,address).marketingFee_ (#581) is too similar to MetaRush.marketingFeeTransfer(address,uint256,uint256).rMarketingFee (#969)
Variable MetaRush._transferBothExcluded(address,address,uint256).rTransferAmount (#884) is too similar to MetaRush._getTransferValues(uint256).tTransferAmount (#906)
Variable MetaRush._transferStandard(address,address,uint256).rTransferAmount (#842) is too similar to MetaRush._transferStandard(address,address,uint256).tTransferAmount (#842)
Variable MetaRush._transferBothExcluded(address,address,uint256).rTransferAmount (#884) is too similar to MetaRush._transferFromExcluded(address,address,uint256).tTransferAmount (#870)
Variable MetaRush._transferFromExcluded(address,address,uint256).rTransferAmount (#870) is too similar to MetaRush._getTransferValues(uint256).tTransferAmount (#906)
Variable MetaRush._transferFromExcluded(address,address,uint256).rTransferAmount (#870) is too similar to MetaRush._transferFromExcluded(address,address,uint256).tTransferAmount (#870)
Variable MetaRush._transferToExcluded(address,address,uint256).rTransferAmount (#856) is too similar to MetaRush._getTransferValues(uint256).tTransferAmount (#906)
Variable MetaRush._transferToExcluded(address,address,uint256).rTransferAmount (#856) is too similar to MetaRush._transferFromExcluded(address,address,uint256).tTransferAmount (#870)
Variable MetaRush._transferBothExcluded(address,address,uint256).rTransferAmount (#884) is too similar to MetaRush._transferBothExcluded(address,address,uint256).tTransferAmount (#884)
Variable MetaRush._transferFromExcluded(address,address,uint256).rTransferAmount (#870) is too similar to MetaRush._transferBothExcluded(address,address,uint256).tTransferAmount (#884)
Variable MetaRush._transferBothExcluded(address,address,uint256).rTransferAmount (#884) is too similar to MetaRush._transferToExcluded(address,address,uint256).tTransferAmount (#856)
Variable MetaRush._transferToExcluded(address,address,uint256).rTransferAmount (#856) is too similar to MetaRush._transferBothExcluded(address,address,uint256).tTransferAmount (#884)
Variable MetaRush._transferFromExcluded(address,address,uint256).rTransferAmount (#870) is too similar to MetaRush._transferToExcluded(address,address,uint256).tTransferAmount (#856)
Variable MetaRush._transferStandard(address,address,uint256).rTransferAmount (#842) is too similar to MetaRush._getTransferValues(uint256).tTransferAmount (#906)
Variable MetaRush._transferToExcluded(address,address,uint256).rTransferAmount (#856) is too similar to MetaRush._transferToExcluded(address,address,uint256).tTransferAmount (#856)
Variable MetaRush._transferStandard(address,address,uint256).rTransferAmount (#842) is too similar to MetaRush._transferFromExcluded(address,address,uint256).tTransferAmount (#870)
Variable MetaRush._transferStandard(address,address,uint256).rTransferAmount (#842) is too similar to MetaRush._transferBothExcluded(address,address,uint256).tTransferAmount (#884)
Variable MetaRush._transferStandard(address,address,uint256).rTransferAmount (#842) is too similar to MetaRush._transferToExcluded(address,address,uint256).tTransferAmount (#856)
Variable MetaRush.constructor(uint256,string,string,uint8,uint256,uint256,uint256,uint256,address,address,address).investingFee_ (#581) is too similar to MetaRush.investingFeeTransfer(address,uint256,uint256).tInvestingFee (#958)
Variable MetaRush.changeInvestingFee(uint256).investingFee_ (#706) is too similar to MetaRush.investingFeeTransfer(address,uint256,uint256).tInvestingFee (#958)
Variable MetaRush.investingFeeTransfer(address,uint256,uint256).rInvestingFee (#960) is too similar to MetaRush.investingFeeTransfer(address,uint256,uint256).tInvestingFee (#958)
Variable MetaRush.changeMarketingFee(uint256).marketingFee_ (#713) is too similar to MetaRush.marketingFeeTransfer(address,uint256,uint256).tMarketingFee (#967)
Variable MetaRush.constructor(uint256,string,string,uint8,uint256,uint256,uint256,uint256,address,address,address).marketingFee_ (#581) is too similar to MetaRush.marketingFeeTransfer(address,uint256,uint256).tMarketingFee (#967)
Variable MetaRush.marketingFeeTransfer(address,uint256,uint256).rMarketingFee (#969) is too similar to MetaRush.marketingFeeTransfer(address,uint256,uint256).tMarketingFee (#967)
Variable MetaRush.reflectionFromToken(uint256,bool).rTransferAmount (#745) is too similar to MetaRush._getTransferValues(uint256).tTransferAmount (#906)
Variable MetaRush.reflectionFromToken(uint256,bool).rTransferAmount (#745) is too similar to MetaRush._transferFromExcluded(address,address,uint256).tTransferAmount (#870)
Variable MetaRush.reflectionFromToken(uint256,bool).rTransferAmount (#745) is too similar to MetaRush._transferBothExcluded(address,address,uint256).tTransferAmount (#884)
Variable MetaRush._getTransferValues(uint256).rTransferAmount (#908) is too similar to MetaRush._getTransferValues(uint256).tTransferAmount (#906)
Variable MetaRush.reflectionFromToken(uint256,bool).rTransferAmount (#745) is too similar to MetaRush._transferToExcluded(address,address,uint256).tTransferAmount (#856)
Variable MetaRush._getTransferValues(uint256).rTransferAmount (#908) is too similar to MetaRush._transferFromExcluded(address,address,uint256).tTransferAmount (#870)
Variable MetaRush._getTransferValues(uint256).rTransferAmount (#908) is too similar to MetaRush._transferToExcluded(address,address,uint256).tTransferAmount (#856)
Variable MetaRush._getTransferValues(uint256).rTransferAmount (#908) is too similar to MetaRush._transferBothExcluded(address,address,uint256).tTransferAmount (#884)
Variable MetaRush._transferFromExcluded(address,address,uint256).rTransferAmount (#870) is too similar to MetaRush._transferStandard(address,address,uint256).tTransferAmount (#842)
Variable MetaRush.reflectionFromToken(uint256,bool).rTransferAmount (#745) is too similar to MetaRush._transferStandard(address,address,uint256).tTransferAmount (#842)
Variable MetaRush._getTransferValues(uint256).rTransferAmount (#908) is too similar to MetaRush._transferStandard(address,address,uint256).tTransferAmount (#842)
Variable MetaRush._transferBothExcluded(address,address,uint256).rTransferAmount (#884) is too similar to MetaRush._transferStandard(address,address,uint256).tTransferAmount (#842)
Variable MetaRush._transferToExcluded(address,address,uint256).rTransferAmount (#856) is too similar to MetaRush._transferStandard(address,address,uint256).tTransferAmount (#842)
Prevent variables from having similar names.
Additional information: link
ERC20._balances (#216) is never used in MetaRush (#550-1025)
ERC20._totalSupply (#220) is never used in MetaRush (#550-1025)
Remove unused state variables.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#173-175)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#181-184)
name() should be declared external:
- ERC20.name() (#242-244)
symbol() should be declared external:
- ERC20.symbol() (#250-252)
decimals() should be declared external:
- ERC20.decimals() (#267-269)
- MetaRush.decimals() (#619-621)
totalSupply() should be declared external:
- ERC20.totalSupply() (#274-276)
- MetaRush.totalSupply() (#623-625)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (#293-296)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#312-315)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (#330-344)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#358-361)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#377-385)
burn(uint256) should be declared external:
- ERC20Burnable.burn(uint256) (#523-525)
burnFrom(address,uint256) should be declared external:
- ERC20Burnable.burnFrom(address,uint256) (#538-545)
reflectionFee() should be declared external:
- MetaRush.reflectionFee() (#627-629)
getBurnFee() should be declared external:
- MetaRush.getBurnFee() (#631-633)
getInvestingFee() should be declared external:
- MetaRush.getInvestingFee() (#635-637)
getMarketingFee() should be declared external:
- MetaRush.getMarketingFee() (#639-641)
getInvestingAccount() should be declared external:
- MetaRush.getInvestingAccount() (#643-645)
getMarketingAccount() should be declared external:
- MetaRush.getMarketingAccount() (#647-649)
isExcludedFromFee(address) should be declared external:
- MetaRush.isExcludedFromFee(address) (#651-653)
isExcluded(address) should be declared external:
- MetaRush.isExcluded(address) (#662-664)
totalFeesRedistributed() should be declared external:
- MetaRush.totalFeesRedistributed() (#666-668)
excludeFromFee(address) should be declared external:
- MetaRush.excludeFromFee(address) (#671-673)
includeInFee(address) should be declared external:
- MetaRush.includeInFee(address) (#675-677)
changeInvestingAccount(address) should be declared external:
- MetaRush.changeInvestingAccount(address) (#679-683)
changeMarketingAccount(address) should be declared external:
- MetaRush.changeMarketingAccount(address) (#685-689)
changeReflectionFee(uint256) should be declared external:
- MetaRush.changeReflectionFee(uint256) (#691-696)
changeBurnFee(uint256) should be declared external:
- MetaRush.changeBurnFee(uint256) (#698-703)
changeInvestingFee(uint256) should be declared external:
- MetaRush.changeInvestingFee(uint256) (#706-711)
changeMarketingFee(uint256) should be declared external:
- MetaRush.changeMarketingFee(uint256) (#713-718)
reflect(uint256) should be declared external:
- MetaRush.reflect(uint256) (#729-736)
reflectionFromToken(uint256,bool) should be declared external:
- MetaRush.reflectionFromToken(uint256,bool) (#739-748)
excludeAccountFromReward(address) should be declared external:
- MetaRush.excludeAccountFromReward(address) (#758-765)
includeAccountinReward(address) should be declared external:
- MetaRush.includeAccountinReward(address) (#767-778)
giveReward(address,uint256) should be declared external:
- MetaRush.giveReward(address,uint256) (#999-1001)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find website, listings and other project-related information
Young tokens have high risks of price dump / death
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Unable to find Telegram and Twitter accounts