MoCBucketContainer
View Source: contracts/MoCBucketContainer.sol
↗ Extends: MoCBase, Governed ↘ Derived Contracts: MoCBProxManager
MoCBucketContainer - version: 0.1.12
Structs
BProxBalance
âš 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
}
MoCBucket
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
}
Contract Members
Constants & Variables
mapping(bytes32 => struct MoCBucketContainer.MoCBucket) internal mocBuckets;
uint256[50] private upgradeGap;
BucketMovement
Parameters
from
bytes32
to
bytes32
reserves
uint256
stableTokens
uint256
BucketCreation
Parameters
name
bytes32
cobj
uint256
BucketStateUpdate
Parameters
name
bytes32
nReserve
uint256
nStable
uint256
nRiskProx
uint256
inrateBag
uint256
Modifiers
onlyBaseBucket
modifier onlyBaseBucket(bytes32 bucket) internal
Arguments
bucket
bytes32
bucketStateUpdate
modifier bucketStateUpdate(bytes32 bucket) internal
Arguments
bucket
bytes32
Functions
getBucketNBTC
function getBucketNBTC(bytes32 bucket) public view
returns(uint256)
Arguments
bucket
bytes32
getBucketNBPro
function getBucketNBPro(bytes32 bucket) public view
returns(uint256)
Arguments
bucket
bytes32
getBucketNDoc
function getBucketNDoc(bytes32 bucket) public view
returns(uint256)
Arguments
bucket
bytes32
getBucketCobj
function getBucketCobj(bytes32 bucket) public view
returns(uint256)
Arguments
bucket
bytes32
getInrateBag
function getInrateBag(bytes32 bucket) public view
returns(uint256)
Arguments
bucket
bytes32
setBucketCobj
Sets the objective coverage (cobj) on an specficied bucket.
function setBucketCobj(bytes32 _bucket, uint256 _cobj) public nonpayable onlyAuthorizedChanger
Arguments
_bucket
bytes32
_cobj
uint256
isBucketBase
returns true if the bucket is a base bucket
function isBucketBase(bytes32 bucket) public view
returns(bool)
Arguments
bucket
bytes32
Name of the bucket
isBucketEmpty
returns true if the bucket have docs in it
function isBucketEmpty(bytes32 bucket) public view
returns(bool)
Arguments
bucket
bytes32
Name of the bucket
getActiveAddresses
Returns all the address that currently have bprox position for this bucket
function getActiveAddresses(bytes32 bucket) public view
returns(address payable[])
Arguments
bucket
bytes32
bucket of the active address
getActiveAddressesCount
Returns all the address that currently have bprox position for this bucket
function getActiveAddressesCount(bytes32 bucket) public view
returns(count uint256)
Arguments
bucket
bytes32
bucket of the active address
addValuesToBucket
Add values to all variables of the bucket
function addValuesToBucket(bytes32 bucketName, uint256 btc, uint256 doc, uint256 bprox) public nonpayable onlyWhitelisted
Arguments
bucketName
bytes32
Name of the bucket
btc
uint256
BTC amount [using reservePrecision]
doc
uint256
Doc amount [using mocPrecision]
bprox
uint256
BPro amount [using mocPrecision]
substractValuesFromBucket
Substract values to all variables of the bucket
function substractValuesFromBucket(bytes32 bucketName, uint256 btc, uint256 doc, uint256 bprox) public nonpayable onlyWhitelisted
Arguments
bucketName
bytes32
Name of the bucket
btc
uint256
BTC amount [using reservePrecision]
doc
uint256
Doc amount [using mocPrecision]
bprox
uint256
BPro amount [using mocPrecision]
deliverInrate
Moves BTC from inrateBag to main BTC bucket bag
function deliverInrate(bytes32 bucketName, uint256 amount) public nonpayable onlyWhitelisted onlyBaseBucket bucketStateUpdate
Arguments
bucketName
bytes32
Name of the bucket to operate
amount
uint256
value to move from inrateBag to main bag [using reservePrecision]
recoverInrate
Removes Interests rate from Inrate bag
function recoverInrate(bytes32 bucketName, uint256 amount) public nonpayable onlyWhitelisted onlyBaseBucket bucketStateUpdate
returns(uint256)
Returns
Retrieved value
Arguments
bucketName
bytes32
Name of the bucket to operate
amount
uint256
value to move from inrateBag to main bag [using reservePrecision]
payInrate
Moves BTC from origin bucket to destination bucket inrateBag
function payInrate(bytes32 bucketName, uint256 btcAmount) public nonpayable onlyWhitelisted onlyBaseBucket
Arguments
bucketName
bytes32
name of the bucket to from which takes
btcAmount
uint256
value to add to main bag [using reservePrecision]
moveBtcAndDocs
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
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]
liquidateBucket
Clears completely the origin bucket, removing all Docs, RBTCs and bproxs
function liquidateBucket(bytes32 toLiquidate, bytes32 destination) public nonpayable onlyWhitelisted
Arguments
toLiquidate
bytes32
Bucket to be cleared out
destination
bytes32
Bucket that will receive the Docs and RBTCs
emptyBucket
Clears Docs and BTC from bucket origin and sends them to destination bucket
function emptyBucket(bytes32 origin, bytes32 destination) public nonpayable onlyWhitelisted
Arguments
origin
bytes32
Bucket to clear out
destination
bytes32
Destination bucket
isAvailableBucket
checks if a bucket exists
function isAvailableBucket(bytes32 bucket) public view
returns(bool)
Arguments
bucket
bytes32
name of the bucket
clearBucketBalances
Put all bucket BProx balances in zero
function clearBucketBalances(bytes32 bucketName) public nonpayable onlyWhitelisted
Arguments
bucketName
bytes32
Bucket to clear out
createBucket
Creates bucket
function createBucket(bytes32 name, uint256 cobj, bool isBase) internal nonpayable
Arguments
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 updated