Skip to main content

Stake / Unstake Flow

Stake

sequenceDiagram
participant User
participant LT
participant Gauge as LiquidityGauge

User->>Gauge: deposit(amount)
Gauge->>LT: transferFrom(user, gauge_as_staker, amount)
LT->>LT: update liquidity.staked, liquidity.ideal_staked, liquidity.staked_tokens
Gauge->>User: gauge receipt tokens

Unstake

sequenceDiagram
participant User
participant LT
participant Gauge as LiquidityGauge

User->>Gauge: withdraw(amount)
Gauge->>LT: transfer(gauge_as_staker, user, amount)
LT->>LT: update liquidity.staked (decrement proportionally), ideal_staked, staked_tokens
Gauge->>User: return yb-LP

LT accounting on stake/unstake

From LT.vy (~lines 980–1012), transferring into/out of staker:

  • Stake: increase staked by proportional value, increase ideal_staked proportionally.
  • Unstake: decrease staked proportionally to shares removed; ideal_staked adjusted in same ratio.