Recently, Yearn Finance launched its v2 Vaults. These have improved debt management, more efficient unwinding, and can handle multiple strategies at once. They also allow for rather gas-efficient depositing and withdrawal of assets.
It would be very nice if we could enter these Vaults, from within Enzyme.
Especially those with underlying assets that are already supported by Enzyme.
e.g.
Note that a user can withdraw his liquidity from these vaults at any time.
Technically:
Entering a vault involves calling
deposit(_amount, recipient)
, which transfers the underlying asset into the vault and returns a vault token to the depositor. These vault tokens (yvTokens) accrue in value over time, and can be redemeed at any time into the underlying asset. The price of the yvTokens is stored on-chain in the contract itself (
pricePerShare
). My understanding is that this mitigates oracle attacks, and should make integration quite straightforward.
Note: There are also v2 vaults with more 'exotic' underlying assets (e.g. Curve LP tokens) which I left out here since these might be difficult to implement on the short-term. But interesting on that front: crvSAAVE, crvAAVE, crvSETH, crvSTETH.
tl;dr These vaults offer very nice ROIs in a set-and-forget setting. I believe they could be a very valuable addition to the toolkit of Enzyme fund managers.
Info for Yearn is somewhat scattered, but some good references: