UNPKG

@orca-so/wavebreak

Version:

The wavebreak JS client for interacting with the wavebreak program.

53 lines (52 loc) 5.25 kB
import { Address, Codec, Decoder, Encoder, IAccountMeta, IAccountSignerMeta, IInstruction, IInstructionWithAccounts, IInstructionWithData, ReadonlyAccount, ReadonlySignerAccount, 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_CPI_DISCRIMINATOR = 1; export declare function getPermissionConsumeCpiDiscriminatorBytes(): ReadonlyUint8Array; export type PermissionConsumeCpiInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountConsumer extends string | IAccountMeta<string> = string, TAccountConsumerProgramAuthority extends string | IAccountMeta<string> = string, TAccountPermissionConfig extends string | IAccountMeta<string> = string, TAccountConsumedPermission extends string | IAccountMeta<string> = string, TAccountSystemProgram extends string | IAccountMeta<string> = "11111111111111111111111111111111", TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[ TAccountConsumer extends string ? WritableSignerAccount<TAccountConsumer> & IAccountSignerMeta<TAccountConsumer> : TAccountConsumer, TAccountConsumerProgramAuthority extends string ? ReadonlySignerAccount<TAccountConsumerProgramAuthority> & IAccountSignerMeta<TAccountConsumerProgramAuthority> : TAccountConsumerProgramAuthority, TAccountPermissionConfig extends string ? WritableAccount<TAccountPermissionConfig> : TAccountPermissionConfig, TAccountConsumedPermission extends string ? WritableAccount<TAccountConsumedPermission> : TAccountConsumedPermission, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, ...TRemainingAccounts ]>; export type PermissionConsumeCpiInstructionData = { discriminator: number; permissionMessage: PermissionMessage; permissionSignature: PermissionSignature; consumerProgramAuthoritySeeds: Array<ReadonlyUint8Array>; }; export type PermissionConsumeCpiInstructionDataArgs = { permissionMessage: PermissionMessageArgs; permissionSignature: PermissionSignatureArgs; consumerProgramAuthoritySeeds: Array<ReadonlyUint8Array>; }; export declare function getPermissionConsumeCpiInstructionDataEncoder(): Encoder<PermissionConsumeCpiInstructionDataArgs>; export declare function getPermissionConsumeCpiInstructionDataDecoder(): Decoder<PermissionConsumeCpiInstructionData>; export declare function getPermissionConsumeCpiInstructionDataCodec(): Codec<PermissionConsumeCpiInstructionDataArgs, PermissionConsumeCpiInstructionData>; export type PermissionConsumeCpiInput<TAccountConsumer extends string = string, TAccountConsumerProgramAuthority extends string = string, TAccountPermissionConfig extends string = string, TAccountConsumedPermission extends string = string, TAccountSystemProgram extends string = string> = { consumer: TransactionSigner<TAccountConsumer>; consumerProgramAuthority: TransactionSigner<TAccountConsumerProgramAuthority>; permissionConfig: Address<TAccountPermissionConfig>; consumedPermission: Address<TAccountConsumedPermission>; systemProgram?: Address<TAccountSystemProgram>; permissionMessage: PermissionConsumeCpiInstructionDataArgs["permissionMessage"]; permissionSignature: PermissionConsumeCpiInstructionDataArgs["permissionSignature"]; consumerProgramAuthoritySeeds: PermissionConsumeCpiInstructionDataArgs["consumerProgramAuthoritySeeds"]; }; export declare function getPermissionConsumeCpiInstruction<TAccountConsumer extends string, TAccountConsumerProgramAuthority extends string, TAccountPermissionConfig extends string, TAccountConsumedPermission extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof WAVEBREAK_PROGRAM_ADDRESS>(input: PermissionConsumeCpiInput<TAccountConsumer, TAccountConsumerProgramAuthority, TAccountPermissionConfig, TAccountConsumedPermission, TAccountSystemProgram>, config?: { programAddress?: TProgramAddress; }): PermissionConsumeCpiInstruction<TProgramAddress, TAccountConsumer, TAccountConsumerProgramAuthority, TAccountPermissionConfig, TAccountConsumedPermission, TAccountSystemProgram>; export type ParsedPermissionConsumeCpiInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountMetas extends readonly IAccountMeta[] = readonly IAccountMeta[]> = { programAddress: Address<TProgram>; accounts: { consumer: TAccountMetas[0]; consumerProgramAuthority: TAccountMetas[1]; permissionConfig: TAccountMetas[2]; consumedPermission: TAccountMetas[3]; systemProgram: TAccountMetas[4]; }; data: PermissionConsumeCpiInstructionData; }; export declare function parsePermissionConsumeCpiInstruction<TProgram extends string, TAccountMetas extends readonly IAccountMeta[]>(instruction: IInstruction<TProgram> & IInstructionWithAccounts<TAccountMetas> & IInstructionWithData<Uint8Array>): ParsedPermissionConsumeCpiInstruction<TProgram, TAccountMetas>;