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

@gysr/core

v3.0.0

Published

GYSR core protocol contracts, interfaces, libraries, and ABIs

Readme

GYSR core

This repository contains the Solidity contracts for the GYSR core procotol, including modular pools, factory system, and token.

For more information on the project, whitepapers, audits, and other resources, see gysr.io

Install

To use the core contracts, interfaces, libraries, or ABIs in your own project

npm install @gysr/core

See the documentation to learn more about interacting with the GYSR protocol.

Note: the package is published with solidity ^0.8.18 compatibility, but core contracts have only been tested and audited with solidity 0.8.18 exact.

Development

Both Node.js and npm are required for package management and testing. See instructions for installation here.

This project uses Hardhat for development, testing, and deployment.

To install these packages along with other dependencies:

npm install

Test

To run all unit tests

npm test

To run some subset of tests

npx hardhat compile && npx hardhat test --grep ERC20CompetitiveRewardModule

Deploy

Copy .env.template to .env and define the INFURA_KEY, DEPLOYER_INDEX, and ETHERSCAN_KEY variables.

To deploy GYSR token to Goerli

npx hardhat run --network goerli scripts/i_deploy_token.js

Once GYSR token is deployed, define the GYSR_ADDRESS variable in your .env file.

To deploy the configuration contract to Goerli

npx hardhat run --network goerli scripts/i_deploy_config.js

Once the configuration contract is deployed, define the CONFIG_ADDRESS variable in your .env file.

To deploy the factory contract to Goerli

npx hardhat run --network goerli scripts/ii_deploy_factory.js

Once the factory is deployed, define the FACTORY_ADDRESS variable in your .env file.

To deploy the ERC20 staking module factory to Goerli

npx hardhat run --network goerli scripts/iii_deploy_module_factory_staking.js

To deploy the ERC20 competitive reward module factory to Goerli

npx hardhat run --network goerli scripts/iii_deploy_module_factory_competitive.js

Follow the remaining migration steps to deploy all contracts and libraries.

To verify a contract on Goerli

npx hardhat verify --network goerli --contract contracts/PoolFactory.sol:PoolFactory 0xpoolfactory 0xgysrtoken 0xconfig