Comment on page
MoCBucketContainer
MoCBucketContainer - version: 0.1.12
⚠ 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.
struct BProxBalance {
uint256 value,
uint256 index
}
struct MoCBucket {
bytes32 name,
bool isBase,
uint256 nDoc,
uint256 nBPro,
uint256 nBTC,
uint256 cobj,
mapping(address => struct MoCBucketContainer.BProxBalance) bproxBalances,
address payable[] activeBalances,
uint256 activeBalancesLength,
uint256 inrateBag,
bool available
}
Constants & Variables
mapping(bytes32 => struct MoCBucketContainer.MoCBucket) internal mocBuckets;
uint256[50] private upgradeGap;
Parameters
Name | Type | Description |
---|---|---|
from | bytes32 | |
to | bytes32 | |
reserves | uint256 | |
stableTokens | uint256 | |
Parameters
Name | Type | Description |
---|---|---|
name | bytes32 | |
cobj | uint256 | |
Parameters
Name | Type | Description |
---|---|---|
name | bytes32 | |
nReserve | uint256 | |
nStable | uint256 | |
nRiskProx | uint256 | |
inrateBag | uint256 | |
modifier onlyBaseBucket(bytes32 bucket) internal
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | |
modifier bucketStateUpdate(bytes32 bucket) internal
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | |
function getBucketNBTC(bytes32 bucket) public view
returns(uint256)
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | |
function getBucketNBPro(bytes32 bucket) public view
returns(uint256)
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | |
function getBucketNDoc(bytes32 bucket) public view
returns(uint256)
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | |
function getBucketCobj(bytes32 bucket) public view
returns(uint256)
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | |
function getInrateBag(bytes32 bucket) public view
returns(uint256)
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | |
Sets the objective coverage (cobj) on an specficied bucket.
function setBucketCobj(bytes32 _bucket, uint256 _cobj) public nonpayable onlyAuthorizedChanger
Arguments
Name | Type | Description |
---|---|---|
_bucket | bytes32 | |
_cobj | uint256 | |
returns true if the bucket is a base bucket
function isBucketBase(bytes32 bucket) public view
returns(bool)
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | Name of the bucket |
returns true if the bucket have docs in it
function isBucketEmpty(bytes32 bucket) public view
returns(bool)
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | Name of the bucket |
Returns all the address that currently have bprox position for this bucket
function getActiveAddresses(bytes32 bucket) public view
returns(address payable[])
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | bucket of the active address |
Returns all the address that currently have bprox position for this bucket
function getActiveAddressesCount(bytes32 bucket) public view
returns(count uint256)
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | bucket of the active address |
Add values to all variables of the bucket
function addValuesToBucket(bytes32 bucketName, uint256 btc, uint256 doc, uint256 bprox) public nonpayable onlyWhitelisted
Arguments
Name | Type | Description |
---|---|---|
bucketName | bytes32 | Name of the bucket |
btc | uint256 | BTC amount [using reservePrecision] |
doc | uint256 | Doc amount [using mocPrecision] |
bprox | uint256 | BPro amount [using mocPrecision] |
Substract values to all variables of the bucket
function substractValuesFromBucket(bytes32 bucketName, uint256 btc, uint256 doc, uint256 bprox) public nonpayable onlyWhitelisted
Arguments
Name | Type | Description |
---|---|---|
bucketName | bytes32 | Name of the bucket |
btc | uint256 | BTC amount [using reservePrecision] |
doc | uint256 | Doc amount [using mocPrecision] |
bprox | uint256 | BPro amount [using mocPrecision] |
Moves BTC from inrateBag to main BTC bucket bag
function deliverInrate(bytes32 bucketName, uint256 amount) public nonpayable onlyWhitelisted onlyBaseBucket bucketStateUpdate
Arguments
Name | Type | Description |
---|---|---|
bucketName | bytes32 | Name of the bucket to operate |
amount | uint256 | value to move from inrateBag to main bag [using reservePrecision] |
Removes Interests rate from Inrate bag
function recoverInrate(bytes32 bucketName, uint256 amount) public nonpayable onlyWhitelisted onlyBaseBucket bucketStateUpdate
returns(uint256)
Returns
Retrieved value
Arguments
Name | Type | Description |
---|---|---|
bucketName | bytes32 | Name of the bucket to operate |
amount | uint256 | value to move from inrateBag to main bag [using reservePrecision] |
Moves BTC from origin bucket to destination bucket inrateBag
function payInrate(bytes32 bucketName, uint256 btcAmount) public nonpayable onlyWhitelisted onlyBaseBucket
Arguments
Name | Type | Description |
---|---|---|
bucketName | bytes32 | name of the bucket to from which takes |
btcAmount | uint256 | value to add to main bag [using reservePrecision] |
Move Btcs and Docs from one bucket to another
function moveBtcAndDocs(bytes32 from, bytes32 to, uint256 btc, uint256 docs) public nonpayable onlyWhitelisted bucketStateUpdate bucketStateUpdate
Arguments
Name | Type | Description |
---|---|---|
from | bytes32 | Name of bucket from where the BTCs will be removed |
to | bytes32 | Name of bucket from where the BTCs will be added |
btc | uint256 | BTCs amount [using reservePrecision] |
docs | uint256 | Docs amount [using mocPrecision] |
Clears completely the origin bucket, removing all Docs, RBTCs and bproxs
function liquidateBucket(bytes32 toLiquidate, bytes32 destination) public nonpayable onlyWhitelisted
Arguments
Name | Type | Description |
---|---|---|
toLiquidate | bytes32 | Bucket to be cleared out |
destination | bytes32 | Bucket that will receive the Docs and RBTCs |
Clears Docs and BTC from bucket origin and sends them to destination bucket
function emptyBucket(bytes32 origin, bytes32 destination) public nonpayable onlyWhitelisted
Arguments
Name | Type | Description |
---|---|---|
origin | bytes32 | Bucket to clear out |
destination | bytes32 | Destination bucket |
checks if a bucket exists
function isAvailableBucket(bytes32 bucket) public view
returns(bool)
Arguments
Name | Type | Description |
---|---|---|
bucket | bytes32 | name of the bucket |
Put all bucket BProx balances in zero
function clearBucketBalances(bytes32 bucketName) public nonpayable onlyWhitelisted
Arguments
Name | Type | Description |
---|---|---|
bucketName | bytes32 | Bucket to clear out |
Creates bucket
function createBucket(bytes32 name, uint256 cobj, bool isBase) internal nonpayable
Arguments
Name | Type | Description |
---|---|---|
name | bytes32 | Name of the bucket |
cobj | uint256 | Target Coverage of the bucket |
isBase | bool | Indicates if it is a base bucket (true) or not (false) |
Last modified 7mo ago