npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@lidofinance/lido-csm-sdk

v1.9.0

Published

[![GitHub license](https://img.shields.io/github/license/lidofinance/lido-csm-sdk?color=limegreen)](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [![Version npm](https://img.shields.io/npm/v/@lidofinance/lido-csm-sdk?label=version)](h

Readme

Lido CSM SDK

GitHub license Version npm npm bundle size

Overview

Lido CSM SDK is a TypeScript/JavaScript library that provides a comprehensive set of tools for interacting with Lido Community Staking Module (CSM) contracts on the Ethereum network. The SDK abstracts the complexity of direct contract interaction, offering a modular, extensible, and developer-friendly interface for building applications on top of Lido CSM.

Features

  • Modular SDKs for all major Lido CSM contract domains
  • Unified entry point via the LidoSDKCsm class
  • TypeScript support and type safety
  • Extensible architecture for advanced integrations

Installation

Install via npm or yarn:

yarn add @lidofinance/lido-csm-sdk @lidofinance/lido-ethereum-sdk viem

or

npm install @lidofinance/lido-csm-sdk @lidofinance/lido-ethereum-sdk viem

Usage Example

import { LidoSDKCsm } from '@lidofinance/lido-csm-sdk';

const core = new LidoSDKCore({
  // Provide required core properties, e.g. provider, network, etc.
})

const sdk = new LidoSDKCsm({ core });

// Access different modules
const operatorsCount = await sdk.module.getOperatorsCount();
const operator = await sdk.operator.getInfo(69n);

SDK Modules

The LidoSDKCsm class aggregates the following modules, each responsible for a specific domain of the Lido CSM ecosystem:

  • core: Core SDK for shared logic, configuration, and utilities.
  • tx: Unified transaction handling with multi-wallet support (EOA, multisig, Abstract Accounts), permit/approve flow, and batch operations.
  • module: Query CSM status, share limit.
  • accounting: Access accounting data such as balances and supply.
  • parameters: Read a curve parameters.
  • frame: Query protocol frame config and state.
  • operator: Query operator data.
  • rewards: Query reward distribution and queries.
  • strikes: Query operator strikes.
  • keysWithStatus: Query operator keys with status tracking.
  • keys: Manage operator keys.
  • keysCache: Pubkey caching to prevent double-submission with 2-week TTL and manual key management.
  • bond: Manage operator bond balance.
  • roles: Manage operator roles.
  • permissionlessGate: Permissionless entry points for create a new operator.
  • icsGate: ICS (Independent Community Staker) vetted entry point for create a new operations with some benefits.
  • events: Query protocol events.
  • depositQueue: Query deposit queue pointers, batches.
  • depositData: Parse and validate deposit data JSON, check for duplicates and previously submitted keys.
  • stealing: Manage execution layer rewards stealing penalties - report and cancel penalties.
  • satellite: Helper to simplify query operator IDs by address and read deposit queue batches.
  • feeRecipient: Manage fee recipient addresses for operators.

Each module exposes a set of methods tailored to its domain. Refer to the source code or generated API documentation for detailed method signatures and usage.

Extending and Integrating

The SDK is designed for extensibility. You can instantiate individual modules directly or extend them for custom use cases. All modules share a common set of core properties for seamless integration.

License

This project is licensed under the MIT License. See the LICENSE.txt file for details.

Changelog

See CHANGELOG.md for version history and updates.