@orca-so/wavebreak
Version:
The wavebreak JS client for interacting with the wavebreak program.
47 lines (46 loc) • 4.48 kB
TypeScript
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 { PermissionSigner, PermissionSignerArgs } from '../types';
export declare const PERMISSION_CONFIG_INITIALIZE_DISCRIMINATOR = 2;
export declare function getPermissionConfigInitializeDiscriminatorBytes(): ReadonlyUint8Array;
export type PermissionConfigInitializeInstruction<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, TAccountSystemProgram extends string | AccountMeta<string> = "11111111111111111111111111111111", 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,
TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
...TRemainingAccounts
]>;
export type PermissionConfigInitializeInstructionData = {
discriminator: number;
permissionAuthority: PermissionSigner;
consumerProgram: Address;
};
export type PermissionConfigInitializeInstructionDataArgs = {
permissionAuthority: PermissionSignerArgs;
consumerProgram: Address;
};
export declare function getPermissionConfigInitializeInstructionDataEncoder(): FixedSizeEncoder<PermissionConfigInitializeInstructionDataArgs>;
export declare function getPermissionConfigInitializeInstructionDataDecoder(): FixedSizeDecoder<PermissionConfigInitializeInstructionData>;
export declare function getPermissionConfigInitializeInstructionDataCodec(): FixedSizeCodec<PermissionConfigInitializeInstructionDataArgs, PermissionConfigInitializeInstructionData>;
export type PermissionConfigInitializeInput<TAccountAuthority extends string = string, TAccountPermissionConfig extends string = string, TAccountAuthorityConfig extends string = string, TAccountSystemProgram extends string = string> = {
authority: TransactionSigner<TAccountAuthority>;
permissionConfig: Address<TAccountPermissionConfig>;
authorityConfig: Address<TAccountAuthorityConfig>;
systemProgram?: Address<TAccountSystemProgram>;
permissionAuthority: PermissionConfigInitializeInstructionDataArgs["permissionAuthority"];
consumerProgram: PermissionConfigInitializeInstructionDataArgs["consumerProgram"];
};
export declare function getPermissionConfigInitializeInstruction<TAccountAuthority extends string, TAccountPermissionConfig extends string, TAccountAuthorityConfig extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof WAVEBREAK_PROGRAM_ADDRESS>(input: PermissionConfigInitializeInput<TAccountAuthority, TAccountPermissionConfig, TAccountAuthorityConfig, TAccountSystemProgram>, config?: {
programAddress?: TProgramAddress;
}): PermissionConfigInitializeInstruction<TProgramAddress, TAccountAuthority, TAccountPermissionConfig, TAccountAuthorityConfig, TAccountSystemProgram>;
export type ParsedPermissionConfigInitializeInstruction<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];
systemProgram: TAccountMetas[3];
};
data: PermissionConfigInitializeInstructionData;
};
export declare function parsePermissionConfigInitializeInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedPermissionConfigInitializeInstruction<TProgram, TAccountMetas>;