Skip to content

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.

Returns the address of the staking pool.

function stakingPool() external view returns (address)
Name Type Description
stakingPool address Address of staking pool

Returns the address of the priority pool.

function priorityPool() external view returns (address)
Name Type Description
priorityPool address Address of priority pool

Returns the address of the security pool.

function securityPool() external view returns (address)
Name Type Description
securityPool address Address of security pool

Returns the address authorized to pause the pool in case of emergency.

function emergencyPauser() external view returns (address)
Name Type Description
emergencyPauser address Address of emergency pauser

Returns the address authorized to update rewards.

function rewardsUpdater() external view returns (address)
Name Type Description
rewardsUpdater address Address of rewards updater

Checks if a loss has been detected in any strategy.

function checkUpkeep(bytes calldata) external view returns (bool upkeepNeeded, bytes memory performData)
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)

Updates strategy rewards in the staking pool.

function updateRewards(bytes calldata _data) external
Name Type Description
_data bytes Encoded data to pass to strategies

Pauses the priority pool if a loss has been detected in a strategy.

function performUpkeep(bytes calldata _performData) external
Name Type Description
_performData bytes Encoded index of strategy with a loss

Pauses the priority pool in the case of an emergency.

function pausePool() external

No parameters.

Reopens the priority pool and security pool after they were paused due to a loss, and updates strategy rewards.

function reopenPool(bytes calldata _data) external
Name Type Description
_data bytes Encoded data to pass to strategies

Sets the address authorized to pause the pool in case of emergency.

function setEmergencyPauser(address _emergencyPauser) external
Name Type Description
_emergencyPauser address Address of emergency pauser

Sets the address authorized to update rewards.

function setRewardsUpdater(address _rewardsUpdater) external
Name Type Description
_rewardsUpdater address Address of rewards updater