UNPKG

@orca-so/wavebreak

Version:

The wavebreak JS client for interacting with the wavebreak program.

50 lines (49 loc) 4.9 kB
import { AccountMeta, AccountSignerMeta, Address, Codec, Decoder, Encoder, Instruction, InstructionWithAccounts, InstructionWithData, ReadonlyAccount, ReadonlyUint8Array, TransactionSigner, WritableAccount, WritableSignerAccount } from '@solana/kit'; import { WAVEBREAK_PROGRAM_ADDRESS } from '../programs'; import { PermissionMessage, PermissionMessageArgs, PermissionSignature, PermissionSignatureArgs } from '../types'; export declare const PERMISSION_CONSUME_TOP_LEVEL_DISCRIMINATOR = 0; export declare function getPermissionConsumeTopLevelDiscriminatorBytes(): ReadonlyUint8Array; export type PermissionConsumeTopLevelInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountConsumer extends string | AccountMeta<string> = string, TAccountPermissionConfig extends string | AccountMeta<string> = string, TAccountConsumedPermission extends string | AccountMeta<string> = string, TAccountSystemProgram extends string | AccountMeta<string> = "11111111111111111111111111111111", TAccountInstructions extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[ TAccountConsumer extends string ? WritableSignerAccount<TAccountConsumer> & AccountSignerMeta<TAccountConsumer> : TAccountConsumer, TAccountPermissionConfig extends string ? ReadonlyAccount<TAccountPermissionConfig> : TAccountPermissionConfig, TAccountConsumedPermission extends string ? WritableAccount<TAccountConsumedPermission> : TAccountConsumedPermission, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, TAccountInstructions extends string ? ReadonlyAccount<TAccountInstructions> : TAccountInstructions, ...TRemainingAccounts ]>; export type PermissionConsumeTopLevelInstructionData = { discriminator: number; permissionMessage: PermissionMessage; permissionSignature: PermissionSignature; }; export type PermissionConsumeTopLevelInstructionDataArgs = { permissionMessage: PermissionMessageArgs; permissionSignature: PermissionSignatureArgs; }; export declare function getPermissionConsumeTopLevelInstructionDataEncoder(): Encoder<PermissionConsumeTopLevelInstructionDataArgs>; export declare function getPermissionConsumeTopLevelInstructionDataDecoder(): Decoder<PermissionConsumeTopLevelInstructionData>; export declare function getPermissionConsumeTopLevelInstructionDataCodec(): Codec<PermissionConsumeTopLevelInstructionDataArgs, PermissionConsumeTopLevelInstructionData>; export type PermissionConsumeTopLevelInput<TAccountConsumer extends string = string, TAccountPermissionConfig extends string = string, TAccountConsumedPermission extends string = string, TAccountSystemProgram extends string = string, TAccountInstructions extends string = string> = { consumer: TransactionSigner<TAccountConsumer>; permissionConfig: Address<TAccountPermissionConfig>; consumedPermission: Address<TAccountConsumedPermission>; systemProgram?: Address<TAccountSystemProgram>; instructions: Address<TAccountInstructions>; permissionMessage: PermissionConsumeTopLevelInstructionDataArgs["permissionMessage"]; permissionSignature: PermissionConsumeTopLevelInstructionDataArgs["permissionSignature"]; }; export declare function getPermissionConsumeTopLevelInstruction<TAccountConsumer extends string, TAccountPermissionConfig extends string, TAccountConsumedPermission extends string, TAccountSystemProgram extends string, TAccountInstructions extends string, TProgramAddress extends Address = typeof WAVEBREAK_PROGRAM_ADDRESS>(input: PermissionConsumeTopLevelInput<TAccountConsumer, TAccountPermissionConfig, TAccountConsumedPermission, TAccountSystemProgram, TAccountInstructions>, config?: { programAddress?: TProgramAddress; }): PermissionConsumeTopLevelInstruction<TProgramAddress, TAccountConsumer, TAccountPermissionConfig, TAccountConsumedPermission, TAccountSystemProgram, TAccountInstructions>; export type ParsedPermissionConsumeTopLevelInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = { programAddress: Address<TProgram>; accounts: { consumer: TAccountMetas[0]; permissionConfig: TAccountMetas[1]; consumedPermission: TAccountMetas[2]; systemProgram: TAccountMetas[3]; instructions: TAccountMetas[4]; }; data: PermissionConsumeTopLevelInstructionData; }; export declare function parsePermissionConsumeTopLevelInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedPermissionConsumeTopLevelInstruction<TProgram, TAccountMetas>;