Router contract that enables users to stake issuance tokens and deploy the underlying collateral to yield-generating strategies. Source: src/core/modules/StakingManager_v1.sol. Interfaces: IStakingManager_v1, IReservePathModule_v1, IStakingManagerRemovalWindow_v1.

Functions

addStrategy

Adds a strategy to the approved list. Parameters IStakingManager_v1.sol#L322

cancelStrategyRemoval

Cancels a previously scheduled strategy removal. Parameters IStakingManager_v1.sol#L346

harvestYield

Harvests yield from a strategy position. Parameters Returns IStakingManager_v1.sol#L269

initiateStrategyRemoval

Schedules a strategy for removal, starting a notice period during which users should withdraw their positions. Parameters IStakingManager_v1.sol#L340

rebalance

Rebalances a position to current reference price. Parameters Returns IStakingManager_v1.sol#L313

removeStrategy

Finalizes a previously initiated strategy removal. Parameters IStakingManager_v1.sol#L363

setPerformanceFeeBps

Sets the performance fee percentage. Parameters IStakingManager_v1.sol#L367

stake

Stakes issuance tokens and deploys collateral to a strategy. Parameters IStakingManager_v1.sol#L256

withdrawFunds

Withdraws funds from a strategy position. Parameters Returns IStakingManager_v1.sol#L294

View functions

getAvailableYield

Returns the current yield available for a user in a strategy. Parameters Returns IStakingManager_v1.sol#L208

getPerformanceFeeBps

Returns the current performance fee in basis points. Returns IStakingManager_v1.sol#L223

getPosition

Returns the live ReserveManager position backing a user’s stake in a strategy. Parameters Returns IStakingManager_v1.sol#L190

getPositionValue

Returns the current value of a user’s position in collateral. Parameters Returns IStakingManager_v1.sol#L199

getStrategyRemovalExecuteAfter

Returns the timestamp at which a scheduled strategy removal becomes executable. Parameters Returns IStakingManager_v1.sol#L233

getStrategyRemovalExpiresAt

Returns the last timestamp at which removal can execute. Parameters Returns IStakingManagerRemovalWindow_v1.sol#L32

isReservePathModule

Identifies a CreditFacility or StakingManager reserve-path module. Returns IReservePathModule_v1.sol#L9

isStrategyApproved

Returns whether a strategy is approved. Parameters Returns IStakingManager_v1.sol#L216

STRATEGY_REMOVAL_EXECUTION_WINDOW

Duration of the strategy removal execution window (72 hours). Returns IStakingManagerRemovalWindow_v1.sol#L20

Events

FundsWithdrawn

Emitted when a user withdraws funds. Parameters IStakingManager_v1.sol#L131

PerformanceFeeUpdated

Emitted when the performance fee is updated. Parameters IStakingManager_v1.sol#L177

Rebalanced

Emitted when a user rebalances their position. Parameters IStakingManager_v1.sol#L145

Staked

Emitted when a user stakes issuance tokens. Parameters IStakingManager_v1.sol#L102

StrategyAdded

Emitted when a strategy is added. Parameters IStakingManager_v1.sol#L154

StrategyRemovalCanceled

Emitted when a previously scheduled strategy removal is canceled. Parameters IStakingManager_v1.sol#L172

StrategyRemovalInitiated

Emitted when a strategy removal is initiated. Parameters IStakingManager_v1.sol#L164

StrategyRemoved

Emitted when a strategy is removed. Parameters IStakingManager_v1.sol#L158

YieldHarvested

Emitted when a user harvests yield. Parameters IStakingManager_v1.sol#L116

Errors

Module__StakingManager__ExcessSharesBurned

The measured principal burn exceeds the caller bound. Parameters IStakingManager_v1.sol#L89

Module__StakingManager__IncompleteWithdrawal

Strategy returned less than requested on withdrawal. IStakingManager_v1.sol#L59

Module__StakingManager__InsufficientPosition

Requested withdrawal exceeds debt or exceeds position value by more than one wei. IStakingManager_v1.sol#L46

Module__StakingManager__InsufficientSharesOut

The measured share output is below the caller bound. Parameters IStakingManager_v1.sol#L82

Module__StakingManager__InvalidFeePercentage

Invalid fee percentage (exceeds maximum). IStakingManager_v1.sol#L53

Module__StakingManager__InvalidStrategyInterface

Strategy does not support the required interface. IStakingManager_v1.sol#L56

Module__StakingManager__NoPosition

User has no position in the strategy. IStakingManager_v1.sol#L40

Module__StakingManager__NothingToRebalance

Nothing to rebalance (ReserveManager position is already at full capacity for the current reference price). IStakingManager_v1.sol#L50

Module__StakingManager__NoYieldToHarvest

No yield available to harvest. IStakingManager_v1.sol#L43

Module__StakingManager__StrategyAlreadyApproved

Strategy is already approved/registered. IStakingManager_v1.sol#L37

Module__StakingManager__StrategyAssetMismatch

Strategy’s underlying asset does not match collateral token. IStakingManager_v1.sol#L62

Module__StakingManager__StrategyCurveMismatch

Strategy belongs to another reference curve. IStakingManager_v1.sol#L68

Module__StakingManager__StrategyManagerMismatch

Strategy belongs to another StakingManager. IStakingManager_v1.sol#L65

Module__StakingManager__StrategyNotApproved

Strategy is not approved/registered. IStakingManager_v1.sol#L34

Module__StakingManager__StrategyRemovalDelayNotElapsed

The scheduled strategy removal delay has not yet elapsed. IStakingManager_v1.sol#L77

Module__StakingManager__StrategyRemovalExpired

The strategy removal execution window has expired. IStakingManagerRemovalWindow_v1.sol#L15

Module__StakingManager__StrategyRemovalNotScheduled

No strategy removal is scheduled for this strategy. IStakingManager_v1.sol#L74

Module__StakingManager__StrategyRemovalScheduled

An unexpired removal notice exists for this strategy. IStakingManager_v1.sol#L71