node-dsx-api
Version:
Node api for DSX.uk crypto exchange
67 lines (66 loc) • 1.77 kB
TypeScript
import { Exchange } from "./exchange";
export interface MarketInfo {
server_time: number;
pairs: {
[key: string]: Pair;
};
}
export interface Pair {
decimal_places: number;
min_price: number;
max_price: number;
min_amount: number;
hidden: number;
fee: number;
amount_decimal_places: number;
quoted_currency: string;
base_currency: string;
}
export declare type PriceQty = [number, number];
export declare function converToPriceAndQty(pq: PriceQty): {
price: number;
qty: number;
};
export interface OrderBook {
asks: Array<PriceQty>;
bids: Array<PriceQty>;
market_buy_price: number;
market_sell_price: number;
}
export declare type Trades = Trade[];
export interface Trade {
amount: number;
price: number;
timestamp: number;
tid: number;
type: "ask" | "bid";
}
export interface Ticker {
high: number;
low: number;
avg: number;
vol: number;
vol_cur: number;
last: number;
buy: number;
sell: number;
updated: number;
pair: string;
}
export interface Bar {
high: number;
open: number;
low: number;
close: number;
amount: number;
timestamp: number;
}
export declare class ExchangeMarket extends Exchange {
info(): Promise<MarketInfo>;
orderBook(pair: string): Promise<OrderBook>;
trades(pair: string, limit?: number): Promise<Trades>;
ticker(pair: string): Promise<Ticker>;
lastBars(pair: string, period: "m" | "h" | "d", amount: number): Promise<Bar[]>;
barsFromMoment(pair: string, period: "m" | "h" | "d", first_bar_close_time: number): Promise<Bar[]>;
periodBars(pair: string, period: "m" | "h" | "d", first_bar_close_time: any, last_bar_close_time: number): Promise<Bar[]>;
}