RBX Token Logo

RBX Token

About RBX

Listings

Token 3 years
CoinGecko 3 years
CoinMarketCap 3 years

Website

white paper

A cornerstone of the Carbon ecosystem of products, the RBX token is used for general utility purposes across our multi-token staking platform, cross-chain DEX, leveraged liquidity pools, token launchpads, escrow tools, our decentralized fiat
on/off ramp, and more.

Holding RBX entitles you to rewards from the revenue generated across each and every product, special voting rights, exclusive seniority-based privileges, and the ability to directly burn your tokens into Ether through the use of our RBX Converter

Social

Laser Scorebeta Last Audit: 4 May 2022

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

Anti-Scam

Links


Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)

RBX.rescueTokens(address,address,uint256) (contracts/RBX.sol#334-347) ignores return value by IERC20(token).transfer(recipient,amount) (contracts/RBX.sol#344)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.

Additional information: link

ERC20Votes._writeCheckpoint(ERC20Votes.Checkpoint[],function(uint256,uint256) returns(uint256),uint256) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#236-250) uses a dangerous strict equality:
- pos > 0 && ckpts[pos - 1].fromBlock == block.number (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#245)
Don't use strict equality to determine if an account has enough Ether or tokens.

Additional information: link

ERC20Permit.constructor(string).name (@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol#35) shadows:
- ERC20.name() (@openzeppelin/contracts/token/ERC20/ERC20.sol#61-63) (function)
- IERC20Metadata.name() (@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#16) (function)
Rename the local variables that shadow another component.

Additional information: link

RBX.setTokenThreshold(uint256) (contracts/RBX.sol#272-280) should emit an event for:
- tokenThreshold = _tokenThreshold (contracts/RBX.sol#279)
Emit an event for critical parameter changes.

Additional information: link

RBX.setFundingWallet(address)._wallet (contracts/RBX.sol#292) lacks a zero-check on :
- fundingWallet = _wallet (contracts/RBX.sol#293)
RBX.rescueEth(address).recipient (contracts/RBX.sol#364) lacks a zero-check on :
- recipient.transfer(address(this).balance) (contracts/RBX.sol#369)
Check that the address is not zero.

Additional information: link

Address.isContract(address) (@openzeppelin/contracts/utils/Address.sol#26-36) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/Address.sol#32-34)
Address.verifyCallResult(bool,bytes,string) (@openzeppelin/contracts/utils/Address.sol#195-215) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/Address.sol#207-210)
ECDSA.tryRecover(bytes32,bytes) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#54-83) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#64-68)
- INLINE ASM (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#75-78)
ECDSA.tryRecover(bytes32,bytes32,bytes32) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#112-124) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#119-122)
Do not use evm assembly.

Additional information: link

RBX.fundingFee (contracts/RBX.sol#131) should be constant
Add the constant attributes to state variables that never change.

Additional information: link

Reentrancy in RBX._transfer(address,address,uint256) (contracts/RBX.sol#184-215):
External calls:
- swapTokensByPair(fees + thresholdSell,recipient) (contracts/RBX.sol#205)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,fundingWallet,block.timestamp) (contracts/RBX.sol#238-244)
- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,fundingWallet,block.timestamp) (contracts/RBX.sol#246-252)
State variables written after the call(s):
- super._transfer(sender,recipient,amount) (contracts/RBX.sol#208)
- _balances[sender] = senderBalance - amount (@openzeppelin/contracts/token/ERC20/ERC20.sol#233)
- _balances[recipient] += amount (@openzeppelin/contracts/token/ERC20/ERC20.sol#235)
Apply the check-effects-interactions pattern.

Additional information: link

ERC20Votes._moveVotingPower(address,address,uint256).oldWeight_scope_0 (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#230) is a local variable never initialized
ERC20Votes._moveVotingPower(address,address,uint256).newWeight_scope_1 (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#230) is a local variable never initialized
Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero to improve code readability.

Additional information: link

Variable 'ERC20Votes._moveVotingPower(address,address,uint256).newWeight (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#225)' in ERC20Votes._moveVotingPower(address,address,uint256) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#218-234) potentially used before declaration: (oldWeight,newWeight) = _writeCheckpoint(_checkpoints[dst],_add,amount) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#230)
Variable 'ERC20Votes._moveVotingPower(address,address,uint256).oldWeight (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#225)' in ERC20Votes._moveVotingPower(address,address,uint256) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#218-234) potentially used before declaration: (oldWeight,newWeight) = _writeCheckpoint(_checkpoints[dst],_add,amount) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#230)
Variable 'ECDSA.tryRecover(bytes32,bytes).r (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#59)' in ECDSA.tryRecover(bytes32,bytes) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#54-83) potentially used before declaration: r = mload(uint256)(signature + 0x20) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#76)
Move all variable declarations prior to any usage of the variable, and ensure that reaching a variable declaration does not depend on some conditional if it is used unconditionally.

Additional information: link

Reentrancy in RBX._transfer(address,address,uint256) (contracts/RBX.sol#184-215):
External calls:
- swapTokensByPair(fees + thresholdSell,recipient) (contracts/RBX.sol#205)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,fundingWallet,block.timestamp) (contracts/RBX.sol#238-244)
- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,fundingWallet,block.timestamp) (contracts/RBX.sol#246-252)
State variables written after the call(s):
- snapStamp = block.timestamp (contracts/RBX.sol#212)
Reentrancy in RBX.swapTokensByPair(uint256,address) (contracts/RBX.sol#220-256):
External calls:
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,fundingWallet,block.timestamp) (contracts/RBX.sol#238-244)
- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,fundingWallet,block.timestamp) (contracts/RBX.sol#246-252)
State variables written after the call(s):
- swapping = false (contracts/RBX.sol#255)
Apply the check-effects-interactions pattern.

Additional information: link

Reentrancy in RBX._transfer(address,address,uint256) (contracts/RBX.sol#184-215):
External calls:
- swapTokensByPair(fees + thresholdSell,recipient) (contracts/RBX.sol#205)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,fundingWallet,block.timestamp) (contracts/RBX.sol#238-244)
- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,fundingWallet,block.timestamp) (contracts/RBX.sol#246-252)
Event emitted after the call(s):
- DelegateVotesChanged(src,oldWeight,newWeight) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#226)
- super._transfer(sender,recipient,amount) (contracts/RBX.sol#208)
- DelegateVotesChanged(dst,oldWeight_scope_0,newWeight_scope_1) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#231)
- super._transfer(sender,recipient,amount) (contracts/RBX.sol#208)
- Snapshot(currentId) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol#91)
- _snapshot() (contracts/RBX.sol#211)
- Transfer(sender,recipient,amount) (@openzeppelin/contracts/token/ERC20/ERC20.sol#237)
- super._transfer(sender,recipient,amount) (contracts/RBX.sol#208)
Apply the check-effects-interactions pattern.

Additional information: link

ERC20Votes.delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#143-160) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp <= expiry,ERC20Votes: signature expired) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#151)
ERC20Permit.permit(address,address,uint256,uint256,uint8,bytes32,bytes32) (@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol#40-59) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp <= deadline,ERC20Permit: expired deadline) (@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol#49)
RBX._transfer(address,address,uint256) (contracts/RBX.sol#184-215) uses timestamp for comparisons
Dangerous comparisons:
- block.timestamp >= snapStamp + 86400 (contracts/RBX.sol#210)
Avoid relying on block.timestamp.

Additional information: link

Different versions of Solidity is used:
- Version used: ['>=0.5.0', '^0.8.0', '^0.8.2']
- ^0.8.0 (@openzeppelin/contracts/access/AccessControl.sol#3)
- ^0.8.0 (@openzeppelin/contracts/access/IAccessControl.sol#3)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/ERC20.sol#3)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#3)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol#3)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol#3)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#3)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#3)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol#3)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#3)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#3)
- ^0.8.0 (@openzeppelin/contracts/utils/Address.sol#3)
- ^0.8.0 (@openzeppelin/contracts/utils/Arrays.sol#3)
- ^0.8.0 (@openzeppelin/contracts/utils/Context.sol#3)
- ^0.8.0 (@openzeppelin/contracts/utils/Counters.sol#3)
- ^0.8.0 (@openzeppelin/contracts/utils/Strings.sol#3)
- ^0.8.0 (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#3)
- ^0.8.0 (@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol#3)
- ^0.8.0 (@openzeppelin/contracts/utils/introspection/ERC165.sol#3)
- ^0.8.0 (@openzeppelin/contracts/utils/introspection/IERC165.sol#3)
- ^0.8.0 (@openzeppelin/contracts/utils/math/Math.sol#3)
- ^0.8.0 (@openzeppelin/contracts/utils/math/SafeCast.sol#3)
- ^0.8.2 (contracts/RBX.sol#97)
- >=0.5.0 (contracts/libs/uni.sol#3)
- >=0.5.0 (contracts/libs/uni.sol#22)
Use one Solidity version.

Additional information: link

AccessControl._setRoleAdmin(bytes32,bytes32) (@openzeppelin/contracts/access/AccessControl.sol#191-195) is never used and should be removed
Address.functionCall(address,bytes) (@openzeppelin/contracts/utils/Address.sol#79-81) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (@openzeppelin/contracts/utils/Address.sol#108-114) is never used and should be removed
Address.functionDelegateCall(address,bytes) (@openzeppelin/contracts/utils/Address.sol#168-170) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#178-187) is never used and should be removed
Address.functionStaticCall(address,bytes) (@openzeppelin/contracts/utils/Address.sol#141-143) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#151-160) is never used and should be removed
Address.sendValue(address,uint256) (@openzeppelin/contracts/utils/Address.sol#54-59) is never used and should be removed
Context._msgData() (@openzeppelin/contracts/utils/Context.sol#20-22) is never used and should be removed
Counters.decrement(Counters.Counter) (@openzeppelin/contracts/utils/Counters.sol#31-37) is never used and should be removed
Counters.reset(Counters.Counter) (@openzeppelin/contracts/utils/Counters.sol#39-41) is never used and should be removed
ECDSA.recover(bytes32,bytes) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#99-103) is never used and should be removed
ECDSA.recover(bytes32,bytes32,bytes32) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#131-139) is never used and should be removed
ECDSA.toEthSignedMessageHash(bytes32) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#201-205) is never used and should be removed
ECDSA.tryRecover(bytes32,bytes) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#54-83) is never used and should be removed
ECDSA.tryRecover(bytes32,bytes32,bytes32) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#112-124) is never used and should be removed
ERC20Votes._add(uint256,uint256) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#252-254) is never used and should be removed
ERC20Votes._subtract(uint256,uint256) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#256-258) is never used and should be removed
Math.ceilDiv(uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#38-41) is never used and should be removed
Math.max(uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#12-14) is never used and should be removed
Math.min(uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#19-21) is never used and should be removed
SafeCast.toInt128(int256) (@openzeppelin/contracts/utils/math/SafeCast.sol#151-154) is never used and should be removed
SafeCast.toInt16(int256) (@openzeppelin/contracts/utils/math/SafeCast.sol#205-208) is never used and should be removed
SafeCast.toInt256(uint256) (@openzeppelin/contracts/utils/math/SafeCast.sol#235-239) is never used and should be removed
SafeCast.toInt32(int256) (@openzeppelin/contracts/utils/math/SafeCast.sol#187-190) is never used and should be removed
SafeCast.toInt64(int256) (@openzeppelin/contracts/utils/math/SafeCast.sol#169-172) is never used and should be removed
SafeCast.toInt8(int256) (@openzeppelin/contracts/utils/math/SafeCast.sol#223-226) is never used and should be removed
SafeCast.toUint128(uint256) (@openzeppelin/contracts/utils/math/SafeCast.sol#46-49) is never used and should be removed
SafeCast.toUint16(uint256) (@openzeppelin/contracts/utils/math/SafeCast.sol#106-109) is never used and should be removed
SafeCast.toUint256(int256) (@openzeppelin/contracts/utils/math/SafeCast.sol#133-136) is never used and should be removed
SafeCast.toUint64(uint256) (@openzeppelin/contracts/utils/math/SafeCast.sol#76-79) is never used and should be removed
SafeCast.toUint8(uint256) (@openzeppelin/contracts/utils/math/SafeCast.sol#121-124) is never used and should be removed
SafeCast.toUint96(uint256) (@openzeppelin/contracts/utils/math/SafeCast.sol#61-64) is never used and should be removed
SafeERC20.safeApprove(IERC20,address,uint256) (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#44-57) is never used and should be removed
SafeERC20.safeDecreaseAllowance(IERC20,address,uint256) (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#68-79) is never used and should be removed
SafeERC20.safeIncreaseAllowance(IERC20,address,uint256) (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#59-66) is never used and should be removed
SafeERC20.safeTransferFrom(IERC20,address,address,uint256) (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#28-35) is never used and should be removed
Strings.toHexString(uint256) (@openzeppelin/contracts/utils/Strings.sol#39-50) is never used and should be removed
Strings.toString(uint256) (@openzeppelin/contracts/utils/Strings.sol#14-34) is never used and should be removed
Remove unused functions.

Additional information: link

RBX.tokenThreshold (contracts/RBX.sol#132) is set pre-construction with a non-constant function or state variable:
- 100000 * 10 ** decimals()
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 version^0.8.0 (@openzeppelin/contracts/access/AccessControl.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/access/IAccessControl.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/ERC20.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/Address.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/Arrays.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/Context.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/Counters.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/Strings.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/introspection/ERC165.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/introspection/IERC165.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/math/Math.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/math/SafeCast.sol#3) allows old versions
Pragma version^0.8.2 (contracts/RBX.sol#97) allows old versions
Pragma version>=0.5.0 (contracts/libs/uni.sol#3) allows old versions
Pragma version>=0.5.0 (contracts/libs/uni.sol#22) 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

Low level call in Address.sendValue(address,uint256) (@openzeppelin/contracts/utils/Address.sol#54-59):
- (success) = recipient.call{value: amount}() (@openzeppelin/contracts/utils/Address.sol#57)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts/utils/Address.sol#122-133):
- (success,returndata) = target.call{value: value}(data) (@openzeppelin/contracts/utils/Address.sol#131)
Low level call in Address.functionStaticCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#151-160):
- (success,returndata) = target.staticcall(data) (@openzeppelin/contracts/utils/Address.sol#158)
Low level call in Address.functionDelegateCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#178-187):
- (success,returndata) = target.delegatecall(data) (@openzeppelin/contracts/utils/Address.sol#185)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence

Additional information: link

Function ERC20Permit.DOMAIN_SEPARATOR() (@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol#72-74) is not in mixedCase
Variable ERC20Permit._PERMIT_TYPEHASH (@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol#27-28) is not in mixedCase
Function IERC20Permit.DOMAIN_SEPARATOR() (@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#58) is not in mixedCase
Variable EIP712._CACHED_DOMAIN_SEPARATOR (@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol#30) is not in mixedCase
Variable EIP712._CACHED_CHAIN_ID (@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol#31) is not in mixedCase
Variable EIP712._HASHED_NAME (@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol#33) is not in mixedCase
Variable EIP712._HASHED_VERSION (@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol#34) is not in mixedCase
Variable EIP712._TYPE_HASH (@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol#35) is not in mixedCase
Function RBX._addPair(address,address,address) (contracts/RBX.sol#258-270) is not in mixedCase
Parameter RBX.setTokenThreshold(uint256)._tokenThreshold (contracts/RBX.sol#272) is not in mixedCase
Parameter RBX.setFundingSells(bool)._setting (contracts/RBX.sol#282) is not in mixedCase
Parameter RBX.setFundingWallet(address)._wallet (contracts/RBX.sol#292) is not in mixedCase
Parameter RBX.setSwapInProgress(bool)._swapInProgress (contracts/RBX.sol#306) is not in mixedCase
Variable RBX._routerPairs (contracts/RBX.sol#129) is not in mixedCase
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (contracts/libs/uni.sol#39) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (contracts/libs/uni.sol#40) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (contracts/libs/uni.sol#57) is not in mixedCase
Function IUniswapV2Router01.WETH() (contracts/libs/uni.sol#79) is not in mixedCase
Follow the Solidity naming convention.

Additional information: link

Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (contracts/libs/uni.sol#84) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (contracts/libs/uni.sol#85)
Prevent variables from having similar names.

Additional information: link

RBX.constructor() (contracts/RBX.sol#140-154) uses literals with too many digits:
- _mint(msg.sender,100000000 * 10 ** decimals()) (contracts/RBX.sol#145)
RBX.slitherConstructorVariables() (contracts/RBX.sol#109-372) uses literals with too many digits:
- tokenThreshold = 100000 * 10 ** decimals() (contracts/RBX.sol#132)
Use: Ether suffix, Time suffix, or The scientific notation

Additional information: link

Holders:

Contract has 0% buy tax and 2% sell tax.
Taxes are low but contract ownership is not renounced. Token has a high risk of becoming a honeypot.

No disclosed threats


Unable to find token contract audit


Unable to find audit link on the website


Unable to find token on CoinHunt

Additional information: link


Young tokens have high risks of scam / price dump / death


Token has relatively low CoinGecko rank


Token has relatively low CoinMarketCap rank


Young tokens have high risks of price dump / death

Price for RBX

News for RBX