ccxt 4.4.32 → 4.4.34

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 (118) hide show
  1. package/README.md +8 -7
  2. package/dist/ccxt.browser.min.js +6 -6
  3. package/dist/cjs/ccxt.js +4 -1
  4. package/dist/cjs/src/abstract/ellipx.js +9 -0
  5. package/dist/cjs/src/alpaca.js +2 -0
  6. package/dist/cjs/src/base/Exchange.js +116 -1
  7. package/dist/cjs/src/binance.js +164 -6
  8. package/dist/cjs/src/bingx.js +156 -9
  9. package/dist/cjs/src/bitbank.js +5 -0
  10. package/dist/cjs/src/bitbns.js +2 -0
  11. package/dist/cjs/src/bitfinex2.js +2 -1
  12. package/dist/cjs/src/bitget.js +177 -44
  13. package/dist/cjs/src/bitmex.js +2 -0
  14. package/dist/cjs/src/bitopro.js +3 -0
  15. package/dist/cjs/src/bitrue.js +1 -0
  16. package/dist/cjs/src/btcmarkets.js +2 -0
  17. package/dist/cjs/src/bybit.js +148 -13
  18. package/dist/cjs/src/cex.js +16 -6
  19. package/dist/cjs/src/coinbase.js +5 -24
  20. package/dist/cjs/src/coinbaseexchange.js +2 -1
  21. package/dist/cjs/src/coinex.js +2 -0
  22. package/dist/cjs/src/coinone.js +7 -7
  23. package/dist/cjs/src/coinsph.js +7 -7
  24. package/dist/cjs/src/coinspot.js +39 -39
  25. package/dist/cjs/src/cryptocom.js +36 -34
  26. package/dist/cjs/src/ellipx.js +1871 -0
  27. package/dist/cjs/src/gate.js +2 -1
  28. package/dist/cjs/src/hyperliquid.js +16 -2
  29. package/dist/cjs/src/kraken.js +1 -0
  30. package/dist/cjs/src/krakenfutures.js +3 -1
  31. package/dist/cjs/src/kucoinfutures.js +1 -1
  32. package/dist/cjs/src/lbank.js +1 -0
  33. package/dist/cjs/src/okcoin.js +2 -0
  34. package/dist/cjs/src/okx.js +104 -9
  35. package/dist/cjs/src/onetrading.js +14 -1
  36. package/dist/cjs/src/paradex.js +2 -0
  37. package/dist/cjs/src/phemex.js +35 -7
  38. package/dist/cjs/src/poloniex.js +3 -1
  39. package/dist/cjs/src/poloniexfutures.js +3 -1
  40. package/dist/cjs/src/pro/idex.js +5 -0
  41. package/dist/cjs/src/pro/okx.js +11 -1
  42. package/dist/cjs/src/pro/probit.js +4 -2
  43. package/dist/cjs/src/pro/woo.js +15 -15
  44. package/dist/cjs/src/vertex.js +2 -0
  45. package/dist/cjs/src/woo.js +69 -69
  46. package/examples/js/cli.js +1 -1
  47. package/js/ccxt.d.ts +5 -2
  48. package/js/ccxt.js +4 -2
  49. package/js/src/abstract/bingx.d.ts +16 -0
  50. package/js/src/abstract/bitbank.d.ts +5 -0
  51. package/js/src/abstract/bitfinex2.d.ts +1 -0
  52. package/js/src/abstract/coinbaseexchange.d.ts +1 -0
  53. package/js/src/abstract/ellipx.d.ts +28 -0
  54. package/js/src/abstract/ellipx.js +11 -0
  55. package/js/src/abstract/kraken.d.ts +1 -0
  56. package/js/src/alpaca.js +2 -0
  57. package/js/src/base/Exchange.d.ts +11 -0
  58. package/js/src/base/Exchange.js +116 -1
  59. package/js/src/binance.js +164 -6
  60. package/js/src/bingx.d.ts +3 -1
  61. package/js/src/bingx.js +156 -9
  62. package/js/src/bitbank.js +5 -0
  63. package/js/src/bitbns.js +2 -0
  64. package/js/src/bitfinex2.js +2 -1
  65. package/js/src/bitget.d.ts +4 -4
  66. package/js/src/bitget.js +177 -44
  67. package/js/src/bitmex.js +2 -0
  68. package/js/src/bitopro.d.ts +1 -0
  69. package/js/src/bitopro.js +3 -0
  70. package/js/src/bitrue.js +1 -0
  71. package/js/src/btcmarkets.d.ts +1 -0
  72. package/js/src/btcmarkets.js +2 -0
  73. package/js/src/bybit.d.ts +3 -2
  74. package/js/src/bybit.js +149 -14
  75. package/js/src/cex.d.ts +1 -0
  76. package/js/src/cex.js +17 -7
  77. package/js/src/coinbase.d.ts +2 -1
  78. package/js/src/coinbase.js +5 -24
  79. package/js/src/coinbaseexchange.js +2 -1
  80. package/js/src/coinex.js +2 -0
  81. package/js/src/coinone.js +7 -7
  82. package/js/src/coinsph.js +7 -7
  83. package/js/src/coinspot.js +39 -39
  84. package/js/src/cryptocom.d.ts +1 -1
  85. package/js/src/cryptocom.js +36 -34
  86. package/js/src/ellipx.d.ts +236 -0
  87. package/js/src/ellipx.js +1874 -0
  88. package/js/src/gate.d.ts +2 -2
  89. package/js/src/gate.js +2 -1
  90. package/js/src/hyperliquid.d.ts +2 -1
  91. package/js/src/hyperliquid.js +16 -2
  92. package/js/src/kraken.js +1 -0
  93. package/js/src/krakenfutures.js +3 -1
  94. package/js/src/kucoinfutures.d.ts +1 -1
  95. package/js/src/kucoinfutures.js +1 -1
  96. package/js/src/lbank.js +1 -0
  97. package/js/src/okcoin.js +2 -0
  98. package/js/src/okx.d.ts +1 -1
  99. package/js/src/okx.js +104 -9
  100. package/js/src/onetrading.d.ts +5 -0
  101. package/js/src/onetrading.js +15 -2
  102. package/js/src/paradex.js +2 -0
  103. package/js/src/phemex.d.ts +4 -0
  104. package/js/src/phemex.js +35 -7
  105. package/js/src/poloniex.d.ts +1 -1
  106. package/js/src/poloniex.js +3 -1
  107. package/js/src/poloniexfutures.d.ts +1 -1
  108. package/js/src/poloniexfutures.js +3 -1
  109. package/js/src/pro/idex.d.ts +5 -0
  110. package/js/src/pro/idex.js +5 -0
  111. package/js/src/pro/okx.js +11 -1
  112. package/js/src/pro/probit.js +4 -2
  113. package/js/src/pro/woo.d.ts +11 -11
  114. package/js/src/pro/woo.js +15 -15
  115. package/js/src/vertex.js +2 -0
  116. package/js/src/woo.d.ts +60 -60
  117. package/js/src/woo.js +69 -69
  118. package/package.json +3 -3
