UNPKG

binance

Version:

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

345 lines (344 loc) 15.4 kB
import { AxiosRequestConfig } from 'axios'; import { CancelPortfolioCMConditionalOrderReq, CancelPortfolioCMOrderReq, CancelPortfolioMarginOCOReq, CancelPortfolioMarginOrderReq, CancelPortfolioUMConditionalOrderReq, CancelPortfolioUMOrderReq, DownloadLinkResponse, GetMarginInterestHistoryReq, GetMarginLoanRecordsReq, GetMarginRepayRecordsReq, GetPortfolioInterestHistoryReq, ModifyPortfolioCMOrderReq, ModifyPortfolioUMOrderReq, NewPortfolioCMConditionalOrderReq, NewPortfolioCMConditionalOrderResponse, NewPortfolioCMOrderReq, NewPortfolioCMOrderResponse, NewPortfolioConditionalOrderResponse, NewPortfolioMarginOCOReq, NewPortfolioMarginOCOResponse, NewPortfolioMarginOrderReq, NewPortfolioMarginOrderResponse, NewPortfolioUMConditionalOrderReq, NewPortfolioUMOrderReq, NewPortfolioUMOrderResponse, PortfolioAccountInformation, PortfolioADLQuantile, PortfolioBalance, PortfolioCMAccountAsset, PortfolioCMAccountPosition, PortfolioCMCancelConditionalOrderResponse, PortfolioCMCancelOrderResponse, PortfolioCMConditionalHistoryOrder, PortfolioCMConditionalOrder, PortfolioCMForceOrder, PortfolioCMIncome, PortfolioCMLeverageBracket, PortfolioCMModifyOrderResponse, PortfolioCMOrder, PortfolioCMOrderModificationHistory, PortfolioCMPosition, PortfolioCMTrade, PortfolioMarginCancelAllOrdersResponse, PortfolioMarginCancelOrderResponse, PortfolioMarginForceOrder, PortfolioMarginInterestRecord, PortfolioMarginLoanRecord, PortfolioMarginOCO, PortfolioMarginOCOCancelResponse, PortfolioMarginOrder, PortfolioMarginRepayDebtReq, PortfolioMarginRepayDebtResponse, PortfolioMarginRepayRecord, PortfolioMarginTrade, PortfolioNegativeBalanceInterestRecord, PortfolioTradingStatus, PortfolioUMAccountAsset, PortfolioUMAccountAssetV2, PortfolioUMAccountConfig, PortfolioUMAccountPosition, PortfolioUMAccountPositionV2, PortfolioUMCancelConditionalOrderResponse, PortfolioUMCancelOrderResponse, PortfolioUMConditionalOrder, PortfolioUMForceOrder, PortfolioUMIncome, PortfolioUMLeverageBracket, PortfolioUMModifyOrderResponse, PortfolioUMOrder, PortfolioUMOrderModificationHistory, PortfolioUMPosition, PortfolioUMSymbolConfig, PortfolioUMTrade, QueryPortfolioAllCMConditionalOrdersReq, QueryPortfolioAllCMOrdersReq, QueryPortfolioAllUMConditionalOrdersReq, QueryPortfolioAllUMOrdersReq, QueryPortfolioCMConditionalOrderHistoryReq, QueryPortfolioCMForceOrdersReq, QueryPortfolioCMIncomeReq, QueryPortfolioCMOpenOrderReq, QueryPortfolioCMOrderAmendmentReq, QueryPortfolioCMOrderReq, QueryPortfolioCMTradesReq, QueryPortfolioMarginAllOCOReq, QueryPortfolioMarginAllOrdersReq, QueryPortfolioMarginForceOrdersReq, QueryPortfolioMarginOCOReq, QueryPortfolioMarginOrderReq, QueryPortfolioMarginTradesReq, QueryPortfolioUMConditionalOrderHistoryReq, QueryPortfolioUMForceOrdersReq, QueryPortfolioUMIncomeReq, QueryPortfolioUMOpenConditionalOrderReq, QueryPortfolioUMOpenOrderReq, QueryPortfolioUMOrderAmendmentReq, QueryPortfolioUMOrderReq, QueryPortfolioUMTradesReq } from './types/portfolio-margin'; import { BinanceBaseUrlKey } from './types/shared'; import BaseRestClient from './util/BaseRestClient'; import { RestClientOptions } from './util/requestUtils'; /** * REST client for Portfolio Margin APIs (papi) * * https://developers.binance.com/docs/derivatives/portfolio-margin/general-info */ export declare class PortfolioClient extends BaseRestClient { private clientId; constructor(restClientOptions?: RestClientOptions, requestOptions?: AxiosRequestConfig); getClientId(): BinanceBaseUrlKey; /** * Abstraction required by each client to aid with time sync / drift handling */ getServerTime(): Promise<number>; /** * * Misc Endpoints * **/ testConnectivity(): Promise<object>; /** * * DERIVATIVES -TRADE endpoints * **/ submitNewUMOrder(params: NewPortfolioUMOrderReq): Promise<NewPortfolioUMOrderResponse>; submitNewUMConditionalOrder(params: NewPortfolioUMConditionalOrderReq): Promise<NewPortfolioConditionalOrderResponse>; submitNewCMOrder(params: NewPortfolioCMOrderReq): Promise<NewPortfolioCMOrderResponse>; submitNewCMConditionalOrder(params: NewPortfolioCMConditionalOrderReq): Promise<NewPortfolioCMConditionalOrderResponse>; submitNewMarginOrder(params: NewPortfolioMarginOrderReq): Promise<NewPortfolioMarginOrderResponse>; submitMarginLoan(params: { asset: string; amount: string; }): Promise<{ tranId: number; }>; submitMarginRepay(params: { asset: string; amount: string; }): Promise<{ tranId: number; }>; submitNewMarginOCO(params: NewPortfolioMarginOCOReq): Promise<NewPortfolioMarginOCOResponse>; cancelUMOrder(params: CancelPortfolioUMOrderReq): Promise<PortfolioUMCancelOrderResponse>; cancelAllUMOrders(params: { symbol: string; }): Promise<{ code: number; msg: string; }>; cancelUMConditionalOrder(params: CancelPortfolioUMConditionalOrderReq): Promise<PortfolioUMCancelConditionalOrderResponse>; cancelAllUMConditionalOrders(params: { symbol: string; }): Promise<{ code: number; msg: string; }>; cancelCMOrder(params: CancelPortfolioCMOrderReq): Promise<PortfolioCMCancelOrderResponse>; cancelAllCMOrders(params: { symbol: string; }): Promise<{ code: number; msg: string; }>; cancelCMConditionalOrder(params: CancelPortfolioCMConditionalOrderReq): Promise<PortfolioCMCancelConditionalOrderResponse>; cancelAllCMConditionalOrders(params: { symbol: string; }): Promise<{ code: number; msg: string; }>; cancelMarginOrder(params: CancelPortfolioMarginOrderReq): Promise<PortfolioMarginCancelOrderResponse>; cancelMarginOCO(params: CancelPortfolioMarginOCOReq): Promise<PortfolioMarginOCOCancelResponse>; cancelAllMarginOrders(params: { symbol: string; }): Promise<PortfolioMarginCancelAllOrdersResponse[]>; modifyUMOrder(params: ModifyPortfolioUMOrderReq): Promise<PortfolioUMModifyOrderResponse>; modifyCMOrder(params: ModifyPortfolioCMOrderReq): Promise<PortfolioCMModifyOrderResponse>; getUMOrder(params: QueryPortfolioUMOrderReq): Promise<PortfolioUMOrder>; getAllUMOrders(params: QueryPortfolioAllUMOrdersReq): Promise<PortfolioUMOrder[]>; getUMOpenOrder(params: QueryPortfolioUMOpenOrderReq): Promise<PortfolioUMOrder>; getAllUMOpenOrders(params: { symbol?: string; }): Promise<PortfolioUMOrder[]>; getAllUMConditionalOrders(params: QueryPortfolioAllUMConditionalOrdersReq): Promise<PortfolioUMConditionalOrder[]>; getUMOpenConditionalOrders(params: { symbol?: string; }): Promise<PortfolioUMConditionalOrder[]>; getUMOpenConditionalOrder(params: QueryPortfolioUMOpenConditionalOrderReq): Promise<PortfolioUMConditionalOrder>; getUMConditionalOrderHistory(params: QueryPortfolioUMConditionalOrderHistoryReq): Promise<PortfolioUMConditionalOrder>; getCMOrder(params: QueryPortfolioCMOrderReq): Promise<PortfolioCMOrder>; getAllCMOrders(params: QueryPortfolioAllCMOrdersReq): Promise<PortfolioCMOrder[]>; getCMOpenOrder(params: QueryPortfolioCMOpenOrderReq): Promise<PortfolioCMOrder>; getAllCMOpenOrders(params: { symbol?: string; pair?: string; }): Promise<PortfolioCMOrder[]>; getCMOpenConditionalOrders(params: { symbol?: string; }): Promise<PortfolioCMConditionalOrder[]>; getCMOpenConditionalOrder(params: { symbol: string; strategyId?: number; newClientStrategyId?: string; }): Promise<PortfolioCMConditionalOrder>; getAllCMConditionalOrders(params: QueryPortfolioAllCMConditionalOrdersReq): Promise<PortfolioCMConditionalOrder[]>; getCMConditionalOrderHistory(params: QueryPortfolioCMConditionalOrderHistoryReq): Promise<PortfolioCMConditionalHistoryOrder>; getUMForceOrders(params: QueryPortfolioUMForceOrdersReq): Promise<PortfolioUMForceOrder[]>; getCMForceOrders(params: QueryPortfolioCMForceOrdersReq): Promise<PortfolioCMForceOrder[]>; getUMOrderModificationHistory(params: QueryPortfolioUMOrderAmendmentReq): Promise<PortfolioUMOrderModificationHistory[]>; getCMOrderModificationHistory(params: QueryPortfolioCMOrderAmendmentReq): Promise<PortfolioCMOrderModificationHistory[]>; getMarginForceOrders(params: QueryPortfolioMarginForceOrdersReq): Promise<{ rows: PortfolioMarginForceOrder[]; total: number; }>; getUMTrades(params: QueryPortfolioUMTradesReq): Promise<PortfolioUMTrade[]>; getCMTrades(params: QueryPortfolioCMTradesReq): Promise<PortfolioCMTrade[]>; getUMADLQuantile(params: { symbol?: string; }): Promise<{ symbol: string; adlQuantile: PortfolioADLQuantile; }[]>; getCMADLQuantile(params: { symbol?: string; }): Promise<{ symbol: string; adlQuantile: PortfolioADLQuantile; }[]>; toggleUMFeeBurn(params: { feeBurn: 'true' | 'false'; }): Promise<{ code: number; msg: string; }>; getUMFeeBurnStatus(): Promise<{ feeBurn: boolean; }>; getMarginOrder(params: QueryPortfolioMarginOrderReq): Promise<PortfolioMarginOrder>; getMarginOpenOrders(params: { symbol: string; }): Promise<PortfolioMarginOrder>; getAllMarginOrders(params: QueryPortfolioMarginAllOrdersReq): Promise<PortfolioMarginOrder[]>; getMarginOCO(params: QueryPortfolioMarginOCOReq): Promise<PortfolioMarginOCO>; getAllMarginOCO(params: QueryPortfolioMarginAllOCOReq): Promise<PortfolioMarginOCO[]>; getMarginOpenOCO(): Promise<PortfolioMarginOCO[]>; getMarginTrades(params: QueryPortfolioMarginTradesReq): Promise<PortfolioMarginTrade[]>; repayMarginDebt(params: PortfolioMarginRepayDebtReq): Promise<PortfolioMarginRepayDebtResponse>; /** * * DERIVATIVES - ACCOUNT endpoints * **/ getBalance(params?: { asset?: string; }): Promise<PortfolioBalance>; getAccountInfo(): Promise<PortfolioAccountInformation>; getMarginMaxBorrow(params: { asset: string; }): Promise<{ amount: string; borrowLimit: string; }>; getMarginMaxWithdraw(params: { asset: string; }): Promise<{ amount: string; }>; getUMPosition(params?: { symbol?: string; }): Promise<PortfolioUMPosition[]>; getCMPosition(params?: { marginAsset?: string; pair?: string; }): Promise<PortfolioCMPosition[]>; updateUMLeverage(params: { symbol: string; leverage: number; }): Promise<{ leverage: number; maxNotionalValue: string; symbol: string; }>; updateCMLeverage(params: { symbol: string; leverage: number; }): Promise<{ leverage: number; maxQty: string; symbol: string; }>; updateUMPositionMode(params: { dualSidePosition: 'true' | 'false'; }): Promise<{ code: number; msg: string; }>; updateCMPositionMode(params: { dualSidePosition: 'true' | 'false'; }): Promise<{ code: number; msg: string; }>; getUMPositionMode(): Promise<{ dualSidePosition: boolean; }>; getCMPositionMode(): Promise<{ dualSidePosition: boolean; }>; getUMLeverageBrackets(params?: { symbol?: string; }): Promise<{ symbol: string; notionalCoef: string; brackets: PortfolioUMLeverageBracket[]; }[]>; getCMLeverageBrackets(params?: { symbol?: string; }): Promise<{ symbol: string; brackets: PortfolioCMLeverageBracket[]; }[]>; getUMTradingStatus(params?: { symbol?: string; }): Promise<PortfolioTradingStatus>; getUMCommissionRate(params: { symbol: string; }): Promise<{ symbol: string; makerCommissionRate: string; takerCommissionRate: string; }>; getCMCommissionRate(params: { symbol: string; }): Promise<{ symbol: string; makerCommissionRate: string; takerCommissionRate: string; }>; getMarginLoanRecords(params: GetMarginLoanRecordsReq): Promise<{ rows: PortfolioMarginLoanRecord[]; total: number; }>; getMarginRepayRecords(params: GetMarginRepayRecordsReq): Promise<{ rows: PortfolioMarginRepayRecord[]; total: number; }>; getAutoRepayFuturesStatus(): Promise<{ autoRepay: boolean; }>; updateAutoRepayFuturesStatus(params: { autoRepay: 'true' | 'false'; }): Promise<{ msg: string; }>; getMarginInterestHistory(params?: GetMarginInterestHistoryReq): Promise<{ rows: PortfolioMarginInterestRecord[]; total: number; }>; repayFuturesNegativeBalance(): Promise<{ msg: string; }>; getPortfolioNegativeBalanceInterestHistory(params?: GetPortfolioInterestHistoryReq): Promise<PortfolioNegativeBalanceInterestRecord[]>; autoCollectFunds(): Promise<{ msg: string; }>; transferAssetFuturesMargin(params: { asset: string; }): Promise<{ msg: string; }>; transferBNB(params: { amount: string; transferSide: 'TO_UM' | 'FROM_UM'; }): Promise<{ tranId: number; }>; getUMIncomeHistory(params?: QueryPortfolioUMIncomeReq): Promise<PortfolioUMIncome[]>; getCMIncomeHistory(params?: QueryPortfolioCMIncomeReq): Promise<PortfolioCMIncome[]>; getUMAccount(): Promise<{ assets: PortfolioUMAccountAsset[]; positions: PortfolioUMAccountPosition[]; }>; getCMAccount(): Promise<{ assets: PortfolioCMAccountAsset[]; positions: PortfolioCMAccountPosition[]; }>; getUMAccountConfig(): Promise<PortfolioUMAccountConfig>; getUMSymbolConfig(params?: { symbol?: string; }): Promise<PortfolioUMSymbolConfig[]>; getUMAccountV2(): Promise<{ assets: PortfolioUMAccountAssetV2[]; positions: PortfolioUMAccountPositionV2[]; }>; getUMTradeHistoryDownloadId(params: { startTime: number; endTime: number; }): Promise<{ avgCostTimestampOfLast30d: number; downloadId: string; }>; getUMTradeDownloadLink(params: { downloadId: string; }): Promise<DownloadLinkResponse>; getUMOrderHistoryDownloadId(params: { startTime: number; endTime: number; }): Promise<{ avgCostTimestampOfLast30d: number; downloadId: string; }>; getUMOrderDownloadLink(params: { downloadId: string; }): Promise<DownloadLinkResponse>; getUMTransactionHistoryDownloadId(params: { startTime: number; endTime: number; }): Promise<{ avgCostTimestampOfLast30d: number; downloadId: string; }>; getUMTransactionDownloadLink(params: { downloadId: string; }): Promise<DownloadLinkResponse>; /** * Validate syntax meets requirements set by binance. Log warning if not. */ private validateOrderId; /** * * User Data Stream Endpoints * **/ getPMUserDataListenKey(): Promise<{ listenKey: string; }>; keepAlivePMUserDataListenKey(): Promise<object>; closePMUserDataListenKey(): Promise<object>; }