@orca-so/wavebreak
Version:
The wavebreak JS client for interacting with the wavebreak program.
41 lines (40 loc) • 3.76 kB
TypeScript
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>;