/** * This code was AUTOGENERATED using the Codama library. * Please DO NOT EDIT THIS FILE, instead use visitors * to add features, then rerun Codama to update it. * * @see https://github.com/codama-idl/codama */ import { type AccountMeta, type AccountSignerMeta, type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type ReadonlyAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableAccount, type WritableSignerAccount } from "@solana/kit"; import { PERPETUALS_PROGRAM_ADDRESS } from "../programs"; export declare const REMOVE_LIQUIDITY_DISCRIMINATOR: Uint8Array; export declare function getRemoveLiquidityDiscriminatorBytes(): ReadonlyUint8Array; export type RemoveLiquidityInstruction = string, TAccountReceivingAccount extends string | AccountMeta = string, TAccountLpTokenAccount extends string | AccountMeta = string, TAccountTransferAuthority extends string | AccountMeta = string, TAccountPerpetuals extends string | AccountMeta = string, TAccountPool extends string | AccountMeta = string, TAccountCustody extends string | AccountMeta = string, TAccountCustodyOracleAccount extends string | AccountMeta = string, TAccountCustodyTokenAccount extends string | AccountMeta = string, TAccountLpTokenMint extends string | AccountMeta = string, TAccountTokenProgram extends string | AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TAccountEventAuthority extends string | AccountMeta = string, TAccountProgram extends string | AccountMeta = string, TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[ TAccountOwner extends string ? WritableSignerAccount & AccountSignerMeta : TAccountOwner, TAccountReceivingAccount extends string ? WritableAccount : TAccountReceivingAccount, TAccountLpTokenAccount extends string ? WritableAccount : TAccountLpTokenAccount, TAccountTransferAuthority extends string ? ReadonlyAccount : TAccountTransferAuthority, TAccountPerpetuals extends string ? ReadonlyAccount : TAccountPerpetuals, TAccountPool extends string ? WritableAccount : TAccountPool, TAccountCustody extends string ? WritableAccount : TAccountCustody, TAccountCustodyOracleAccount extends string ? ReadonlyAccount : TAccountCustodyOracleAccount, TAccountCustodyTokenAccount extends string ? WritableAccount : TAccountCustodyTokenAccount, TAccountLpTokenMint extends string ? WritableAccount : TAccountLpTokenMint, TAccountTokenProgram extends string ? ReadonlyAccount : TAccountTokenProgram, TAccountEventAuthority extends string ? ReadonlyAccount : TAccountEventAuthority, TAccountProgram extends string ? ReadonlyAccount : TAccountProgram, ...TRemainingAccounts ]>; export type RemoveLiquidityInstructionData = { discriminator: ReadonlyUint8Array; lpAmountIn: bigint; minAmountOut: bigint; }; export type RemoveLiquidityInstructionDataArgs = { lpAmountIn: number | bigint; minAmountOut: number | bigint; }; export declare function getRemoveLiquidityInstructionDataEncoder(): FixedSizeEncoder; export declare function getRemoveLiquidityInstructionDataDecoder(): FixedSizeDecoder; export declare function getRemoveLiquidityInstructionDataCodec(): FixedSizeCodec; export type RemoveLiquidityInput = { owner: TransactionSigner; receivingAccount: Address; lpTokenAccount: Address; transferAuthority: Address; perpetuals: Address; pool: Address; custody: Address; custodyOracleAccount: Address; custodyTokenAccount: Address; lpTokenMint: Address; tokenProgram?: Address; eventAuthority: Address; program: Address; lpAmountIn: RemoveLiquidityInstructionDataArgs["lpAmountIn"]; minAmountOut: RemoveLiquidityInstructionDataArgs["minAmountOut"]; }; export declare function getRemoveLiquidityInstruction(input: RemoveLiquidityInput, config?: { programAddress?: TProgramAddress; }): RemoveLiquidityInstruction; export type ParsedRemoveLiquidityInstruction = { programAddress: Address; accounts: { owner: TAccountMetas[0]; receivingAccount: TAccountMetas[1]; lpTokenAccount: TAccountMetas[2]; transferAuthority: TAccountMetas[3]; perpetuals: TAccountMetas[4]; pool: TAccountMetas[5]; custody: TAccountMetas[6]; custodyOracleAccount: TAccountMetas[7]; custodyTokenAccount: TAccountMetas[8]; lpTokenMint: TAccountMetas[9]; tokenProgram: TAccountMetas[10]; eventAuthority: TAccountMetas[11]; program: TAccountMetas[12]; }; data: RemoveLiquidityInstructionData; }; export declare function parseRemoveLiquidityInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedRemoveLiquidityInstruction; //# sourceMappingURL=removeLiquidity.d.ts.map