The O5O token is primarily used as a token to distribute rewards to the community (O5O NFT holders) and is backed by:
The O5O platform
The O5O fashion
The O5O music
The $O5O token gives your the access to participate in the O5O DAO and vote for the future O5O is aiming at!
O5O.rescueBSC20(address,uint256) (#502-505) ignores return value by IBEP20(tokenAdd).transfer(owner(),amount) (#504)
O5O.burnBSC20(address,uint256) (#507-509) ignores return value by IBEP20(tokenAdd).transfer(deadWallet,amount) (#508)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract ownership is not renounced (belongs to a wallet)
O5O.slitherConstructorConstantVariables() (#361-514) uses literals with too many digits:
- deadWallet = 0x000000000000000000000000000000000000dEaD (#373)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
Low level call in Address.sendValue(address,uint256) (#310-315):
- (success) = recipient.call{value: amount}() (#313)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Variable BEP20._balances (#56) is not in mixedCase
Variable BEP20._allowances (#58) is not in mixedCase
Function IRouter.WETH() (#358) is not in mixedCase
Function O5O.EnableTrading() (#474-477) is not in mixedCase
Parameter O5O.updateWhitelist(address,bool)._address (#479) is not in mixedCase
Constant O5O.deadWallet (#373) is not in UPPER_CASE_WITH_UNDERSCORES
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#11)" inContext (#5-14)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Address.sendValue(address,uint256) (#310-315) is never used and should be removed
Context._msgData() (#10-13) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.8 (#3) is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
solc-0.8.8 is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
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
O5O.updateMaxTxLimit(uint256,uint256,uint256) (#489-496) should emit an event for:
- maxBuyLimit = maxBuy * 10 ** decimals() (#493)
- maxSellLimit = maxSell * 10 ** decimals() (#494)
- maxWalletLimit = maxWallet * 10 ** decimals() (#495)
Emit an event for critical parameter changes.
Additional information: link
Reentrancy in O5O.constructor() (#377-392):
External calls:
- _pair = IFactory(_router.factory()).createPair(address(this),_router.WETH()) (#383)
State variables written after the call(s):
- pair = _pair (#386)
- router = _router (#385)
- whitelist[address(this)] = true (#387)
- whitelist[deadWallet] = true (#388)
- whitelist[0xD152f549545093347A162Dce210e7293f1452150] = true (#389)
- whitelist[0x407993575c91ce7643a4d4cCACc9A98c36eE1BBE] = true (#390)
Apply the check-effects-interactions pattern.
Additional information: link
name() should be declared external:
- BEP20.name() (#82-84)
symbol() should be declared external:
- BEP20.symbol() (#90-92)
totalSupply() should be declared external:
- BEP20.totalSupply() (#114-116)
transfer(address,uint256) should be declared external:
- BEP20.transfer(address,uint256) (#133-141)
- O5O.transfer(address,uint256) (#434-437)
allowance(address,address) should be declared external:
- BEP20.allowance(address,address) (#146-154)
approve(address,uint256) should be declared external:
- BEP20.approve(address,uint256) (#163-166)
- O5O.approve(address,uint256) (#394-397)
transferFrom(address,address,uint256) should be declared external:
- BEP20.transferFrom(address,address,uint256) (#181-193)
- O5O.transferFrom(address,address,uint256) (#399-411)
increaseAllowance(address,uint256) should be declared external:
- BEP20.increaseAllowance(address,uint256) (#207-214)
- O5O.increaseAllowance(address,uint256) (#413-420)
decreaseAllowance(address,uint256) should be declared external:
- BEP20.decreaseAllowance(address,uint256) (#230-240)
- O5O.decreaseAllowance(address,uint256) (#422-432)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#336-338)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#340-343)
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 contract audit
Unable to find KYC or doxxing proof
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
Unable to find audit link on the website
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
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Unable to find Blog account (Reddit or Medium)
Unable to find Youtube account