binance 3.0.0-beta.0 → 3.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/README.md +305 -75
  2. package/index.js +1 -1
  3. package/lib/coinm-client.d.ts +40 -22
  4. package/lib/coinm-client.js +4 -16
  5. package/lib/coinm-client.js.map +1 -1
  6. package/lib/index.d.ts +2 -0
  7. package/lib/index.js +2 -0
  8. package/lib/index.js.map +1 -1
  9. package/lib/main-client.d.ts +94 -30
  10. package/lib/main-client.js +68 -36
  11. package/lib/main-client.js.map +1 -1
  12. package/lib/portfolio-client.js.map +1 -1
  13. package/lib/types/coin.d.ts +1 -0
  14. package/lib/types/futures.d.ts +15 -4
  15. package/lib/types/futures.js.map +1 -1
  16. package/lib/types/portfolio-margin.d.ts +0 -9
  17. package/lib/types/shared.d.ts +14 -13
  18. package/lib/types/spot.d.ts +174 -11
  19. package/lib/types/spot.js.map +1 -1
  20. package/lib/types/websockets/ws-api-requests.d.ts +480 -2
  21. package/lib/types/websockets/ws-api-responses.d.ts +565 -1
  22. package/lib/types/websockets/ws-api.d.ts +157 -60
  23. package/lib/types/websockets/ws-api.js +47 -3
  24. package/lib/types/websockets/ws-api.js.map +1 -1
  25. package/lib/types/websockets/ws-events-formatted.d.ts +18 -14
  26. package/lib/types/websockets/ws-events-raw.d.ts +4 -2
  27. package/lib/types/websockets/ws-general.d.ts +8 -18
  28. package/lib/usdm-client.d.ts +45 -27
  29. package/lib/usdm-client.js +7 -19
  30. package/lib/usdm-client.js.map +1 -1
  31. package/lib/util/BaseRestClient.js +20 -6
  32. package/lib/util/BaseRestClient.js.map +1 -1
  33. package/lib/util/BaseWSClient.d.ts +14 -3
  34. package/lib/util/BaseWSClient.js +87 -30
  35. package/lib/util/BaseWSClient.js.map +1 -1
  36. package/lib/util/beautifier-maps.d.ts +32 -0
  37. package/lib/util/beautifier-maps.js +41 -0
  38. package/lib/util/beautifier-maps.js.map +1 -1
  39. package/lib/util/beautifier.d.ts +1 -0
  40. package/lib/util/beautifier.js +44 -9
  41. package/lib/util/beautifier.js.map +1 -1
  42. package/lib/util/browser-support.d.ts +1 -1
  43. package/lib/util/browser-support.js +1 -41
  44. package/lib/util/browser-support.js.map +1 -1
  45. package/lib/util/node-support.js +7 -5
  46. package/lib/util/node-support.js.map +1 -1
  47. package/lib/util/requestUtils.d.ts +22 -4
  48. package/lib/util/requestUtils.js +76 -25
  49. package/lib/util/requestUtils.js.map +1 -1
  50. package/lib/util/rounding.d.ts +8 -0
  51. package/lib/util/rounding.js +41 -0
  52. package/lib/util/rounding.js.map +1 -0
  53. package/lib/util/typeGuards.d.ts +31 -3
  54. package/lib/util/typeGuards.js +105 -8
  55. package/lib/util/typeGuards.js.map +1 -1
  56. package/lib/util/webCryptoAPI.js +20 -45
  57. package/lib/util/webCryptoAPI.js.map +1 -1
  58. package/lib/util/websockets/WsStore.js +7 -2
  59. package/lib/util/websockets/WsStore.js.map +1 -1
  60. package/lib/util/websockets/enum.d.ts +11 -0
  61. package/lib/util/websockets/enum.js +24 -0
  62. package/lib/util/websockets/enum.js.map +1 -0
  63. package/lib/util/websockets/rest-client-cache.d.ts +3 -3
  64. package/lib/util/websockets/rest-client-cache.js +9 -9
  65. package/lib/util/websockets/rest-client-cache.js.map +1 -1
  66. package/lib/util/websockets/user-data-stream-manager.js +7 -8
  67. package/lib/util/websockets/user-data-stream-manager.js.map +1 -1
  68. package/lib/util/websockets/websocket-util.d.ts +27 -6
  69. package/lib/util/websockets/websocket-util.js +147 -52
  70. package/lib/util/websockets/websocket-util.js.map +1 -1
  71. package/lib/websocket-api-client.d.ts +401 -0
  72. package/lib/websocket-api-client.js +647 -0
  73. package/lib/websocket-api-client.js.map +1 -0
  74. package/lib/websocket-client-legacy.d.ts +5 -3
  75. package/lib/websocket-client-legacy.js +11 -10
  76. package/lib/websocket-client-legacy.js.map +1 -1
  77. package/lib/websocket-client.d.ts +26 -11
  78. package/lib/websocket-client.js +185 -139
  79. package/lib/websocket-client.js.map +1 -1
  80. package/package.json +3 -3
