UNPKG

@vaulverin/orca-sdk

Version:

Typescript SDK for the Orca protocol.

24 lines (23 loc) 1.84 kB
import { u64 } from "@solana/spl-token"; import { Connection, PublicKey, Keypair } from "@solana/web3.js"; import Decimal from "decimal.js"; import { OrcaU64, OrcaPool, OrcaToken, OrcaPoolToken, Quote, TransactionPayload, DepositQuote, WithdrawQuote, Network } from "../../../public"; import { OrcaPoolParams } from "./pool-types"; export declare class OrcaPoolImpl implements OrcaPool { protected connection: Connection; protected poolParams: OrcaPoolParams; protected orcaTokenSwapId: PublicKey; constructor(connection: Connection, network: Network, config: OrcaPoolParams); getTokenA(): OrcaPoolToken; getTokenB(): OrcaPoolToken; getPoolTokenMint(): PublicKey; getLPBalance(owner: PublicKey): Promise<OrcaU64>; getLPSupply(): Promise<OrcaU64>; getQuote(inputToken: OrcaToken, inputAmount: Decimal | OrcaU64, slippage?: Decimal): Promise<Quote>; getQuoteWithPoolAmounts(inputToken: OrcaToken, inputAmount: Decimal | OrcaU64, inputTokenPoolAmount: u64, outputTokenPoolAmount: u64, slippage?: Decimal): Promise<Quote>; swap(owner: Keypair | PublicKey, inputToken: OrcaToken, amountIn: Decimal | OrcaU64, minimumAmountOut: Decimal | OrcaU64): Promise<TransactionPayload>; getDepositQuote(maxTokenAIn: Decimal | OrcaU64, maxTokenBIn: Decimal | OrcaU64, slippage?: Decimal): Promise<DepositQuote>; deposit(owner: Keypair | PublicKey, maxTokenAIn: Decimal | OrcaU64, maxTokenBIn: Decimal | OrcaU64, minPoolTokenAmountOut: Decimal | OrcaU64): Promise<TransactionPayload>; getWithdrawQuote(withdrawTokenAmount: Decimal | OrcaU64, withdrawTokenMint: PublicKey, slippage?: Decimal): Promise<WithdrawQuote>; withdraw(owner: Keypair | PublicKey, poolTokenAmountIn: Decimal | OrcaU64, minTokenAOut: Decimal | OrcaU64, minTokenBOut: Decimal | OrcaU64): Promise<TransactionPayload>; }