bingx-trading-api
Version:
BingX Exchange APIs Connector using Typescript
399 lines (383 loc) • 12 kB
text/typescript
declare enum AssetTransferTypeEnum {
FUND_SFUTURES = "FUND_SFUTURES",
SFUTURES_FUND = "SFUTURES_FUND",
FUND_PFUTURES = "FUND_PFUTURES",
PFUTURES_FUND = "PFUTURES_FUND",
SFUTURES_PFUTURES = "SFUTURES_PFUTURES",
PFUTURES_SFUTURES = "PFUTURES_SFUTURES",
FUND_STRADING = "FUND_STRADING",
STRADING_FUND = "STRADING_FUND",
FUND_CTRADING = "FUND_CTRADING",
SFUTURES_CTRADING = "SFUTURES_CTRADING",
PFUTURES_CTRADING = "PFUTURES_CTRADING",
CTRADING_FUND = "CTRADING_FUND",
CTRADING_SFUTURES = "CTRADING_SFUTURES",
CTRADING_PFUTURES = "CTRADING_PFUTURES"
}
declare enum AccountTypeEnum {
SPOT = "sopt",
WEALTH = "eran",
STANDARD_FUTURES = "stdFutures",
COIN_BASE = "coinMPerp",
USDT_BASE = "USDTMPerp",
COPY_TRADING = "copyTrading",
GRID = "grid",
C2C = "c2c"
}
declare enum SpotTradingSymbolsResponseStatusEnum {
OFFLINE = 0,
ONLINE = 1,
PRE_OPEN = 5,
TRADING_SUSPENDED = 25
}
declare enum IntervalEnum {
MIN_1 = "1m",
MIN_3 = "3m",
MIN_5 = "5m",
MIN_15 = "15m",
MIN_30 = "30m",
HOURS_1 = "1h",
HOURS_2 = "2h",
HOURS_4 = "4h",
HOURS_6 = "6h",
HOURS_8 = "8h",
HOURS_12 = "12h",
DAY_1 = "1d",
DAY_3 = "3d",
WEEK_1 = "1w",
MONTH_1 = "1M"
}
declare enum OrderBookAggregationEnum {
STEP_0 = "step0",
STEP_1 = "step1",
STEP_2 = "step2",
STEP_3 = "step3",
STEP_4 = "step4",
STEP_5 = "step5"
}
declare enum OrderSideEnum {
BUY = "BUY",
SELL = "SELL"
}
declare enum OrderTypeEnum {
LIMIT = "LIMIT",
MARKET = "MARKET",
TAKE_STOP_LIMIT = "TAKE_STOP_LIMIT",
TAKE_STOP_MARKET = "TAKE_STOP_MARKET",
TRIGGER_LIMIT = "TRIGGER_LIMIT",
TRIGGER_MARKET = "TRIGGER_MARKET"
}
declare enum OrderStatusEnum {
NEW = "NEW",
PARTIALLY_FILLED = "PARTIALLY_FILLED",
FILLED = "FILLED",
CANCELED = "CANCELED",
FAILED = "FAILED",
PENDING = "PENDING"
}
type Constructor<T = any> = new (...args: any[]) => T;
type BaseParam = {
recvWindow?: number;
};
type BaseResponse = {
code: number;
msg?: string;
debugMsg?: string;
timestamp?: number;
};
type SpotTradingSymbolsParams = {
symbol?: string;
} & BaseParam;
type RecentTradesListParams = {
symbol: string;
limit?: number;
} & BaseParam;
type KlineCandlestickDataParams = {
symbol: string;
interval: IntervalEnum;
startTime?: number;
endTime?: number;
limit?: number;
} & BaseParam;
type OrderBookAggregationParams = {
symbol: string;
depth: number;
type: OrderBookAggregationEnum;
} & BaseParam;
type PlaceOrderParams = {
symbol: string;
side: OrderSideEnum;
type: OrderTypeEnum;
stopPrice?: number;
quantity?: number;
quoteOrderQty?: number;
price?: number;
newClientOrderId?: string;
timeInForce?: string;
recvWindow?: number;
} & BaseParam;
type CancelOrderParams = {
cancelRestrictions?: OrderStatusEnum;
} & QueryOrderDetailsParams;
type QueryOrderDetailsParams = {
symbol: string;
orderId?: bigint;
clientOrderID?: string;
} & BaseParam;
type QueryOrderHistoryParams = {
symbol?: string;
orderId?: bigint;
startTime?: number;
endTime?: number;
pageIndex?: number;
pageSize?: number;
status?: OrderStatusEnum;
type?: OrderTypeEnum;
} & BaseParam;
type SymbolRequiredParams = {
symbol: string;
} & BaseParam;
type PlaceOrderResponse = {
data: SinglePlaceOrderResponse;
} & BaseResponse;
type CancelOrderResponse = {
data?: CancelOrderDataResponse;
} & BaseResponse;
type CancelOrderDataResponse = {
symbol: string;
orderId: bigint;
price: string;
stopPrice: string;
origQty: string;
executedQty: string;
cummulativeQuoteQty: string;
status: OrderStatusEnum;
type: OrderTypeEnum;
side: OrderSideEnum;
};
type PlaceOrdersResponse = {
data: {
orders: SinglePlaceOrderResponse[];
};
} & BaseResponse;
type SinglePlaceOrderResponse = {
symbol: string;
orderId: bigint;
transactTime: number;
price: string;
stopPrice: string;
origQty: string;
executedQty: string;
cummulativeQuoteQty: string;
status: OrderStatusEnum;
type: OrderTypeEnum;
side: OrderSideEnum;
clientOrderID: string;
};
type QueryOrderDetailsResponse = {
data: {
feeAsset: string;
} & SingleOrderResponse;
} & BaseResponse;
type OrdersResponse = {
data?: {
orders: SingleOrderResponse[];
};
} & BaseResponse;
type SingleOrderResponse = CancelOrderDataResponse & {
time: number;
updateTime: number;
origQuoteOrderQty: string;
clientOrderID: string;
fee: number;
};
type QueryTradingCommissionRateResponse = {
data: {
takerCommissionRate: number;
makerCommissionRate: number;
};
} & BaseResponse;
interface TradeMethods {
placeOrder(params: PlaceOrderParams): Promise<PlaceOrderResponse>;
cancelOrder(params: CancelOrderParams): Promise<CancelOrderResponse>;
cancelAllOpenOrders(params?: SpotTradingSymbolsParams): Promise<PlaceOrdersResponse>;
queryOrderDetails(params: QueryOrderDetailsParams): Promise<QueryOrderDetailsResponse>;
currentOpenOrders(params?: SpotTradingSymbolsParams): Promise<OrdersResponse>;
queryOrderHistory(params?: QueryOrderHistoryParams): Promise<OrdersResponse>;
queryTradingCommissionRate(params: SymbolRequiredParams): Promise<QueryTradingCommissionRateResponse>;
}
type SpotTradingSymbolsResponse = {
data?: {
symbols: SingleSymbolResponse[];
};
} & BaseResponse;
type SingleSymbolResponse = {
symbol: string;
tickSize: number;
stepSize: number;
minNotional: number;
maxNotional: number;
status: SpotTradingSymbolsResponseStatusEnum;
apiStateBuy: boolean;
apiStateSell: boolean;
timeOnline: number;
};
type RecentTradesListResponse = {
data?: SingleRecentTradeResponse[];
} & BaseResponse;
type SingleRecentTradeResponse = {
id: number;
price: number;
qty: number;
time: number;
buyerMaker: boolean;
};
type OrderBookResponse = {
data?: {
bids: string[][];
asks: string[][];
ts: number;
};
} & BaseResponse;
type KlineCandlestickDataResponse = {
data?: SingleCandlestickDataResponse[];
} & BaseResponse;
type SingleCandlestickDataResponse = [
number,
number,
number,
number,
number,
number,
number,
number
];
type TickerPrice24hrChangeStatisticsResponse = {
data?: SingleTickerPrice24hrChangeStatisticsResponse[];
} & BaseResponse;
type SingleTickerPrice24hrChangeStatisticsResponse = {
symbol: string;
openPrice: number;
highPrice: number;
lowPrice: number;
lastPrice: number;
closePrice: number;
priceChange: number;
priceChangePercent: string;
volume: number;
quoteVolume: number;
openTime: number;
closeTime: number;
askPrice: number;
askQty: number;
bidPrice: number;
bidQty: number;
};
type OrderBookAggregationResponse = {
data?: {
bids: number[][];
asks: number[][];
ts: number;
};
} & BaseResponse;
type SymbolPriceTickerResponse = {
data: SinglePriceTickerResponse[];
} & BaseResponse;
type SinglePriceTickerResponse = {
symbol: string;
trades: {
tradeId: string;
price: string;
volume: string;
}[];
};
type SymbolOrderBookTickerResponse = {
data?: SingleOrderBookTickerResponse[];
} & BaseResponse;
type SingleOrderBookTickerResponse = {
eventType: string;
time: number;
symbol: string;
bidPrice: string;
bidVolume: string;
askPrice: string;
askVolume: string;
};
type OldTradeLookupResponse = {
data?: SingleOldTradeLookupResponse[];
} & BaseResponse;
type SingleOldTradeLookupResponse = {
tid: string;
t: number;
ms: number;
s: string;
p: number;
v: number;
};
interface MarketMethods {
spotTradingSymbols(params?: SpotTradingSymbolsParams): Promise<SpotTradingSymbolsResponse>;
recentTradesList(params: RecentTradesListParams): Promise<RecentTradesListResponse>;
orderBook(params: RecentTradesListParams): Promise<OrderBookResponse>;
klineCandlestickData(params: KlineCandlestickDataParams): Promise<KlineCandlestickDataResponse>;
tickerPrice24hrChangeStatistics(params?: SpotTradingSymbolsParams): Promise<TickerPrice24hrChangeStatisticsResponse>;
orderBookAggregation(params: OrderBookAggregationParams): Promise<OrderBookAggregationResponse>;
symbolPriceTicker(params?: SpotTradingSymbolsParams): Promise<SymbolPriceTickerResponse>;
symbolOrderBookTicker(params?: SpotTradingSymbolsParams): Promise<SymbolOrderBookTickerResponse>;
historicalKline(params: KlineCandlestickDataParams): Promise<KlineCandlestickDataResponse>;
oldTradeLookup(params: RecentTradesListParams): Promise<OldTradeLookupResponse>;
}
type QueryAssetsResponse = {
data?: {
balances: SingleQueryAssetResponse[];
};
} & BaseResponse;
type SingleQueryAssetResponse = {
asset: string;
free: string;
locked: string;
};
type AssetTransferRecordsResponse = {
total: number;
rows: SingleAssetTransferRecordResponse[];
};
type SingleAssetTransferRecordResponse = {
asset: string;
amount: string;
type: AssetTransferTypeEnum;
status: string;
tranId: number;
timestamp: number;
};
type AssetOverviewResponse = {
data: [
{
accountType: AccountTypeEnum;
usdtBalance: string;
}
];
};
type AssetTransferRecordsParams = {
type: AssetTransferTypeEnum;
};
type AssetOverviewParams = {
accountType: AccountTypeEnum;
};
interface FundAccountMethods {
queryAssets(): Promise<QueryAssetsResponse>;
assetTransferRecords(assetTransferRecords: AssetTransferRecordsParams): Promise<AssetTransferRecordsResponse>;
assetOverview(assetOverview: AssetOverviewParams): Promise<AssetOverviewResponse>;
}
declare const Base: Constructor<FundAccountMethods> & Constructor<MarketMethods> & Constructor<TradeMethods> & {
new (apiKey: string, apiSecret: string, baseURL?: string): {
apiKey: string;
apiSecret: string;
baseURL: string;
makeRequest(method: string, url: string): Promise<any>;
preparePath(path: string, options?: object): string;
prepareSignedPath(path: string, options?: object): string;
};
};
declare class Spot extends Base {
constructor(apiKey?: string, apiSecret?: string, baseURL?: string);
}
export { AccountTypeEnum, type AssetTransferRecordsParams, type AssetTransferRecordsResponse, AssetTransferTypeEnum, type CancelOrderDataResponse, type CancelOrderParams, type CancelOrderResponse, IntervalEnum, type KlineCandlestickDataParams, type KlineCandlestickDataResponse, type OldTradeLookupResponse, OrderBookAggregationEnum, type OrderBookAggregationParams, type OrderBookAggregationResponse, type OrderBookResponse, OrderSideEnum, OrderStatusEnum, OrderTypeEnum, type OrdersResponse, type PlaceOrderParams, type PlaceOrderResponse, type PlaceOrdersResponse, type QueryAssetsResponse, type QueryOrderDetailsParams, type QueryOrderDetailsResponse, type QueryOrderHistoryParams, type QueryTradingCommissionRateResponse, type RecentTradesListParams, type RecentTradesListResponse, type SingleAssetTransferRecordResponse, type SingleCandlestickDataResponse, type SingleOldTradeLookupResponse, type SingleOrderBookTickerResponse, type SingleOrderResponse, type SinglePlaceOrderResponse, type SinglePriceTickerResponse, type SingleQueryAssetResponse, type SingleRecentTradeResponse, type SingleSymbolResponse, type SingleTickerPrice24hrChangeStatisticsResponse, Spot, type SpotTradingSymbolsParams, type SpotTradingSymbolsResponse, SpotTradingSymbolsResponseStatusEnum, type SymbolOrderBookTickerResponse, type SymbolPriceTickerResponse, type SymbolRequiredParams, type TickerPrice24hrChangeStatisticsResponse };