@kamino-finance/kliquidity-sdk
Version:
Typescript SDK for interacting with the Kamino Liquidity (kliquidity) protocol
82 lines • 8.99 kB
TypeScript
/**
* 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 Codec, type Decoder, type Encoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type Option, type OptionOrNullable, type ReadonlyAccount, type ReadonlySignerAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableAccount } from '@solana/kit';
import { WHIRLPOOL_PROGRAM_ADDRESS } from '../programs';
import { type RemainingAccountsInfo, type RemainingAccountsInfoArgs } from '../types';
export declare const SWAP_V2_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
export declare function getSwapV2DiscriminatorBytes(): ReadonlyUint8Array;
export type SwapV2Instruction<TProgram extends string = typeof WHIRLPOOL_PROGRAM_ADDRESS, TAccountTokenProgramA extends string | AccountMeta<string> = string, TAccountTokenProgramB extends string | AccountMeta<string> = string, TAccountMemoProgram extends string | AccountMeta<string> = string, TAccountTokenAuthority extends string | AccountMeta<string> = string, TAccountWhirlpool extends string | AccountMeta<string> = string, TAccountTokenMintA extends string | AccountMeta<string> = string, TAccountTokenMintB extends string | AccountMeta<string> = string, TAccountTokenOwnerAccountA extends string | AccountMeta<string> = string, TAccountTokenVaultA extends string | AccountMeta<string> = string, TAccountTokenOwnerAccountB extends string | AccountMeta<string> = string, TAccountTokenVaultB extends string | AccountMeta<string> = string, TAccountTickArray0 extends string | AccountMeta<string> = string, TAccountTickArray1 extends string | AccountMeta<string> = string, TAccountTickArray2 extends string | AccountMeta<string> = string, TAccountOracle extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[TAccountTokenProgramA extends string ? ReadonlyAccount<TAccountTokenProgramA> : TAccountTokenProgramA, TAccountTokenProgramB extends string ? ReadonlyAccount<TAccountTokenProgramB> : TAccountTokenProgramB, TAccountMemoProgram extends string ? ReadonlyAccount<TAccountMemoProgram> : TAccountMemoProgram, TAccountTokenAuthority extends string ? ReadonlySignerAccount<TAccountTokenAuthority> & AccountSignerMeta<TAccountTokenAuthority> : TAccountTokenAuthority, TAccountWhirlpool extends string ? WritableAccount<TAccountWhirlpool> : TAccountWhirlpool, TAccountTokenMintA extends string ? ReadonlyAccount<TAccountTokenMintA> : TAccountTokenMintA, TAccountTokenMintB extends string ? ReadonlyAccount<TAccountTokenMintB> : TAccountTokenMintB, TAccountTokenOwnerAccountA extends string ? WritableAccount<TAccountTokenOwnerAccountA> : TAccountTokenOwnerAccountA, TAccountTokenVaultA extends string ? WritableAccount<TAccountTokenVaultA> : TAccountTokenVaultA, TAccountTokenOwnerAccountB extends string ? WritableAccount<TAccountTokenOwnerAccountB> : TAccountTokenOwnerAccountB, TAccountTokenVaultB extends string ? WritableAccount<TAccountTokenVaultB> : TAccountTokenVaultB, TAccountTickArray0 extends string ? WritableAccount<TAccountTickArray0> : TAccountTickArray0, TAccountTickArray1 extends string ? WritableAccount<TAccountTickArray1> : TAccountTickArray1, TAccountTickArray2 extends string ? WritableAccount<TAccountTickArray2> : TAccountTickArray2, TAccountOracle extends string ? WritableAccount<TAccountOracle> : TAccountOracle, ...TRemainingAccounts]>;
export type SwapV2InstructionData = {
discriminator: ReadonlyUint8Array;
amount: bigint;
otherAmountThreshold: bigint;
sqrtPriceLimit: bigint;
amountSpecifiedIsInput: boolean;
aToB: boolean;
remainingAccountsInfo: Option<RemainingAccountsInfo>;
};
export type SwapV2InstructionDataArgs = {
amount: number | bigint;
otherAmountThreshold: number | bigint;
sqrtPriceLimit: number | bigint;
amountSpecifiedIsInput: boolean;
aToB: boolean;
remainingAccountsInfo: OptionOrNullable<RemainingAccountsInfoArgs>;
};
export declare function getSwapV2InstructionDataEncoder(): Encoder<SwapV2InstructionDataArgs>;
export declare function getSwapV2InstructionDataDecoder(): Decoder<SwapV2InstructionData>;
export declare function getSwapV2InstructionDataCodec(): Codec<SwapV2InstructionDataArgs, SwapV2InstructionData>;
export type SwapV2Input<TAccountTokenProgramA extends string = string, TAccountTokenProgramB extends string = string, TAccountMemoProgram extends string = string, TAccountTokenAuthority extends string = string, TAccountWhirlpool extends string = string, TAccountTokenMintA extends string = string, TAccountTokenMintB extends string = string, TAccountTokenOwnerAccountA extends string = string, TAccountTokenVaultA extends string = string, TAccountTokenOwnerAccountB extends string = string, TAccountTokenVaultB extends string = string, TAccountTickArray0 extends string = string, TAccountTickArray1 extends string = string, TAccountTickArray2 extends string = string, TAccountOracle extends string = string> = {
tokenProgramA: Address<TAccountTokenProgramA>;
tokenProgramB: Address<TAccountTokenProgramB>;
memoProgram: Address<TAccountMemoProgram>;
tokenAuthority: TransactionSigner<TAccountTokenAuthority>;
whirlpool: Address<TAccountWhirlpool>;
tokenMintA: Address<TAccountTokenMintA>;
tokenMintB: Address<TAccountTokenMintB>;
tokenOwnerAccountA: Address<TAccountTokenOwnerAccountA>;
tokenVaultA: Address<TAccountTokenVaultA>;
tokenOwnerAccountB: Address<TAccountTokenOwnerAccountB>;
tokenVaultB: Address<TAccountTokenVaultB>;
tickArray0: Address<TAccountTickArray0>;
tickArray1: Address<TAccountTickArray1>;
tickArray2: Address<TAccountTickArray2>;
oracle: Address<TAccountOracle>;
amount: SwapV2InstructionDataArgs["amount"];
otherAmountThreshold: SwapV2InstructionDataArgs["otherAmountThreshold"];
sqrtPriceLimit: SwapV2InstructionDataArgs["sqrtPriceLimit"];
amountSpecifiedIsInput: SwapV2InstructionDataArgs["amountSpecifiedIsInput"];
aToB: SwapV2InstructionDataArgs["aToB"];
remainingAccountsInfo: SwapV2InstructionDataArgs["remainingAccountsInfo"];
};
export declare function getSwapV2Instruction<TAccountTokenProgramA extends string, TAccountTokenProgramB extends string, TAccountMemoProgram extends string, TAccountTokenAuthority extends string, TAccountWhirlpool extends string, TAccountTokenMintA extends string, TAccountTokenMintB extends string, TAccountTokenOwnerAccountA extends string, TAccountTokenVaultA extends string, TAccountTokenOwnerAccountB extends string, TAccountTokenVaultB extends string, TAccountTickArray0 extends string, TAccountTickArray1 extends string, TAccountTickArray2 extends string, TAccountOracle extends string, TProgramAddress extends Address = typeof WHIRLPOOL_PROGRAM_ADDRESS>(input: SwapV2Input<TAccountTokenProgramA, TAccountTokenProgramB, TAccountMemoProgram, TAccountTokenAuthority, TAccountWhirlpool, TAccountTokenMintA, TAccountTokenMintB, TAccountTokenOwnerAccountA, TAccountTokenVaultA, TAccountTokenOwnerAccountB, TAccountTokenVaultB, TAccountTickArray0, TAccountTickArray1, TAccountTickArray2, TAccountOracle>, config?: {
programAddress?: TProgramAddress;
}): SwapV2Instruction<TProgramAddress, TAccountTokenProgramA, TAccountTokenProgramB, TAccountMemoProgram, TAccountTokenAuthority, TAccountWhirlpool, TAccountTokenMintA, TAccountTokenMintB, TAccountTokenOwnerAccountA, TAccountTokenVaultA, TAccountTokenOwnerAccountB, TAccountTokenVaultB, TAccountTickArray0, TAccountTickArray1, TAccountTickArray2, TAccountOracle>;
export type ParsedSwapV2Instruction<TProgram extends string = typeof WHIRLPOOL_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
programAddress: Address<TProgram>;
accounts: {
tokenProgramA: TAccountMetas[0];
tokenProgramB: TAccountMetas[1];
memoProgram: TAccountMetas[2];
tokenAuthority: TAccountMetas[3];
whirlpool: TAccountMetas[4];
tokenMintA: TAccountMetas[5];
tokenMintB: TAccountMetas[6];
tokenOwnerAccountA: TAccountMetas[7];
tokenVaultA: TAccountMetas[8];
tokenOwnerAccountB: TAccountMetas[9];
tokenVaultB: TAccountMetas[10];
tickArray0: TAccountMetas[11];
tickArray1: TAccountMetas[12];
tickArray2: TAccountMetas[13];
oracle: TAccountMetas[14];
};
data: SwapV2InstructionData;
};
export declare function parseSwapV2Instruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedSwapV2Instruction<TProgram, TAccountMetas>;
//# sourceMappingURL=swapV2.d.ts.map