MoCState
View Source: contracts/MoCState.sol
↗ Extends: MoCLibConnection, MoCBase, MoCEMACalculator, IMoCState ↘ Derived Contracts: MoCStateMock
MoCState - version: 0.1.12
Structs
InitializeParams
Contract Members
Constants & Variables
StateTransition
Parameters
Name | Type | Description |
---|---|---|
newState | enum IMoCState.States |
BtcPriceProviderUpdated
Parameters
Name | Type | Description |
---|---|---|
oldAddress | address | |
newAddress | address |
MoCPriceProviderUpdated
Parameters
Name | Type | Description |
---|---|---|
oldAddress | address | |
newAddress | address |
MoCTokenChanged
Parameters
Name | Type | Description |
---|---|---|
mocTokenAddress | address |
MoCVendorsChanged
Parameters
Name | Type | Description |
---|---|---|
mocVendorsAddress | address |
Functions
initialize
⤿ Overridden Implementation(s): MoCStateMock.initialize
Initializes the contract
Arguments
Name | Type | Description |
---|---|---|
params | struct MoCState.InitializeParams | Params defined in InitializeParams struct |
setMaxDiscountRate
Sets the max discount rate.
Arguments
Name | Type | Description |
---|---|---|
rate | uint256 | Discount rate at liquidation level [using mocPrecision] |
getMaxDiscountRate
Returns the value of the BPro max discount rate configuration param
Returns
bproMaxDiscountRate BPro max discount rate
Arguments
setDayBlockSpan
Defines how many blocks there are in a day
Arguments
Name | Type | Description |
---|---|---|
blockSpan | uint256 | blocks there are in a day |
setBtcPriceProvider
Sets a new BTCProvider contract
Arguments
Name | Type | Description |
---|---|---|
btcProviderAddress | address | address of the BTC price provider contract |
getBtcPriceProvider
Gets the BTCPriceProviderAddress
Returns
address of the BTC price provider contract
Arguments
getDayBlockSpan
Gets how many blocks there are in a day
Returns
blocks there are in a day
Arguments
subtractRbtcFromSystem
⤾ overrides IMoCState.subtractRbtcFromSystem
Subtract the btc amount passed by parameter to the total Bitcoin Amount
Arguments
Name | Type | Description |
---|---|---|
btcAmount | uint256 | Amount that will be subtract to rbtcInSystem |
addToRbtcInSystem
⤾ overrides IMoCState.addToRbtcInSystem
btcAmount Add the btc amount passed by parameter to the total Bitcoin Amount
Arguments
Name | Type | Description |
---|---|---|
btcAmount | uint256 | Amount that will be added to rbtcInSystem |
bproTotalSupply
All BPros in circulation
Arguments
docTotalSupply
All docs in circulation
Arguments
cobj
Target coverage for complete system
Arguments
collateralRbtcInSystem
Amount of Bitcoins in the system excluding BTCx values and interests holdings
Arguments
globalCoverage
⤾ overrides IMoCState.globalCoverage
GLOBAL Coverage
Returns
coverage [using mocPrecision]
Arguments
lockedBitcoin
BUCKET lockedBitcoin
Returns
lockedBitcoin amount [using reservePrecision]
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | Name of the bucket used |
getRbtcInBitPro
Gets RBTC in BitPro within specified bucket
Returns
Bitcoin amount of BitPro in Bucket [using reservePrecision]
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | Name of the bucket used |
getRbtcRemainder
⤾ overrides IMoCState.getRbtcRemainder
Gets the RBTC in the contract that not corresponds to Doc collateral
Returns
RBTC remainder [using reservePrecision]
Arguments
coverage
⤾ overrides IMoCState.coverage
BUCKET Coverage
Returns
coverage [using coveragePrecision]
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | Name of the bucket used |
abundanceRatio
⤾ overrides IMoCState.abundanceRatio
Abundance ratio, receives tha amount of doc to use the value of doc0 and Doc total supply
Returns
abundance ratio [using mocPrecision]
Arguments
Name | Type | Description |
---|---|---|
doc0 | uint256 |
currentAbundanceRatio
⤾ overrides IMoCState.currentAbundanceRatio
Relation between docs in bucket 0 and Doc total supply
Returns
abundance ratio [using mocPrecision]
Arguments
leverage
⤾ overrides IMoCState.leverage
BUCKET Leverage
Returns
coverage [using mocPrecision]
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | Name of the bucket used |
globalMaxDoc
GLOBAL maxDoc
Returns
abundance ratio [using mocPrecision]
Arguments
freeDoc
⤾ overrides IMoCState.freeDoc
Returns the amount of DoCs in bucket 0, that can be redeemed outside of settlement
Returns
amount of docs in bucket 0, that can be redeemed outside of settlement [using mocPrecision]
Arguments
maxDoc
BUCKET maxDoc
Returns
abundance ratio [using mocPrecision]
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 |
globalMaxBPro
GLOBAL maxBPro
Returns
maxBPro for redeem [using reservePrecision]
Arguments
absoluteMaxDoc
⤾ overrides IMoCState.absoluteMaxDoc
ABSOLUTE maxDoc
Returns
maxDoc to issue [using mocPrecision]
Arguments
maxBPro
BUCKET maxBPro to redeem / mint
Returns
maxBPro for redeem [using mocPrecision]
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | Name of the bucket used |
maxBProx
⚠ This has been deprecated since the Proposal to remove leveraged positions from the protocol was approved, however it is necessary to maintain the contracts and their documentation for legacy support.
GLOBAL max bprox to mint
Returns
maxBProx [using reservePrecision]
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | Name of the bucket used |
maxBProxBtcValue
⚠ This has been deprecated since the Proposal to remove leveraged positions from the protocol was approved, however it is necessary to maintain the contracts and their documentation for legacy support.
⤾ overrides IMoCState.maxBProxBtcValue
GLOBAL max bprox to mint
Returns
maxBProx BTC value to mint [using reservePrecision]
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | Name of the bucket used |
absoluteMaxBPro
⤾ overrides IMoCState.absoluteMaxBPro
ABSOLUTE maxBPro
Returns
maxDoc to issue [using mocPrecision]
Arguments
maxBProWithDiscount
⤾ overrides IMoCState.maxBProWithDiscount
DISCOUNT maxBPro
Returns
maxBPro for mint with discount [using mocPrecision]
Arguments
globalLockedBitcoin
GLOBAL lockedBitcoin
Returns
lockedBitcoin amount [using reservePrecision]
Arguments
bproTecPrice
⤾ overrides IMoCState.bproTecPrice
BTC price of BPro
Returns
the BPro Tec Price [using reservePrecision]
Arguments
bucketBProTecPrice
⤾ overrides IMoCState.bucketBProTecPrice
BUCKET BTC price of BPro
Returns
the BPro Tec Price [using reservePrecision]
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | Name of the bucket used |
bucketBProTecPriceHelper
⤾ overrides IMoCState.bucketBProTecPriceHelper
BUCKET BTC price of BPro (helper)
Returns
the BPro Tec Price [using reservePrecision]
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | Name of the bucket used |
bproDiscountPrice
⤾ overrides IMoCState.bproDiscountPrice
BTC price of BPro with spot discount applied
Returns
the BPro Tec Price [using reservePrecision]
Arguments
bproUsdPrice
BPro USD PRICE
Returns
the BPro USD Price [using mocPrecision]
Arguments
maxBProxBProValue
⚠ This has been deprecated since the Proposal to remove leveraged positions from the protocol was approved, however it is necessary to maintain the contracts and their documentation for legacy support.
GLOBAL max bprox to mint
Returns
max BPro allowed to be spent to mint BProx [using reservePrecision]
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | Name of the bucket used |
bproxBProPrice
⚠ This has been deprecated since the Proposal to remove leveraged positions from the protocol was approved, however it is necessary to maintain the contracts and their documentation for legacy support.
BUCKET BProx price in BPro
Returns
BProx BPro Price [using mocPrecision]
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | Name of the bucket used |
bproSpotDiscountRate
⤾ overrides IMoCState.bproSpotDiscountRate
GLOBAL BTC Discount rate to apply to BProPrice.
Returns
BPro discount rate [using DISCOUNT_PRECISION].
Arguments
daysToSettlement
⤾ overrides IMoCState.daysToSettlement
⤿ Overridden Implementation(s): MoCStateMock.daysToSettlement
Calculates the number of days to next settlement based dayBlockSpan
Returns
days to next settlement
Arguments
blocksToSettlement
Calculates the number of blocks to settlement
Returns
Number of blocks to settlement
Arguments
isLiquidationReached
Verifies if forced liquidation is reached checking if globalCoverage <= liquidation (currently 1.04) and if liquidation is enabled
Returns
true if liquidation state is reached, false otherwise
Arguments
getLiquidationPrice
⤾ overrides IMoCState.getLiquidationPrice
Gets the price to use for doc redeem in a liquidation event
Returns
price to use for doc redeem in a liquidation event
Arguments
getBucketNBTC
⤾ overrides IMoCState.getBucketNBTC
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 |
getBucketNBPro
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 |
getBucketNDoc
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 |
getBucketCobj
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 |
getInrateBag
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 |
getBcons
Arguments
getBitcoinPrice
⤾ overrides IMoCState.getBitcoinPrice
Arguments
calculateBitcoinMovingAverage
Arguments
getLiq
return the value of the liq threshold configuration param
Returns
liq threshold, currently 1.04
Arguments
setLiq
sets the value of the liq threshold configuration param
Arguments
Name | Type | Description |
---|---|---|
_liq | uint256 | liquidation threshold |
getUtpdu
return the value of the utpdu threshold configuration param
Returns
utpdu Universal TPro discount sales coverage threshold
Arguments
setUtpdu
sets the value of the utpdu threshold configuration param
Arguments
Name | Type | Description |
---|---|---|
_utpdu | uint256 | Universal TPro discount sales coverage threshold |
getPeg
returns the relation between DOC and dollar. By default it is 1.
Returns
peg relation between DOC and dollar
Arguments
setPeg
sets the relation between DOC and dollar. By default it is 1.
Arguments
Name | Type | Description |
---|---|---|
_peg | uint256 | relation between DOC and dollar |
getProtected
⤾ overrides IMoCState.getProtected
return the value of the protected threshold configuration param
Returns
protected threshold, currently 1.5
Arguments
setProtected
sets the value of the protected threshold configuration param
Arguments
Name | Type | Description |
---|---|---|
_protected | uint256 | protected threshold |
getLiquidationEnabled
returns if is liquidation enabled.
Returns
liquidationEnabled is liquidation enabled
Arguments
setLiquidationEnabled
returns if is liquidation enabled.
Arguments
Name | Type | Description |
---|---|---|
_liquidationEnabled | bool | is liquidation enabled |
nextState
⤾ overrides IMoCState.nextState
Transitions to next state.
Arguments
setMaxMintBPro
Sets max mint BPro value
Arguments
Name | Type | Description |
---|---|---|
_maxMintBPro | uint256 | [using mocPrecision] |
getMaxMintBPro
return Max value posible to mint of BPro
Returns
maxMintBPro
Arguments
setMoCPriceProvider
Sets a new MoCProvider contract
Arguments
Name | Type | Description |
---|---|---|
mocProviderAddress | address | MoC price provider address |
getMoCPriceProvider
Gets the MoCPriceProviderAddress
Returns
MoC price provider address
Arguments
getMoCPrice
⤾ overrides IMoCState.getMoCPrice
Gets the MoCPrice
Returns
MoC price
Arguments
bproToBtc
BTC equivalent for the amount of bpros given
Returns
total BTC Price of the amount BPros [using reservePrecision]
Arguments
Name | Type | Description |
---|---|---|
amount | uint256 | Amount of BPro to calculate the total price |
docsToBtc
⤾ overrides IMoCState.docsToBtc
Arguments
Name | Type | Description |
---|---|---|
docAmount | uint256 |
btcToDoc
⤾ overrides IMoCState.btcToDoc
Arguments
Name | Type | Description |
---|---|---|
btcAmount | uint256 |
bproxToBtc
⚠ This has been deprecated since the Proposal to remove leveraged positions from the protocol was approved, however it is necessary to maintain the contracts and their documentation for legacy support.
⤾ overrides IMoCState.bproxToBtc
Arguments
Name | Type | Description |
---|---|---|
bproxAmount | uint256 | |
bucket | bytes32 |
bproxToBtcHelper
⚠ This has been deprecated since the Proposal to remove leveraged positions from the protocol was approved, however it is necessary to maintain the contracts and their documentation for legacy support.
Arguments
Name | Type | Description |
---|---|---|
bproxAmount | uint256 | |
bucket | bytes32 |
btcToBProx
⚠ This has been deprecated since the Proposal to remove leveraged positions from the protocol was approved, however it is necessary to maintain the contracts and their documentation for legacy support.
⤾ overrides IMoCState.btcToBProx
Arguments
Name | Type | Description |
---|---|---|
btcAmount | uint256 | |
bucket | bytes32 |
setMoCToken
Sets the MoC token contract address
Arguments
Name | Type | Description |
---|---|---|
mocTokenAddress | address | MoC token contract address |
getMoCToken
⤾ overrides IMoCState.getMoCToken
Gets the MoC token contract address
Returns
MoC token contract address
Arguments
setMoCVendors
Sets the MoCVendors contract address
Arguments
Name | Type | Description |
---|---|---|
mocVendorsAddress | address | MoCVendors contract address |
getMoCVendors
⤾ overrides IMoCState.getMoCVendors
Gets the MoCVendors contract addfress
Returns
MoCVendors contract address
Arguments
setMoCTokenInternal
Sets the MoC token contract address (internal function)
Arguments
Name | Type | Description |
---|---|---|
mocTokenAddress | address | MoC token contract address |
setMoCVendorsInternal
Sets the MoCVendors contract address (internal function)
Arguments
Name | Type | Description |
---|---|---|
mocVendorsAddress | address | MoCVendors contract address |
setLiquidationPrice
Calculates price at liquidation event as the relation between the doc total supply and the amount of RBTC available to distribute
Arguments
initializeValues
Arguments
Name | Type | Description |
---|---|---|
_governor | address | |
_btcPriceProvider | address | |
_liq | uint256 | |
_utpdu | uint256 | |
_maxDiscRate | uint256 | |
_dayBlockSpan | uint256 | |
_maxMintBPro | uint256 | |
_mocPriceProvider | address | |
_liquidationEnabled | bool | |
_protected | uint256 |
initializeContracts
Arguments
Name | Type | Description |
---|---|---|
_mocTokenAddress | address | |
_mocVendorsAddress | address |
Last updated