package/js/src/bingx.js CHANGED
@@ -46,6 +46,7 @@ export default class bingx extends Exchange {
46
46
  'createOrders': true,
47
47
  'createOrderWithTakeProfitAndStopLoss': true,
48
48
  'createStopLossOrder': true,
49
+ 'createStopOrder': true,
49
50
  'createTakeProfitOrder': true,
50
51
  'createTrailingAmountOrder': true,
51
52
  'createTrailingPercentOrder': true,
@@ -199,6 +200,8 @@ export default class bingx extends Exchange {
199
200
  'get': {
200
201
  'ticker/price': 1,
201
202
  'market/historicalTrades': 1,
203
+ 'market/markPriceKlines': 1,
204
+ 'trade/multiAssetsRules': 1,
202
205
  },
203
206
  },
204
207
  'private': {
@@ -207,12 +210,24 @@ export default class bingx extends Exchange {
207
210
  'market/markPriceKlines': 1,
208
211
  'trade/batchCancelReplace': 5,
209
212
  'trade/fullOrder': 2,
213
+ 'maintMarginRatio': 2,
214
+ 'trade/positionHistory': 2,
210
215
  'positionMargin/history': 2,
216
+ 'twap/openOrders': 5,
217
+ 'twap/historyOrders': 5,
218
+ 'twap/orderDetail': 5,
219
+ 'trade/assetMode': 5,
220
+ 'user/marginAssets': 5,
211
221
  },
212
222
  'post': {
213
223
  'trade/cancelReplace': 2,
214
224
  'positionSide/dual': 5,
225
+ 'trade/batchCancelReplace': 5,
215
226
  'trade/closePosition': 2,
227
+ 'trade/getVst': 5,
228
+ 'twap/order': 5,
229
+ 'twap/cancelOrder': 5,
230
+ 'trade/assetMode': 5,
216
231
  },
217
232
  },
218
233
  },
