@nexex/orderbook-client
Version:
client for @nexex/orderbook
37 lines (36 loc) • 1.6 kB
TypeScript
/// <reference types="socket.io-client" />
import { OrderSide, PlainDexOrder } from '@nexex/types';
import { DownstreamPayload, Market, MarketConfig, OrderAggregate, Orderbook, OrderbookAggregate, OrderbookOrder } from '@nexex/types/orderbook';
import { Subject } from 'rxjs';
import { OrderbookWsClientConfig } from './';
import Socket = SocketIOClient.Socket;
declare type PlaceOrderResult = {
success: boolean;
error?: string;
};
export declare class OrderbookWsClient {
socket: Socket;
events$: Subject<DownstreamPayload>;
private config;
private lastSub;
constructor(config: OrderbookWsClientConfig);
/**
* internally will subscribe two order sequence from ob service
* @param baseTokenAddr
* @param quoteTokenAddr
* @return subscribeId
* @throws error if not connected
*/
subscribe(baseTokenAddr: any, quoteTokenAddr: any): void;
topOrders(marketId: string, limit?: number, decimals?: number): Promise<OrderbookAggregate>;
queryOrderAggregate(marketId: string, side: OrderSide, price: string): Promise<OrderAggregate>;
snapshot(marketId: string, limit?: number): Promise<Orderbook>;
reqSnapshot(marketId: string, limit?: number): void;
markets(): Promise<Market[]>;
queryOrder(orderHash: string): Promise<OrderbookOrder>;
queryOrderBatch(marketId: string, side: OrderSide, orderHashs: string[]): Promise<PlainDexOrder[]>;
marketConfig(marketId: string): Promise<MarketConfig>;
placeOrder(orderHash: string, order: PlainDexOrder): Promise<PlaceOrderResult>;
private parse;
}
export {};