The native fungible token of Revoland (ticker symbol $REVO) is a transferable representation of attributed governance and utility functions specified in the protocol/code of Revoland, and which is designed to be used solely as an interoperable utility token on the games ecosystem.
$REVO is a functional utility token which will be used as the medium of exchange between participants on Revoland in a decentralized manner. The goal of introducing $REVO is to provide a convenient and secure mode of payment and settlement between participants who interact within the ecosystem on Revoland, and it is not, and not intended to be, a medium of exchange accepted by the public (or a section of the public) as payment for goods or services or for the discharge of a debt; nor is it designed or intended to be used by any person as payment for any goods or services whatsoever that are not exclusively provided by the issuer.
$REVO also provides the economic incentives which will be distributed to encourage users to contribute to and participate in the ecosystem on Revoland, thereby creating a mutually beneficial system where every participant is fairly compensated for its efforts. $REVO is an integral and indispensable part of Revoland, because without $REVO, there would be no incentive for users to expend resources to participate in activities or provide services for the benefit of the entire ecosystem on Revoland. Given that an additional $REVO will be awarded to a user based only on its actual usage, activity, and contribution on Revoland and/or proportionate to the frequency and volume of transactions, users of Revoland and/or holders of $REVO which did not actively participate will not receive any $REVO incentives.
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
Contract ownership is not renounced (belongs to a wallet)
RevoToken.setProtectAddress(address)._address (#513) lacks a zero-check on :
- protectAddress = _address (#514)
RevoToken.setTaxAddress(address)._taxAddress (#525) lacks a zero-check on :
- taxAddress = _taxAddress (#526)
Check that the address is not zero.
Additional information: link
Reentrancy in RevoToken._transfer(address,address,uint256) (#717-759):
External calls:
- TokenProtect(protectAddress).check(sender,recipient,amount) (#726)
State variables written after the call(s):
- _balances[sender] = senderBalance.sub(amount) (#733)
- _balances[recipient] = _balances[recipient].add(amount) (#757)
Reentrancy in RevoToken.constructor() (#488-506):
External calls:
- pairAddress = IPancakeFactory(_router.factory()).createPair(address(this),usdtAddress) (#498-499)
State variables written after the call(s):
- _isExcludedFromFee[owner()] = true (#504)
- _isExcludedFromFee[address(this)] = true (#505)
- routerAddress = address(_router) (#502)
Reentrancy in RevoToken.transferFrom(address,address,uint256) (#646-660):
External calls:
- _transfer(sender,recipient,amount) (#651)
- TokenProtect(protectAddress).check(sender,recipient,amount) (#726)
State variables written after the call(s):
- _approve(sender,_msgSender(),currentAllowance - amount) (#656)
- _allowances[owner][spender] = amount (#864)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in RevoToken._transfer(address,address,uint256) (#717-759):
External calls:
- TokenProtect(protectAddress).check(sender,recipient,amount) (#726)
Event emitted after the call(s):
- Transfer(sender,recipient,amount) (#758)
Reentrancy in RevoToken.transferFrom(address,address,uint256) (#646-660):
External calls:
- _transfer(sender,recipient,amount) (#651)
- TokenProtect(protectAddress).check(sender,recipient,amount) (#726)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#865)
- _approve(sender,_msgSender(),currentAllowance - amount) (#656)
Apply the check-effects-interactions pattern.
Additional information: link
Context._msgData() (#129-131) is never used and should be removed
RevoToken._burn(address,uint256) (#827-840) is never used and should be removed
SafeMath.div(uint256,uint256) (#264-266) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#320-329) is never used and should be removed
SafeMath.mod(uint256,uint256) (#280-282) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#346-355) is never used and should be removed
SafeMath.mul(uint256,uint256) (#250-252) is never used and should be removed
SafeMath.sub(uint256,uint256,string) (#297-306) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (#151-157) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (#193-198) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (#205-210) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (#176-186) is never used and should be removed
SafeMath.trySub(uint256,uint256) (#164-169) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version0.8.0 (#9) allows old versions
solc-0.8.0 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
Function IPancakeRouter.WETH() (#436) is not in mixedCase
Parameter RevoToken.setIsSwapUsdt(bool)._is_swap (#509) is not in mixedCase
Parameter RevoToken.setProtectAddress(address)._address (#513) is not in mixedCase
Parameter RevoToken.setTaxAddress(address)._taxAddress (#525) is not in mixedCase
Parameter RevoToken.setTax(uint256)._taxFee (#529) is not in mixedCase
Variable RevoToken.is_swap_usdt (#478) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
RevoToken.slitherConstructorVariables() (#457-869) uses literals with too many digits:
- _initSupply = 120000000 * 10 ** 18 (#466)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
RevoToken._initSupply (#466) should be constant
RevoToken._name (#469) should be constant
RevoToken._symbol (#470) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#404-406)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#412-415)
setIsSwapUsdt(bool) should be declared external:
- RevoToken.setIsSwapUsdt(bool) (#509-511)
setProtectAddress(address) should be declared external:
- RevoToken.setProtectAddress(address) (#513-515)
excludeFromFee(address) should be declared external:
- RevoToken.excludeFromFee(address) (#517-519)
includeInFee(address) should be declared external:
- RevoToken.includeInFee(address) (#521-523)
setTaxAddress(address) should be declared external:
- RevoToken.setTaxAddress(address) (#525-527)
setTax(uint256) should be declared external:
- RevoToken.setTax(uint256) (#529-531)
isExcludedFromFee(address) should be declared external:
- RevoToken.isExcludedFromFee(address) (#533-535)
name() should be declared external:
- RevoToken.name() (#558-560)
symbol() should be declared external:
- RevoToken.symbol() (#566-568)
decimals() should be declared external:
- RevoToken.decimals() (#583-585)
totalSupply() should be declared external:
- RevoToken.totalSupply() (#590-592)
balanceOf(address) should be declared external:
- RevoToken.balanceOf(address) (#597-599)
transfer(address,uint256) should be declared external:
- RevoToken.transfer(address,uint256) (#609-612)
allowance(address,address) should be declared external:
- RevoToken.allowance(address,address) (#617-619)
approve(address,uint256) should be declared external:
- RevoToken.approve(address,uint256) (#628-631)
transferFrom(address,address,uint256) should be declared external:
- RevoToken.transferFrom(address,address,uint256) (#646-660)
increaseAllowance(address,uint256) should be declared external:
- RevoToken.increaseAllowance(address,uint256) (#674-677)
decreaseAllowance(address,uint256) should be declared external:
- RevoToken.decreaseAllowance(address,uint256) (#693-701)
Use the external attribute for functions never called from the contract.
Additional information: link
RevoToken.allowance(address,address).owner (#617) shadows:
- Ownable.owner() (#385-387) (function)
RevoToken._approve(address,address,uint256).owner (#857) shadows:
- Ownable.owner() (#385-387) (function)
Rename the local variables that shadow another component.
Additional information: link
BscScan page for the token does not contain additional info: website, socials, description, etc.
Additional information: link
Unable to find KYC or doxxing proof
Unable to find Telegram link on the website
Token is not listed at Mobula.Finance
Additional information: link
Unable to find token on CoinHunt
Additional information: link
Unable to find code repository for the project
Young tokens have high risks of price dump / death
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 price dump / death
Token has relatively low CoinGecko rank
Unable to find Youtube account