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

@sinjoh/abis

v3.0.0

Published

Generated, viem-typed ABIs for the Sinjoh contracts, harvested from Foundry build output at a pinned source commit.

Readme

@sinjoh/abis

Generated, viem-typed ABIs for the Sinjoh contracts on Robinhood Chain. Use this package when you need the canonical callable surface without importing the higher-level SDK.

Install

npm install @sinjoh/abis viem

Use an ABI

import { sinjohFeeRouterAbi } from "@sinjoh/abis";
import type { Address, PublicClient } from "viem";

export function readRouterSubject(client: PublicClient, router: Address) {
  return client.readContract({
    address: router,
    abi: sinjohFeeRouterAbi,
    functionName: "subject"
  });
}

Every ABI export is a TypeScript as const value, so viem infers function names, arguments, and return types. Contract names use lower camel case followed by Abi, such as sinjohRaffleRewardsAbi and sinjohPonsV2AdapterAbi. The governed protocol upgrade is exported in the same package, including feeRouterV2Abi, stakingEngineAbi, sinjohStakingEngineAbi, yieldBasketAbi, dynamicFundingBandsAbi, and sinjohGovernorAbi, plus sinjohLaunchStakingEngineAbi, addressGovernanceControllerAbi, governanceControllerFactoryAbi, governedAbi, immutableGovernanceControllerAbi, and stakedVotesAdapterAbi. These upgrade exports are source/ABI artifacts only except for the independently deployed SinjohLaunchStakingEngine described below.

sinjohAirdropDistributorAbi remains the default standard airdrop surface and does not require staking. sinjohStakingEngineAbi is the separate optional surface for staking-driven, claim-based distributions. Its zero-stake epochs roll pending rewards into a later eligible window. stakingEngineAbi exposes simple raw-balance staking: one token equals one reward unit and one non-delegated vote, stake adds to the balance, and unstake immediately removes any available portion. There are no tiers, locks, multipliers, or cooldowns. Timestamp checkpoints preserve completed epoch and governance snapshots after a later unstake. yieldBasketAbi exposes token-specific reward routes and the governed, fully-paused adapter write-off/recovery lifecycle, plus governance-only recovery for non-deposit tokens received outside a verified harvest. feeRouterV2Abi exposes per-route escrow balances, permissionless retry, and governed recovery so one paused or reverting destination does not freeze unrelated fee routes.

Project V2 exports include projectLauncherV2Abi, projectLaunchValidatorV2Abi, projectRegistryV2Abi, projectRouterV2Abi, projectTreasuryVaultV2Abi, projectAirdropV2Abi, projectStakingPoolV2Abi, projectLiquidVotesWrapperV2Abi, and the remaining governed module ABIs. The liquid-votes wrapper provides one-for-one deposits and withdrawals for an ordinary external Project token while preserving governance checkpoints. projectRouterV2Abi is the complete routed-asset surface: one route may execute ordered direct sends, swaps, buyback-and-burn, Treasury funding, Airdrop funding, Raffle funding, liquidity, and project-sink actions. Generated ABI values remain the source of truth for action tuple shapes and callable signatures.

sinjohLaunchStakingEngineAbi is the production platform surface for new launches that opt into staking-required airdrops. It is a shared multi-token contract: every launched token is its own staking subject, one staked token is one reward unit, and unstaking is immediate. Reward accounts are isolated by fee router, subject, and payout asset. The reviewed Robinhood Chain deployment is available as mainnet.contracts.launchStakingEngine from @sinjoh/deployments. It is unrelated to the older single-token $INJOH deployment.

Provenance

abiSourceCommit records the repository commit used to generate the package. abiContractCounts records the number of contracts harvested from each Foundry package. Generation includes only compilation targets under each package's src/ directory; tests, scripts, mocks, copied interfaces, and vendored libraries are excluded.

Do not edit generated files. From the repository's sinjoh-sdk directory, build the Foundry packages and run npm run generate. CI fails when committed ABIs drift from build output.

See the SDK workspace documentation for the package map and release status.