MoCBucketContainer
View Source: contracts/MoCBucketContainer.sol
↗ Extends: MoCBase, Governed ↘ Derived Contracts: MoCRiskProxManager
MoCBucketContainer - version: 0.1.10
Structs
RiskProxBalance
âš 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 RiskProxBalance {
uint256 value,
uint256 index
}
MoCBucket
struct MoCBucket {
bytes32 name,
bool isBase,
uint256 nStable,
uint256 nRiskPro,
uint256 nReserve,
uint256 cobj,
mapping(address => struct MoCBucketContainer.RiskProxBalance) riskProxBalances,
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
getBucketNReserve
function getBucketNReserve(bytes32 bucket) public view
returns(uint256)
Arguments
bucket
bytes32
getBucketNRiskPro
function getBucketNRiskPro(bytes32 bucket) public view
returns(uint256)
Arguments
bucket
bytes32
getBucketNStableToken
function getBucketNStableToken(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 stableTokens 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 riskProx position for this bucket
function getActiveAddresses(bytes32 bucket) public view
returns(address payable[])
Arguments
bucket
bytes32
bucket of the active address
getActiveAddressesCount
Returns the number of addresses that currently have riskProx 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 reserveTokens, uint256 stableToken, uint256 riskProx) public nonpayable onlyWhitelisted
Arguments
bucketName
bytes32
Name of the bucket
reserveTokens
uint256
ReserveToken amount [using reservePrecision]
stableToken
uint256
StableToken amount [using mocPrecision]
riskProx
uint256
RiskProx amount [using mocPrecision]
substractValuesFromBucket
Substract values to all variables of the bucket
function substractValuesFromBucket(bytes32 bucketName, uint256 reserve, uint256 stableToken, uint256 riskProx) public nonpayable onlyWhitelisted
Arguments
bucketName
bytes32
Name of the bucket
reserve
uint256
ReserveToken amount [using reservePrecision]
stableToken
uint256
StableToken amount [using mocPrecision]
riskProx
uint256
RiskProx amount [using mocPrecision]
deliverInrate
Moves ReserveTokens from inrateBag to main ReserveTokens 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 ReserveTokens from origin bucket to destination bucket inrateBag
function payInrate(bytes32 bucketName, uint256 reserveAmount) public nonpayable onlyWhitelisted onlyBaseBucket
Arguments
bucketName
bytes32
name of the bucket to from which takes
reserveAmount
uint256
value to add to main bag [using reservePrecision]
moveResTokensAndStableTokens
Move ReserveTokens and StableTokens from one bucket to another
function moveResTokensAndStableTokens(bytes32 from, bytes32 to, uint256 reserve, uint256 stableTokens) public nonpayable onlyWhitelisted bucketStateUpdate bucketStateUpdate
Arguments
from
bytes32
Name of bucket from where the ReserveTokens will be removed
to
bytes32
Name of bucket from where the ReserveTokens will be added
reserve
uint256
ReserveTokens amount [using reservePrecision]
stableTokens
uint256
StableTokens amount [using mocPrecision]*
liquidateBucket
Clears completely the origin bucket, removing all StableTokens, ReserveTokens and riskProxs
function liquidateBucket(bytes32 toLiquidate, bytes32 destination) public nonpayable onlyWhitelisted
Arguments
toLiquidate
bytes32
Bucket to be cleared out
destination
bytes32
Bucket that will receive the StableTokens and ReserveTokens
emptyBucket
Clears StableTokens and ReserveTokens 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 RiskProx 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