@coolwallet/sol
Version:
Coolwallet Solana sdk
46 lines (45 loc) • 1.96 kB
TypeScript
import { AccountKeysFromLookups, AddressLookupTableAccount, Blockhash, TransactionInstruction } from '../config/types';
import { MessageHeader, MessageAddressTableLookup, MessageCompiledInstruction } from './index';
import { PublicKey } from '../utils/publickey';
/**
* Message constructor arguments
*/
export type MessageV0Args = {
/** The message header, identifying signed and read-only `accountKeys` */
header: MessageHeader;
/** The static account keys used by this transaction */
staticAccountKeys: PublicKey[];
/** The hash of a recent ledger block */
recentBlockhash: Blockhash;
/** Instructions that will be executed in sequence and committed in one atomic transaction if all succeed. */
compiledInstructions: MessageCompiledInstruction[];
/** Instructions that will be executed in sequence and committed in one atomic transaction if all succeed. */
addressTableLookups: MessageAddressTableLookup[];
};
export type CompileV0Args = {
payerKey: PublicKey;
instructions: Array<TransactionInstruction>;
recentBlockhash: Blockhash;
addressLookupTableAccounts?: Array<AddressLookupTableAccount>;
};
export type GetAccountKeysArgs = {
accountKeysFromLookups?: AccountKeysFromLookups | null;
} | {
addressLookupTableAccounts?: AddressLookupTableAccount[] | null;
};
export declare class MessageV0 {
header: MessageHeader;
staticAccountKeys: Array<PublicKey>;
recentBlockhash: Blockhash;
compiledInstructions: Array<MessageCompiledInstruction>;
addressTableLookups: Array<MessageAddressTableLookup>;
constructor(args: MessageV0Args);
get version(): 0;
get numAccountKeysFromLookups(): number;
isAccountSigner(index: number): boolean;
isAccountWritable(index: number): boolean;
serialize(): Uint8Array;
private serializeInstructions;
private serializeAddressTableLookups;
static deserialize(serializedMessage: Uint8Array): MessageV0;
}