OKEYVERSE is a project with several subprojects focused on developing de-fi, web3 social media, and play-to-earn games on a single platform. The OKEYVERSE project is unique because it has an underlying real asset, which is co-working space. Our team is multi-national, and each member has their own area of expertise, such as management, graphic design, digital marketing, and programming.
OKEYCOIN.withdrawToken(address,uint256) (#1563-1567) ignores return value by tokenContract.transfer(msg.sender,_amount) (#1566)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
Contract ownership is not renounced (belongs to a wallet)
Reentrancy in OKEYCOIN.constructor() (#920-953):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#939-940)
State variables written after the call(s):
- _isExcludedFromFee[owner()] = true (#946)
- _isExcludedFromFee[address(this)] = true (#947)
- _isExcludedFromFee[_marketingTax] = true (#948)
- _isExcludedFromFee[_burnTax] = true (#949)
- _isExcludedFromFee[_RnDTax] = true (#950)
- uniswapV2Router = _uniswapV2Router (#943)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in OKEYCOIN.constructor() (#920-953):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#939-940)
Event emitted after the call(s):
- Transfer(address(0),_msgSender(),_tTotal) (#952)
Apply the check-effects-interactions pattern.
Additional information: link
Address.isContract(address) (#289-300) uses assembly
- INLINE ASM (#296-298)
Address._functionCallWithValue(address,bytes,uint256,string) (#415-443) uses assembly
- INLINE ASM (#435-438)
Do not use evm assembly.
Additional information: link
OKEYCOIN.includeInReward(address) (#1092-1103) has costly operations inside a loop:
- _excluded.pop() (#1099)
Use a local variable to hold the loop computation result.
Additional information: link
OKEYCOIN.allowance(address,address).owner (#985) shadows:
- Ownable.owner() (#479-481) (function)
OKEYCOIN._approve(address,address,uint256).owner (#1340) shadows:
- Ownable.owner() (#479-481) (function)
Rename the local variables that shadow another component.
Additional information: link
OKEYCOIN.updateMarketingWallet(address).newAddress (#1071) lacks a zero-check on :
- _marketingTax = newAddress (#1072)
OKEYCOIN.updateburnAddress(address).newAddress (#1075) lacks a zero-check on :
- _burnTax = newAddress (#1076)
OKEYCOIN.updateRnDAddress(address).newAddress (#1079) lacks a zero-check on :
- _RnDTax = newAddress (#1080)
Check that the address is not zero.
Additional information: link
Ownable._previousOwner (#460) is never used in OKEYCOIN (#868-1569)
Remove unused state variables.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#415-443) is never used and should be removed
Address.functionCall(address,bytes) (#350-355) is never used and should be removed
Address.functionCall(address,bytes,string) (#363-369) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#382-394) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#402-413) is never used and should be removed
Address.isContract(address) (#289-300) is never used and should be removed
Address.sendValue(address,uint256) (#318-330) is never used and should be removed
Context._msgData() (#262-265) is never used and should be removed
OKEYCOIN.swapTokensForEth(uint256) (#1375-1391) is never used and should be removed
SafeMath.mod(uint256,uint256) (#231-233) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#247-254) is never used and should be removed
Remove unused functions.
Additional information: link
OKEYCOIN._rTotal (#883) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
Remove any initialization of state variables via non-constant state variables or function calls. If variables must be set upon contract deployment, locate initialization in the constructor instead.
Additional information: link
Pragma version0.8.10 (#4) necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7
solc-0.8.10 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
Low level call in Address.sendValue(address,uint256) (#318-330):
- (success) = recipient.call{value: amount}() (#325)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#415-443):
- (success,returndata) = target.call{value: weiValue}(data) (#424-426)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (#585) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#587) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#617) is not in mixedCase
Function IUniswapV2Router01.WETH() (#663) is not in mixedCase
Parameter OKEYCOIN.setSellFee(uint16,uint16,uint16,uint16).RnD (#1128) is not in mixedCase
Parameter OKEYCOIN.setBuyFee(uint16,uint16,uint16,uint16).RnD (#1164) is not in mixedCase
Parameter OKEYCOIN.calculatetaxReflectionFee(uint256)._amount (#1289) is not in mixedCase
Parameter OKEYCOIN.calculateMarketingFee(uint256)._amount (#1294) is not in mixedCase
Parameter OKEYCOIN.calculateRnDFee(uint256)._amount (#1302) is not in mixedCase
Parameter OKEYCOIN.calculateBurnFee(uint256)._amount (#1310) is not in mixedCase
Parameter OKEYCOIN.withdrawToken(address,uint256)._tokenContract (#1563) is not in mixedCase
Parameter OKEYCOIN.withdrawToken(address,uint256)._amount (#1563) is not in mixedCase
Variable OKEYCOIN._marketingTax (#886) is not in mixedCase
Variable OKEYCOIN._burnTax (#887) is not in mixedCase
Variable OKEYCOIN._RnDTax (#888) is not in mixedCase
Variable OKEYCOIN._RnDFee (#914) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#263)" inContext (#257-266)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#668) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#669)
Variable OKEYCOIN._transferBothExcluded(address,address,uint256).rTransferAmount (#1534) is too similar to OKEYCOIN._transferStandard(address,address,uint256).tTransferAmount (#1435)
Variable OKEYCOIN._getRValues(uint256,uint256,uint256,uint256,uint256,uint256).rTransferAmount (#1235-1239) is too similar to OKEYCOIN._transferToExcluded(address,address,uint256).tTransferAmount (#1466)
Variable OKEYCOIN._transferBothExcluded(address,address,uint256).rTransferAmount (#1534) is too similar to OKEYCOIN._transferFromExcluded(address,address,uint256).tTransferAmount (#1497)
Variable OKEYCOIN._transferFromExcluded(address,address,uint256).rTransferAmount (#1503) is too similar to OKEYCOIN._transferToExcluded(address,address,uint256).tTransferAmount (#1466)
Variable OKEYCOIN._transferBothExcluded(address,address,uint256).rTransferAmount (#1534) is too similar to OKEYCOIN._transferToExcluded(address,address,uint256).tTransferAmount (#1466)
Variable OKEYCOIN._transferToExcluded(address,address,uint256).rTransferAmount (#1472) is too similar to OKEYCOIN._transferToExcluded(address,address,uint256).tTransferAmount (#1466)
Variable OKEYCOIN._transferStandard(address,address,uint256).rTransferAmount (#1441) is too similar to OKEYCOIN._transferToExcluded(address,address,uint256).tTransferAmount (#1466)
Variable OKEYCOIN._transferToExcluded(address,address,uint256).rTransferAmount (#1472) is too similar to OKEYCOIN._getTValues(uint256).tTransferAmount (#1207)
Variable OKEYCOIN._transferFromExcluded(address,address,uint256).rTransferAmount (#1503) is too similar to OKEYCOIN._transferStandard(address,address,uint256).tTransferAmount (#1435)
Variable OKEYCOIN._transferToExcluded(address,address,uint256).rTransferAmount (#1472) is too similar to OKEYCOIN._transferBothExcluded(address,address,uint256).tTransferAmount (#1528)
Variable OKEYCOIN._transferToExcluded(address,address,uint256).rTransferAmount (#1472) is too similar to OKEYCOIN._transferFromExcluded(address,address,uint256).tTransferAmount (#1497)
Variable OKEYCOIN._getRValues(uint256,uint256,uint256,uint256,uint256,uint256).rTransferAmount (#1235-1239) is too similar to OKEYCOIN._transferStandard(address,address,uint256).tTransferAmount (#1435)
Variable OKEYCOIN._transferToExcluded(address,address,uint256).rTransferAmount (#1472) is too similar to OKEYCOIN._transferStandard(address,address,uint256).tTransferAmount (#1435)
Variable OKEYCOIN._transferStandard(address,address,uint256).rTransferAmount (#1441) is too similar to OKEYCOIN._getTValues(uint256).tTransferAmount (#1207)
Variable OKEYCOIN._transferStandard(address,address,uint256).rTransferAmount (#1441) is too similar to OKEYCOIN._transferFromExcluded(address,address,uint256).tTransferAmount (#1497)
Variable OKEYCOIN._transferBothExcluded(address,address,uint256).rTransferAmount (#1534) is too similar to OKEYCOIN._getTValues(uint256).tTransferAmount (#1207)
Variable OKEYCOIN._transferStandard(address,address,uint256).rTransferAmount (#1441) is too similar to OKEYCOIN._transferBothExcluded(address,address,uint256).tTransferAmount (#1528)
Variable OKEYCOIN._transferBothExcluded(address,address,uint256).rTransferAmount (#1534) is too similar to OKEYCOIN._transferBothExcluded(address,address,uint256).tTransferAmount (#1528)
Variable OKEYCOIN._transferFromExcluded(address,address,uint256).rTransferAmount (#1503) is too similar to OKEYCOIN._getTValues(uint256).tTransferAmount (#1207)
Variable OKEYCOIN._transferFromExcluded(address,address,uint256).rTransferAmount (#1503) is too similar to OKEYCOIN._transferFromExcluded(address,address,uint256).tTransferAmount (#1497)
Variable OKEYCOIN._transferFromExcluded(address,address,uint256).rTransferAmount (#1503) is too similar to OKEYCOIN._transferBothExcluded(address,address,uint256).tTransferAmount (#1528)
Variable OKEYCOIN._transferStandard(address,address,uint256).rTransferAmount (#1441) is too similar to OKEYCOIN._transferStandard(address,address,uint256).tTransferAmount (#1435)
Variable OKEYCOIN._getRValues(uint256,uint256,uint256,uint256,uint256,uint256).rTransferAmount (#1235-1239) is too similar to OKEYCOIN._getTValues(uint256).tTransferAmount (#1207)
Variable OKEYCOIN._getRValues(uint256,uint256,uint256,uint256,uint256,uint256).rTransferAmount (#1235-1239) is too similar to OKEYCOIN._transferFromExcluded(address,address,uint256).tTransferAmount (#1497)
Variable OKEYCOIN._getRValues(uint256,uint256,uint256,uint256,uint256,uint256).rTransferAmount (#1235-1239) is too similar to OKEYCOIN._transferBothExcluded(address,address,uint256).tTransferAmount (#1528)
Prevent variables from having similar names.
Additional information: link
OKEYCOIN.slitherConstructorVariables() (#868-1569) uses literals with too many digits:
- _burnTax = address(address(0x000000000000000000000000000000000000dEaD)) (#887)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
OKEYCOIN._decimals (#892) should be constant
OKEYCOIN._name (#890) should be constant
OKEYCOIN._symbol (#891) should be constant
OKEYCOIN._tTotal (#882) should be constant
Ownable._previousOwner (#460) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#498-501)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#507-514)
name() should be declared external:
- OKEYCOIN.name() (#955-957)
symbol() should be declared external:
- OKEYCOIN.symbol() (#959-961)
decimals() should be declared external:
- OKEYCOIN.decimals() (#963-965)
totalSupply() should be declared external:
- OKEYCOIN.totalSupply() (#967-969)
balanceOf(address) should be declared external:
- OKEYCOIN.balanceOf(address) (#971-974)
transfer(address,uint256) should be declared external:
- OKEYCOIN.transfer(address,uint256) (#976-983)
allowance(address,address) should be declared external:
- OKEYCOIN.allowance(address,address) (#985-992)
approve(address,uint256) should be declared external:
- OKEYCOIN.approve(address,uint256) (#994-1001)
transferFrom(address,address,uint256) should be declared external:
- OKEYCOIN.transferFrom(address,address,uint256) (#1003-1018)
increaseAllowance(address,uint256) should be declared external:
- OKEYCOIN.increaseAllowance(address,uint256) (#1020-1031)
decreaseAllowance(address,uint256) should be declared external:
- OKEYCOIN.decreaseAllowance(address,uint256) (#1033-1047)
isExcludedFromReward(address) should be declared external:
- OKEYCOIN.isExcludedFromReward(address) (#1049-1051)
totalFees() should be declared external:
- OKEYCOIN.totalFees() (#1053-1055)
excludeFromReward(address) should be declared external:
- OKEYCOIN.excludeFromReward(address) (#1083-1090)
excludeFromFee(address) should be declared external:
- OKEYCOIN.excludeFromFee(address) (#1105-1107)
includeInFee(address) should be declared external:
- OKEYCOIN.includeInFee(address) (#1109-1111)
isExcludedFromFee(address) should be declared external:
- OKEYCOIN.isExcludedFromFee(address) (#1335-1337)
withdrawETH() should be declared external:
- OKEYCOIN.withdrawETH() (#1555-1560)
withdrawToken(address,uint256) should be declared external:
- OKEYCOIN.withdrawToken(address,uint256) (#1563-1567)
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 KYC or doxxing proof
Unable to find code repository for the project
Token is not listed at Mobula.Finance
Additional information: link
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
Young tokens have high risks of price dump / death
Unable to find Blog account (Reddit or Medium)