Presenting @iearnfinance yVaults <> @CurveFinance <> @1inchExchange
(Yearn Vaults v2 diagrams coming soon)
How do Yearn yVaults work?
Thread
(Yearn Vaults v2 diagrams coming soon)
How do Yearn yVaults work?
Thread


1. A user/ape can deposit/withdraw assets into a yVault.
2. A yVault can be managed by the Governance (via GnosisSafeProxy)
3. A yVault can call deposit/earn/withdraw on the Controller.
4. The Controller can call swap on OneInchAudit (1inch).
2. A yVault can be managed by the Governance (via GnosisSafeProxy)
3. A yVault can call deposit/earn/withdraw on the Controller.
4. The Controller can call swap on OneInchAudit (1inch).
5. The Controller can be managed by the Governance (via GnosisSafeProxy).
6. Some functions of the Controller can be managed by the strategist.
7. A Controller can deposit/withdraw assets from a Strategy.
8. Governance (via GnosisSafeProxy) can manage & harvest() a Strategy.
6. Some functions of the Controller can be managed by the strategist.
7. A Controller can deposit/withdraw assets from a Strategy.
8. Governance (via GnosisSafeProxy) can manage & harvest() a Strategy.
9. Governance (via GnosisSafeProxy) can manage & harvest() a Strategy.
10. Strategist can harvest() & manage some functions of a Strategy.
11. A Strategy can call deposit, withdraw, harvest, vote, lock on the StrategyProxy.
10. Strategist can harvest() & manage some functions of a Strategy.
11. A Strategy can call deposit, withdraw, harvest, vote, lock on the StrategyProxy.
12. The StrategyProxy forwards these calls to the CurveYCrvVoter using the execute function.
13. The CurveYCrvVoter can deposit/withdraw into and a Gauge of any Curve pool.
14. CurveYCrvVoter can call create_lock/increase_amount/withdraw on the Curve's VotingEscrow to get veCRV
13. The CurveYCrvVoter can deposit/withdraw into and a Gauge of any Curve pool.
14. CurveYCrvVoter can call create_lock/increase_amount/withdraw on the Curve's VotingEscrow to get veCRV