tokenlon-sdk
Version:
imToken Tokenlon API for node
107 lines (106 loc) • 2.97 kB
TypeScript
import { DexOrderBNToString } from './base';
export declare namespace Server {
type Transformer = {
(data: any): any;
};
type RequestParams = {
[propName: string]: any;
};
type RequestConfig = {
url: string;
method: string;
baseURL?: string;
transformRequest?: Transformer | Transformer[];
transformResponse?: Transformer | Transformer[];
headers?: any;
params?: any;
paramsSerializer?: (params: any) => string;
data?: any;
timeout?: number;
withCredentials?: boolean;
responseType?: string;
xsrfCookieName?: string;
xsrfHeaderName?: string;
onUploadProgress?: (progressEvent: any) => void;
onDownloadProgress?: (progressEvent: any) => void;
maxContentLength?: number;
validateStatus?: (status: number) => boolean;
};
type tradeType = 'ask' | 'bid';
type GetTokenParams = {
timestamp: number;
signature: string;
};
type GetOrderBookParams = {
baseTokenAddress: string;
quoteTokenAddress: string;
};
type OrderBookItem = {
rate: number;
tradeType?: tradeType;
amountRemaining: string;
payload: DexOrderBNToString;
};
type OrderBookResult = {
bids: OrderBookItem[];
asks: OrderBookItem[];
};
type CancelOrderItem = {
orderHash: string;
txHash: string;
};
type FillOrderItem = {
order: DexOrderBNToString;
amount: string;
};
interface FillOrderParams extends FillOrderItem {
txHash: string;
}
type BatchFillOrdersParams = {
txHash: string;
orders: FillOrderItem[];
};
type GetOrdersParams = {
maker: string;
page?: number;
perpage?: number;
tokenPair?: string[];
};
type GetTradesParams = {
timeRange: number[];
baseTokenAddress: string;
quoteTokenAddress: string;
page: number;
perpage: number;
};
interface MakerTradesParams extends GetTradesParams {
maker: string;
}
interface TakerTradesParams extends GetTradesParams {
taker: string;
}
type TradesDetailItem = {
id: number;
price: number;
amount: number;
timestamp: number;
};
interface MakerTradesDetailItem extends TradesDetailItem {
txHash: string;
}
interface MakerTradesItem extends TradesDetailItem {
tradeType: tradeType;
amountRemaining: number;
expirationUnixTimestampSec: string;
payload: DexOrderBNToString;
trades: MakerTradesDetailItem[];
}
interface TakerTradesItem extends TradesDetailItem {
tradeType: tradeType;
payload: DexOrderBNToString;
txHash: string;
}
interface OrderDetail extends OrderBookItem {
trades: MakerTradesDetailItem[];
}
}