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

NameTypeDescription

from

bytes32

to

bytes32

reserves

uint256

stableTokens

uint256

BucketCreation

Parameters

NameTypeDescription

name

bytes32

cobj

uint256

BucketStateUpdate

Parameters

NameTypeDescription

name

bytes32

nReserve

uint256

nStable

uint256

nRiskProx

uint256

inrateBag

uint256

Modifiers

onlyBaseBucket

modifier onlyBaseBucket(bytes32 bucket) internal

Arguments

NameTypeDescription

bucket

bytes32

bucketStateUpdate

modifier bucketStateUpdate(bytes32 bucket) internal

Arguments

NameTypeDescription

bucket

bytes32

Functions

getBucketNBTC

function getBucketNBTC(bytes32 bucket) public view
returns(uint256)

Arguments

NameTypeDescription

bucket

bytes32

getBucketNBPro

function getBucketNBPro(bytes32 bucket) public view
returns(uint256)

Arguments

NameTypeDescription

bucket

bytes32

getBucketNDoc

function getBucketNDoc(bytes32 bucket) public view
returns(uint256)

Arguments

NameTypeDescription

bucket

bytes32

getBucketCobj

function getBucketCobj(bytes32 bucket) public view
returns(uint256)

Arguments

NameTypeDescription

bucket

bytes32

getInrateBag

function getInrateBag(bytes32 bucket) public view
returns(uint256)

Arguments

NameTypeDescription

bucket

bytes32

setBucketCobj

Sets the objective coverage (cobj) on an specficied bucket.

function setBucketCobj(bytes32 _bucket, uint256 _cobj) public nonpayable onlyAuthorizedChanger 

Arguments

NameTypeDescription

_bucket

bytes32

_cobj

uint256

isBucketBase

returns true if the bucket is a base bucket

function isBucketBase(bytes32 bucket) public view
returns(bool)

Arguments

NameTypeDescription

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

NameTypeDescription

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

NameTypeDescription

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

NameTypeDescription

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

NameTypeDescription

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

NameTypeDescription

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

NameTypeDescription

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

NameTypeDescription

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

NameTypeDescription

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

NameTypeDescription

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

NameTypeDescription

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

NameTypeDescription

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

NameTypeDescription

bucket

bytes32

name of the bucket

clearBucketBalances

Put all bucket BProx balances in zero

function clearBucketBalances(bytes32 bucketName) public nonpayable onlyWhitelisted 

Arguments

NameTypeDescription

bucketName

bytes32

Bucket to clear out

createBucket

Creates bucket

function createBucket(bytes32 name, uint256 cobj, bool isBase) internal nonpayable

Arguments

NameTypeDescription

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