UNPKG

binance

Version:

Professional Node.js & JavaScript SDK for Binance REST APIs & WebSockets, with TypeScript & end-to-end tests.

249 lines (248 loc) 11.2 kB
import { AxiosRequestConfig } from 'axios'; import { ClassicPortfolioMarginAccount, ClassicPortfolioMarginNotionalLimit, CoinMAccountTradeParams, CoinMOpenInterest, CoinMPositionTrade, CoinMSymbolOrderBookTicker, FundingRate, FuturesTransactionHistoryDownloadLink, GetClassicPortfolioMarginNotionalLimitParams, PositionRisk } from './types/coin'; import { AggregateFuturesTrade, CancelAllOpenOrdersResult, CancelFuturesOrderResult, CancelMultipleOrdersParams, CancelOrdersTimeoutParams, ChangeStats24hr, ContinuousContractKlinesParams, ForceOrderResult, FundingRateHistory, FuturesCoinMAccountBalance, FuturesCoinMAccountInformation, FuturesCoinMBasisParams, FuturesCoinMTakerBuySellVolumeParams, FuturesDataPaginatedParams, FuturesExchangeInfo, FuturesOrderBook, GetForceOrdersParams, GetIncomeHistoryParams, GetPositionMarginChangeHistoryParams, IncomeHistory, IndexPriceConstituents, IndexPriceKlinesParams, MarkPrice, ModeChangeResult, ModifyFuturesOrderParams, ModifyFuturesOrderResult, NewFuturesOrderParams, NewOrderError, NewOrderResult, OrderAmendment, OrderResult, PositionModeParams, PositionModeResponse, QuarterlyContractSettlementPrice, RawFuturesTrade, RebateDataOverview, SetCancelTimeoutResult, SetIsolatedMarginParams, SetIsolatedMarginResult, SetLeverageParams, SetLeverageResult, SetMarginTypeParams, SymbolKlinePaginatedParams, SymbolLeverageBracketsResult, UserCommissionRate } from './types/futures'; import { BasicSymbolPaginatedParams, CancelOrderParams, GenericCodeMsgError, GetAllOrdersParams, GetOrderModifyHistoryParams, GetOrderParams, HistoricalTradesParams, Kline, KlinesParams, OrderBookParams, RecentTradesParams, SymbolFromPaginatedRequestFromId, SymbolPrice } from './types/shared'; import BaseRestClient from './util/BaseRestClient'; import { RestClientOptions } from './util/requestUtils'; export declare class CoinMClient extends BaseRestClient { private clientId; constructor(restClientOptions?: RestClientOptions, requestOptions?: AxiosRequestConfig); /** * Abstraction required by each client to aid with time sync / drift handling */ getServerTime(): Promise<number>; /** * * Market Data Endpoints * **/ testConnectivity(): Promise<object>; getExchangeInfo(): Promise<FuturesExchangeInfo>; getOrderBook(params: OrderBookParams): Promise<FuturesOrderBook>; getRecentTrades(params: RecentTradesParams): Promise<RawFuturesTrade[]>; getHistoricalTrades(params: HistoricalTradesParams): Promise<RawFuturesTrade[]>; getAggregateTrades(params: SymbolFromPaginatedRequestFromId): Promise<AggregateFuturesTrade[]>; /** * Index Price and Mark Price */ getMarkPrice(params?: { symbol?: string; }): Promise<MarkPrice | MarkPrice[]>; getFundingRateHistory(params?: Partial<BasicSymbolPaginatedParams>): Promise<FundingRateHistory[]>; getFundingRate(params?: { symbol?: string; }): Promise<FundingRate[]>; getKlines(params: KlinesParams): Promise<Kline[]>; getContinuousContractKlines(params: ContinuousContractKlinesParams): Promise<Kline[]>; getIndexPriceKlines(params: IndexPriceKlinesParams): Promise<Kline[]>; getMarkPriceKlines(params: SymbolKlinePaginatedParams): Promise<Kline[]>; getPremiumIndexKlines(params: KlinesParams): Promise<Kline[]>; get24hrChangeStatistics(params?: { symbol?: string; pair?: string; }): Promise<ChangeStats24hr | ChangeStats24hr[]>; getSymbolPriceTicker(params?: { symbol?: string; pair?: string; }): Promise<SymbolPrice | SymbolPrice[]>; getSymbolOrderBookTicker(params?: { symbol?: string; pair?: string; }): Promise<CoinMSymbolOrderBookTicker[]>; getOpenInterest(params: { symbol: string; }): Promise<CoinMOpenInterest>; getOpenInterestStatistics(params: FuturesDataPaginatedParams): Promise<any>; getTopTradersLongShortAccountRatio(params: FuturesDataPaginatedParams): Promise<any>; getTopTradersLongShortPositionRatio(params: FuturesDataPaginatedParams & { pair?: string; }): Promise<any>; getGlobalLongShortAccountRatio(params: FuturesDataPaginatedParams): Promise<any>; getTakerBuySellVolume(params: FuturesCoinMTakerBuySellVolumeParams): Promise<any>; getCompositeSymbolIndex(params: FuturesCoinMBasisParams): Promise<any>; /** * possibly @deprecated * Only in old documentation, not in new one **/ getIndexPriceConstituents(params: { symbol: string; }): Promise<IndexPriceConstituents>; /** * possibly @deprecated * Only in old documentation, not in new one **/ getQuarterlyContractSettlementPrices(params: { pair: string; }): Promise<QuarterlyContractSettlementPrice[]>; /** * * Trade Endpoints * **/ submitNewOrder(params: NewFuturesOrderParams): Promise<NewOrderResult>; /** * Warning: max 5 orders at a time! This method does not throw, instead it returns individual errors in the response array if any orders were rejected. * * Known issue: `quantity` and `price` should be sent as strings */ submitMultipleOrders(orders: NewFuturesOrderParams<string>[]): Promise<(NewOrderResult | NewOrderError)[]>; /** * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue */ modifyOrder(params: ModifyFuturesOrderParams): Promise<ModifyFuturesOrderResult>; /** * Warning: max 5 orders at a time! This method does not throw, instead it returns individual errors in the response array if any orders were rejected. */ modifyMultipleOrders(orders: ModifyFuturesOrderParams[]): Promise<(ModifyFuturesOrderResult | NewOrderError)[]>; getOrderModifyHistory(params: GetOrderModifyHistoryParams): Promise<OrderAmendment[]>; cancelOrder(params: CancelOrderParams): Promise<CancelFuturesOrderResult>; cancelMultipleOrders(params: CancelMultipleOrdersParams): Promise<(CancelFuturesOrderResult | GenericCodeMsgError)[]>; cancelAllOpenOrders(params: { symbol?: string; }): Promise<CancelAllOpenOrdersResult>; setCancelOrdersOnTimeout(params: CancelOrdersTimeoutParams): Promise<SetCancelTimeoutResult>; getOrder(params: GetOrderParams): Promise<OrderResult>; getAllOrders(params: GetAllOrdersParams): Promise<OrderResult[]>; getAllOpenOrders(params?: { symbol?: string; }): Promise<OrderResult[]>; getCurrentOpenOrder(params: GetOrderParams): Promise<OrderResult>; getForceOrders(params?: GetForceOrdersParams): Promise<ForceOrderResult[]>; getAccountTrades(params: CoinMAccountTradeParams & { orderId?: number; }): Promise<CoinMPositionTrade[]>; getPositions(params?: { marginAsset?: string; pair?: string; }): Promise<PositionRisk[]>; setPositionMode(params: PositionModeParams): Promise<ModeChangeResult>; setMarginType(params: SetMarginTypeParams): Promise<ModeChangeResult>; setLeverage(params: SetLeverageParams): Promise<SetLeverageResult>; getADLQuantileEstimation(params?: { symbol?: string; }): Promise<any>; setIsolatedPositionMargin(params: SetIsolatedMarginParams): Promise<SetIsolatedMarginResult>; getPositionMarginChangeHistory(params: GetPositionMarginChangeHistoryParams): Promise<any>; /** * * Account Endpoints * **/ getBalance(): Promise<FuturesCoinMAccountBalance[]>; getAccountCommissionRate(params: { symbol?: string; }): Promise<UserCommissionRate>; getAccountInformation(): Promise<FuturesCoinMAccountInformation>; /** * Notional Bracket for Symbol (NOT "pair") */ getNotionalAndLeverageBrackets(params?: { symbol?: string; }): Promise<SymbolLeverageBracketsResult[] | SymbolLeverageBracketsResult>; getCurrentPositionMode(): Promise<PositionModeResponse>; getIncomeHistory(params?: GetIncomeHistoryParams): Promise<IncomeHistory[]>; getDownloadIdForFuturesTransactionHistory(params: { startTime: number; endTime: number; }): Promise<{ avgCostTimestampOfLast30d: number; downloadId: string; }>; getFuturesTransactionHistoryDownloadLink(params: { downloadId: string; }): Promise<FuturesTransactionHistoryDownloadLink>; getDownloadIdForFuturesOrderHistory(params: { startTime: number; endTime: number; }): Promise<{ avgCostTimestampOfLast30d: number; downloadId: string; }>; getFuturesOrderHistoryDownloadLink(params: { downloadId: string; }): Promise<FuturesTransactionHistoryDownloadLink>; getDownloadIdForFuturesTradeHistory(params: { startTime: number; endTime: number; }): Promise<{ avgCostTimestampOfLast30d: number; downloadId: string; }>; getFuturesTradeHistoryDownloadLink(params: { downloadId: string; }): Promise<FuturesTransactionHistoryDownloadLink>; /** * * Portfolio Margin Endpoints * **/ getClassicPortfolioMarginAccount(params: { asset: string; }): Promise<ClassicPortfolioMarginAccount>; /** * @deprecated at 6th August, 2024 **/ getClassicPortfolioMarginNotionalLimits(params?: GetClassicPortfolioMarginNotionalLimitParams): Promise<{ notionalLimits: ClassicPortfolioMarginNotionalLimit[]; }>; /** * * Broker Futures Endpoints * Possibly @deprecated, found only in old docs * All broker endpoints start with /sapi/v1/broker or sapi/v2/broker or sapi/v3/broker * **/ /** * @deprecated **/ getBrokerIfNewFuturesUser(brokerId: string, type?: 1 | 2): Promise<{ brokerId: string; rebateWorking: boolean; ifNewUser: boolean; }>; /** * @deprecated **/ setBrokerCustomIdForClient(customerId: string, email: string): Promise<{ customerId: string; email: string; }>; /** * @deprecated **/ getBrokerClientCustomIds(customerId: string, email: string, page?: number, limit?: number): Promise<any>; /** * @deprecated **/ getBrokerUserCustomId(brokerId: string): Promise<any>; /** * @deprecated **/ getBrokerRebateDataOverview(type?: 1 | 2): Promise<RebateDataOverview>; /** * @deprecated **/ getBrokerUserTradeVolume(type?: 1 | 2, startTime?: number, endTime?: number, limit?: number): Promise<any>; /** * @deprecated **/ getBrokerRebateVolume(type?: 1 | 2, startTime?: number, endTime?: number, limit?: number): Promise<any>; /** * @deprecated **/ getBrokerTradeDetail(type?: 1 | 2, startTime?: number, endTime?: number, limit?: number): Promise<any>; /** * * User Data Stream Endpoints * **/ getFuturesUserDataListenKey(): Promise<{ listenKey: string; }>; keepAliveFuturesUserDataListenKey(): Promise<object>; closeFuturesUserDataListenKey(): Promise<object>; /** * Validate syntax meets requirements set by binance. Log warning if not. */ private validateOrderId; }