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
stakedby proportional value, increaseideal_stakedproportionally. - Unstake: decrease
stakedproportionally to shares removed;ideal_stakedadjusted in same ratio.