gill
Version:
a modern javascript/typescript client library for interacting with the Solana blockchain
40 lines • 2.24 kB
TypeScript
import type { createSolanaRpc, createSolanaRpcSubscriptions, DevnetUrl, MainnetUrl, RpcFromTransport, RpcSubscriptions, RpcTransportFromClusterUrl, SolanaRpcApiFromTransport, SolanaRpcSubscriptionsApi, TestnetUrl } from "@solana/kit";
import { SendAndConfirmTransactionWithSignersFunction } from "../core/send-and-confirm-transaction-with-signers";
import type { SimulateTransactionFunction } from "../core/simulate-transaction";
/** Solana cluster moniker */
export type SolanaClusterMoniker = "mainnet" | "devnet" | "testnet" | "localnet";
export type LocalnetUrl = string & {
"~cluster": "localnet";
};
export type GenericUrl = string & {};
export type ModifiedClusterUrl = MainnetUrl | DevnetUrl | TestnetUrl | LocalnetUrl | GenericUrl;
export type SolanaClientUrlOrMoniker = SolanaClusterMoniker | URL | ModifiedClusterUrl;
export type CreateSolanaClientArgs<TClusterUrl extends SolanaClientUrlOrMoniker = GenericUrl> = {
/** Full RPC URL (for a private RPC endpoint) or the Solana moniker (for a public RPC endpoint) */
urlOrMoniker: SolanaClientUrlOrMoniker | TClusterUrl;
/** Configuration used to create the `rpc` client */
rpcConfig?: Parameters<typeof createSolanaRpc>[1] & {
port?: number;
};
/** Configuration used to create the `rpcSubscriptions` client */
rpcSubscriptionsConfig?: Parameters<typeof createSolanaRpcSubscriptions>[1] & {
port?: number;
};
};
export type SolanaClient<TClusterUrl extends ModifiedClusterUrl | string = string> = {
/** Used to make RPC calls to your RPC provider */
rpc: RpcFromTransport<SolanaRpcApiFromTransport<RpcTransportFromClusterUrl<TClusterUrl>>, RpcTransportFromClusterUrl<TClusterUrl>>;
/** Used to make RPC websocket calls to your RPC provider */
rpcSubscriptions: RpcSubscriptions<SolanaRpcSubscriptionsApi> & TClusterUrl;
/**
* Send and confirm a transaction to the network (including signing with available Signers)
*
* Default commitment level: `confirmed`
*/
sendAndConfirmTransaction: SendAndConfirmTransactionWithSignersFunction;
/**
* Simulate a transaction on the network
*/
simulateTransaction: SimulateTransactionFunction;
};
//# sourceMappingURL=rpc.d.ts.map