@avalanche-sdk/client
Version:
A TypeScript SDK for interacting with the Avalanche network through JSON-RPC APIs. This SDK provides a comprehensive set of tools to interact with all Avalanche chains (P-Chain, X-Chain, C-Chain) and various APIs, including wallet functionality for transa
35 lines • 2.54 kB
TypeScript
import { Account, Address, Chain, ParseAccount, Prettify, RpcSchema, Transport } from "viem";
import { AvalancheBaseClient, AvalancheBaseClientConfig, CreateAvalancheBaseClientErrorType, Extended } from "./createAvalancheBaseClient.js";
import { AvalancheTransportConfig, ClientType } from "./types/types.js";
export type AvalancheCoreClientConfig<transport extends Transport, chain extends Chain | undefined = Chain | undefined, accountOrAddress extends Account | Address | undefined = undefined, rpcSchema extends RpcSchema | undefined = undefined, raw extends boolean = false> = Prettify<Omit<AvalancheBaseClientConfig<transport, chain, accountOrAddress, rpcSchema>, "transport"> & {
transport: AvalancheTransportConfig<transport, rpcSchema, raw>;
apiKey?: string;
rlToken?: string;
clientType?: ClientType | undefined;
}>;
export type AvalancheCoreClient<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = undefined, rpcSchema extends RpcSchema | undefined = undefined, extended extends Extended | undefined = Extended | undefined> = Prettify<AvalancheBaseClient<transport, chain, account, rpcSchema, extended>>;
export type CreateAvalancheCoreClientErrorType = CreateAvalancheBaseClientErrorType;
/**
* Creates an Avalanche Core Client with a given transport configured for a Chain.
*
* The Avalanche Core Client is a base client that can be used to create other
* Avalanche clients or make rpc requests.
*
* @param parameters - {@link AvalancheCoreClientConfig}
* @returns A Avalanche Core Client. {@link AvalancheCoreClient}
*
* @example
* ```ts
* import { createAvalancheCoreClient } from '@avalanche-sdk/client'
* import { avalanche } from '@avalanche-sdk/client/chains'
*
* const client = createAvalancheCoreClient({
* chain: avalanche,
* transport: { type: "http" },
* })
*
* const block = await client.getBlock("latest")
* ```
*/
export declare function createAvalancheCoreClient<transport extends Transport, chain extends Chain | undefined = undefined, accountOrAddress extends Account | Address | undefined = undefined, rpcSchema extends RpcSchema | undefined = undefined, extended extends Extended | undefined = Extended | undefined, raw extends boolean = false>(parameters: AvalancheCoreClientConfig<transport, chain, accountOrAddress, rpcSchema, raw>): AvalancheCoreClient<transport, chain, ParseAccount<accountOrAddress>, rpcSchema, extended>;
//# sourceMappingURL=createAvalancheCoreClient.d.ts.map