The fast and fun battles in Legend of RPS will bring back nostalgic childhood in you, each game only take a few minutes. Easy to Play & Earn in this NFT game
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
LegendOfRPS.checkLock(address,uint256) (#1131-1144) compares to a boolean constant:
-from != address(0) && underLock == true (#1132)
LegendOfRPS.checkLock(address,uint256) (#1131-1144) compares to a boolean constant:
-whenNotLock(from,amount) == false (#1133)
Remove the equality to the boolean constant.
Additional information: link
Different versions of Solidity is used:
- Version used: ['^0.8.0', '^0.8.4']
- ^0.8.0 (#7)
- ^0.8.0 (#35)
- ^0.8.0 (#66)
- ^0.8.0 (#136)
- ^0.8.0 (#227)
- ^0.8.0 (#254)
- ^0.8.0 (#479)
- ^0.8.0 (#572)
- ^0.8.0 (#657)
- ^0.8.0 (#687)
- ^0.8.0 (#1072)
- ^0.8.4 (#1111)
Use one Solidity version.
Additional information: link
AccessControl._setRoleAdmin(bytes32,bytes32) (#443-447) is never used and should be removed
AccessControl._setupRole(bytes32,address) (#434-436) is never used and should be removed
Context._msgData() (#244-246) is never used and should be removed
Strings.toHexString(uint256) (#102-113) is never used and should be removed
Strings.toString(uint256) (#77-97) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.0 (#7) allows old versions
Pragma version^0.8.0 (#35) allows old versions
Pragma version^0.8.0 (#66) allows old versions
Pragma version^0.8.0 (#136) allows old versions
Pragma version^0.8.0 (#227) allows old versions
Pragma version^0.8.0 (#254) allows old versions
Pragma version^0.8.0 (#479) allows old versions
Pragma version^0.8.0 (#572) allows old versions
Pragma version^0.8.0 (#657) allows old versions
Pragma version^0.8.0 (#687) allows old versions
Pragma version^0.8.0 (#1072) 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
Struct LegendOfRPS.lockInfo (#1125-1129) is not in CapWords
Parameter LegendOfRPS.setUnderLock(bool)._underLock (#1180) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
LegendOfRPS.constructor(bool) (#1118-1123) uses literals with too many digits:
- _mint(msg.sender,1000000000 * 10 ** decimals()) (#1121)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
LegendOfRPS.whenNotLock(address,uint256) (#1146-1154) uses timestamp for comparisons
Dangerous comparisons:
- lockList[from].locktimeEnd >= block.timestamp && balance - amount < lockList[from].lockAmount (#1149)
Avoid relying on block.timestamp.
Additional information: link
grantRole(bytes32,address) should be declared external:
- AccessControl.grantRole(bytes32,address) (#379-381)
revokeRole(bytes32,address) should be declared external:
- AccessControl.revokeRole(bytes32,address) (#392-394)
renounceRole(bytes32,address) should be declared external:
- AccessControl.renounceRole(bytes32,address) (#410-414)
name() should be declared external:
- ERC20.name() (#744-746)
symbol() should be declared external:
- ERC20.symbol() (#752-754)
totalSupply() should be declared external:
- ERC20.totalSupply() (#776-778)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (#783-785)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (#795-799)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#818-822)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (#840-849)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#863-867)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#883-892)
burn(uint256) should be declared external:
- ERC20Burnable.burn(uint256) (#1087-1089)
burnFrom(address,uint256) should be declared external:
- ERC20Burnable.burnFrom(address,uint256) (#1102-1105)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find token on CoinGecko
Additional information: link
Unable to find token contract audit
Unable to find KYC or doxxing proof
Unable to find audit 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 scam / price dump / death
Young tokens have high risks of scam / price dump / death
Token has no active CoinGecko listing / rank
Token has relatively low CoinMarketCap rank
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Telegram account link seems to be invalid