@orca-so/whirlpools-sdk
Version:
Typescript SDK to interact with Orca's Whirlpool program.
46 lines (45 loc) • 1.78 kB
TypeScript
import type { BN, Program } from "@coral-xyz/anchor";
import type { Instruction } from "@orca-so/common-sdk";
import { type AccountMeta, type PublicKey } from "@solana/web3.js";
import type { Whirlpool } from "../../artifacts/whirlpool";
export type RepositionLiquidityV2Params = {
newTickLowerIndex: number;
newTickUpperIndex: number;
whirlpool: PublicKey;
tokenProgramA: PublicKey;
tokenProgramB: PublicKey;
positionAuthority: PublicKey;
funder: PublicKey;
position: PublicKey;
positionTokenAccount: PublicKey;
tokenMintA: PublicKey;
tokenMintB: PublicKey;
tokenOwnerAccountA: PublicKey;
tokenOwnerAccountB: PublicKey;
tokenVaultA: PublicKey;
tokenVaultB: PublicKey;
tokenTransferHookDepositAccountsA?: AccountMeta[];
tokenTransferHookDepositAccountsB?: AccountMeta[];
tokenTransferHookWithdrawalAccountsA?: AccountMeta[];
tokenTransferHookWithdrawalAccountsB?: AccountMeta[];
existingTickArrayLower: PublicKey;
existingTickArrayUpper: PublicKey;
newTickArrayLower: PublicKey;
newTickArrayUpper: PublicKey;
memoProgram?: PublicKey;
systemProgram?: PublicKey;
} & RepositionLiquidityInput;
type RepositionLiquidityInput = ByLiquidityMethodParams;
export type RepositionLiquidityMethod = {
byLiquidity: ByLiquidityMethodParams;
};
export type ByLiquidityMethodParams = {
newLiquidityAmount: BN;
existingRangeTokenMinA: BN;
existingRangeTokenMinB: BN;
newRangeTokenMaxA: BN;
newRangeTokenMaxB: BN;
};
export declare function getRepositionLiquidityMethod(params: RepositionLiquidityInput): RepositionLiquidityMethod;
export declare function repositionLiquidityV2Ix(program: Program<Whirlpool>, params: RepositionLiquidityV2Params): Instruction;
export {};