Unstake
Stakers can exchange their stake receipt tokens for the underlying asset they staked in the Rewards Manager (typically a Safety Module deposit receipt token). There is no delay to unstake - stakers can immediately unstake from a Rewards Manager.
Using CozyRouter to unstake assets
The recommended way to programmatically unstake assets is to call CozyRouter.unstake
(see CozyRouter):
This method will internally callRewardsManager.unstake
.
Prior to calling this function, the user must have approved CozyRouter
to a spend sufficient amount of their StakePool.stakeReceiptToken
balance.
Unstake mechanics
On RewardsManager.unstake
, we follow the following steps:
Claim rewards on behalf of the
owner_
, transferring the reward assets toreceiver_
.Decrement
StakePool.amount
.Burn the
owner_
's stake receipt tokens.Transfer the
receiver_
the relevant amount of stake assets.Emit a
Unstaked
event.
Last updated