Community VCS
Last updated
Last updated
CommunityVCS
is a staking strategy that manages many CommunityVault
contracts by tracking the balance of each and moving tokens in and out of them.
Returns the token this strategy supports
Name | Type | Description |
---|---|---|
Returns the available deposit room for this strategy
Name | Type | Description |
---|---|---|
Returns the available withdrawal room for this strategy
Returns the total amount of fees that will be paid on the next call to updateDeposits
Returns the total amount of deposits in this strategy
Returns the maximum amount of tokens this strategy can hold
Accounts for total current deposits + current additional vault space + current space in the Chainlink
Returns the minimum amount of tokens that must remain in this strategy
Returns whether a new batch of vaults should be deployed
Returns the deposit change since the last call to updateDeposits
(ignores stakes/withdraws)
Returns a list of all vaults
Returns the vault deposit limits
Returns the address of the vault implementation contract this strategy will use for new vaults
Returns the minimum number of non-full vaults before a new batch is deployed
Returns the amount of vaults to deploy when threshold is met
Returns a list of all fees
Deposits tokens from the staking pool into vaults
Withdraws tokens from vaults and sends them to the staking pool
Deploys a new batch of vaults
Deploys a new batch of vaults
Updates the total deposit amount for reward distribution and calculates applicable fees
Executes a vault group update
Re-unbonds all vaults in the current vault group and increments the current vault group
Upgrades vaults to a new implementation contract
Manually sets the withdrawal index for each vault group
Adds a new fee
Updates an existing fee
Sets the vault deployment parameters
Sets a new vault implementation contract to be used when deploying/upgrading vaults
Sets the basis point amount of the remaing deposit room in the Chainlink staking contract that can be deposited at once
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
token
address
Address of token
depositRoom
uint256
Amount that can be deposited
withdrawalRoom
uint256
Amount that can be withdrawn
totalFees
uint256
Amount of tokens to be paid as fees
totalDeposits
uint256
Total amount of tokens deposited
maxDeposits
uint256
Maximum token deposits
minDeposits
uint256
Minimum token deposits
upkeepNeeded
bool
Whether a new batch of vaults should be deployed
depositChange
int256
Change in total token deposits
vaults
address[]
List of vault addresses
minDeposits
uint256
minimum amount of deposits that a vault can hold
maxDeposits
uint256
maximum amount of deposits that a vault can hold
vaultImplementation
address
Address of vault implementation contract
vaultDeploymentThreshold
uint256
Vault deployment threshold
vaultDeploymentAmount
uint256
number of vaults
fees
struct VaultControllerStrategy.Fee[]
List of fees
_amount
uint256
Amount to deposit
_data
bytes
Encoded vault deposit order
_amount
uint256
Amount to withdraw
_data
bytes
Encoded vault withdrawal order
_numVaults
uint256
Number of vaults to deploy
receivers
address[]
List of fee receivers
amounts
uint256[]
List of fee amounts
_curGroupVaultsToUnbond
uint256[]
list of vaults to unbond in current vault group
_curGroupTotalDepositRoom
uint256[]
total deposit room across all vaults in current vault group
_nextGroup
uint256[]
index of next vault group
_nextGroupTotalUnbonded
uint256[]
total unbonded across all vaults in next vault group
_startIndex
uint256
Index of first vault to upgrade
_numVaults
uint256
Number of vaults to upgrade starting at _startIndex
_data
bytes
Optional encoded function call to be executed after upgrade
_withdrawalIndexes
uint64[]
list of withdrawal indexes for each vault group
_receiver
address
Address of fee receiver
_feeBasisPoints
uint256
Fee in basis points
_index
uint256
Index of fee
_receiver
address
Address of fee receiver
_feeBasisPoints
uint256
Fee in basis points
_vaultDeploymentThreshold
uint256
Minimum number of non-full vaults before a new batch is deployed
_vaultDeploymentAmount_
uint256
Amount of vaults to deploy when threshold is met
_vaultImplementation
address
Address of implementation contract
_maxDepositSizeBP
uint256
Maximum basis point deposit size