export { http } from './http.js'; import { createSolanaRpc } from '@solana/kit'; import { Provider as BaseProvider } from '../../index.js'; export type SolanaRpc = ReturnType; /** * EIP1474Methods for Solana Provider. */ export type EIP1474Methods = [ { Method: 'sol_getAccountInfo'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getBalance'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getBlock'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getBlockCommitment'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getBlockHeight'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getBlockProduction'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getBlocks'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getBlocksWithLimit'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getBlockTime'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getClusterNodes'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getEpochInfo'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getEpochSchedule'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getFeeForMessage'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getFirstAvailableBlock'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getGenesisHash'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getHealth'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getHighestSnapshotSlot'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getIdentity'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getInflationGovernor'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getInflationRate'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getInflationReward'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getLargestAccounts'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getLatestBlockhash'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getLeaderSchedule'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getMaxRetransmitSlot'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getMaxShredInsertSlot'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getMinimumBalanceForRentExemption'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getMultipleAccounts'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getProgramAccounts'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getRecentPerformanceSamples'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getRecentPrioritizationFees'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getSignaturesForAddress'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getSignatureStatuses'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getSlot'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getSlotLeader'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getSlotLeaders'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getSupply'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getTokenAccountBalance'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getTokenAccountsByDelegate'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getTokenAccountsByOwner'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getTokenLargestAccounts'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getTokenSupply'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getTransaction'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getTransactionCount'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getVersion'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getVoteAccounts'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_isBlockhashValid'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_minimumLedgerSlot'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_sendTransaction'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_simulateTransaction'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_switchCluster'; Parameters: Parameters; ReturnType: ReturnType; }, { Method: 'sol_getClusterName'; Parameters: Parameters; ReturnType: ReturnType; } ]; /** * Solana Provider that implements EIP-1193 interface for Solana RPC methods * * {@link https://solana.com/docs/rpc/http | Solana JSON-RPC HTTP API Reference} */ export declare class Provider extends BaseProvider { protected readonly _clusters: Map; constructor({ clusters, }: { clusters?: Readonly>>; }); protected sol_getClusterName(): string; protected sol_switchCluster(clusterName: 'devnet' | 'mainnet-beta'): import("@solana/kit").Rpc; private get cluster(); protected sol_getAccountInfo(...params: Parameters): Promise; value: (Readonly<{ executable: boolean; lamports: import("@solana/kit").Lamports; owner: import("@solana/kit").Address; rentEpoch: bigint; space: bigint; }> & Readonly<{ data: import("@solana/kit").Base58EncodedBytes; }>) | null; }>>; protected sol_getBalance(...params: Parameters): Promise; value: import("@solana/kit").Lamports; }>>; protected sol_getBlock(...params: Parameters): Promise<(Readonly<{ blockHeight: bigint; blockTime: import("@solana/kit").UnixTimestamp; blockhash: import("@solana/kit").Blockhash; parentSlot: import("@solana/kit").Slot; previousBlockhash: import("@solana/kit").Blockhash; }> & Readonly<{ rewards: readonly import("@solana/kit").Reward[]; }> & Readonly<{ transactions: readonly Readonly<{ meta: ((Readonly<{ computeUnitsConsumed?: bigint; logMessages: readonly string[] | null; returnData?: { data: import("@solana/kit").Base64EncodedDataResponse; programId: import("@solana/kit").Address; }; rewards: readonly import("@solana/kit").Reward[] | null; }> & Readonly<{ err: import("@solana/kit").TransactionError | null; fee: import("@solana/kit").Lamports; postBalances: readonly import("@solana/kit").Lamports[]; postTokenBalances?: readonly import("@solana/kit").TokenBalance[]; preBalances: readonly import("@solana/kit").Lamports[]; preTokenBalances?: readonly import("@solana/kit").TokenBalance[]; status: import("@solana/kit").TransactionStatus; }>) & import("@solana/kit").TransactionForFullMetaInnerInstructionsUnparsed) | null; transaction: Readonly<{ message: Readonly<{ accountKeys: readonly import("@solana/kit").Address[]; instructions: readonly (Readonly<{ data: import("@solana/kit").Base58EncodedBytes; }> & Partial> & Readonly<{ accounts: readonly number[]; programIdIndex: number; }>)[]; }> & Readonly<{ header: { numReadonlySignedAccounts: number; numReadonlyUnsignedAccounts: number; numRequiredSignatures: number; }; recentBlockhash: import("@solana/kit").Blockhash; }>; }> & Readonly<{ signatures: readonly import("@solana/kit").Base58EncodedBytes[]; }>; }>[]; }>) | null>; protected sol_getBlockCommitment(...params: Parameters): Promise>; protected sol_getBlockHeight(...params: Parameters): Promise; protected sol_getBlockProduction(...params: Parameters): Promise; value: Readonly<{ byIdentity: { [x: import("@solana/nominal-types").NominalType<"brand", "Address"> & import("@solana/nominal-types").NominalType<"stringEncoding", "base58"> & string]: [numLeaderSlots: bigint, numBlocksProduced: bigint]; }; range: Readonly<{ firstSlot: import("@solana/kit").Slot; lastSlot?: import("@solana/kit").Slot; }>; }>; }>>; protected sol_getBlocks(...params: Parameters): Promise; protected sol_getBlocksWithLimit(...params: Parameters): Promise; protected sol_getBlockTime(...params: Parameters): Promise; protected sol_getClusterNodes(...params: Parameters): Promise[]>; protected sol_getEpochInfo(...params: Parameters): Promise>; protected sol_getEpochSchedule(...params: Parameters): Promise>; protected sol_getFeeForMessage(...params: Parameters): Promise; value: import("@solana/kit").Lamports | null; }>>; protected sol_getFirstAvailableBlock(...params: Parameters): Promise; protected sol_getGenesisHash(...params: Parameters): Promise; protected sol_getHealth(...params: Parameters): Promise<"ok">; protected sol_getHighestSnapshotSlot(...params: Parameters): Promise>; protected sol_getIdentity(...params: Parameters): Promise>; protected sol_getInflationGovernor(...params: Parameters): Promise>; protected sol_getInflationRate(...params: Parameters): Promise>; protected sol_getInflationReward(...params: Parameters): Promise | null)[]>; protected sol_getLargestAccounts(...params: Parameters): Promise; value: readonly Readonly<{ address: import("@solana/kit").Address; lamports: import("@solana/kit").Lamports; }>[]; }>>; protected sol_getLatestBlockhash(...params: Parameters): Promise; value: Readonly<{ blockhash: import("@solana/kit").Blockhash; lastValidBlockHeight: bigint; }>; }>>; protected sol_getLeaderSchedule(...params: Parameters): Promise<{ [x: import("@solana/nominal-types").NominalType<"brand", "Address"> & import("@solana/nominal-types").NominalType<"stringEncoding", "base58"> & string]: bigint[]; }>; protected sol_getMaxRetransmitSlot(...params: Parameters): Promise; protected sol_getMaxShredInsertSlot(...params: Parameters): Promise; protected sol_getMinimumBalanceForRentExemption(...params: Parameters): Promise; protected sol_getMultipleAccounts(...params: Parameters): Promise; value: ((Readonly<{ executable: boolean; lamports: import("@solana/kit").Lamports; owner: import("@solana/kit").Address; rentEpoch: bigint; space: bigint; }> & Readonly<{ data: import("@solana/kit").Base64EncodedDataResponse; }>) | null)[]; }>>; protected sol_getProgramAccounts(...params: Parameters): Promise & Readonly<{ data: import("@solana/kit").Base58EncodedBytes; }>; pubkey: import("@solana/kit").Address; }>[]>; protected sol_getRecentPerformanceSamples(...params: Parameters): Promise[]>; protected sol_getRecentPrioritizationFees(...params: Parameters): Promise[]>; protected sol_getSignaturesForAddress(...params: Parameters): Promise[]>; protected sol_getSignatureStatuses(...params: Parameters): Promise; value: readonly (Readonly<{ confirmationStatus: import("@solana/kit").Commitment | null; confirmations: bigint | null; err: import("@solana/kit").TransactionError | null; slot: import("@solana/kit").Slot; status: Readonly<{ Err: import("@solana/kit").TransactionError; }> | Readonly<{ Ok: null; }>; }> | null)[]; }>>; protected sol_getSlot(...params: Parameters): Promise; protected sol_getSlotLeader(...params: Parameters): Promise & import("@solana/nominal-types").NominalType<"stringEncoding", "base58"> & string>; protected sol_getSlotLeaders(...params: Parameters): Promise; protected sol_getSupply(...params: Parameters): Promise; value: Readonly<{ circulating: import("@solana/kit").Lamports; nonCirculating: import("@solana/kit").Lamports; total: import("@solana/kit").Lamports; }> & Readonly<{ nonCirculatingAccounts: import("@solana/kit").Address[]; }>; }>>; protected sol_getTokenAccountBalance(...params: Parameters): Promise; value: Readonly<{ amount: import("@solana/kit").StringifiedBigInt; decimals: number; uiAmount: number | null; uiAmountString: import("@solana/kit").StringifiedNumber; }>; }>>; protected sol_getTokenAccountsByDelegate(...params: Parameters): Promise; value: readonly Readonly<{ account: Readonly<{ executable: boolean; lamports: import("@solana/kit").Lamports; owner: import("@solana/kit").Address; rentEpoch: bigint; space: bigint; }> & Readonly<{ data: import("@solana/kit").Base58EncodedBytes; }>; pubkey: import("@solana/kit").Address; }>[]; }>>; protected sol_getTokenAccountsByOwner(...params: Parameters): Promise; value: readonly Readonly<{ account: Readonly<{ executable: boolean; lamports: import("@solana/kit").Lamports; owner: import("@solana/kit").Address; rentEpoch: bigint; space: bigint; }> & Readonly<{ data: import("@solana/kit").Base58EncodedBytes; }>; pubkey: import("@solana/kit").Address; }>[]; }>>; protected sol_getTokenLargestAccounts(...params: Parameters): Promise; value: readonly (Readonly<{ address: import("@solana/kit").Address; }> & Readonly<{ amount: import("@solana/kit").StringifiedBigInt; decimals: number; uiAmount: number | null; uiAmountString: import("@solana/kit").StringifiedNumber; }>)[]; }>>; protected sol_getTokenSupply(...params: Parameters): Promise; value: Readonly<{ amount: import("@solana/kit").StringifiedBigInt; decimals: number; uiAmount: number | null; uiAmountString: import("@solana/kit").StringifiedNumber; }>; }>>; protected sol_getTransaction(...params: Parameters): Promise<(Readonly<{ blockTime: import("@solana/kit").UnixTimestamp | null; slot: import("@solana/kit").Slot; }> & ((Record | { version: import("@solana/kit").TransactionVersion; }) & { meta: (Readonly<{ computeUnitsConsumed?: bigint; err: import("@solana/kit").TransactionError | null; fee: import("@solana/kit").Lamports; logMessages: readonly string[] | null; postBalances: readonly import("@solana/kit").Lamports[]; postTokenBalances?: readonly import("@solana/kit").TokenBalance[]; preBalances: readonly import("@solana/kit").Lamports[]; preTokenBalances?: readonly import("@solana/kit").TokenBalance[]; returnData?: { data: import("@solana/kit").Base64EncodedDataResponse; programId: import("@solana/kit").Address; }; rewards: readonly import("@solana/kit").Reward[] | null; status: import("@solana/kit").TransactionStatus; }> & (Readonly<{ innerInstructions?: readonly Readonly<{ index: number; instructions: readonly (Readonly<{ data: import("@solana/kit").Base58EncodedBytes; }> & Partial> & Readonly<{ accounts: readonly number[]; programIdIndex: number; }>)[]; }>[] | null; }> & (Record | Readonly<{ loadedAddresses: { readonly: readonly import("@solana/kit").Address[]; writable: readonly import("@solana/kit").Address[]; }; }>))) | null; transaction: Readonly<{ message: { accountKeys: readonly import("@solana/kit").Address[]; header: { numReadonlySignedAccounts: number; numReadonlyUnsignedAccounts: number; numRequiredSignatures: number; }; instructions: readonly (Readonly<{ data: import("@solana/kit").Base58EncodedBytes; }> & Partial> & Readonly<{ accounts: readonly number[]; programIdIndex: number; }>)[]; }; }> & (Readonly<{ message: { recentBlockhash: import("@solana/kit").Blockhash; }; signatures: readonly import("@solana/kit").Base58EncodedBytes[]; }> & (Record | Readonly<{ message: Readonly<{ addressTableLookups: readonly Readonly<{ accountKey: import("@solana/kit").Address; readonlyIndexes: readonly number[]; writableIndexes: readonly number[]; }>[]; }>; }>)); })) | null>; protected sol_getTransactionCount(...params: Parameters): Promise; protected sol_getVersion(...params: Parameters): Promise>; protected sol_getVoteAccounts(...params: Parameters): Promise[]; delinquent: readonly Readonly<{ activatedStake: bigint; commission: number; epochCredits: readonly [bigint, bigint, bigint][]; epochVoteAccount: boolean; lastVote: bigint; nodePubkey: import("@solana/kit").Address; rootSlot: import("@solana/kit").Slot; votePubkey: import("@solana/kit").Address; }>[]; }>>; protected sol_isBlockhashValid(...params: Parameters): Promise; value: boolean; }>>; protected sol_minimumLedgerSlot(...params: Parameters): Promise; protected sol_sendTransaction(...params: Parameters): Promise; protected sol_simulateTransaction(...params: Parameters): Promise; value: Readonly<{ readonly accounts: null; }> & Readonly<{ err: import("@solana/kit").TransactionError | null; logs: string[] | null; returnData: Readonly<{ data: import("@solana/kit").Base64EncodedDataResponse; programId: import("@solana/kit").Address; }> | null; unitsConsumed?: bigint; }>; }>>; }