271 lines
13 KiB
TypeScript
271 lines
13 KiB
TypeScript
import { AxiosRequestConfig } from 'axios';
|
|
import { FundingRate } from './types/coin';
|
|
import { AggregateFuturesTrade, Basis, BasisParams, CancelAllOpenOrdersResult, CancelFuturesOrderResult, CancelMultipleOrdersParams, CancelOrdersTimeoutParams, ChangeStats24hr, ContinuousContractKlinesParams, ForceOrderResult, FundingRateHistory, FuturesAccountBalance, FuturesAccountConfig, FuturesAccountInformation, FuturesConvertOrderStatus, FuturesConvertPair, FuturesConvertQuote, FuturesConvertQuoteRequest, FuturesDataPaginatedParams, FuturesExchangeInfo, FuturesOrderBook, FuturesPosition, FuturesPositionTrade, FuturesSymbolOrderBookTicker, FuturesTradeHistoryDownloadId, FuturesTransactionDownloadLink, GetForceOrdersParams, GetFuturesOrderModifyHistoryParams, GetIncomeHistoryParams, GetPositionMarginChangeHistoryParams, HistoricOpenInterest, IncomeHistory, IndexPriceConstituents, IndexPriceKlinesParams, MarkPrice, ModeChangeResult, ModifyFuturesOrderParams, ModifyFuturesOrderResult, ModifyOrderParams, MultiAssetModeResponse, MultiAssetsMode, NewFuturesOrderParams, NewOrderError, NewOrderResult, OpenInterest, OrderResult, PortfolioMarginProAccountInfo, PositionModeParams, PositionModeResponse, QuarterlyContractSettlementPrice, RawFuturesTrade, RebateDataOverview, SetCancelTimeoutResult, SetIsolatedMarginParams, SetIsolatedMarginResult, SetLeverageParams, SetLeverageResult, SetMarginTypeParams, SymbolConfig, SymbolKlinePaginatedParams, SymbolLeverageBracketsResult, UserCommissionRate, UserForceOrder } from './types/futures';
|
|
import { BasicSymbolPaginatedParams, BasicSymbolParam, CancelOrderParams, GenericCodeMsgError, GetAllOrdersParams, GetOrderParams, HistoricalTradesParams, Kline, KlinesParams, OrderBookParams, RecentTradesParams, SymbolFromPaginatedRequestFromId, SymbolPrice } from './types/shared';
|
|
import BaseRestClient from './util/BaseRestClient';
|
|
import { RestClientOptions } from './util/requestUtils';
|
|
export declare class USDMClient extends BaseRestClient {
|
|
private clientId;
|
|
constructor(restClientOptions?: RestClientOptions, requestOptions?: AxiosRequestConfig, useTestnet?: boolean);
|
|
/**
|
|
* Abstraction required by each client to aid with time sync / drift handling
|
|
*/
|
|
getServerTime(): Promise<number>;
|
|
/**
|
|
*
|
|
* MARKET DATA endpoints - Rest API
|
|
*
|
|
**/
|
|
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[]>;
|
|
getKlines(params: KlinesParams): Promise<Kline[]>;
|
|
getContinuousContractKlines(params: ContinuousContractKlinesParams): Promise<Kline[]>;
|
|
getIndexPriceKlines(params: IndexPriceKlinesParams): Promise<Kline[]>;
|
|
getMarkPriceKlines(params: SymbolKlinePaginatedParams): Promise<Kline[]>;
|
|
getPremiumIndexKlines(params: SymbolKlinePaginatedParams): Promise<Kline[]>;
|
|
getMarkPrice(params: BasicSymbolParam): Promise<MarkPrice>;
|
|
getMarkPrice(): Promise<MarkPrice[]>;
|
|
getFundingRateHistory(params?: Partial<BasicSymbolPaginatedParams>): Promise<FundingRateHistory[]>;
|
|
getFundingRates(): Promise<FundingRate[]>;
|
|
/**
|
|
* @deprecated use get24hrChangeStatistics() instead (method without the typo)
|
|
*/
|
|
get24hrChangeStatististics(params?: Partial<BasicSymbolParam>): Promise<ChangeStats24hr | ChangeStats24hr[]>;
|
|
get24hrChangeStatistics(params: Partial<BasicSymbolParam>): Promise<ChangeStats24hr[]>;
|
|
get24hrChangeStatistics(params?: Partial<BasicSymbolParam>): Promise<ChangeStats24hr | ChangeStats24hr[]>;
|
|
get24hrChangeStatistics(params: Partial<BasicSymbolParam>): Promise<ChangeStats24hr>;
|
|
getSymbolPriceTicker(params?: Partial<BasicSymbolParam>): Promise<SymbolPrice | SymbolPrice[]>;
|
|
getSymbolPriceTickerV2(params?: Partial<BasicSymbolParam>): Promise<SymbolPrice | SymbolPrice[]>;
|
|
getSymbolOrderBookTicker(params?: Partial<BasicSymbolParam>): Promise<FuturesSymbolOrderBookTicker | FuturesSymbolOrderBookTicker[]>;
|
|
getQuarterlyContractSettlementPrices(params: {
|
|
pair: string;
|
|
}): Promise<QuarterlyContractSettlementPrice[]>;
|
|
getOpenInterest(params: BasicSymbolParam): Promise<OpenInterest>;
|
|
getOpenInterestStatistics(params: FuturesDataPaginatedParams): Promise<HistoricOpenInterest[]>;
|
|
getTopTradersLongShortPositionRatio(params: FuturesDataPaginatedParams): Promise<any>;
|
|
getTopTradersLongShortAccountRatio(params: FuturesDataPaginatedParams): Promise<any>;
|
|
getGlobalLongShortAccountRatio(params: FuturesDataPaginatedParams): Promise<any>;
|
|
getTakerBuySellVolume(params: FuturesDataPaginatedParams): Promise<any>;
|
|
getHistoricalBlvtNavKlines(params: SymbolKlinePaginatedParams): Promise<any>;
|
|
getCompositeSymbolIndex(params?: Partial<BasicSymbolParam>): Promise<any>;
|
|
getMultiAssetsModeAssetIndex(params?: {
|
|
symbol?: string;
|
|
}): Promise<any>;
|
|
/**
|
|
* Possibly @deprecated, found only in old docs
|
|
**/
|
|
getBasis(params: BasisParams): Promise<Basis[]>;
|
|
/**
|
|
* Possibly @deprecated, found only in old docs
|
|
**/
|
|
getIndexPriceConstituents(params: {
|
|
symbol: string;
|
|
}): Promise<IndexPriceConstituents>;
|
|
/**
|
|
*
|
|
* TRADE endpoints - Rest API
|
|
*
|
|
**/
|
|
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<TNumberType = number>(orders: NewFuturesOrderParams<TNumberType>[]): 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>;
|
|
modifyMultipleOrders(orders: ModifyOrderParams[]): Promise<any>;
|
|
getOrderModifyHistory(params: GetFuturesOrderModifyHistoryParams): Promise<any>;
|
|
cancelOrder(params: CancelOrderParams): Promise<CancelFuturesOrderResult>;
|
|
cancelMultipleOrders(params: CancelMultipleOrdersParams): Promise<(CancelFuturesOrderResult | GenericCodeMsgError)[]>;
|
|
cancelAllOpenOrders(params: BasicSymbolParam): Promise<CancelAllOpenOrdersResult>;
|
|
setCancelOrdersOnTimeout(params: CancelOrdersTimeoutParams): Promise<SetCancelTimeoutResult>;
|
|
getOrder(params: GetOrderParams): Promise<OrderResult>;
|
|
getAllOrders(params: GetAllOrdersParams): Promise<OrderResult[]>;
|
|
getAllOpenOrders(params?: Partial<BasicSymbolParam>): Promise<OrderResult[]>;
|
|
getCurrentOpenOrder(params: GetOrderParams): Promise<OrderResult>;
|
|
getForceOrders(params?: GetForceOrdersParams): Promise<ForceOrderResult[]>;
|
|
getAccountTrades(params: SymbolFromPaginatedRequestFromId & {
|
|
orderId?: number;
|
|
}): Promise<FuturesPositionTrade[]>;
|
|
setMarginType(params: SetMarginTypeParams): Promise<ModeChangeResult>;
|
|
setPositionMode(params: PositionModeParams): Promise<ModeChangeResult>;
|
|
setLeverage(params: SetLeverageParams): Promise<SetLeverageResult>;
|
|
setMultiAssetsMode(params: {
|
|
multiAssetsMargin: MultiAssetsMode;
|
|
}): Promise<ModeChangeResult>;
|
|
setIsolatedPositionMargin(params: SetIsolatedMarginParams): Promise<SetIsolatedMarginResult>;
|
|
/**
|
|
* @deprecated
|
|
* Use getPositionsV3() instead
|
|
**/
|
|
getPositions(params?: Partial<BasicSymbolParam>): Promise<FuturesPosition[]>;
|
|
getPositionsV3(params?: {
|
|
symbol?: string;
|
|
}): Promise<FuturesPosition[]>;
|
|
getADLQuantileEstimation(params?: Partial<BasicSymbolParam>): Promise<any>;
|
|
getPositionMarginChangeHistory(params: GetPositionMarginChangeHistoryParams): Promise<any>;
|
|
/**
|
|
*
|
|
* ACCOUNT endpoints - Rest API
|
|
*
|
|
**/
|
|
getBalanceV3(): Promise<FuturesAccountBalance[]>;
|
|
/**
|
|
* @deprecated
|
|
* Use getBalanceV3() instead
|
|
**/
|
|
getBalance(): Promise<FuturesAccountBalance[]>;
|
|
getAccountInformationV3(): Promise<FuturesAccountInformation>;
|
|
/**
|
|
* @deprecated
|
|
* Use getAccountInformationV3() instead
|
|
**/
|
|
getAccountInformation(): Promise<FuturesAccountInformation>;
|
|
/**
|
|
* @deprecated Please use `getAccountCommissionRate()` instead. This will be removed in the next major release.
|
|
*/
|
|
getAccountComissionRate(params: BasicSymbolParam): Promise<UserCommissionRate>;
|
|
getAccountCommissionRate(params: BasicSymbolParam): Promise<UserCommissionRate>;
|
|
getFuturesAccountConfig(): Promise<FuturesAccountConfig>;
|
|
getFuturesSymbolConfig(params: {
|
|
symbol?: string;
|
|
}): Promise<SymbolConfig[]>;
|
|
getUserForceOrders(): Promise<UserForceOrder[]>;
|
|
/**
|
|
* Contrary to what the docs say - if symbol is provided, this returns an array with length 1 (assuming the symbol exists)
|
|
*/
|
|
getNotionalAndLeverageBrackets(params?: Partial<BasicSymbolParam>): Promise<SymbolLeverageBracketsResult[]>;
|
|
getMultiAssetsMode(): Promise<MultiAssetModeResponse>;
|
|
getCurrentPositionMode(): Promise<PositionModeResponse>;
|
|
getIncomeHistory(params?: GetIncomeHistoryParams): Promise<IncomeHistory[]>;
|
|
getApiQuantitativeRulesIndicators(params?: Partial<BasicSymbolParam>): Promise<any>;
|
|
getFuturesTransactionHistoryDownloadId(params: {
|
|
startTime: number;
|
|
endTime: number;
|
|
}): Promise<FuturesTradeHistoryDownloadId>;
|
|
getFuturesTransactionHistoryDownloadLink(params: {
|
|
downloadId: string;
|
|
}): Promise<FuturesTransactionDownloadLink>;
|
|
getFuturesOrderHistoryDownloadId(params: {
|
|
startTime: number;
|
|
endTime: number;
|
|
}): Promise<FuturesTradeHistoryDownloadId>;
|
|
getFuturesOrderHistoryDownloadLink(params: {
|
|
downloadId: string;
|
|
}): Promise<FuturesTransactionDownloadLink>;
|
|
getFuturesTradeHistoryDownloadId(params: {
|
|
startTime: number;
|
|
endTime: number;
|
|
}): Promise<FuturesTradeHistoryDownloadId>;
|
|
getFuturesTradeDownloadLink(params: {
|
|
downloadId: string;
|
|
}): Promise<FuturesTransactionDownloadLink>;
|
|
setBNBBurnEnabled(params: {
|
|
feeBurn: 'true' | 'false';
|
|
}): Promise<{
|
|
code: number;
|
|
msg: string;
|
|
}>;
|
|
getBNBBurnStatus(): Promise<{
|
|
feeBurn: boolean;
|
|
}>;
|
|
testOrder(params: NewFuturesOrderParams): Promise<any>;
|
|
/**
|
|
*
|
|
* Convert Endpoints
|
|
*
|
|
**/
|
|
getAllConvertPairs(params?: {
|
|
fromAsset?: string;
|
|
toAsset?: string;
|
|
}): Promise<FuturesConvertPair[]>;
|
|
submitConvertQuoteRequest(params: FuturesConvertQuoteRequest): Promise<FuturesConvertQuote>;
|
|
acceptConvertQuote(params: {
|
|
quoteId: string;
|
|
}): Promise<{
|
|
orderId: string;
|
|
createTime: number;
|
|
orderStatus: 'PROCESS' | 'ACCEPT_SUCCESS' | 'SUCCESS' | 'FAIL';
|
|
}>;
|
|
getConvertOrderStatus(params: {
|
|
orderId?: string;
|
|
quoteId?: string;
|
|
}): Promise<FuturesConvertOrderStatus>;
|
|
/**
|
|
*
|
|
* Portfolio Margin Pro Endpoints
|
|
*
|
|
**/
|
|
getPortfolioMarginProAccountInfo(params: {
|
|
asset: string;
|
|
}): Promise<PortfolioMarginProAccountInfo>;
|
|
/**
|
|
*
|
|
* 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;
|
|
}
|