UNPKG

@orca-so/whirlpool-sdk

Version:

Whirlpool SDK for the Orca protocol.

58 lines (57 loc) 2.84 kB
import { TransactionBuilder, WhirlpoolData } from "@orca-so/whirlpool-client-sdk"; import { Address } from "@project-serum/anchor"; import { PublicKey } from "@solana/web3.js"; import { InitPoolTxParam, InitRewardTxParam, SetRewardAuthorityTxParam, SetRewardEmissionsTxParam } from "../admin/public"; import { WhirlpoolContext } from "../context"; import { MultiTransactionBuilder } from "../utils/public"; import { Whirlpool } from "../whirlpool"; import { OpenPositionQuote, ClosePositionQuote, SwapQuote } from "./public"; import { LiquidityDistribution } from "./ux/liquidity-distribution"; export declare class WhirlpoolImpl implements Whirlpool { private readonly ctx; private readonly address; constructor(ctx: WhirlpoolContext, address: PublicKey); getAddress(): PublicKey; getAccount(refresh: boolean): Promise<WhirlpoolData | null>; init(param: InitPoolTxParam): { tx: TransactionBuilder; address: PublicKey; }; setFeeRate(feeRate: number): Promise<TransactionBuilder>; setProtocolFeeRate(protocolFeeRate: number): Promise<TransactionBuilder>; collectProtocolFee(): Promise<TransactionBuilder>; initReward(param: InitRewardTxParam): { tx: TransactionBuilder; rewardVault: PublicKey; }; setRewardAuthority(param: SetRewardAuthorityTxParam): TransactionBuilder; setRewardEmissions(param: SetRewardEmissionsTxParam): Promise<TransactionBuilder>; getLiquidityDistribution(tickLower: number, tickUpper: number, refresh?: boolean): Promise<LiquidityDistribution>; /** * Construct a transaction for opening an new position */ openPosition(quote: OpenPositionQuote): Promise<{ tx: MultiTransactionBuilder; mint: PublicKey; }>; getOpenPositionWithMetadataTx(quote: OpenPositionQuote): Promise<{ tx: MultiTransactionBuilder; mint: PublicKey; }>; getOpenPositionWithOptMetadataTx(quote: OpenPositionQuote, withMetadata?: boolean): Promise<{ tx: MultiTransactionBuilder; mint: PublicKey; }>; initTickArray(startTick: number): Promise<TransactionBuilder>; closePosition(quote: ClosePositionQuote): Promise<TransactionBuilder>; getLowestInitializedTickArrayTickIndex(ctx: WhirlpoolContext, poolAddress: Address, tickSpacing: number): Promise<number>; getHighestInitializedTickArrayTickIndex(ctx: WhirlpoolContext, poolAddress: Address, tickSpacing: number): Promise<number>; initTickArrayGap(): Promise<MultiTransactionBuilder>; /** * Construct a transaction for a swap */ swap(quote: SwapQuote): Promise<MultiTransactionBuilder>; private getDefaultSqrtPriceLimit; private getTickArrayPublicKeysForSwap; setRewardAuthorityBySuperAuthority(newRewardAuthority: Address, rewardIndex: number): TransactionBuilder; }