UNPKG

@orca-so/wavebreak

Version:

The wavebreak JS client for interacting with the wavebreak program.

41 lines (40 loc) 3.81 kB
import { AccountMeta, AccountSignerMeta, Address, FixedSizeCodec, FixedSizeDecoder, FixedSizeEncoder, Instruction, InstructionWithAccounts, InstructionWithData, ReadonlyAccount, ReadonlyUint8Array, TransactionSigner, WritableAccount, WritableSignerAccount } from '@solana/kit'; import { WAVEBREAK_PROGRAM_ADDRESS } from '../programs'; import { PermissionConfigUpdateType, PermissionConfigUpdateTypeArgs } from '../types'; export declare const PERMISSION_CONFIG_UPDATE_DISCRIMINATOR = 3; export declare function getPermissionConfigUpdateDiscriminatorBytes(): ReadonlyUint8Array; export type PermissionConfigUpdateInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountPermissionConfig extends string | AccountMeta<string> = string, TAccountAuthorityConfig extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[ TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority, TAccountPermissionConfig extends string ? WritableAccount<TAccountPermissionConfig> : TAccountPermissionConfig, TAccountAuthorityConfig extends string ? ReadonlyAccount<TAccountAuthorityConfig> : TAccountAuthorityConfig, ...TRemainingAccounts ]>; export type PermissionConfigUpdateInstructionData = { discriminator: number; update: PermissionConfigUpdateType; }; export type PermissionConfigUpdateInstructionDataArgs = { update: PermissionConfigUpdateTypeArgs; }; export declare function getPermissionConfigUpdateInstructionDataEncoder(): FixedSizeEncoder<PermissionConfigUpdateInstructionDataArgs>; export declare function getPermissionConfigUpdateInstructionDataDecoder(): FixedSizeDecoder<PermissionConfigUpdateInstructionData>; export declare function getPermissionConfigUpdateInstructionDataCodec(): FixedSizeCodec<PermissionConfigUpdateInstructionDataArgs, PermissionConfigUpdateInstructionData>; export type PermissionConfigUpdateInput<TAccountAuthority extends string = string, TAccountPermissionConfig extends string = string, TAccountAuthorityConfig extends string = string> = { authority: TransactionSigner<TAccountAuthority>; permissionConfig: Address<TAccountPermissionConfig>; authorityConfig: Address<TAccountAuthorityConfig>; update: PermissionConfigUpdateInstructionDataArgs["update"]; }; export declare function getPermissionConfigUpdateInstruction<TAccountAuthority extends string, TAccountPermissionConfig extends string, TAccountAuthorityConfig extends string, TProgramAddress extends Address = typeof WAVEBREAK_PROGRAM_ADDRESS>(input: PermissionConfigUpdateInput<TAccountAuthority, TAccountPermissionConfig, TAccountAuthorityConfig>, config?: { programAddress?: TProgramAddress; }): PermissionConfigUpdateInstruction<TProgramAddress, TAccountAuthority, TAccountPermissionConfig, TAccountAuthorityConfig>; export type ParsedPermissionConfigUpdateInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = { programAddress: Address<TProgram>; accounts: { authority: TAccountMetas[0]; permissionConfig: TAccountMetas[1]; authorityConfig: TAccountMetas[2]; }; data: PermissionConfigUpdateInstructionData; }; export declare function parsePermissionConfigUpdateInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedPermissionConfigUpdateInstruction<TProgram, TAccountMetas>;