Skip to content

lidofinance/lido-staking-vault-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

871 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lido Staking Vault CLI

A command-line interface (CLI) tool for managing Lido staking vaults. Simplify your staking operations with intuitive commands and streamlined workflows.

Changelog

For changes between versions see Changelog

Table of Contents

Features

  • Easy Setup: Quick installation and configuration to get you started.
  • Vault Management: Create and manage staking vaults with simple commands.
  • Monitoring: Track vault metrics.

Prerequisites

  • Node.js: Ensure you have Node.js (v20 or later) installed.
  • npm: Node Package Manager is required to install dependencies.

Installation

From Source

git clone [email protected]:lidofinance/lido-staking-vault-cli.git
cd lido-staking-vault-cli

Branch Selection

The repository has two primary branches:

  • main (Recommended): Stable releases with tested and verified features. Ideal for production use and reliable operations.
  • develop: Active development branch with the latest features. Use this if you want immediate access to new functionality and can handle potentially unstable features.
# Switch to stable branch (recommended)
git checkout main

# Or switch to development branch for latest features
git checkout develop

Configuration

Before using the CLI, configure your environment variables. You can set them in a .env file in your project root.

CHAIN_ID=560048 // required
CL_URL=url
EL_URL=url

# Contract addresses
DEPLOYED=deployed-hoodi-vaults.json // required

# Wallet
PRIVATE_KEY=0x

# or encrypted file
# ACCOUNT_FILE=wallets/account.json
# ACCOUNT_FILE_PASSWORD=1234

# WalletConnect (optional)
# Note: WALLET_CONNECT_PROJECT_ID is NOT a secret. It is a public identifier
# of the application using WalletConnect.
WALLET_CONNECT_PROJECT_ID=ee928c025792b10a6daa97d85328c433

If you plan to manage contracts, the privateKey is a required property for this type of operations. For using elLink in the right way, be attentive to match the RPC resolver link and its chain ID.

Usage

After installation and configuration, you can start using the CLI to manage your staking vaults.

yarn start [command] [options]
yarn start -h

Examples

VaultHub constants

yarn start vo r info

Count of all vaults

yarn start contracts hub r v-count

Programs

Testing

Unit Tests

Run unit tests for utilities and helpers:

yarn test

Integration Tests

Integration tests run on a forked chain to test real contract interactions.

Setup

  1. Install dependencies (includes Anvil via @viem/anvil):

    yarn install
  2. Create test configuration:

    cp env.test.example .env.test
    # Edit .env.test and set your RPC_URL

Running Tests

Anvil starts automatically when you run tests:

# All integration tests (Anvil starts automatically)
yarn test:integration

# Watch mode
yarn test:integration:watch

For detailed information, see tests/integration/README.md.

Documentation

For additional information about available methods and functionality, refer to the documentation for the Lido Staking Vault CLI.

License

This project is licensed under the MIT License.

Contributors 8

Languages