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

@reptilianhq/chain-data-contract

v0.14.0

Published

Generated GraphQL schema, persisted operations, and TypeScript result contracts for Reptilian chain data

Downloads

2,031

Readme

@reptilianhq/chain-data-contract

Versioned GraphQL contract shared by Reptilian API and read-only consumers of the Reptilian chain-data gateway. The package contains no credentials or transport policy.

It exports:

  • the public schema SDL;
  • the approved operation documents, names, and SHA-256 persisted-query IDs;
  • the Apollo persisted-query manifest;
  • TypeScript variable and result types generated from every approved operation.
  • the versioned Robinhood testnet gen-9 replay fixture and its normalized recount validators.
import {
  CHAIN_DATA_OPERATION_IDS,
  type ChainDataOperationData,
  type ChainDataOperationVariables,
} from '@reptilianhq/chain-data-contract';

The raw artifacts are also available through the ./schema.graphql, ./operations.graphql, and ./persisted-manifest.json package exports. Consumers should pin an exact version and upgrade atomically with the Reptilian API. Publishing a new version does not activate it in any consumer.

Quote values are asset-aware across Pons curves, AMMs, LB pools, fees, launch summaries, and wallet positions. Prefer ExactAssetAmount, volumeByQuoteAsset, and totalsByQuoteAsset: they preserve the quote-token address, raw integer, and ERC-20 decimals. Legacy ExactQuoteAmount fields are retained for older consumers, but callers must use the adjacent quote-token identity before interpreting them. Legacy protocol and wallet totals are wrapped-native-only and are withheld when they would mix unlike assets. Prices are null when quote-token decimals cannot be established safely.

Pons launch summaries include a provider-specific pons object containing the exact factory lifecycle, immutable launch configuration, fee policy, creator recipient, buyback terms, sweep evidence, graduated position ID, and rescue evidence. Current reserves, claimable balances, and vesting availability remain block-pinned RPC authority rather than inferred historical state.

LaunchFeed.provider optionally scopes pagination to launchonblock or pons. The gateway applies the indexed LaunchOnBlock identity set inside the database query, before the cursor and page limit, so a small provider cannot be starved by a much larger provider sharing the deployment.

LaunchDetail.supplyDistribution exposes exact, non-overlapping original-supply custody slices. Consumers must treat raw amounts as authoritative and require reconciled=true with partial=false before presenting the result as complete. The gateway fences its custody query between two identical indexer checkpoints; an advancing or changed snapshot is deliberately returned as partial.

LaunchDetail.externalMarkets lists launch-scoped Uniswap v2, v3, and v4 market identities and their creation evidence. These records prove initialization only: they are separate from canonical pools, do not contribute to TVL or price, and carry an explicit partial flag during indexer cutovers.

During the coordinated 0.3 to 0.4 rollout, the gateway accepts the legacy 0.3 LaunchDetail persisted hash but dispatches it through the current resolver. Its JSON is therefore the backward-compatible superset shape and can include supplyDistribution; legacy clients must tolerate unrequested fields.

Replay fixture

The ./replay-fixtures export pins the reviewed gen-9 read deployment, historical observation boundary, and representative GUDTEK launch, registered LB pool, trade, holder recount, and retained-ranking evidence:

import {
  ROBINHOOD_TESTNET_GEN9_REPLAY_FIXTURE,
  assertRobinhoodTestnetGen9ReplaySnapshot,
} from '@reptilianhq/chain-data-contract/replay-fixtures';

Adapters in either SDK normalize replay results to ChainDataReplaySnapshot and call the assertion before accepting recount evidence. The assertion requires the corrected holder count, explicit LB-pair exclusion from holders and ranking, zero unregistered LB activity, and representative exact values.

The fixture pins the reviewed read deploymentId; it deliberately does not pin the Launchpad SDK transaction release. Write deployments can advance independently. The eleven launch/indexer operations require readDeployment.deploymentId; the chain-data client binds it once at construction instead of deriving it from the transaction target. The deployment-independent EthUsdPrice operation reads the reviewed Robinhood mainnet WETH/USDG pair and takes no variables.

WalletLiquidityBookPositions and LiquidityBookPosition expose factory-indexed LB receipt ownership without joining through Launch. This intentionally supports live pairs imported from other launchpads. Position discovery is paginated by pair and detail bins are paginated separately.

PortfolioWalletBalances adds stable token identities plus exact amount and source-watermark fields for native portfolio capture. PortfolioWalletLiquidityPositions is a separately bounded receipt-position feed. It does not claim that LB receipt balances are underlying-token amounts, and the package intentionally publishes no lending operation until the indexer can distinguish unsupported coverage from a wallet with zero positions.

The package is published publicly to npm from this repository. Consumers pin an exact version; no registry configuration or credential is required to install it.

npm install @reptilianhq/[email protected]

Versions published before 0.10.0 remain in the ReptilianHQ GitHub Packages version history but are no longer the install path for new consumers.

Development

pnpm --filter @reptilianhq/chain-data-contract generate
pnpm --filter @reptilianhq/chain-data-contract check

Edit chain-data-schema.graphql and chain-data-operations.json, regenerate, and commit the generated operation document, manifest, persisted-operation module, and GraphQL Code Generator result types together.

Publishing

After the reviewed version change merges into main, push the immutable chain-data-contract-v<version> tag at that commit. The release workflow checks main ancestry, builds and verifies the package without publishing credentials, then publishes the exact prepared tarball from a separate OIDC job. A later main commit does not invalidate the release. Main package changes no longer publish automatically. Retries accept the exact existing tag's version.

See Contract releases for the shared publisher, registry verification, recovery and the independent deployment-contract boundary.

Reference pair identity

Version 0.11.0 adds ReferencePairMetadata(deploymentId, pair): chain, factory, ordered tokens and indexed creation provenance for reviewed reference pairs. It returns null for uncovered pairs or missing creation rows; unavailable canonical coverage fails the operation. It contains no current reserves or price. Consumers must keep reserve freshness checks and upgrade only after the indexer replay and gateway deployment have been verified.