@@ -1,7 +1,485 @@
1
+ import { FuturesOrderType, PositionSide, PriceMatchMode, WorkingType } from '../futures';
2
+ import { BooleanString, BooleanStringCapitalised, KlineInterval, numberInString, OrderResponseType, OrderSide, OrderTimeInForce, OrderType, SelfTradePreventionMode, SideEffects, StringBoolean } from '../shared';
1
3
  /**
2
- * Simple request params with timestamp & recv window optional
4
+ * Simple request params with timestamp (required) & recv window (optional)
3
5
  */
4
6
  export type WSAPIRecvWindowTimestamp = {
7
+ recvWindow?: number;
8
+ timestamp: number;
9
+ };
10
+ /**
11
+ *
12
+ * Authentication request types
13
+ *
14
+ */
15
+ export interface WSAPISessionLogonRequest {
16
+ timestamp: number;
17
+ }
18
+ /**
19
+ *
20
+ * General request types
21
+ *
22
+ */
23
+ export interface WSAPIExchangeInfoRequest {
24
+ symbol?: string;
25
+ symbols?: string[];
26
+ permissions?: string[];
27
+ showPermissionSets?: boolean;
28
+ symbolStatus?: string;
29
+ }
30
+ /**
31
+ *
32
+ * Market data request types
33
+ *
34
+ */
35
+ export interface WSAPIOrderBookRequest {
36
+ symbol: string;
37
+ limit?: number;
38
+ }
39
+ export interface WSAPITradesRecentRequest {
40
+ symbol: string;
41
+ limit?: number;
42
+ }
43
+ export interface WSAPITradesHistoricalRequest {
44
+ symbol: string;
45
+ fromId?: number;
46
+ limit?: number;
47
+ }
48
+ export interface WSAPITradesAggregateRequest {
49
+ symbol: string;
50
+ fromId?: number;
51
+ startTime?: number;
52
+ endTime?: number;
53
+ limit?: number;
54
+ }
55
+ export interface WSAPIKlinesRequest {
56
+ symbol: string;
57
+ interval: KlineInterval;
58
+ startTime?: number;
59
+ endTime?: number;
60
+ timeZone?: string;
61
+ limit?: number;
62
+ }
63
+ export interface WSAPIAvgPriceRequest {
64
+ symbol: string;
65
+ }
66
+ /**
67
+ * Symbol for single symbol, or symbols for multiple symbols
68
+ */
69
+ export interface WSAPITicker24hrRequest {
70
+ symbol?: string;
71
+ symbols?: string[];
72
+ type?: 'FULL' | 'MINI';
73
+ }
74
+ /**
75
+ * Symbol for single symbol, or symbols for multiple symbols
76
+ */
77
+ export interface WSAPITickerTradingDayRequest {
78
+ symbol?: string;
79
+ symbols?: string[];
80
+ timeZone?: string;
81
+ type?: 'FULL' | 'MINI';
82
+ }
83
+ /**
84
+ * Symbol for single symbol, or symbols for multiple symbols
85
+ */
86
+ export interface WSAPITickerRequest {
87
+ symbol?: string;
88
+ symbols?: string[];
89
+ windowSize?: string;
90
+ type?: 'FULL' | 'MINI';
91
+ }
92
+ /**
93
+ * Symbol for single symbol, or symbols for multiple symbols
94
+ */
95
+ export interface WSAPITickerPriceRequest {
96
+ symbol?: string;
97
+ symbols?: string[];
98
+ }
99
+ /**
100
+ * Symbol for single symbol, or symbols for multiple symbols
101
+ */
102
+ export interface WSAPITickerBookRequest {
103
+ symbol?: string;
104
+ symbols?: string[];
105
+ }
106
+ /**
107
+ *
108
+ * Account request types - Spot
109
+ *
110
+ */
111
+ export interface WSAPIAllOrdersRequest {
112
+ symbol: string;
113
+ orderId?: number;
114
+ startTime?: number;
115
+ endTime?: number;
116
+ limit?: number;
117
+ }
118
+ export interface WSAPIAllOrderListsRequest {
119
+ fromId?: number;
120
+ startTime?: number;
121
+ endTime?: number;
122
+ limit?: number;
123
+ }
124
+ export interface WSAPIMyTradesRequest {
125
+ symbol: string;
126
+ orderId?: number;
127
+ startTime?: number;
128
+ endTime?: number;
129
+ fromId?: number;
130
+ limit?: number;
131
+ }
132
+ export interface WSAPIMyPreventedMatchesRequest {
133
+ symbol: string;
134
+ preventedMatchId?: number;
135
+ orderId?: number;
136
+ fromPreventedMatchId?: number;
137
+ limit?: number;
138
+ }
139
+ export interface WSAPIMyAllocationsRequest {
140
+ symbol: string;
141
+ startTime?: number;
142
+ endTime?: number;
143
+ fromAllocationId?: number;
144
+ limit?: number;
145
+ orderId?: number;
146
+ }
147
+ /**
148
+ * Trading request types
149
+ */
150
+ export interface WSAPINewSpotOrderRequest<T extends OrderType = OrderType, RT extends OrderResponseType | undefined = OrderResponseType> {
151
+ symbol: string;
152
+ side: OrderSide;
153
+ type: T;
154
+ timeInForce?: OrderTimeInForce;
155
+ quantity?: number;
156
+ quoteOrderQty?: number;
157
+ price?: number;
158
+ newClientOrderId?: string;
159
+ strategyId?: number;
160
+ strategyType?: number;
161
+ stopPrice?: number;
162
+ trailingDelta?: number;
163
+ icebergQty?: number;
164
+ newOrderRespType?: RT;
165
+ isIsolated?: StringBoolean;
166
+ sideEffectType?: SideEffects;
167
+ }
168
+ export interface WSAPIOrderTestRequest {
169
+ symbol: string;
170
+ side: 'BUY' | 'SELL';
171
+ type: string;
172
+ timeInForce?: string;
173
+ price?: numberInString;
174
+ quantity?: numberInString;
175
+ quoteOrderQty?: numberInString;
176
+ newClientOrderId?: string;
177
+ stopPrice?: numberInString;
178
+ trailingDelta?: number;
179
+ icebergQty?: numberInString;
180
+ strategyId?: number;
181
+ strategyType?: number;
182
+ selfTradePreventionMode?: string;
183
+ computeCommissionRates?: boolean;
184
+ timestamp?: number;
185
+ recvWindow?: number;
186
+ }
187
+ export interface WSAPIOrderStatusRequest {
188
+ symbol: string;
189
+ orderId?: number;
190
+ origClientOrderId?: string;
191
+ recvWindow?: number;
192
+ timestamp?: number;
193
+ }
194
+ export interface WSAPIOrderCancelRequest {
195
+ symbol: string;
196
+ orderId?: number;
197
+ origClientOrderId?: string;
198
+ newClientOrderId?: string;
199
+ cancelRestrictions?: 'ONLY_NEW' | 'ONLY_PARTIALLY_FILLED';
200
+ recvWindow?: number;
201
+ timestamp?: number;
202
+ }
203
+ export interface WSAPIOrderCancelReplaceRequest {
204
+ symbol: string;
205
+ cancelReplaceMode: 'STOP_ON_FAILURE' | 'ALLOW_FAILURE';
206
+ cancelOrderId?: number;
207
+ cancelOrigClientOrderId?: string;
208
+ cancelNewClientOrderId?: string;
209
+ side: 'BUY' | 'SELL';
210
+ type: string;
211
+ timeInForce?: string;
212
+ price?: numberInString;
213
+ quantity?: numberInString;
214
+ quoteOrderQty?: numberInString;
215
+ newClientOrderId?: string;
216
+ newOrderRespType?: 'ACK' | 'RESULT' | 'FULL';
217
+ stopPrice?: numberInString;
218
+ trailingDelta?: number;
219
+ icebergQty?: numberInString;
220
+ strategyId?: number;
221
+ strategyType?: number;
222
+ selfTradePreventionMode?: string;
223
+ cancelRestrictions?: 'ONLY_NEW' | 'ONLY_PARTIALLY_FILLED';
224
+ orderRateLimitExceededMode?: 'DO_NOTHING' | 'CANCEL_ONLY';
225
+ recvWindow?: number;
226
+ timestamp?: number;
227
+ }
228
+ export interface WSAPIOrderAmendKeepPriorityRequest {
229
+ symbol: string;
230
+ orderId?: number | string;
231
+ origClientOrderId?: string;
232
+ newClientOrderId?: string;
233
+ newQty?: string;
234
+ recvWindow?: number;
235
+ timestamp: number;
236
+ }
237
+ export interface WSAPIOpenOrdersStatusRequest {
238
+ symbol?: string;
239
+ recvWindow?: number;
240
+ timestamp?: number;
241
+ }
242
+ export interface WSAPIOpenOrdersCancelAllRequest {
243
+ symbol: string;
5
244
  recvWindow?: number;
6
245
  timestamp?: number;
7
- } | void;
246
+ }
247
+ /**
248
+ * Order list request types
249
+ */
250
+ export interface WSAPIOrderListPlaceRequest {
251
+ symbol: string;
252
+ side: 'BUY' | 'SELL';
253
+ price: numberInString;
254
+ quantity: numberInString;
255
+ listClientOrderId?: string;
256
+ limitClientOrderId?: string;
257
+ limitIcebergQty?: numberInString;
258
+ limitStrategyId?: number;
259
+ limitStrategyType?: number;
260
+ stopPrice?: numberInString;
261
+ trailingDelta?: number;
262
+ stopClientOrderId?: string;
263
+ stopLimitPrice?: numberInString;
264
+ stopLimitTimeInForce?: string;
265
+ stopIcebergQty?: numberInString;
266
+ stopStrategyId?: number;
267
+ stopStrategyType?: number;
268
+ newOrderRespType?: 'ACK' | 'RESULT' | 'FULL';
269
+ selfTradePreventionMode?: string;
270
+ recvWindow?: number;
271
+ timestamp?: number;
272
+ }
273
+ export interface WSAPIOrderListPlaceOCORequest {
274
+ symbol: string;
275
+ side: 'BUY' | 'SELL';
276
+ quantity: numberInString;
277
+ listClientOrderId?: string;
278
+ aboveType: 'STOP_LOSS_LIMIT' | 'STOP_LOSS' | 'LIMIT_MAKER' | 'TAKE_PROFIT' | 'TAKE_PROFIT_LIMIT';
279
+ aboveClientOrderId?: string;
280
+ aboveIcebergQty?: numberInString;
281
+ abovePrice?: numberInString;
282
+ aboveStopPrice?: numberInString;
283
+ aboveTrailingDelta?: number;
284
+ aboveTimeInForce?: string;
285
+ aboveStrategyId?: number;
286
+ aboveStrategyType?: number;
287
+ belowType: 'STOP_LOSS' | 'STOP_LOSS_LIMIT' | 'TAKE_PROFIT' | 'TAKE_PROFIT_LIMIT' | 'LIMIT_MAKER';
288
+ belowClientOrderId?: string;
289
+ belowIcebergQty?: numberInString;
290
+ belowPrice?: numberInString;
291
+ belowStopPrice?: numberInString;
292
+ belowTrailingDelta?: number;
293
+ belowTimeInForce?: string;
294
+ belowStrategyId?: number;
295
+ belowStrategyType?: number;
296
+ newOrderRespType?: 'ACK' | 'RESULT' | 'FULL';
297
+ selfTradePreventionMode?: string;
298
+ recvWindow?: number;
299
+ timestamp?: number;
300
+ }
301
+ export interface WSAPIOrderListPlaceOTORequest {
302
+ symbol: string;
303
+ listClientOrderId?: string;
304
+ newOrderRespType?: 'ACK' | 'RESULT' | 'FULL';
305
+ selfTradePreventionMode?: string;
306
+ workingType: 'LIMIT' | 'LIMIT_MAKER';
307
+ workingSide: 'BUY' | 'SELL';
308
+ workingClientOrderId?: string;
309
+ workingPrice: numberInString;
310
+ workingQuantity: numberInString;
311
+ workingIcebergQty?: numberInString;
312
+ workingTimeInForce?: string;
313
+ workingStrategyId?: number;
314
+ workingStrategyType?: number;
315
+ pendingType: string;
316
+ pendingSide: 'BUY' | 'SELL';
317
+ pendingClientOrderId?: string;
318
+ pendingPrice?: numberInString;
319
+ pendingStopPrice?: numberInString;
320
+ pendingTrailingDelta?: numberInString;
321
+ pendingQuantity: numberInString;
322
+ pendingIcebergQty?: numberInString;
323
+ pendingTimeInForce?: string;
324
+ pendingStrategyId?: number;
325
+ pendingStrategyType?: number;
326
+ recvWindow?: number;
327
+ timestamp?: number;
328
+ }
329
+ export interface WSAPIOrderListPlaceOTOCORequest {
330
+ symbol: string;
331
+ listClientOrderId?: string;
332
+ newOrderRespType?: 'ACK' | 'RESULT' | 'FULL';
333
+ selfTradePreventionMode?: string;
334
+ workingType: 'LIMIT' | 'LIMIT_MAKER';
335
+ workingSide: 'BUY' | 'SELL';
336
+ workingClientOrderId?: string;
337
+ workingPrice: numberInString;
338
+ workingQuantity: numberInString;
339
+ workingIcebergQty?: numberInString;
340
+ workingTimeInForce?: string;
341
+ workingStrategyId?: number;
342
+ workingStrategyType?: number;
343
+ pendingSide: 'BUY' | 'SELL';
344
+ pendingQuantity: number | string;
345
+ pendingAboveType: 'STOP_LOSS_LIMIT' | 'STOP_LOSS' | 'LIMIT_MAKER' | 'TAKE_PROFIT' | 'TAKE_PROFIT_LIMIT';
346
+ pendingAboveClientOrderId?: string;
347
+ pendingAbovePrice?: numberInString;
348
+ pendingAboveStopPrice?: numberInString;
349
+ pendingAboveTrailingDelta?: numberInString;
350
+ pendingAboveIcebergQty?: numberInString;
351
+ pendingAboveTimeInForce?: string;
352
+ pendingAboveStrategyId?: number;
353
+ pendingAboveStrategyType?: number;
354
+ pendingBelowType: 'STOP_LOSS' | 'STOP_LOSS_LIMIT' | 'TAKE_PROFIT' | 'TAKE_PROFIT_LIMIT' | 'LIMIT_MAKER';
355
+ pendingBelowClientOrderId?: string;
356
+ pendingBelowPrice?: numberInString;
357
+ pendingBelowStopPrice?: numberInString;
358
+ pendingBelowTrailingDelta?: numberInString;
359
+ pendingBelowIcebergQty?: numberInString;
360
+ pendingBelowTimeInForce?: string;
361
+ pendingBelowStrategyId?: number;
362
+ pendingBelowStrategyType?: number;
363
+ recvWindow?: number;
364
+ timestamp?: number;
365
+ }
366
+ export interface WSAPIOrderListStatusRequest {
367
+ origClientOrderId?: string;
368
+ orderListId?: number;
369
+ recvWindow?: number;
370
+ timestamp?: number;
371
+ }
372
+ export interface WSAPIOrderListCancelRequest {
373
+ symbol: string;
374
+ orderListId?: number;
375
+ listClientOrderId?: string;
376
+ newClientOrderId?: string;
377
+ recvWindow?: number;
378
+ timestamp?: number;
379
+ }
380
+ /**
381
+ * SOR request types
382
+ */
383
+ export interface WSAPISOROrderPlaceRequest {
384
+ symbol: string;
385
+ side: 'BUY' | 'SELL';
386
+ type: 'LIMIT' | 'MARKET';
387
+ timeInForce?: string;
388
+ price?: numberInString;
389
+ quantity: numberInString;
390
+ newClientOrderId?: string;
391
+ newOrderRespType?: 'ACK' | 'RESULT' | 'FULL';
392
+ icebergQty?: numberInString;
393
+ strategyId?: number;
394
+ strategyType?: number;
395
+ selfTradePreventionMode?: string;
396
+ timestamp?: number;
397
+ recvWindow?: number;
398
+ }
399
+ export type WSAPISOROrderTestRequest = WSAPISOROrderPlaceRequest & {
400
+ computeCommissionRates?: boolean;
401
+ };
402
+ /**
403
+ * Futures market data request types
404
+ */
405
+ export interface WSAPIFuturesOrderBookRequest {
406
+ symbol: string;
407
+ limit?: number;
408
+ }
409
+ export interface WSAPIFuturesTickerPriceRequest {
410
+ symbol?: string;
411
+ }
412
+ export interface WSAPIFuturesTickerBookRequest {
413
+ symbol?: string;
414
+ }
415
+ /**
416
+ * Futures trading request types
417
+ */
418
+ export interface WSAPINewFuturesOrderRequest<numberType = number> {
419
+ symbol: string;
420
+ side: OrderSide;
421
+ positionSide?: PositionSide;
422
+ type: FuturesOrderType;
423
+ timeInForce?: OrderTimeInForce;
424
+ quantity?: numberType;
425
+ reduceOnly?: BooleanString;
426
+ price?: numberType;
427
+ newClientOrderId?: string;
428
+ stopPrice?: numberType;
429
+ closePosition?: BooleanString;
430
+ activationPrice?: numberType;
431
+ callbackRate?: numberType;
432
+ workingType?: WorkingType;
433
+ priceProtect?: BooleanStringCapitalised;
434
+ newOrderRespType?: 'ACK' | 'RESULT';
435
+ selfTradePreventionMode?: SelfTradePreventionMode;
436
+ priceMatch?: PriceMatchMode;
437
+ goodTillDate?: number;
438
+ recvWindow?: number;
439
+ timestamp: number;
440
+ }
441
+ export interface WSAPIFuturesOrderModifyRequest {
442
+ symbol: string;
443
+ orderId?: number;
444
+ origClientOrderId?: string;
445
+ side: 'BUY' | 'SELL';
446
+ quantity: numberInString;
447
+ price: numberInString;
448
+ priceMatch?: 'NONE' | 'OPPONENT' | 'OPPONENT_5' | 'OPPONENT_10' | 'OPPONENT_20' | 'QUEUE' | 'QUEUE_5' | 'QUEUE_10' | 'QUEUE_20';
449
+ origType?: string;
450
+ positionSide?: 'BOTH' | 'LONG' | 'SHORT';
451
+ recvWindow?: number;
452
+ timestamp?: number;
453
+ }
454
+ export interface WSAPIFuturesOrderCancelRequest {
455
+ symbol: string;
456
+ orderId?: number;
457
+ origClientOrderId?: string;
458
+ recvWindow?: number;
459
+ timestamp?: number;
460
+ }
461
+ export interface WSAPIFuturesOrderStatusRequest {
462
+ symbol: string;
463
+ orderId?: number;
464
+ origClientOrderId?: string;
465
+ recvWindow?: number;
466
+ timestamp: number;
467
+ }
468
+ export interface WSAPIFuturesPositionRequest {
469
+ symbol?: string;
470
+ recvWindow?: number;
471
+ timestamp: number;
472
+ }
473
+ export interface WSAPIFuturesPositionV2Request {
474
+ symbol?: string;
475
+ recvWindow?: number;
476
+ timestamp: number;
477
+ }
478
+ export interface WSAPIAccountInformationRequest {
479
+ omitZeroBalances?: boolean;
480
+ recvWindow?: number;
481
+ timestamp: number;
482
+ }
483
+ export interface WSAPIAccountCommissionWSAPIRequest {
484
+ symbol: string;
485
+ }