Skip to content

[don't merge until testnet-2] Stvaults docs testnet 2 #625

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 34 additions & 34 deletions docs/guides/stvaults/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,41 +15,22 @@ Please share your thoughts through **[the short form](https://tally.so/r/3X9vYe)

stVaults consist of the following components:

- **stVaults Web UI**: A web interface interacting directly with the `Dashboard` contract and other stVaults-related contracts, providing a user-friendly experience for managing vaults and monitoring metrics.
- **CLI (Command Line Interface)**: A command-line tool interacting directly with the `Dashboard` contract and other stVaults-related contracts offering advanced management capabilities (deposits, generating proofs, per-vault oracle reports, etc.). ([GitHub Repository](https://github.com/lidofinance/lido-staking-vault-cli), [Documentation](https://lidofinance.github.io/lido-staking-vault-cli/))
- **Dashboard contract**: A management contract deployed together with the `StakingVault` contract, and is assigned as the owner of the `StakingVault` contract by default. It provides granular management capabilities and introduces roles and permissions, allowing different actions to be managed by distinct roles. It also provides utility functions for minting/burning, performing deposits, collecting node operator fees.
- **StakingVault Contract**: The core primitive contract representing the staking vault. Advanced use cases might include direct interaction with the `StakingVault` contract, which requires transferring ownership from the `Dashboard` contract.
- **Predeposit Guarantee (PDG)**: The contract that mitigates deposit frontrunning vulnerabilities described in [LIP-5](https://github.com/lidofinance/lido-improvement-proposals/blob/develop/LIPS/lip-5.md). It uses a mechanism distinct from the [Deposit Security Module](https://docs.lido.fi/contracts/deposit-security-module) adopted by **Lido Core**. It allows stVault's owner and Node Operators to deposit validators with the vault's funds in trustless manner.
- **[stVaults Web UI](#web-ui)**: A web interface interacting directly with the `Dashboard` contract and other stVaults-related contracts, providing a user-friendly experience for managing vaults and monitoring metrics.
- **[CLI (Command Line Interface)](#command-line-interface)**: A command-line tool interacting directly with the `Dashboard` contract and other stVaults-related contracts offering advanced management capabilities (deposits, generating proofs, per-vault oracle reports, etc.). ([GitHub Repository](https://github.com/lidofinance/lido-staking-vault-cli), [Documentation](https://lidofinance.github.io/lido-staking-vault-cli/))
- **[Dashboard contract](#dashboard-contract)**: A management contract deployed together with the `StakingVault` contract, and is assigned as the owner of the `StakingVault` contract by default. It provides granular management capabilities and introduces roles and permissions, allowing different actions to be managed by distinct roles. It also provides utility functions for minting/burning, performing deposits, collecting node operator fees.
- **[StakingVault Contract](#stakingvault-contract)**: The core primitive contract representing the staking vault. Advanced use cases might include direct interaction with the `StakingVault` contract, which requires transferring ownership from the `Dashboard` contract.
- **[Predeposit Guarantee (PDG)](#predeposit-guarantee-pdg)**: The contract that mitigates deposit frontrunning vulnerabilities described in [LIP-5](https://github.com/lidofinance/lido-improvement-proposals/blob/develop/LIPS/lip-5.md). It uses a mechanism distinct from the [Deposit Security Module](https://docs.lido.fi/contracts/deposit-security-module) adopted by **Lido Core**. It allows stVault's owner and Node Operators to deposit validators with the vault's funds in trustless manner.
- **Off-chain monitoring tools (can be used by the Node Operator):**
- **Ethereum Validators Monitoring (EVM)**: Consensus layer validators monitoring bot, that fetches Lido or Custom Users Node Operators keys from Execution layer and checks their performance in Consensus layer by: balance delta, attestations, proposes, sync committee participation.
- **Ethereum Head Watcher**: Bot which watches Ethereum head block and handle validator-related "events" and sends notifications through Alertmanager to Discord channel.
- **[Ethereum Validators Monitoring (EVM)](#ethereum-validators-monitoring-evm)**: Consensus layer validators monitoring bot that fetches Lido or Custom Users Node Operators keys from the Execution layer and checks their performance on the Consensus layer by the balance delta, attestations, proposes, sync committee participation.
- **[Ethereum Head Watcher](#ethereum-head-watcher)**: Bot that watches Ethereum head block, handles validator-related "events", and sends notifications through Alertmanager to a Discord channel.

## Integration and interacting layers

### Command-line interface

**URL**: [GitHub Repository](https://github.com/lidofinance/lido-staking-vault-cli), [Documentation](https://lidofinance.github.io/lido-staking-vault-cli/)

**Goal**: Manage stVaults via CLI for automation and advanced operations (deposits, generating/submitting proofs, per-vault oracle reports, etc.).

**Steps**:

1. Clone the GitHub repository and configure it according to the [CLI User Guide](https://lidofinance.github.io/lido-staking-vault-cli/get-started/configuration).
2. Deploy, configure vaults, assign roles, and manage staking operations.
3. Utilize commands for advanced maintenance.
4. Check-up the vault state via data provided by CLI.

**Use case examples**:

- Institutional integrator requiring automated and scriptable staking management.
- Node Operator using the CLI to initiate staking operations and monitor staking performance, as well as predeposit, prove and top-up deposit validators via PDG.
- Protocols integrating with stVaults and run in the integration on testnet.

### Web UI

:::info
The Web UI covers nearly all routine stVault tasks for [Lido V3 testnet on Hoodi](../../deployed-contracts/hoodi-lidov3.md).
For advanced or low-level features that haven’t yet been exposed in the interface, use the CLI.
For advanced or low-level features that haven’t yet been exposed in the interface, use the [CLI](#command-line-interface).
:::

**URL**: https://vaults-hoodi-lidov3.testnet.fi
Expand All @@ -60,14 +41,34 @@ For advanced or low-level features that haven’t yet been exposed in the interf

1. Access the Vault Web UI and connect the wallet.
2. Create a vault and set up roles and permissions.
3. Supply/withdraw ETH, perform Beacon Chain deposits/withdrawals, mint/burn stETH.
4. View vault and validators metrics and configure settings.
3. Supply/withdraw ETH, mint/repay stETH.
4. Control stVault Health factor and corresponding metrics, configure stVault settings.

**Use case example**:

- Individual and institutional stakers using the UI to perform operations, exploring vault performance, economy, fees, and efficiency.
- Prospecting vault owners examining node operator performance and vault efficiency before creating their own staking vault.
- Anyone using the UI as an educational and analytical tool for understanding staking vault metrics.
- Individual and institutional stakers using the Web UI to perform operations, exploring vault performance, economy, fees, and efficiency.
- Prospecting vault owners examining node operator performance and vault efficiency before creating their own stVault.
- Anyone using the Web UI as an educational and analytical tool for understanding stVaults mechanics and economy.

### Command-line interface

**URL**: [GitHub Repository](https://github.com/lidofinance/lido-staking-vault-cli), [Documentation](https://lidofinance.github.io/lido-staking-vault-cli/)

**Goal**: Manage stVaults via CLI for day-to-day and advanced operations as well as automation (deposits, generating/submitting proofs, per-vault oracle reports, etc.).

**Steps**:

1. Clone the GitHub repository and configure it according to the [CLI User Guide](https://lidofinance.github.io/lido-staking-vault-cli/get-started/configuration).
2. Deploy, configure vaults, assign roles, and manage staking operations.
3. Utilize commands for advanced maintenance.
4. Check-up the vault state via data provided by CLI.

**Use case examples**:

- Institutional integrator requiring automated and scriptable staking management.
- Node Operator using the CLI to initiate staking operations and monitor staking performance, as well as predeposit, prove and top-up deposit validators via Predeposit Guarantee (PDG).
- Protocols integrating with stVaults and running in the integration on testnet.


### Dashboard contract

Expand All @@ -87,14 +88,13 @@ For advanced or low-level features that haven’t yet been exposed in the interf
- Granular permissions for staking vault operations and Node Operator fee claiming.
- Structured product integrating stVaults for staking operations with granular control.

### Staking Vault contract
### StakingVault contract

**URL**: [GitHub Repository](https://github.com/lidofinance/core/blob/feat/vaults/contracts/0.8.25/vaults/StakingVault.sol)

**Goal**: Directly manage a `StakingVault` contract by transferring its ownership from the `Dashboard` contract to reduce operations gas costs (**advanced integrations**).

> If vault ownership is changed to interact with the vault directly, it’s no longer possible to use other Lido stVaults infrastructure mechanisms to manage the vault. In this case, direct interaction with Lido core protocol via the Vault Hub contract is required.
>

**Steps**:

Expand Down
Binary file modified static/img/stvaults/integration-overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.