@orca-so/wavebreak
Version:
The wavebreak JS client for interacting with the wavebreak program.
47 lines (46 loc) • 4.29 kB
TypeScript
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_REVOKE_DISCRIMINATOR = 5;
export declare function getPermissionRevokeDiscriminatorBytes(): ReadonlyUint8Array;
export type PermissionRevokeInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountFunder extends string | AccountMeta<string> = string, TAccountPermissionConfig extends string | AccountMeta<string> = string, TAccountConsumedPermission extends string | AccountMeta<string> = string, TAccountSystemProgram extends string | AccountMeta<string> = "11111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
TAccountFunder extends string ? WritableSignerAccount<TAccountFunder> & AccountSignerMeta<TAccountFunder> : TAccountFunder,
TAccountPermissionConfig extends string ? ReadonlyAccount<TAccountPermissionConfig> : TAccountPermissionConfig,
TAccountConsumedPermission extends string ? WritableAccount<TAccountConsumedPermission> : TAccountConsumedPermission,
TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
...TRemainingAccounts
]>;
export type PermissionRevokeInstructionData = {
discriminator: number;
permissionMessage: PermissionMessage;
permissionSignature: PermissionSignature;
};
export type PermissionRevokeInstructionDataArgs = {
permissionMessage: PermissionMessageArgs;
permissionSignature: PermissionSignatureArgs;
};
export declare function getPermissionRevokeInstructionDataEncoder(): Encoder<PermissionRevokeInstructionDataArgs>;
export declare function getPermissionRevokeInstructionDataDecoder(): Decoder<PermissionRevokeInstructionData>;
export declare function getPermissionRevokeInstructionDataCodec(): Codec<PermissionRevokeInstructionDataArgs, PermissionRevokeInstructionData>;
export type PermissionRevokeInput<TAccountFunder extends string = string, TAccountPermissionConfig extends string = string, TAccountConsumedPermission extends string = string, TAccountSystemProgram extends string = string> = {
funder: TransactionSigner<TAccountFunder>;
permissionConfig: Address<TAccountPermissionConfig>;
consumedPermission: Address<TAccountConsumedPermission>;
systemProgram?: Address<TAccountSystemProgram>;
permissionMessage: PermissionRevokeInstructionDataArgs["permissionMessage"];
permissionSignature: PermissionRevokeInstructionDataArgs["permissionSignature"];
};
export declare function getPermissionRevokeInstruction<TAccountFunder extends string, TAccountPermissionConfig extends string, TAccountConsumedPermission extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof WAVEBREAK_PROGRAM_ADDRESS>(input: PermissionRevokeInput<TAccountFunder, TAccountPermissionConfig, TAccountConsumedPermission, TAccountSystemProgram>, config?: {
programAddress?: TProgramAddress;
}): PermissionRevokeInstruction<TProgramAddress, TAccountFunder, TAccountPermissionConfig, TAccountConsumedPermission, TAccountSystemProgram>;
export type ParsedPermissionRevokeInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
programAddress: Address<TProgram>;
accounts: {
funder: TAccountMetas[0];
permissionConfig: TAccountMetas[1];
consumedPermission: TAccountMetas[2];
systemProgram: TAccountMetas[3];
};
data: PermissionRevokeInstructionData;
};
export declare function parsePermissionRevokeInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedPermissionRevokeInstruction<TProgram, TAccountMetas>;