UNPKG

@orca-so/wavebreak

Version:

The wavebreak JS client for interacting with the wavebreak program.

41 lines (40 loc) 3.76 kB
import { Address, Codec, Decoder, Encoder, IAccountMeta, IAccountSignerMeta, IInstruction, IInstructionWithAccounts, IInstructionWithData, ReadonlyAccount, 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(): import('@solana/kit').ReadonlyUint8Array; export type PermissionConfigUpdateInstruction<TProgram extends string = typeof WAVEBREAK_PROGRAM_ADDRESS, TAccountAuthority extends string | IAccountMeta<string> = string, TAccountPermissionConfig extends string | IAccountMeta<string> = string, TAccountAuthorityConfig extends string | IAccountMeta<string> = string, TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[ TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & IAccountSignerMeta<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(): Encoder<PermissionConfigUpdateInstructionDataArgs>; export declare function getPermissionConfigUpdateInstructionDataDecoder(): Decoder<PermissionConfigUpdateInstructionData>; export declare function getPermissionConfigUpdateInstructionDataCodec(): Codec<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 IAccountMeta[] = readonly IAccountMeta[]> = { 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 IAccountMeta[]>(instruction: IInstruction<TProgram> & IInstructionWithAccounts<TAccountMetas> & IInstructionWithData<Uint8Array>): ParsedPermissionConfigUpdateInstruction<TProgram, TAccountMetas>;