core staking contracts
RebaseController Contract: Reward Rebases and Pausing
RebaseController is responsible for initiating rebases to distribute rewards in the StakingPool and handling emergency pausing and reopening of the pool. It acts as a security and automation layer, ensuring that rewards are updated regularly and that the pool can be paused or reopened in response to detected losses or emergencies.
View Functions
Section titled “View Functions”stakingPool
Section titled “stakingPool”Returns the address of the staking pool.
function stakingPool() external view returns (address)Return Values
Section titled “Return Values”| Name | Type | Description |
|---|---|---|
| stakingPool | address | Address of staking pool |
priorityPool
Section titled “priorityPool”Returns the address of the priority pool.
function priorityPool() external view returns (address)Return Values
Section titled “Return Values”| Name | Type | Description |
|---|---|---|
| priorityPool | address | Address of priority pool |
securityPool
Section titled “securityPool”Returns the address of the security pool.
function securityPool() external view returns (address)Return Values
Section titled “Return Values”| Name | Type | Description |
|---|---|---|
| securityPool | address | Address of security pool |
emergencyPauser
Section titled “emergencyPauser”Returns the address authorized to pause the pool in case of emergency.
function emergencyPauser() external view returns (address)Return Values
Section titled “Return Values”| Name | Type | Description |
|---|---|---|
| emergencyPauser | address | Address of emergency pauser |
rewardsUpdater
Section titled “rewardsUpdater”Returns the address authorized to update rewards.
function rewardsUpdater() external view returns (address)Return Values
Section titled “Return Values”| Name | Type | Description |
|---|---|---|
| rewardsUpdater | address | Address of rewards updater |
checkUpkeep
Section titled “checkUpkeep”Checks if a loss has been detected in any strategy.
function checkUpkeep(bytes calldata) external view returns (bool upkeepNeeded, bytes memory performData)Return Values
Section titled “Return Values”| Name | Type | Description |
|---|---|---|
| upkeepNeeded | bool | True if a loss is detected in any strategy |
| performData | bytes | Encoded index of strategy with a loss (if any) |
Write Functions
Section titled “Write Functions”updateRewards
Section titled “updateRewards”Updates strategy rewards in the staking pool.
function updateRewards(bytes calldata _data) externalParameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
| _data | bytes | Encoded data to pass to strategies |
performUpkeep
Section titled “performUpkeep”Pauses the priority pool if a loss has been detected in a strategy.
function performUpkeep(bytes calldata _performData) externalParameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
| _performData | bytes | Encoded index of strategy with a loss |
pausePool
Section titled “pausePool”Pauses the priority pool in the case of an emergency.
function pausePool() externalNo parameters.
reopenPool
Section titled “reopenPool”Reopens the priority pool and security pool after they were paused due to a loss, and updates strategy rewards.
function reopenPool(bytes calldata _data) externalParameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
| _data | bytes | Encoded data to pass to strategies |
setEmergencyPauser
Section titled “setEmergencyPauser”Sets the address authorized to pause the pool in case of emergency.
function setEmergencyPauser(address _emergencyPauser) externalParameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
| _emergencyPauser | address | Address of emergency pauser |
setRewardsUpdater
Section titled “setRewardsUpdater”Sets the address authorized to update rewards.
function setRewardsUpdater(address _rewardsUpdater) externalParameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
| _rewardsUpdater | address | Address of rewards updater |