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 🙏

© 2026 – Pkg Stats / Ryan Hefner

polygon-lido-testing

v1.0.0

Published

Lido on Polygon is a DAO governed liquid staking protocol for Polygon PoS chain. It allows users to stake their ERC20 MATIC tokens on Ethereum mainnet and immediately get the representation of their share in the form of stMATIC token without maintaining s

Readme

Lido On Polygon Liquid Staking Protocol V2

Lido on Polygon is a DAO governed liquid staking protocol for Polygon PoS chain. It allows users to stake their ERC20 MATIC tokens on Ethereum mainnet and immediately get the representation of their share in the form of stMATIC token without maintaining staking infrastructure. Users will get staking rewards and still be able to control their stMATIC tokens MATIC tokens will be delegated across validators that are registered and accepted by the DAO insideLido on Polygon protocol.

Node operators don't have direct access over the delegated assets. They are just providing infrastructure and getting rewards in return. Assets are controlled by Lido on Polygon contracts exclusively. The goal is to help with Polygon decentralization and integrate stMATIC with the variety of protocols and DeFi applications on Ethereum mainnet and Polygon PoS chain. Before getting started with this repo, please read:

Lido DAO

The Lido DAO is an Aragon organization. Since Aragon provides a full end-to-end framework to build DAOs, we use its standard tools. The protocol smart contracts extend AragonApp base contract and can be managed by the DAO.

Contracts

StMATIC

StMATIC is the core contract which acts as a liquid staking pool. The contract is responsible for deposits, withdrawals, minting and burning liquid tokens, delegating funds to node operators, applying fees and distributing rewards. StMATIC contract also defines stMATIC, an ERC20 token that represents the account's share of the total supply of MATIC tokens inside Lido on Polygon system. It is a non-rebasable token, which means that the amount of tokens in the user's wallet is not going to change. During time, the value of this token is changing, since the amount of MATIC tokens inside the protocol is not constant. StMATIC will be integrated in variety of DeFi applications across Ethereum and Polygon.

NodeOperatorRegistry

The NodeOperatorRegistry contract is the core contract that allows node operators to participate in the Lido staking protocol. Node Operators participate on the protocol as validators and get rewarded for their work. A Node Operator gets added to the Registry by the DAO. Validator reward is distributed evenly amongst all active operators. The contract contains a list of operators, their public keys, and the logic for managing their state.

Deployments

Mainnet

The Mainnet addresses are available here

Testnet

The Testnet addresses are available here

Development

Requirements

  • node.js v16

Install

npm i

Build & test

Compile Solidity contracts

npx hardhat compile

Run unit tests

npx hardhat test

ENV

DEPLOYER_PRIVATE_KEY=0x...
ETHERSCAN_API_KEY=ABCD
CHILD_CHAIN_RPC=https://polygon-mumbai.g.alchemy.com/v2/XXX
ROOT_CHAIN_RPC=https://eth-goerli.alchemyapi.io/v2/XXX
ROOT_GAS_PRICE=10000000000
ROOT_GAS_LIMIT=10000000
CHILD_GAS_PRICE=10000000000
CHILD_GAS_LIMIT=10000000
CHECKPOINT_MANAGER=0x
STAKE_MANAGER=0x
MATIC_TOKEN=0x
FX_ROOT=0x
FX_CHILD=0x
DAO=0x
INSURANCE=0x
TREASURY=0x
DEFENDER_TEAM_API_KEY=XXX
DEFENDER_TEAM_API_SECRET_KEY=XXX

Deploy

Deploy the protocol

npx hardhat run scripts/deploy.ts --network <network-id>

Create Upgrade Proposal

Creating upgrade requests requires an Openzeppelin Defender account.

Initiate StMATIC upgrade request:

npx hardhat run scripts/multisigUpgrade/upgradeStMatic.ts --network <network-id>

To initiate NodeOperatorRegistry upgrade request:

npx hardhat run scripts/multisigUpgrade/upgradeNodeOperatorRegistry.ts --network <network-id>

To initiate LidoNFT upgrade request:

npx hardhat run scripts/multisigUpgrade/upgradeLidoNFT.ts --network <network-id>