QUBE TOKEN Token Logo

QUBE Token

About QUBE

Listings

Token 2 years
CoinGecko 2 years
CoinMarketCap 2 years

Website

white paper

Qube is a multichain platform that combines the most popular functions of the crypto world.

A place where everyone, who is keen on cryptocurrencies and blockchain, can find a place for himself. Qube is truly the most universal crypto space.

Qube consists of 4 main modules: Qube DEX, Qube Launchpad, Qube NFT Marketplace, Qube Social Network.

Laser Scorebeta Last Audit: 2 May 2022

report
Token seems to be (relatively) fine. It still become a scam, but probability is moderate.

QubeToken.adminEmergency(address,address,uint256) (#843-849) ignores return value by IBEP20(addr).transfer(account,amount) (#847)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.

Additional information: link


Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains


Contract ownership is not renounced (belongs to a wallet)

QubeToken.unlockInternal(address) (#796-823) performs a multiplication on the result of a division:
-reward = store.lockedBalances * (10) / (100) (#802)
-_transfer(address(this),user,reward * (store.totalUnlock - given)) (#821)
Consider ordering multiplication before division.

Additional information: link

QubeToken.lockInit(address,address,address,address)._teamWallet (#766) lacks a zero-check on :
- teamWallet = _teamWallet (#768)
QubeToken.lockInit(address,address,address,address)._seedWallet (#766) lacks a zero-check on :
- seedWallet = _seedWallet (#769)
QubeToken.lockInit(address,address,address,address)._airdropWallet (#766) lacks a zero-check on :
- airdropWallet = _airdropWallet (#770)
QubeToken.lockInit(address,address,address,address)._presaleWallet (#766) lacks a zero-check on :
- presaleWallet = _presaleWallet (#771)
QubeToken.adminEmergency(address,address,uint256).account (#843) lacks a zero-check on :
- address(account).transfer(amount) (#845)
Check that the address is not zero.

Additional information: link

QubeToken.unlockInternal(address) (#796-823) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(store.lockedBalances != 0,Invalid account) (#798)
- require(bool,string)(block.timestamp > store.initialDeadline && block.timestamp > store.instalmentDeadline,unable to unlock now) (#799)
- require(bool,string)(store.totalUnlock != 10,claim exceed) (#800)
- diff > duration_ (#813)
QubeToken.presaleLock(address) (#825-833) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp > store.initialDeadline,unable to unlock now) (#829)
Avoid relying on block.timestamp.

Additional information: link

Different versions of Solidity is used:
- Version used: ['^0.8.0', '^0.8.2']
- ^0.8.0 (#5)
- ^0.8.0 (#89)
- ^0.8.0 (#118)
- ^0.8.0 (#144)
- ^0.8.0 (#495)
- ^0.8.0 (#587)
- ^0.8.2 (#739)
Use one Solidity version.

Additional information: link

Context._msgData() (#135-137) is never used and should be removed
Remove unused functions.

Additional information: link

Pragma version^0.8.0 (#5) allows old versions
Pragma version^0.8.0 (#89) allows old versions
Pragma version^0.8.0 (#118) allows old versions
Pragma version^0.8.0 (#144) allows old versions
Pragma version^0.8.0 (#495) allows old versions
Pragma version^0.8.0 (#587) allows old versions
Pragma version^0.8.2 (#739) allows old versions
solc-0.8.2 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

Struct QubeToken.lockData (#754-760) is not in CapWords
Parameter QubeToken.lockInit(address,address,address,address)._teamWallet (#766) is not in mixedCase
Parameter QubeToken.lockInit(address,address,address,address)._seedWallet (#766) is not in mixedCase
Parameter QubeToken.lockInit(address,address,address,address)._airdropWallet (#766) is not in mixedCase
Parameter QubeToken.lockInit(address,address,address,address)._presaleWallet (#766) is not in mixedCase
Follow the Solidity naming convention.

Additional information: link

QubeToken.lockInit(address,address,address,address) (#766-779) uses literals with too many digits:
- lockDuration[seedWallet] = lockData(47304000,(block.timestamp + 47304000),(block.timestamp + 47304000),30000000e18,0) (#773)
QubeToken.lockInit(address,address,address,address) (#766-779) uses literals with too many digits:
- lockDuration[presaleWallet] = lockData(5256000,(block.timestamp + 5256000),(block.timestamp + 5256000),20000000e18,0) (#774)
QubeToken.lockInit(address,address,address,address) (#766-779) uses literals with too many digits:
- _mint(airdropWallet,2500000e18) (#777)
Use: Ether suffix, Time suffix, or The scientific notation

Additional information: link

QubeToken.duration (#749) should be constant
Add the constant attributes to state variables that never change.

Additional information: link

name() should be declared external:
- BEP20.name() (#201-203)
symbol() should be declared external:
- BEP20.symbol() (#209-211)
decimals() should be declared external:
- BEP20.decimals() (#226-228)
totalSupply() should be declared external:
- BEP20.totalSupply() (#233-235)
balanceOf(address) should be declared external:
- BEP20.balanceOf(address) (#240-242)
transfer(address,uint256) should be declared external:
- BEP20.transfer(address,uint256) (#252-255)
allowance(address,address) should be declared external:
- BEP20.allowance(address,address) (#260-262)
approve(address,uint256) should be declared external:
- BEP20.approve(address,uint256) (#271-274)
transferFrom(address,address,uint256) should be declared external:
- BEP20.transferFrom(address,address,uint256) (#289-302)
increaseAllowance(address,uint256) should be declared external:
- BEP20.increaseAllowance(address,uint256) (#316-319)
decreaseAllowance(address,uint256) should be declared external:
- BEP20.decreaseAllowance(address,uint256) (#335-342)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#636-638)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#644-647)
addMinter(address) should be declared external:
- MinterRole.addMinter(address) (#713-715)
removeMinter(address) should be declared external:
- MinterRole.removeMinter(address) (#717-719)
renounceMinter() should be declared external:
- MinterRole.renounceMinter() (#721-723)
lockInit(address,address,address,address) should be declared external:
- QubeToken.lockInit(address,address,address,address) (#766-779)
lockStatusUpdate(bool) should be declared external:
- QubeToken.lockStatusUpdate(bool) (#781-783)
unlock() should be declared external:
- QubeToken.unlock() (#785-794)
pause() should be declared external:
- QubeToken.pause() (#835-837)
unpause() should be declared external:
- QubeToken.unpause() (#839-841)
adminEmergency(address,address,uint256) should be declared external:
- QubeToken.adminEmergency(address,address,uint256) (#843-849)
mint(address,uint256) should be declared external:
- QubeToken.mint(address,uint256) (#851-853)
burn(uint256) should be declared external:
- QubeToken.burn(uint256) (#860-862)
Use the external attribute for functions never called from the contract.

Additional information: link

Holders:


Token is deployed only at one blockchain


Telegram account link seems to be invalid


Unable to find Youtube account

No disclosed threats


Alexa traffic rank is relatively low

Additional information: link


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 CoinMarketCap rank

Price for QUBE

News for QUBE