@reptilianhq/chain-data-client
v0.4.1
Published
Typed persisted-operation client for the Reptilian chain-data API
Readme
@reptilianhq/chain-data-client
Typed Fetch client for Reptilian's authenticated, persisted-operation
chain-data gateway. It contains no Foundation product policy and depends only
on the versioned @reptilianhq/chain-data-contract package.
Purpose
Provide typed browser and server access to the authenticated Reptilian chain-data API.
Owns
- persisted-operation request transport
- bounded per-wallet portfolio balance and liquidity-position reads
- stable client errors and timeouts
- Reptilian browser-session JWT exchange, expiry caching, and refresh coalescing
- compatibility constructor aliases during migration
Does Not Own
- GraphQL schema, operations, or indexed data
- Foundation product policy or authentication
- API credentials or endpoint configuration
Import Examples
import { createReptilianChainDataClient } from '@reptilianhq/chain-data-client';
const chainData = createReptilianChainDataClient({
endpoint: 'https://reptilian-api.example/api/v1/chain-data/graphql',
deploymentId: process.env.CHAIN_DATA_DEPLOYMENT_ID!,
headers: () => ({ 'x-api-key': process.env.REPTILIAN_API_KEY! }),
});
const launches = await chainData.getLaunchFeed({ first: 20 });
const balances = await chainData.getPortfolioWalletBalances({ wallet: '0x…', first: 100 });
const liquidity = await chainData.getPortfolioWalletLiquidityPositions({ wallet: '0x…', first: 100 });Browser applications can compose createReptilianBrowserTokenProvider() with
the client to send short-lived bearer tokens directly to the public gateway.
API keys remain server-side. Callers can pass an AbortSignal or per-request timeout.
Responses are streamed through a configurable size limit that defaults to 1 MiB.
The package exports generated operation/result types, the persisted-operation
transport, stable ChainDataClientError failures, and compatibility aliases
for the former @reptilianhq/foundation-graphql constructor names.
Verification
pnpm --filter @reptilianhq/chain-data-client test
pnpm --filter @reptilianhq/chain-data-client test:packedDependency Direction
This client depends on the exact published chain-data contract. Applications and compatibility facades may depend on this client; the contract and indexer must not depend on it.
Publishing
After the version commit reaches main, push
chain-data-client-v<version>. The checked workflow verifies the packed client
and publishes the exact tagged bytes to the public npm registry via OIDC
trusted publishing — no long-lived npm token is stored in this repository.
