MoCBucketContainer
MoCBucketContainer - version: 0.1.12
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 1yr ago