@orca-so/whirlpools-sdk
Version:
Typescript SDK to interact with Orca's Whirlpool program.
35 lines (34 loc) • 2.57 kB
TypeScript
import type { Address } from "@coral-xyz/anchor";
import { TransactionBuilder } from "@orca-so/common-sdk";
import { PublicKey } from "@solana/web3.js";
import type { WhirlpoolContext } from "../context";
import type { ByTokenAmountsParams, DecreaseLiquidityInput } from "../instructions";
import type { WhirlpoolAccountFetchOptions } from "../network/public/fetcher";
import type { LockConfigData, LockTypeData, PositionData, TickArrayData, TickData, WhirlpoolData } from "../types/public";
import type { Position } from "../whirlpool-client";
export declare class PositionImpl implements Position {
readonly ctx: WhirlpoolContext;
readonly address: PublicKey;
readonly positionMintTokenProgramId: PublicKey;
private data;
private whirlpoolData;
private lowerTickArrayData;
private upperTickArrayData;
constructor(ctx: WhirlpoolContext, address: PublicKey, data: PositionData, whirlpoolData: WhirlpoolData, lowerTickArrayData: TickArrayData, upperTickArrayData: TickArrayData, positionMintTokenProgramId: PublicKey);
getAddress(): PublicKey;
getPositionMintTokenProgramId(): PublicKey;
getData(): PositionData;
getWhirlpoolData(): WhirlpoolData;
getLowerTickData(): TickData;
getUpperTickData(): TickData;
refreshData(): Promise<PositionData>;
increaseLiquidity(liquidityInput: ByTokenAmountsParams, resolveATA?: boolean, sourceWallet?: Address, positionWallet?: Address, ataPayer?: Address): Promise<TransactionBuilder>;
decreaseLiquidity(liquidityInput: DecreaseLiquidityInput, resolveATA?: boolean, sourceWallet?: Address, positionWallet?: Address, ataPayer?: Address): Promise<TransactionBuilder>;
collectFees(updateFeesAndRewards?: boolean, ownerTokenAccountMap?: Partial<Record<string, Address>>, destinationWallet?: Address, positionWallet?: Address, ataPayer?: Address, opts?: WhirlpoolAccountFetchOptions): Promise<TransactionBuilder>;
collectRewards(rewardsToCollect?: Address[], updateFeesAndRewards?: boolean, ownerTokenAccountMap?: Partial<Record<string, Address>>, destinationWallet?: Address, positionWallet?: Address, ataPayer?: Address, opts?: WhirlpoolAccountFetchOptions): Promise<TransactionBuilder[]>;
lock(lockType: LockTypeData, positionWallet?: Address, funder?: Address): Promise<TransactionBuilder>;
resetPositionRange(tickLowerIndex: number, tickUpperIndex: number, positionWallet?: Address, funder?: Address): Promise<TransactionBuilder>;
getLockConfigData(): Promise<LockConfigData | null>;
private refresh;
private updateFeesAndRewards;
}