import type { Address, Signature, Blockhash } from '@solana/kit'; export type TransactionVersion = 'legacy' | number; export interface TransactionMessageHeader { numRequiredSignatures: number; numReadonlySignedAccounts: number; numReadonlyUnsignedAccounts: number; } export interface CompiledInstruction { programIdIndex: number; accounts: number[]; data: string; } export interface TransactionMessage { accountKeys: Address[]; header: TransactionMessageHeader; instructions: CompiledInstruction[]; recentBlockhash: Blockhash; } export interface TokenBalance { accountIndex: number; mint: string; owner?: string; programId?: string; uiTokenAmount: { amount: string; decimals: number; uiAmount: number | null; uiAmountString: string; }; } export interface ConfirmedTransactionMeta { err: unknown; fee: number; innerInstructions?: Array<{ index: number; instructions: CompiledInstruction[]; }> | null; logMessages?: string[] | null; preBalances: number[]; postBalances: number[]; preTokenBalances?: TokenBalance[] | null; postTokenBalances?: TokenBalance[] | null; rewards?: unknown[] | null; loadedAddresses?: { writable: Address[]; readonly: Address[]; }; } export interface TransactionResponse { slot: number; blockTime?: number | null; transaction: { message: TransactionMessage; signatures: Signature[]; }; meta: ConfirmedTransactionMeta | null; version?: TransactionVersion; } export interface BlockResponse { blockhash: Blockhash; previousBlockhash: Blockhash; parentSlot: number; blockHeight?: number | null; blockTime?: number | null; transactions: Array<{ transaction: { message: TransactionMessage; signatures: Signature[]; }; meta: ConfirmedTransactionMeta | null; version?: TransactionVersion; }>; rewards?: unknown[]; } //# sourceMappingURL=solana-rpc-types.d.ts.map