@@ -245,6 +260,7 @@ export default class bingx extends Exchange {
245
260
  'trade/forceOrders': 1,
246
261
  'trade/allOrders': 2,
247
262
  'trade/allFillOrders': 2,
263
+ 'trade/fillHistory': 2,
248
264
  'user/income/export': 2,
249
265
  'user/commissionRate': 2,
250
266
  'quote/bookTicker': 1,
@@ -302,6 +318,7 @@ export default class bingx extends Exchange {
302
318
  'post': {
303
319
  'trade/order': 2,
304
320
  'trade/leverage': 2,
321
+ 'trade/allOpenOrders': 2,
305
322
  'trade/closeAllPositions': 2,
306
323
  'trade/marginType': 2,
307
324
  'trade/positionMargin': 2,
@@ -500,6 +517,136 @@ export default class bingx extends Exchange {
500
517
  'MATIC': 'POLYGON',
501
518
  },
502
519
  },
520
+ 'features': {
521
+ 'defaultForLinear': {
522
+ 'sandbox': true,
523
+ 'createOrder': {
524
+ 'marginMode': false,
525
+ 'triggerPrice': true,
526
+ 'triggerPriceType': {
527
+ 'last': true,
528
+ 'mark': true,
529
+ 'index': true,
530
+ },
531
+ 'triggerDirection': false,
532
+ 'stopLossPrice': true,
533
+ 'takeProfitPrice': true,
534
+ 'attachedStopLossTakeProfit': {
535
+ 'triggerPriceType': {
536
+ 'last': true,
537
+ 'mark': true,
538
+ 'index': true,
539
+ },
540
+ 'limitPrice': true,
541
+ },
542
+ 'timeInForce': {
543
+ 'GTC': true,
544
+ 'IOC': true,
545
+ 'FOK': true,
546
+ 'PO': true,
547
+ 'GTD': false,
548
+ },
549
+ 'hedged': true,
550
+ 'trailing': true,
551
+ },
552
+ 'createOrders': {
553
+ 'max': 5,
554
+ },
555
+ 'fetchMyTrades': {
556
+ 'marginMode': false,
557
+ 'limit': 512,
558
+ 'daysBack': 30,
559
+ 'untilDays': 30, // 30 for 'allFillOrders', 7 for 'fillHistory'
560
+ },
561
+ 'fetchOrder': {
562
+ 'marginMode': false,
563
+ 'trigger': false,
564
+ 'trailing': false,
565
+ },
566
+ 'fetchOpenOrders': {
567
+ 'marginMode': false,
568
+ 'limit': undefined,
569
+ 'trigger': false,
570
+ 'trailing': false,
571
+ },
572
+ 'fetchOrders': {
573
+ 'marginMode': false,
574
+ 'limit': 1000,
575
+ 'daysBack': 20000,
576
+ 'untilDays': 7,
577
+ 'trigger': false,
578
+ 'trailing': false,
579
+ },
580
+ 'fetchClosedOrders': {
581
+ 'marginMode': false,
582
+ 'limit': 1000,
583
+ 'daysBackClosed': undefined,
584
+ 'daysBackCanceled': undefined,
585
+ 'untilDays': 7,
586
+ 'trigger': false,
587
+ 'trailing': false,
588
+ },
589
+ 'fetchOHLCV': {
590
+ 'limit': 1440,
591
+ },
592
+ },
593
+ 'defaultForInverse': {
594
+ 'extends': 'defaultForLinear',
595
+ 'fetchMyTrades': {
596
+ 'limit': 1000,
597
+ 'daysBack': undefined,
598
+ 'untilDays': undefined,
599
+ },
600
+ 'fetchOHLCV': {
601
+ 'limit': 1440,
602
+ },
603
+ 'fetchOrders': undefined,
604
+ 'fetchClosedOrders': {
605
+ 'marginMode': false,
606
+ 'limit': 1000,
607
+ 'daysBackClosed': undefined,
608
+ 'daysBackCanceled': undefined,
609
+ 'untilDays': 7,
610
+ 'trigger': false,
611
+ 'trailing': false,
612
+ },
613
+ },
614
+ //
615
+ 'spot': {
616
+ 'extends': 'defaultForLinear',
617
+ 'createOrder': {
618
+ 'triggerPriceType': undefined,
619
+ 'attachedStopLossTakeProfit': undefined,
620
+ 'trailing': false,
621
+ },
622
+ 'fetchMyTrades': {
623
+ 'limit': 1000,
624
+ 'daysBack': 1,
625
+ 'untilDays': 1,
626
+ },
627
+ 'fetchOrders': undefined,
628
+ 'fetchClosedOrders': {
629
+ 'limit': 100,
630
+ 'untilDays': undefined,
631
+ },
632
+ },
633
+ 'swap': {
634
+ 'linear': {
635
+ 'extends': 'defaultForLinear',
636
+ },
637
+ 'inverse': {
638
+ 'extends': 'defaultForInverse',
639
+ },
640
+ },
641
+ 'future': {
642
+ 'linear': {
643
+ 'extends': 'defaultForLinear',
644
+ },
645
+ 'inverse': {
646
+ 'extends': 'defaultForInverse',
647
+ },
648
+ },
649
+ },
503
650
  });
