UNPKG

@orca-so/whirlpools-sdk

Version:

Typescript SDK to interact with Orca's Whirlpool program.

35 lines (34 loc) 2.57 kB
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; }