UNPKG

@crocswap-libs/sdk

Version:

🛠🐊🛠 An SDK for building applications on top of CrocSwap

78 lines (77 loc) 3.29 kB
import { TransactionResponse } from 'ethers'; import { CrocContext } from "./context"; import { CrocSurplusFlags } from "./encoding/flags"; import { CrocTokenView, TokenQty } from './tokens'; type PriceRange = [number, number]; type TickRange = [number, number]; type BlockTag = number | string; export declare class CrocPoolView { constructor(quoteToken: CrocTokenView, baseToken: CrocTokenView, context: Promise<CrocContext>); isInit(): Promise<boolean>; spotPrice(block?: BlockTag): Promise<number>; displayPrice(block?: BlockTag): Promise<number>; spotTick(block?: BlockTag): Promise<number>; xykLiquidity(block?: BlockTag): Promise<TokenQty>; curveState(block?: BlockTag): Promise<{ priceRoot_: bigint; ambientSeeds_: bigint; concLiq_: bigint; seedDeflator_: bigint; concGrowth_: bigint; }>; cumAmbientGrowth(block?: BlockTag): Promise<number>; toDisplayPrice(spotPrice: number | bigint): Promise<number>; fromDisplayPrice(dispPrice: number): Promise<number>; displayToPinTick(dispPrice: number): Promise<[number, number]>; displayToNeighborTicks(dispPrice: number, nNeighbors?: number): Promise<{ below: number[]; above: number[]; }>; displayToNeighborTickPrices(dispPrice: number, nNeighbors?: number): Promise<{ below: number[]; above: number[]; }>; displayToOutsidePin(dispPrice: number): Promise<{ tick: number; price: number; isTickBelow: boolean; isPriceBelow: boolean; }>; initPool(initPrice: number): Promise<TransactionResponse>; mintAmbientBase(qty: TokenQty, limits: PriceRange, opts?: CrocLpOpts): Promise<TransactionResponse>; mintAmbientQuote(qty: TokenQty, limits: PriceRange, opts?: CrocLpOpts): Promise<TransactionResponse>; mintRangeBase(qty: TokenQty, range: TickRange, limits: PriceRange, opts?: CrocLpOpts): Promise<TransactionResponse>; mintRangeQuote(qty: TokenQty, range: TickRange, limits: PriceRange, opts?: CrocLpOpts): Promise<TransactionResponse>; burnAmbientLiq(liq: bigint, limits: PriceRange, opts?: CrocLpOpts): Promise<TransactionResponse>; burnAmbientAll(limits: PriceRange, opts?: CrocLpOpts): Promise<TransactionResponse>; burnRangeLiq(liq: bigint, range: TickRange, limits: PriceRange, opts?: CrocLpOpts): Promise<TransactionResponse>; harvestRange(range: TickRange, limits: PriceRange, opts?: CrocLpOpts): Promise<TransactionResponse>; private sendCmd; private mintAmbient; private boundLimits; private rangeToPrice; private transformLimits; private untransformLimits; private mintRange; private maskSurplusFlag; private msgValAmbient; private msgValRange; private ethToAttach; private ethForAmbientQuote; private calcEthInQuote; private ethForRangeQuote; private normEth; private normQty; private makeEncoder; readonly baseToken: CrocTokenView; readonly quoteToken: CrocTokenView; readonly baseDecimals: Promise<number>; readonly quoteDecimals: Promise<number>; readonly useTrueBase: boolean; readonly context: Promise<CrocContext>; } export interface CrocLpOpts { surplus?: CrocSurplusFlags; floatingSlippage?: number; } export {};