dibs.money Token Logo

DIBS [dibs.money] Token

About DIBS

Listings

Token 2 years
CoinGecko 2 years
CoinMarketCap 2 years

Website

white paper

The $DIBS algorithmic token serves as the backbone of a rapidly growing ecosystem aimed towards bringing liquidity and new use cases to the BSC network. The protocol's underlying mechanism dynamically adjusts $DIBS's supply, pushing its price up or down relative to the price of $BNB.

Inspired by tomb.finance, who was originally inspired by the idea behind Basis as well as its predecessors (bDollar and soup), dibs.money is a multi-token protocol which consists of the following three tokens: -dibs.money ($DIBS). -DIBS Shares ($DSHARE) -DIBS Bonds ($DBOND)

Social

Laser Scorebeta Last Audit: 28 August 2022

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

Dibs.governanceRecoverUnsupported(IERC20,uint256,address) (contracts/Dibs.sol#278-284) ignores return value by _token.transfer(_to,_amount) (contracts/Dibs.sol#283)
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

Dibs.setTaxTiersTwap(uint8,uint256) (contracts/Dibs.sol#100-111) contains a tautology or contradiction:
- require(bool,string)(_index >= 0,Index has to be higher than 0) (contracts/Dibs.sol#101)
Dibs.setTaxTiersRate(uint8,uint256) (contracts/Dibs.sol#113-118) contains a tautology or contradiction:
- require(bool,string)(_index >= 0,Index has to be higher than 0) (contracts/Dibs.sol#114)
Dibs._updateTaxRate(uint256) (contracts/Dibs.sol#132-142) contains a tautology or contradiction:
- tierId >= 0 (contracts/Dibs.sol#134)
Fix the incorrect comparison by changing the value type or the comparison.

Additional information: link

Dibs._getDibsPrice()._price (contracts/Dibs.sol#125) 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

Dibs.setBurnThreshold(uint256) (contracts/Dibs.sol#120-122) should emit an event for:
- burnThreshold = _burnThreshold (contracts/Dibs.sol#121)
Dibs.setTaxRate(uint256) (contracts/Dibs.sol#168-172) should emit an event for:
- taxRate = _taxRate (contracts/Dibs.sol#171)
Emit an event for critical parameter changes.

Additional information: link

Variable 'Dibs._getDibsPrice()._price (contracts/Dibs.sol#125)' in Dibs._getDibsPrice() (contracts/Dibs.sol#124-130) potentially used before declaration: uint256(_price) (contracts/Dibs.sol#126)
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

Different versions of Solidity is used:
- Version used: ['0.6.12', '>=0.6.0<0.8.0']
- >=0.6.0<0.8.0 (@openzeppelin/contracts/GSN/Context.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/access/Ownable.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/math/Math.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/math/SafeMath.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/token/ERC20/ERC20.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/utils/Context.sol#3)
- 0.6.12 (contracts/Dibs.sol#3)
- 0.6.12 (contracts/interfaces/IOracle.sol#3)
- 0.6.12 (contracts/lib/SafeMath8.sol#3)
- 0.6.12 (contracts/owner/Operator.sol#3)
Use one Solidity version.

Additional information: link

Context._msgData() (@openzeppelin/contracts/utils/Context.sol#20-23) is never used and should be removed
ERC20._setupDecimals(uint8) (@openzeppelin/contracts/token/ERC20/ERC20.sol#287-289) is never used and should be removed
Math.average(uint256,uint256) (@openzeppelin/contracts/math/Math.sol#27-30) is never used and should be removed
Math.max(uint256,uint256) (@openzeppelin/contracts/math/Math.sol#12-14) is never used and should be removed
Math.min(uint256,uint256) (@openzeppelin/contracts/math/Math.sol#19-21) is never used and should be removed
SafeMath.div(uint256,uint256,string) (@openzeppelin/contracts/math/SafeMath.sol#190-193) is never used and should be removed
SafeMath.mod(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#152-155) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (@openzeppelin/contracts/math/SafeMath.sol#210-213) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#24-28) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#60-63) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#70-73) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#45-53) is never used and should be removed
SafeMath.trySub(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#35-38) is never used and should be removed
SafeMath8.add(uint8,uint8) (contracts/lib/SafeMath8.sol#29-34) is never used and should be removed
SafeMath8.div(uint8,uint8) (contracts/lib/SafeMath8.sol#103-105) is never used and should be removed
SafeMath8.div(uint8,uint8,string) (contracts/lib/SafeMath8.sol#119-125) is never used and should be removed
SafeMath8.mod(uint8,uint8) (contracts/lib/SafeMath8.sol#139-141) is never used and should be removed
SafeMath8.mod(uint8,uint8,string) (contracts/lib/SafeMath8.sol#155-158) is never used and should be removed
SafeMath8.mul(uint8,uint8) (contracts/lib/SafeMath8.sol#77-89) is never used and should be removed
Remove unused functions.

Additional information: link

Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/GSN/Context.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/access/Ownable.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/math/Math.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/math/SafeMath.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/token/ERC20/ERC20.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/utils/Context.sol#3) is too complex
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

Parameter Dibs.isAddressExcluded(address)._address (contracts/Dibs.sol#96) is not in mixedCase
Parameter Dibs.setTaxTiersTwap(uint8,uint256)._index (contracts/Dibs.sol#100) is not in mixedCase
Parameter Dibs.setTaxTiersTwap(uint8,uint256)._value (contracts/Dibs.sol#100) is not in mixedCase
Parameter Dibs.setTaxTiersRate(uint8,uint256)._index (contracts/Dibs.sol#113) is not in mixedCase
Parameter Dibs.setTaxTiersRate(uint8,uint256)._value (contracts/Dibs.sol#113) is not in mixedCase
Parameter Dibs.setBurnThreshold(uint256)._burnThreshold (contracts/Dibs.sol#120) is not in mixedCase
Parameter Dibs.setDibsOracle(address)._dibsOracle (contracts/Dibs.sol#152) is not in mixedCase
Parameter Dibs.setTaxOffice(address)._taxOffice (contracts/Dibs.sol#157) is not in mixedCase
Parameter Dibs.setTaxCollectorAddress(address)._taxCollectorAddress (contracts/Dibs.sol#163) is not in mixedCase
Parameter Dibs.setTaxRate(uint256)._taxRate (contracts/Dibs.sol#168) is not in mixedCase
Parameter Dibs.excludeAddress(address)._address (contracts/Dibs.sol#174) is not in mixedCase
Parameter Dibs.includeAddress(address)._address (contracts/Dibs.sol#180) is not in mixedCase
Parameter Dibs.distributeReward(address[],address)._genesisPools (contracts/Dibs.sol#261) is not in mixedCase
Parameter Dibs.distributeReward(address[],address)._daoWallet (contracts/Dibs.sol#262) is not in mixedCase
Parameter Dibs.governanceRecoverUnsupported(IERC20,uint256,address)._token (contracts/Dibs.sol#279) is not in mixedCase
Parameter Dibs.governanceRecoverUnsupported(IERC20,uint256,address)._amount (contracts/Dibs.sol#280) is not in mixedCase
Parameter Dibs.governanceRecoverUnsupported(IERC20,uint256,address)._to (contracts/Dibs.sol#281) is not in mixedCase
Follow the Solidity naming convention.

Additional information: link

Redundant expression "this (@openzeppelin/contracts/utils/Context.sol#21)" inContext (@openzeppelin/contracts/utils/Context.sol#15-24)
Remove redundant statements if they congest code but offer no value.

Additional information: link

renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (@openzeppelin/contracts/access/Ownable.sol#54-57)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (@openzeppelin/contracts/access/Ownable.sol#63-67)
name() should be declared external:
- ERC20.name() (@openzeppelin/contracts/token/ERC20/ERC20.sol#64-66)
symbol() should be declared external:
- ERC20.symbol() (@openzeppelin/contracts/token/ERC20/ERC20.sol#72-74)
decimals() should be declared external:
- ERC20.decimals() (@openzeppelin/contracts/token/ERC20/ERC20.sol#89-91)
totalSupply() should be declared external:
- ERC20.totalSupply() (@openzeppelin/contracts/token/ERC20/ERC20.sol#96-98)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#115-118)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#134-137)
transferFrom(address,address,uint256) should be declared external:
- Dibs.transferFrom(address,address,uint256) (contracts/Dibs.sol#208-232)
- ERC20.transferFrom(address,address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#152-156)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#170-173)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#189-192)
isAddressExcluded(address) should be declared external:
- Dibs.isAddressExcluded(address) (contracts/Dibs.sol#96-98)
setTaxTiersTwap(uint8,uint256) should be declared external:
- Dibs.setTaxTiersTwap(uint8,uint256) (contracts/Dibs.sol#100-111)
setTaxTiersRate(uint8,uint256) should be declared external:
- Dibs.setTaxTiersRate(uint8,uint256) (contracts/Dibs.sol#113-118)
setBurnThreshold(uint256) should be declared external:
- Dibs.setBurnThreshold(uint256) (contracts/Dibs.sol#120-122)
enableAutoCalculateTax() should be declared external:
- Dibs.enableAutoCalculateTax() (contracts/Dibs.sol#144-146)
disableAutoCalculateTax() should be declared external:
- Dibs.disableAutoCalculateTax() (contracts/Dibs.sol#148-150)
setDibsOracle(address) should be declared external:
- Dibs.setDibsOracle(address) (contracts/Dibs.sol#152-155)
setTaxOffice(address) should be declared external:
- Dibs.setTaxOffice(address) (contracts/Dibs.sol#157-161)
setTaxCollectorAddress(address) should be declared external:
- Dibs.setTaxCollectorAddress(address) (contracts/Dibs.sol#163-166)
setTaxRate(uint256) should be declared external:
- Dibs.setTaxRate(uint256) (contracts/Dibs.sol#168-172)
includeAddress(address) should be declared external:
- Dibs.includeAddress(address) (contracts/Dibs.sol#180-184)
mint(address,uint256) should be declared external:
- Dibs.mint(address,uint256) (contracts/Dibs.sol#192-198)
operator() should be declared external:
- Operator.operator() (contracts/owner/Operator.sol#18-20)
transferOperator(address) should be declared external:
- Operator.transferOperator(address) (contracts/owner/Operator.sol#31-33)
Use the external attribute for functions never called from the contract.

Additional information: link

Dibs._getDibsPrice() (contracts/Dibs.sol#124-130) ignores return value by IOracle(dibsOracle).consult(address(this),1e18) (contracts/Dibs.sol#125-129)
Ensure that all the return values of the function calls are used.

Additional information: link

ERC20._mint(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#228-236) has costly operations inside a loop:
- _totalSupply = _totalSupply.add(amount) (@openzeppelin/contracts/token/ERC20/ERC20.sol#233)
Use a local variable to hold the loop computation result.

Additional information: link


Contract ownership is semi-renounced (passed to a contract)

Contract name (dibs.money) contains non-alphanumeric characters.
Not a direct threat, but may indicate unreliable intentions of developer. Non-alphanumeric chars (,.;!#*&") are extremely rare among low risk tokens.

Holders:


Token is deployed only at one blockchain


Unable to find Youtube account


BscScan page for the token does not contain additional info: website, socials, description, etc.

Additional information: link


Unable to find token on CoinHunt

Additional information: link


Token is not listed at Mobula.Finance

Additional information: link


Young tokens have high risks of price dump / death


Token has relatively low CoinMarketCap rank


Young tokens have high risks of price dump / death


Young tokens have high risks of price dump / death


Token has relatively low CoinGecko rank

Price for DIBS

News for DIBS