UNPKG

samo-bas-ran

Version:
53 lines 1.78 kB
import { TransactionType } from '../transactions'; import { BaseTransaction } from './base'; /** * Account metadata used to define instructions */ export type SolanaInstructionKey = { pubkey: string; isSigner: boolean; isWritable: boolean; }; /** * Transaction Instruction class */ export type SolanaInstruction = { keys: SolanaInstructionKey[]; programId: string; data: number[]; }; /** * Pair of signature and corresponding public key */ export type SolanaSignature = { signature: number[]; publicKey: string; }; /** * This type of transaction is used for all solana transactions * * @property {TransactionType} type - This fields equals to SOLANA for all SolanaTransactions * @property {'LEGACY' | 'VERSIONED'} txType - Type of the solana transaction * @property {string} blockChain, equals to SOLANA * @property {string} from, Source wallet address * @property {string} identifier, Transaction hash used in case of retry * @property {string | null} recentBlockhash, A recent blockhash * @property {SolanaSignature[]} signatures, Signatures for the transaction * @property {number[] | null} serializedMessage, The byte array of the transaction * @property {SolanaInstruction[]} instructions, The instructions to atomically execute * */ export interface SolanaTransaction extends BaseTransaction { type: TransactionType.SOLANA; txType: 'LEGACY' | 'VERSIONED'; from: string; identifier: string; recentBlockhash: string | null; signatures: SolanaSignature[]; serializedMessage: number[] | null; instructions: SolanaInstruction[]; } export declare const isSolanaTransaction: (transaction: { type: TransactionType; }) => transaction is SolanaTransaction; //# sourceMappingURL=solana.d.ts.map