504
651
  }
505
652
  /**
@@ -3957,7 +4104,8 @@ export default class bingx extends Exchange {
3957
4104
  * @method
3958
4105
  * @name bingx#fetchOrders
3959
4106
  * @description fetches information on multiple orders made by the user
3960
- * @see https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#User's%20All%20Orders
4107
+ * @see https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#All%20Orders
4108
+ * @see https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#Query%20Order%20history (returns less fields than above)
3961
4109
  * @param {string} symbol unified market symbol of the market orders were made in
3962
4110
  * @param {int} [since] the earliest time in ms to fetch orders for
3963
4111
  * @param {int} [limit] the maximum number of order structures to retrieve
@@ -3968,7 +4116,7 @@ export default class bingx extends Exchange {
3968
4116
  */
3969
4117
  async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
3970
4118
  await this.loadMarkets();
3971
- const request = {};
4119
+ let request = {};
3972
4120
  let market = undefined;
3973
4121
  if (symbol !== undefined) {
3974
4122
  market = this.market(symbol);
@@ -3985,12 +4133,7 @@ export default class bingx extends Exchange {
3985
4133
  if (since !== undefined) {
3986
4134
  request['startTime'] = since;
3987
4135
  }
3988
- const until = this.safeInteger(params, 'until'); // unified in milliseconds
3989
- const endTime = this.safeInteger(params, 'endTime', until); // exchange-specific in milliseconds
3990
- params = this.omit(params, ['endTime', 'until']);
3991
- if (endTime !== undefined) {
3992
- request['endTime'] = endTime;
3993
- }
4136
+ [request, params] = this.handleUntilOption('endTime', request, params);
3994
4137
  const response = await this.swapV1PrivateGetTradeFullOrder(this.extend(request, params));
3995
4138
  //
3996
4139
  // {
@@ -4276,6 +4419,9 @@ export default class bingx extends Exchange {
4276
4419
  response = await this.contractV1PrivateGetAllOrders(this.extend(request, params));
4277
4420
  }
4278
4421
  else if (type === 'spot') {
4422
+ if (limit !== undefined) {
4423
+ request['limit'] = limit;
4424
+ }
4279
4425
  response = await this.spotV1PrivateGetTradeHistoryOrders(this.extend(request, params));
4280
4426
  //
4281
4427
  // {
@@ -5098,6 +5244,7 @@ export default class bingx extends Exchange {
5098
5244
  * @description fetch all trades made by the user
5099
5245
  * @see https://bingx-api.github.io/docs/#/en-us/spot/trade-api.html#Query%20transaction%20details
5100
5246
  * @see https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#Query%20historical%20transaction%20orders
5247
+ * @see https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#Query%20historical%20transaction%20details
5101
5248
  * @see https://bingx-api.github.io/docs/#/en-us/cswap/trade-api.html#Query%20Order%20Trade%20Detail
5102
5249
  * @param {string} [symbol] unified market symbol
5103
5250
  * @param {int} [since] the earliest time in ms to fetch trades for
@@ -5161,7 +5308,7 @@ export default class bingx extends Exchange {
5161
5308
  request[startTimeReq] = since;
5162
5309
  }
5163
5310
  else if (market['swap']) {
5164
- request['startTs'] = now - 7776000000; // 90 days
5311
+ request['startTs'] = now - 30 * 24 * 60 * 60 * 1000; // 30 days for swap
5165
5312
  }
5166
5313
  const until = this.safeInteger(params, 'until');
5167
5314
  params = this.omit(params, 'until');
package/js/src/bitbank.js CHANGED
@@ -123,8 +123,11 @@ export default class bitbank extends Exchange {
123
123
  'user/assets',
124
124
  'user/spot/order',
125
125
  'user/spot/active_orders',
126
+ 'user/margin/positions',
126
127
  'user/spot/trade_history',
127
128
  'user/deposit_history',
129
+ 'user/unconfirmed_deposits',
130
+ 'user/deposit_originators',
128
131
  'user/withdrawal_account',
129
132
  'user/withdrawal_history',
130
133
  'spot/status',
@@ -135,6 +138,8 @@ export default class bitbank extends Exchange {
135
138
  'user/spot/cancel_order',
136
139
  'user/spot/cancel_orders',
137
140
  'user/spot/orders_info',
141
+ 'user/confirm_deposits',
142
+ 'user/confirm_deposits_all',
138
143
  'user/request_withdrawal',
139
144
  ],
140
145
  },
package/js/src/bitbns.js CHANGED
@@ -35,6 +35,8 @@ export default class bitbns extends Exchange {
35
35
  'cancelAllOrders': false,
36
36
  'cancelOrder': true,
37
37
  'createOrder': true,
38
+ 'createStopOrder': true,
39
+ 'createTriggerOrder': true,
38
40
  'fetchBalance': true,
39
41
  'fetchDepositAddress': true,
40
42
  'fetchDepositAddresses': false,
@@ -207,7 +207,8 @@ export default class bitfinex2 extends Exchange {
207
207
  'rankings/{key}:{timeframe}:{symbol}/hist': 2.7,
208
208
  'pulse/hist': 2.7,
209
209
  'pulse/profile/{nickname}': 2.7,
210
- 'funding/stats/{symbol}/hist': 10, // ratelimit not in docs
210
+ 'funding/stats/{symbol}/hist': 10,
211
+ 'ext/vasps': 1,
211
212
  },
212
213
  'post': {
213
214
  'calc/trade/avg': 2.7,
@@ -364,7 +364,7 @@ export default class bitget extends Exchange {
364
364
  * @param {string} symbol unified symbol of the market the order was made in
365
365
  * @param {object} [params] extra parameters specific to the exchange API endpoint
366
366
  * @param {string} [params.marginMode] 'isolated' or 'cross' for spot margin trading
367
- * @param {boolean} [params.stop] set to true for canceling trigger orders
367
+ * @param {boolean} [params.trigger] set to true for canceling trigger orders
368
368
  * @param {string} [params.planType] *swap only* either profit_plan, loss_plan, normal_plan, pos_profit, pos_loss, moving_plan or track_plan
369
369
  * @param {boolean} [params.trailing] set to true if you want to cancel a trailing order
370
370
  * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
@@ -383,7 +383,7 @@ export default class bitget extends Exchange {
383
383
  * @param {string} symbol unified market symbol, default is undefined
384
384
  * @param {object} [params] extra parameters specific to the exchange API endpoint
385
385
  * @param {string} [params.marginMode] 'isolated' or 'cross' for spot margin trading
386
- * @param {boolean} [params.stop] *contract only* set to true for canceling trigger orders
386
+ * @param {boolean} [params.trigger] *contract only* set to true for canceling trigger orders
387
387
  * @returns {object} an array of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
388
388
  */
389
389
  cancelOrders(ids: any, symbol?: Str, params?: {}): Promise<Order[]>;
@@ -399,7 +399,7 @@ export default class bitget extends Exchange {
399
399
  * @param {string} symbol unified market symbol
400
400
  * @param {object} [params] extra parameters specific to the exchange API endpoint
401
401
  * @param {string} [params.marginMode] 'isolated' or 'cross' for spot margin trading
402
- * @param {boolean} [params.stop] *contract only* set to true for canceling trigger orders
402
+ * @param {boolean} [params.trigger] *contract only* set to true for canceling trigger orders
403
403
  * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
404
404
  */
405
405
  cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
@@ -431,7 +431,7 @@ export default class bitget extends Exchange {
431
431
  * @param {object} [params] extra parameters specific to the exchange API endpoint
432
432
  * @param {int} [params.until] the latest time in ms to fetch orders for
433
433
  * @param {string} [params.planType] *contract stop only* 'normal_plan': average trigger order, 'profit_loss': opened tp/sl orders, 'track_plan': trailing stop order, default is 'normal_plan'
434
- * @param {boolean} [params.stop] set to true for fetching trigger orders
434
+ * @param {boolean} [params.trigger] set to true for fetching trigger orders
435
435
  * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
436
436
  * @param {string} [params.isPlan] *swap only* 'plan' for stop orders and 'profit_loss' for tp/sl orders, default is 'plan'
437
437
  * @param {boolean} [params.trailing] set to true if you want to fetch trailing orders