@exchanges/binance
Version:
Exchange provider for Binance API
42 lines (41 loc) • 1.58 kB
TypeScript
import { BinanceClient, BinanceKeyClient, BinanceSignedClient } from '../clients';
export declare type ApiCallHostType = 'spot' | 'usdtM' | 'coinM' | 'vanilla';
export interface ApiCallBaseOptions {
host: ApiCallHostType;
path: string;
}
export interface ApiCallDataOptions {
method: 'GET' | 'POST' | 'DELETE' | 'PUT';
data?: {
[name: string]: any;
};
}
export interface ApiCallClientPublicOptions {
securityType: 'NONE';
client: BinanceClient;
}
export interface ApiCallClientKeyOptions {
securityType: 'USER_STREAM' | 'MARKET_DATA';
client: BinanceKeyClient;
}
export interface ApiCallClientSignedOptions {
securityType: 'TRADE' | 'MARGIN' | 'USER_DATA';
client: BinanceSignedClient;
noTimestamp?: boolean;
noSignature?: boolean;
}
export interface ApiCallClientSocketOptions {
securityType: 'SOCKET';
client: BinanceClient;
}
export interface ApiCallClientUserDataOptions {
securityType: 'USER_DATA_STREAM';
client: BinanceKeyClient;
data?: {
[name: string]: any;
};
}
export declare type ApiCallOptions = ApiCallBaseOptions & ApiCallDataOptions & (ApiCallClientPublicOptions | ApiCallClientKeyOptions | ApiCallClientSignedOptions);
export declare type ApiCallCallbackOptions = ApiCallBaseOptions & (ApiCallClientSocketOptions | ApiCallClientUserDataOptions);
export declare function apiCall<TResponse>(options: ApiCallOptions): Promise<TResponse>;
export declare function apiCall<TResponse>(options: ApiCallCallbackOptions, callback: (data: TResponse, error?: any) => any): () => any;