UNPKG

falbit-utils

Version:
86 lines (80 loc) 2.78 kB
declare function calculateAmountOut(rIn: number, rOut: number, amountIn: number, fee?: number): number; declare function calculateAmountIn(rIn: number, rOut: number, amountOut: number, fee?: number): number; declare const truncate: (num: number, d: number) => number; type OrderBook = { price: number; size: number; }; type OrderBooks = { bids: OrderBook[]; asks: OrderBook[]; }; type ReservePool = { r0: number; r1: number; }; type OrderType = "orderbook" | "amm"; declare const buyBase: (asks: OrderBook[], base: number, commission?: number, precisions?: number) => { base: number; quote: number; }; declare const buyQuote: (asks: OrderBook[], quote: number, commission?: number, precisions?: number) => { base: number; quote: number; }; declare const sellBase: (bids: OrderBook[], base: number, commission?: number, precisions?: number) => { base: number; quote: number; }; declare const sellQuote: (bids: OrderBook[], quote: number, commission?: number, precisions?: number) => { base: number; quote: number; }; declare class ArbitrageEngine { private DEFAULT_PRECISION; private orderbooks; private reserves; updateOrderBooks(exchange: string, pair: string, orderbooks: OrderBooks): void; updateReserves(exchange: string, pair: string, reserves: ReservePool): void; getAmountsOut({ route, exchanges, amountIn, fees, precisions, orderTypes, }: { route: string[]; exchanges: string[]; amountIn: number; fees?: number[]; precisions?: number[]; orderTypes?: OrderType[]; }): number[]; getAmountOut({ exchange, pair, amountIn, fee, precision, orderType, }: { exchange: string; pair: string; amountIn: number; fee?: number; precision?: number; orderType?: OrderType; }): { amountIn: number; amountOut: number; }; getAmountIn({ exchange, pair, amountOut, fee, precision, orderType, }: { exchange: string; pair: string; amountOut: number; fee?: number; precision?: number; orderType?: OrderType; }): { amountIn: number; amountOut: number; }; getOrderBooks(exchange: string, pair: string): OrderBooks | null; getReserves(exchange: string, pair: string): ReservePool | null; private _getAmountOutOrderBook; private _getAmountInOrderBook; private _getAmountOutAMM; private _getAmountInAMM; private _getReverseOrderbooks; private _getReverseReserves; private _setOrderBooks; private _setReserves; } export { ArbitrageEngine, OrderBook, OrderBooks, OrderType, ReservePool, buyBase, buyQuote, calculateAmountIn, calculateAmountOut, sellBase, sellQuote, truncate };