UNPKG

@alcorexchange/alcor-swap-sdk

Version:

​​ **npm** ``` npm i @alcorexchange/alcor-swap-sdk ``` **yarn** ``` yarn add @alcorexchange/alcor-swap-sdk ``` ## Usage ### Import:

46 lines (45 loc) 1.67 kB
import { Token, Pool, Route, Trade } from '../entities'; import { CurrencyAmount } from '../entities/fractions'; import { TradeType } from '../internalConstants'; /** * WASM-accelerated trade calculator */ export declare class WASMTradeCalculator { private initialized; private poolsMap; /** * Initialize with pools including full swap data */ initializeWithPools(pools: Pool[]): Promise<void>; /** * Calculate trade output for a single route (WASM-accelerated) */ calculateTradeOutput(route: Route<Token, Token>, amountIn: CurrencyAmount<Token>): { amountOut: CurrencyAmount<Token>; priceImpact: number; }; /** * Batch calculate trades for multiple routes and amounts */ calculateTradesBatch(routes: Route<Token, Token>[], amounts: CurrencyAmount<Token>[]): Array<{ route: Route<Token, Token>; amountIn: CurrencyAmount<Token>; amountOut: CurrencyAmount<Token>; priceImpact: number; } | null>; /** * Clear all pools from memory */ clear(): void; } /** * Create a WASM-accelerated Trade from a route */ export declare function createTradeFromRouteWASM(route: Route<Token, Token>, amount: CurrencyAmount<Token>, tradeType: TradeType, pools: Pool[]): Promise<Trade<Token, Token, TradeType>>; /** * Find best trade with split using WASM acceleration */ export declare function bestTradeWithSplitWASM(routes: Route<Token, Token>[], amount: CurrencyAmount<Token>, percents: number[], tradeType: TradeType, pools: Pool[], swapConfig?: { minSplits: number; maxSplits: number; }): Promise<Trade<Token, Token, TradeType> | null>;