UNPKG

@arkiv-network/sdk

Version:

TypeScript client library for Arkiv's blockchains interactions

122 lines (121 loc) • 4.04 kB
import * as viem0 from "viem"; //#region src/chains/localhost.d.ts /** * A node running on the local machine */ declare const localhost: { blockExplorers?: { [key: string]: { name: string; url: string; apiUrl?: string | undefined; }; default: { name: string; url: string; apiUrl?: string | undefined; }; } | undefined | undefined; blockTime?: number | undefined | undefined; contracts?: { [x: string]: viem0.ChainContract | { [sourceId: number]: viem0.ChainContract | undefined; } | undefined; ensRegistry?: viem0.ChainContract | undefined; ensUniversalResolver?: viem0.ChainContract | undefined; multicall3?: viem0.ChainContract | undefined; erc6492Verifier?: viem0.ChainContract | undefined; } | undefined; ensTlds?: readonly string[] | undefined; id: 1337; name: "Localhost"; nativeCurrency: { readonly decimals: 18; readonly name: "Ether"; readonly symbol: "ETH"; }; experimental_preconfirmationTime?: number | undefined | undefined; rpcUrls: { readonly default: { readonly http: readonly ["http://127.0.0.1:8545"]; }; }; sourceId?: number | undefined | undefined; testnet?: boolean | undefined | undefined; custom?: Record<string, unknown> | undefined; fees?: viem0.ChainFees<undefined> | undefined; formatters?: undefined; serializers?: viem0.ChainSerializers<undefined, viem0.TransactionSerializable> | undefined; }; //#endregion //#region src/chains/rabdi.d.ts type ArkivChainOptions = { /** * An Arkiv RPC access key, sent as the last segment of the RPC URLs' path. It is not a secret, as * it ships with any app that talks to the chain, but restrict it to your origins or IPs. Get a * free one at https://hub.arkiv.network/access-keys. * * `""` uses the public endpoint, which is heavily rate limited. */ accessKey: string; }; /** * Rabdi is Arkiv's testnet. The chain carries the access key in its RPC URLs, so every transport * that defaults to the chain's URL (`http()`, `webSocket()`, wagmi's transports) and every wallet * the chain is added to sends it. * * @throws {MissingAccessKeyError} When the key is missing. Pass `""` to go without one * * @example * import { createPublicClient } from "@arkiv-network/sdk" * import { rabdi } from "@arkiv-network/sdk/chains" * import { http } from "viem" * * const client = createPublicClient({ * chain: rabdi({ accessKey: "..." }), * transport: http(), * }) */ declare function rabdi(options: ArkivChainOptions): { blockExplorers: { readonly default: { readonly name: "Rabdi Explorer"; readonly url: "https://rabdi.explorer.arkiv.network"; }; }; blockTime?: number | undefined | undefined; contracts?: { [x: string]: viem0.ChainContract | { [sourceId: number]: viem0.ChainContract | undefined; } | undefined; ensRegistry?: viem0.ChainContract | undefined; ensUniversalResolver?: viem0.ChainContract | undefined; multicall3?: viem0.ChainContract | undefined; erc6492Verifier?: viem0.ChainContract | undefined; } | undefined; ensTlds?: readonly string[] | undefined; id: 7794095; name: "Rabdi"; nativeCurrency: { readonly name: "Golem"; readonly symbol: "tGLM"; readonly decimals: 18; }; experimental_preconfirmationTime?: number | undefined | undefined; rpcUrls: { readonly default: { readonly http: readonly [`https://rpc.rabdi.db-chain.testnet.arkiv.network${string}`]; readonly webSocket: readonly [`wss://rpc.rabdi.db-chain.testnet.arkiv.network${string}`]; }; }; sourceId?: number | undefined | undefined; testnet: true; custom?: Record<string, unknown> | undefined; fees?: viem0.ChainFees<undefined> | undefined; formatters?: undefined; serializers?: viem0.ChainSerializers<undefined, viem0.TransactionSerializable> | undefined; readonly network: "rabdi"; }; //#endregion export { type ArkivChainOptions, localhost, rabdi }; //# sourceMappingURL=index.d.ts.map