Understand the system actors
There are six main actors in stETHvv design:
- Yield Source
- Vault Controller
- Round Processor
Each actor has an essential role in stETHvv's functionality, which we will cover in this section.
The depositors are all the users who deposit
stETHvv. They can be either an EOA (Externed Owned Account) or a contract. This actor will later be able to withdraw their funds alongside their earnings.
The Investor EOA (or Multisig) is responsible for buying the put and call options and setting the strangle strategy weekly. The Investor wallet receives part of the weekly yield from the Yield Source, which we call the Investor Ratio (currently set at 50%), and buys the options manually. In case the options bought end in-the-money, the profit from the exercised options stays in this wallet and later is sent back to the vault so that they are redeposited into the Yield Source, respecting users' shares proportionately.
The VaultController is a Multisig responsible for calling the
endRoundfunctions round. He can also act as a
Depositorand as a
A vault is a smart contract that connects all the players to make the strategy work. The vault:
- Receives funds from depositors.
- Calculates the generated interest in the week.
- Create shares for the depositors.
- Receives the profit from exercised options.
- Send part of the yield to the investor's address.
The role of this actor is to process the queued deposits after the
endRoundthe function was called and before the
startRoundwas called, meaning, only when the flag
In our internal process, the actor
VaultControllerwill also be responsible for processing the deposits of the week to create a smoother user experience. It is important to highlight that any address could process its own or other deposits, which means that this step does not rely on the Vault Controller itself.