UNPKG

@exchanges/binance

Version:

Exchange provider for Binance API

42 lines (41 loc) 1.58 kB
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;