@renec-foundation/redex-sdk
Version:
Typescript SDK to interact with Orca's Whirlpool program.
24 lines (23 loc) • 1.43 kB
TypeScript
import { TransactionBuilder } from "@orca-so/common-sdk";
import { Address } from "@project-serum/anchor";
import { PublicKey } from "@solana/web3.js";
import { WhirlpoolContext } from "../context";
import { AccountFetcher } from "../network/public";
import { Position, Whirlpool, WhirlpoolClient } from "../whirlpool-client";
export declare class WhirlpoolClientImpl implements WhirlpoolClient {
readonly ctx: WhirlpoolContext;
constructor(ctx: WhirlpoolContext);
getContext(): WhirlpoolContext;
getFetcher(): AccountFetcher;
getPool(poolAddress: Address, refresh?: boolean): Promise<Whirlpool>;
getPools(poolAddresses: Address[], refresh?: boolean): Promise<Whirlpool[]>;
getAllPositionsOf(owner: PublicKey, refresh?: boolean): Promise<Position[]>;
getPosition(positionAddress: Address, refresh?: boolean): Promise<Position>;
getPositions(positionAddresses: Address[], refresh?: boolean): Promise<Record<string, Position | null>>;
createPool(whirlpoolsConfig: Address, tokenMintA: Address, tokenMintB: Address, tickSpacing: number, initialTick: number, funder: Address, refresh?: boolean): Promise<{
poolKey: PublicKey;
tx: TransactionBuilder;
}>;
collectFeesAndRewardsForPositions(positionAddresses: Address[], refresh?: boolean | undefined): Promise<TransactionBuilder[]>;
collectProtocolFeesForPools(poolAddresses: Address[]): Promise<TransactionBuilder>;
}