ccxt 4.1.47 → 4.1.49

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 (114) hide show
  1. package/README.md +124 -124
  2. package/dist/ccxt.browser.js +670 -460
  3. package/dist/ccxt.browser.min.js +3 -3
  4. package/dist/cjs/ccxt.js +6 -1
  5. package/dist/cjs/src/abstract/htx.js +9 -0
  6. package/dist/cjs/src/binance.js +2 -0
  7. package/dist/cjs/src/bitmart.js +183 -62
  8. package/dist/cjs/src/coinex.js +67 -18
  9. package/dist/cjs/src/htx.js +8505 -0
  10. package/dist/cjs/src/huobi.js +5 -8503
  11. package/dist/cjs/src/kraken.js +0 -4
  12. package/dist/cjs/src/mexc.js +21 -21
  13. package/dist/cjs/src/pro/htx.js +2356 -0
  14. package/dist/cjs/src/pro/huobi.js +5 -2345
  15. package/dist/cjs/src/timex.js +1 -1
  16. package/js/ccxt.d.ts +8 -2
  17. package/js/ccxt.js +6 -2
  18. package/js/src/abstract/binance.d.ts +2 -0
  19. package/js/src/abstract/binancecoinm.d.ts +2 -0
  20. package/js/src/abstract/binanceus.d.ts +2 -0
  21. package/js/src/abstract/binanceusdm.d.ts +2 -0
  22. package/js/src/abstract/htx.d.ts +544 -0
  23. package/js/src/abstract/htx.js +11 -0
  24. package/js/src/abstract/huobi.d.ts +4 -4
  25. package/js/src/abstract/huobi.js +3 -3
  26. package/js/src/ace.d.ts +2 -2
  27. package/js/src/ascendex.d.ts +2 -2
  28. package/js/src/base/Exchange.d.ts +2 -2
  29. package/js/src/base/types.d.ts +0 -1
  30. package/js/src/bigone.d.ts +2 -2
  31. package/js/src/binance.d.ts +3 -56
  32. package/js/src/binance.js +2 -0
  33. package/js/src/bingx.d.ts +3 -55
  34. package/js/src/bitbns.d.ts +2 -2
  35. package/js/src/bitfinex.d.ts +2 -2
  36. package/js/src/bitfinex2.d.ts +2 -2
  37. package/js/src/bitget.d.ts +3 -53
  38. package/js/src/bithumb.d.ts +2 -2
  39. package/js/src/bitmart.d.ts +4 -2
  40. package/js/src/bitmart.js +183 -62
  41. package/js/src/bitmex.d.ts +2 -2
  42. package/js/src/bitopro.d.ts +2 -2
  43. package/js/src/bitpanda.d.ts +2 -2
  44. package/js/src/bitrue.d.ts +2 -2
  45. package/js/src/bitstamp.d.ts +2 -2
  46. package/js/src/bittrex.d.ts +2 -2
  47. package/js/src/bitvavo.d.ts +2 -2
  48. package/js/src/blockchaincom.d.ts +2 -2
  49. package/js/src/btcalpha.d.ts +2 -2
  50. package/js/src/btcturk.d.ts +2 -2
  51. package/js/src/bybit.d.ts +2 -2
  52. package/js/src/cex.d.ts +2 -2
  53. package/js/src/coinbase.d.ts +2 -2
  54. package/js/src/coinbasepro.d.ts +2 -2
  55. package/js/src/coinex.d.ts +2 -2
  56. package/js/src/coinex.js +67 -18
  57. package/js/src/coinfalcon.d.ts +2 -2
  58. package/js/src/coinlist.d.ts +2 -2
  59. package/js/src/coinone.d.ts +2 -2
  60. package/js/src/coinsph.d.ts +2 -2
  61. package/js/src/coinspot.d.ts +2 -2
  62. package/js/src/cryptocom.d.ts +2 -2
  63. package/js/src/currencycom.d.ts +2 -2
  64. package/js/src/delta.d.ts +2 -2
  65. package/js/src/deribit.d.ts +2 -2
  66. package/js/src/digifinex.d.ts +2 -2
  67. package/js/src/exmo.d.ts +2 -2
  68. package/js/src/gate.d.ts +2 -2
  69. package/js/src/gemini.d.ts +3 -51
  70. package/js/src/hitbtc.d.ts +2 -2
  71. package/js/src/hollaex.d.ts +2 -2
  72. package/js/src/htx.d.ts +257 -0
  73. package/js/src/htx.js +8506 -0
  74. package/js/src/huobi.d.ts +2 -255
  75. package/js/src/huobi.js +5 -8503
  76. package/js/src/huobijp.d.ts +2 -2
  77. package/js/src/idex.d.ts +2 -2
  78. package/js/src/indodax.d.ts +2 -2
  79. package/js/src/kraken.d.ts +2 -2
  80. package/js/src/kraken.js +0 -4
  81. package/js/src/krakenfutures.d.ts +2 -2
  82. package/js/src/kucoin.d.ts +2 -2
  83. package/js/src/kuna.d.ts +2 -2
  84. package/js/src/latoken.d.ts +2 -2
  85. package/js/src/lbank.d.ts +2 -2
  86. package/js/src/lbank2.d.ts +2 -2
  87. package/js/src/luno.d.ts +2 -2
  88. package/js/src/lykke.d.ts +2 -2
  89. package/js/src/mexc.d.ts +2 -2
  90. package/js/src/mexc.js +21 -21
  91. package/js/src/novadax.d.ts +2 -2
  92. package/js/src/oceanex.d.ts +2 -2
  93. package/js/src/okcoin.d.ts +3 -3
  94. package/js/src/okx.d.ts +3 -3
  95. package/js/src/phemex.d.ts +2 -2
  96. package/js/src/poloniex.d.ts +2 -2
  97. package/js/src/poloniexfutures.d.ts +2 -2
  98. package/js/src/pro/htx.d.ts +45 -0
  99. package/js/src/pro/htx.js +2357 -0
  100. package/js/src/pro/huobi.d.ts +2 -43
  101. package/js/src/pro/huobi.js +5 -2345
  102. package/js/src/probit.d.ts +2 -2
  103. package/js/src/tidex.d.ts +2 -2
  104. package/js/src/timex.d.ts +3 -53
  105. package/js/src/timex.js +1 -1
  106. package/js/src/tokocrypto.d.ts +2 -2
  107. package/js/src/upbit.d.ts +2 -2
  108. package/js/src/wavesexchange.d.ts +2 -2
  109. package/js/src/wazirx.d.ts +2 -2
  110. package/js/src/whitebit.d.ts +2 -2
  111. package/js/src/yobit.d.ts +2 -2
  112. package/js/src/zonda.d.ts +2 -2
  113. package/package.json +1 -1
  114. package/skip-tests.json +4 -4
@@ -866,7 +866,7 @@ class Exchange extends _base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchang
866
866
 
867
867
  /***/ }),
868
868
 
869
- /***/ 2498:
869
+ /***/ 2140:
870
870
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
871
871
 
872
872
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -17496,9 +17496,11 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
17496
17496
  'um/order': 1,
17497
17497
  'um/conditional/order': 1,
17498
17498
  'um/allOpenOrders': 1,
17499
+ 'um/conditional/allOpenOrders': 1,
17499
17500
  'cm/order': 1,
17500
17501
  'cm/conditional/order': 1,
17501
17502
  'cm/allOpenOrders': 1,
17503
+ 'cm/conditional/allOpenOrders': 1,
17502
17504
  'margin/order': 1,
17503
17505
  'margin/allOpenOrders': 5,
17504
17506
  'margin/orderList': 2,
@@ -47837,6 +47839,7 @@ class bitmart extends _abstract_bitmart_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
47837
47839
  'swap': 'swap',
47838
47840
  },
47839
47841
  'createMarketBuyOrderRequiresPrice': true,
47842
+ 'brokerId': 'CCXTxBitmart000',
47840
47843
  },
47841
47844
  });
47842
47845
  }
@@ -49243,6 +49246,12 @@ class bitmart extends _abstract_bitmart_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
49243
49246
  // "order_id": 2707217580
49244
49247
  // }
49245
49248
  //
49249
+ // swap
49250
+ // "data": {
49251
+ // "order_id": 231116359426639,
49252
+ // "price": "market price"
49253
+ // },
49254
+ //
49246
49255
  // cancelOrder
49247
49256
  //
49248
49257
  // "2707217580" // order id
@@ -49325,6 +49334,10 @@ class bitmart extends _abstract_bitmart_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
49325
49334
  type = 'limit';
49326
49335
  timeInForce = 'IOC';
49327
49336
  }
49337
+ let priceString = this.safeString(order, 'price');
49338
+ if (priceString === 'market price') {
49339
+ priceString = undefined;
49340
+ }
49328
49341
  return this.safeOrder({
49329
49342
  'id': id,
49330
49343
  'clientOrderId': this.safeString(order, 'client_order_id'),
@@ -49337,7 +49350,7 @@ class bitmart extends _abstract_bitmart_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
49337
49350
  'timeInForce': timeInForce,
49338
49351
  'postOnly': postOnly,
49339
49352
  'side': this.parseOrderSide(this.safeString(order, 'side')),
49340
- 'price': this.omitZero(this.safeString(order, 'price')),
49353
+ 'price': this.omitZero(priceString),
49341
49354
  'stopPrice': undefined,
49342
49355
  'triggerPrice': undefined,
49343
49356
  'amount': this.omitZero(this.safeString(order, 'size')),
@@ -49391,6 +49404,7 @@ class bitmart extends _abstract_bitmart_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
49391
49404
  * @description create a trade order
49392
49405
  * @see https://developer-pro.bitmart.com/en/spot/#place-spot-order
49393
49406
  * @see https://developer-pro.bitmart.com/en/spot/#place-margin-order
49407
+ * @see https://developer-pro.bitmart.com/en/futures/#submit-order-signed
49394
49408
  * @param {string} symbol unified symbol of the market to create an order in
49395
49409
  * @param {string} type 'market' or 'limit'
49396
49410
  * @param {string} side 'buy' or 'sell'
@@ -49398,11 +49412,153 @@ class bitmart extends _abstract_bitmart_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
49398
49412
  * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
49399
49413
  * @param {object} [params] extra parameters specific to the bitmart api endpoint
49400
49414
  * @param {string} [params.marginMode] 'cross' or 'isolated'
49415
+ * @param {string} [params.leverage] *swap only* leverage level
49416
+ * @param {string} [params.clientOrderId] client order id of the order
49417
+ * @param {boolean} [params.reduceOnly] *swap only* reduce only
49418
+ * @param {boolean} [params.postOnly] make sure the order is posted to the order book and not matched immediately
49401
49419
  * @returns {object} an [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
49402
49420
  */
49403
49421
  await this.loadMarkets();
49404
49422
  const market = this.market(symbol);
49405
- const request = {};
49423
+ const result = this.handleMarginModeAndParams('createOrder', params);
49424
+ const marginMode = this.safeString(result, 0);
49425
+ let response = undefined;
49426
+ if (market['spot']) {
49427
+ const spotRequest = this.createSpotOrderRequest(symbol, type, side, amount, price, params);
49428
+ if (marginMode === 'isolated') {
49429
+ response = await this.privatePostSpotV1MarginSubmitOrder(spotRequest);
49430
+ }
49431
+ else {
49432
+ response = await this.privatePostSpotV2SubmitOrder(spotRequest);
49433
+ }
49434
+ }
49435
+ else {
49436
+ const swapRequest = this.createSwapOrderRequest(symbol, type, side, amount, price, params);
49437
+ response = await this.privatePostContractPrivateSubmitOrder(swapRequest);
49438
+ }
49439
+ //
49440
+ // spot and margin
49441
+ //
49442
+ // {
49443
+ // "code": 1000,
49444
+ // "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
49445
+ // "message": "OK",
49446
+ // "data": {
49447
+ // "order_id": 2707217580
49448
+ // }
49449
+ // }
49450
+ //
49451
+ // swap
49452
+ // {"code":1000,"message":"Ok","data":{"order_id":231116359426639,"price":"market price"},"trace":"7f9c94e10f9d4513bc08a7bfc2a5559a.62.16996369620521911"}
49453
+ //
49454
+ const data = this.safeValue(response, 'data', {});
49455
+ const order = this.parseOrder(data, market);
49456
+ order['type'] = type;
49457
+ order['side'] = side;
49458
+ order['amount'] = amount;
49459
+ order['price'] = price;
49460
+ return order;
49461
+ }
49462
+ createSwapOrderRequest(symbol, type, side, amount, price = undefined, params = {}) {
49463
+ /**
49464
+ * @method
49465
+ * @name bitmart#createSwapOrderRequest
49466
+ * @description create a trade order
49467
+ * @see https://developer-pro.bitmart.com/en/futures/#submit-order-signed
49468
+ * @param {string} symbol unified symbol of the market to create an order in
49469
+ * @param {string} type 'market' or 'limit'
49470
+ * @param {string} side 'buy' or 'sell'
49471
+ * @param {float} amount how much of currency you want to trade in units of base currency
49472
+ * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
49473
+ * @param {object} [params] extra parameters specific to the bitmart api endpoint
49474
+ * @param {int} [params.leverage] leverage level
49475
+ * @param {boolean} [params.reduceOnly] *swap only* reduce only
49476
+ * @param {string} [params.marginMode] 'cross' or 'isolated', default is 'cross'
49477
+ * @param {string} [params.clientOrderId] client order id of the order
49478
+ * @returns {object} an [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
49479
+ */
49480
+ const market = this.market(symbol);
49481
+ const request = {
49482
+ 'symbol': market['id'],
49483
+ 'type': type,
49484
+ 'size': parseInt(this.amountToPrecision(symbol, amount)),
49485
+ };
49486
+ const timeInForce = this.safeString(params, 'timeInForce');
49487
+ const mode = this.safeInteger(params, 'mode'); // only for swap
49488
+ const isMarketOrder = type === 'market';
49489
+ let postOnly = undefined;
49490
+ const reduceOnly = this.safeValue(params, 'reduceOnly');
49491
+ const isExchangeSpecificPo = (mode === 4);
49492
+ [postOnly, params] = this.handlePostOnly(isMarketOrder, isExchangeSpecificPo, params);
49493
+ params = this.omit(params, ['timeInForce', 'postOnly', 'reduceOnly']);
49494
+ const ioc = ((timeInForce === 'IOC') || (mode === 3));
49495
+ const isLimitOrder = (type === 'limit') || postOnly || ioc;
49496
+ if (timeInForce === 'GTC') {
49497
+ request['mode'] = 1;
49498
+ }
49499
+ else if (timeInForce === 'FOK') {
49500
+ request['mode'] = 2;
49501
+ }
49502
+ else if (timeInForce === 'IOC') {
49503
+ request['mode'] = 3;
49504
+ }
49505
+ if (postOnly) {
49506
+ request['mode'] = 4;
49507
+ }
49508
+ if (isLimitOrder) {
49509
+ request['price'] = this.priceToPrecision(symbol, price);
49510
+ }
49511
+ if (side === 'buy') {
49512
+ if (reduceOnly) {
49513
+ request['side'] = 2; // sell close long
49514
+ }
49515
+ else {
49516
+ request['side'] = 1; // buy open long
49517
+ }
49518
+ }
49519
+ else if (side === 'sell') {
49520
+ if (reduceOnly) {
49521
+ request['side'] = 3; // sell close long
49522
+ }
49523
+ else {
49524
+ request['side'] = 4; // sell open short
49525
+ }
49526
+ }
49527
+ let marginMode = undefined;
49528
+ [marginMode, params] = this.handleMarginModeAndParams('createOrder', params, 'cross');
49529
+ request['open_type'] = marginMode;
49530
+ const clientOrderId = this.safeString(params, 'clientOrderId');
49531
+ if (clientOrderId !== undefined) {
49532
+ params = this.omit(params, 'clientOrderId');
49533
+ request['client_order_id'] = clientOrderId;
49534
+ }
49535
+ const leverage = this.safeInteger(params, 'leverage', 1);
49536
+ params = this.omit(params, 'leverage');
49537
+ request['leverage'] = this.numberToString(leverage);
49538
+ return this.extend(request, params);
49539
+ }
49540
+ createSpotOrderRequest(symbol, type, side, amount, price = undefined, params = {}) {
49541
+ /**
49542
+ * @method
49543
+ * @name bitmart#createSpotOrderRequest
49544
+ * @description create a spot order request
49545
+ * @see https://developer-pro.bitmart.com/en/spot/#place-spot-order
49546
+ * @see https://developer-pro.bitmart.com/en/spot/#place-margin-order
49547
+ * @param {string} symbol unified symbol of the market to create an order in
49548
+ * @param {string} type 'market' or 'limit'
49549
+ * @param {string} side 'buy' or 'sell'
49550
+ * @param {float} amount how much of currency you want to trade in units of base currency
49551
+ * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
49552
+ * @param {object} [params] extra parameters specific to the bitmart api endpoint
49553
+ * @param {string} [params.marginMode] 'cross' or 'isolated'
49554
+ * @returns {object} an [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
49555
+ */
49556
+ const market = this.market(symbol);
49557
+ const request = {
49558
+ 'symbol': market['id'],
49559
+ 'side': side,
49560
+ 'type': type,
49561
+ };
49406
49562
  const timeInForce = this.safeString(params, 'timeInForce');
49407
49563
  if (timeInForce === 'FOK') {
49408
49564
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder(this.id + ' createOrder() only accepts timeInForce parameter values of IOC or PO');
@@ -49415,45 +49571,36 @@ class bitmart extends _abstract_bitmart_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
49415
49571
  params = this.omit(params, ['timeInForce', 'postOnly']);
49416
49572
  const ioc = ((timeInForce === 'IOC') || (type === 'ioc'));
49417
49573
  const isLimitOrder = (type === 'limit') || postOnly || ioc;
49418
- let method = undefined;
49419
- if (market['spot']) {
49420
- request['symbol'] = market['id'];
49421
- request['side'] = side;
49422
- request['type'] = type;
49423
- method = 'privatePostSpotV2SubmitOrder';
49424
- if (isLimitOrder) {
49425
- request['size'] = this.amountToPrecision(symbol, amount);
49426
- request['price'] = this.priceToPrecision(symbol, price);
49427
- }
49428
- else if (isMarketOrder) {
49429
- // for market buy it requires the amount of quote currency to spend
49430
- if (side === 'buy') {
49431
- let notional = this.safeNumber(params, 'notional');
49432
- const createMarketBuyOrderRequiresPrice = this.safeValue(this.options, 'createMarketBuyOrderRequiresPrice', true);
49433
- if (createMarketBuyOrderRequiresPrice) {
49434
- if (price !== undefined) {
49435
- if (notional === undefined) {
49436
- const amountString = this.numberToString(amount);
49437
- const priceString = this.numberToString(price);
49438
- notional = this.parseNumber(_base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringMul */ .O.stringMul(amountString, priceString));
49439
- }
49440
- }
49441
- else if (notional === undefined) {
49442
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder(this.id + " createOrder () requires the price argument with market buy orders to calculate total order cost (amount to spend), where cost = amount * price. Supply a price argument to createOrder() call if you want the cost to be calculated for you from price and amount, or, alternatively, add .options['createMarketBuyOrderRequiresPrice'] = false and supply the total cost value in the 'amount' argument or in the 'notional' extra parameter (the exchange-specific behaviour)");
49574
+ // method = 'privatePostSpotV2SubmitOrder';
49575
+ if (isLimitOrder) {
49576
+ request['size'] = this.amountToPrecision(symbol, amount);
49577
+ request['price'] = this.priceToPrecision(symbol, price);
49578
+ }
49579
+ else if (isMarketOrder) {
49580
+ // for market buy it requires the amount of quote currency to spend
49581
+ if (side === 'buy') {
49582
+ let notional = this.safeNumber(params, 'notional');
49583
+ const createMarketBuyOrderRequiresPrice = this.safeValue(this.options, 'createMarketBuyOrderRequiresPrice', true);
49584
+ if (createMarketBuyOrderRequiresPrice) {
49585
+ if (price !== undefined) {
49586
+ if (notional === undefined) {
49587
+ const amountString = this.numberToString(amount);
49588
+ const priceString = this.numberToString(price);
49589
+ notional = this.parseNumber(_base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringMul */ .O.stringMul(amountString, priceString));
49443
49590
  }
49444
49591
  }
49445
- else {
49446
- notional = (notional === undefined) ? amount : notional;
49592
+ else if (notional === undefined) {
49593
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder(this.id + " createOrder () requires the price argument with market buy orders to calculate total order cost (amount to spend), where cost = amount * price. Supply a price argument to createOrder() call if you want the cost to be calculated for you from price and amount, or, alternatively, add .options['createMarketBuyOrderRequiresPrice'] = false and supply the total cost value in the 'amount' argument or in the 'notional' extra parameter (the exchange-specific behaviour)");
49447
49594
  }
49448
- request['notional'] = this.decimalToPrecision(notional, _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__/* .TRUNCATE */ .tk, market['precision']['price'], this.precisionMode);
49449
49595
  }
49450
- else if (side === 'sell') {
49451
- request['size'] = this.amountToPrecision(symbol, amount);
49596
+ else {
49597
+ notional = (notional === undefined) ? amount : notional;
49452
49598
  }
49599
+ request['notional'] = this.decimalToPrecision(notional, _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__/* .TRUNCATE */ .tk, market['precision']['price'], this.precisionMode);
49600
+ }
49601
+ else if (side === 'sell') {
49602
+ request['size'] = this.amountToPrecision(symbol, amount);
49453
49603
  }
49454
- }
49455
- else if (market['swap']) {
49456
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' createOrder() does not accept swap orders, only spot orders are allowed');
49457
49604
  }
49458
49605
  if (postOnly) {
49459
49606
  request['type'] = 'limit_maker';
@@ -49461,33 +49608,7 @@ class bitmart extends _abstract_bitmart_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
49461
49608
  if (ioc) {
49462
49609
  request['type'] = 'ioc';
49463
49610
  }
49464
- const [marginMode, query] = this.handleMarginModeAndParams('createOrder', params);
49465
- if (marginMode !== undefined) {
49466
- if (marginMode !== 'isolated') {
49467
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' only isolated margin is supported');
49468
- }
49469
- method = 'privatePostSpotV1MarginSubmitOrder';
49470
- }
49471
- const response = await this[method](this.extend(request, query));
49472
- //
49473
- // spot and margin
49474
- //
49475
- // {
49476
- // "code": 1000,
49477
- // "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
49478
- // "message": "OK",
49479
- // "data": {
49480
- // "order_id": 2707217580
49481
- // }
49482
- // }
49483
- //
49484
- const data = this.safeValue(response, 'data', {});
49485
- const order = this.parseOrder(data, market);
49486
- order['type'] = type;
49487
- order['side'] = side;
49488
- order['amount'] = amount;
49489
- order['price'] = price;
49490
- return order;
49611
+ return this.extend(request, params);
49491
49612
  }
49492
49613
  async cancelOrder(id, symbol = undefined, params = {}) {
49493
49614
  /**
@@ -51323,9 +51444,11 @@ class bitmart extends _abstract_bitmart_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
51323
51444
  if (api === 'private') {
51324
51445
  this.checkRequiredCredentials();
51325
51446
  const timestamp = this.milliseconds().toString();
51447
+ const brokerId = this.safeString(this.options, 'brokerId', 'CCXTxBitmart000');
51326
51448
  headers = {
51327
51449
  'X-BM-KEY': this.apiKey,
51328
51450
  'X-BM-TIMESTAMP': timestamp,
51451
+ 'X-BM-BROKER-ID': brokerId,
51329
51452
  'Content-Type': 'application/json',
51330
51453
  };
51331
51454
  if (!getOrDelete) {
@@ -89411,8 +89534,8 @@ class coincheck extends _abstract_coincheck_js__WEBPACK_IMPORTED_MODULE_0__/* ["
89411
89534
  /* harmony export */ "Z": () => (/* binding */ coinex)
89412
89535
  /* harmony export */ });
89413
89536
  /* harmony import */ var _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8519);
89414
- /* harmony import */ var _base_errors_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6689);
89415
- /* harmony import */ var _base_Precise_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2194);
89537
+ /* harmony import */ var _base_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6689);
89538
+ /* harmony import */ var _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2194);
89416
89539
  /* harmony import */ var _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9292);
89417
89540
  /* harmony import */ var _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1372);
89418
89541
  /* harmony import */ var _static_dependencies_noble_hashes_md5_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7311);
@@ -89698,6 +89821,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
89698
89821
  },
89699
89822
  },
89700
89823
  'options': {
89824
+ 'brokerId': 'x-167673045',
89701
89825
  'createMarketBuyOrderRequiresPrice': true,
89702
89826
  'defaultType': 'spot',
89703
89827
  'defaultSubType': 'linear',
@@ -89717,6 +89841,26 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
89717
89841
  'ACM': 'Actinium',
89718
89842
  },
89719
89843
  'precisionMode': _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__/* .TICK_SIZE */ .sh,
89844
+ 'exceptions': {
89845
+ 'exact': {
89846
+ // https://github.com/coinexcom/coinex_exchange_api/wiki/013error_code
89847
+ '23': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
89848
+ '24': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
89849
+ '25': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
89850
+ '34': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
89851
+ '35': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeNotAvailable,
89852
+ '36': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RequestTimeout,
89853
+ '213': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
89854
+ '107': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
89855
+ '600': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
89856
+ '601': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
89857
+ '602': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
89858
+ '606': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
89859
+ },
89860
+ 'broad': {
89861
+ 'ip not allow visit': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
89862
+ },
89863
+ },
89720
89864
  });
89721
89865
  }
89722
89866
  async fetchCurrencies(params = {}) {
@@ -89789,7 +89933,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
89789
89933
  }
89790
89934
  let minFeeString = this.safeString(result[code], 'fee');
89791
89935
  if (feeString !== undefined) {
89792
- minFeeString = (minFeeString === undefined) ? feeString : _base_Precise_js__WEBPACK_IMPORTED_MODULE_2__/* .Precise.stringMin */ .O.stringMin(feeString, minFeeString);
89936
+ minFeeString = (minFeeString === undefined) ? feeString : _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringMin */ .O.stringMin(feeString, minFeeString);
89793
89937
  }
89794
89938
  let depositAvailable = this.safeValue(result[code], 'deposit');
89795
89939
  depositAvailable = (canDeposit) ? canDeposit : depositAvailable;
@@ -89797,15 +89941,15 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
89797
89941
  withdrawAvailable = (canWithdraw) ? canWithdraw : withdrawAvailable;
89798
89942
  let minDepositString = this.safeString(result[code]['limits']['deposit'], 'min');
89799
89943
  if (minNetworkDepositString !== undefined) {
89800
- minDepositString = (minDepositString === undefined) ? minNetworkDepositString : _base_Precise_js__WEBPACK_IMPORTED_MODULE_2__/* .Precise.stringMin */ .O.stringMin(minNetworkDepositString, minDepositString);
89944
+ minDepositString = (minDepositString === undefined) ? minNetworkDepositString : _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringMin */ .O.stringMin(minNetworkDepositString, minDepositString);
89801
89945
  }
89802
89946
  let minWithdrawString = this.safeString(result[code]['limits']['withdraw'], 'min');
89803
89947
  if (minNetworkWithdrawString !== undefined) {
89804
- minWithdrawString = (minWithdrawString === undefined) ? minNetworkWithdrawString : _base_Precise_js__WEBPACK_IMPORTED_MODULE_2__/* .Precise.stringMin */ .O.stringMin(minNetworkWithdrawString, minWithdrawString);
89948
+ minWithdrawString = (minWithdrawString === undefined) ? minNetworkWithdrawString : _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringMin */ .O.stringMin(minNetworkWithdrawString, minWithdrawString);
89805
89949
  }
89806
89950
  let minPrecisionString = this.safeString(result[code], 'precision');
89807
89951
  if (precisionString !== undefined) {
89808
- minPrecisionString = (minPrecisionString === undefined) ? precisionString : _base_Precise_js__WEBPACK_IMPORTED_MODULE_2__/* .Precise.stringMin */ .O.stringMin(precisionString, minPrecisionString);
89952
+ minPrecisionString = (minPrecisionString === undefined) ? precisionString : _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringMin */ .O.stringMin(precisionString, minPrecisionString);
89809
89953
  }
89810
89954
  const networks = this.safeValue(result[code], 'networks', {});
89811
89955
  const network = {
@@ -90711,7 +90855,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
90711
90855
  marketId = market['id'];
90712
90856
  }
90713
90857
  else if (marketId === undefined) {
90714
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.ArgumentsRequired(this.id + ' fetchMarginBalance() fetching a margin account requires a market parameter or a symbol parameter');
90858
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchMarginBalance() fetching a margin account requires a market parameter or a symbol parameter');
90715
90859
  }
90716
90860
  params = this.omit(params, ['symbol', 'market']);
90717
90861
  const request = {
@@ -90767,7 +90911,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
90767
90911
  sellAccount['total'] = this.safeString(total, 'sell_type');
90768
90912
  const sellDebt = this.safeString(loan, 'sell_type');
90769
90913
  const sellInterest = this.safeString(interest, 'sell_type');
90770
- sellAccount['debt'] = _base_Precise_js__WEBPACK_IMPORTED_MODULE_2__/* .Precise.stringAdd */ .O.stringAdd(sellDebt, sellInterest);
90914
+ sellAccount['debt'] = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringAdd */ .O.stringAdd(sellDebt, sellInterest);
90771
90915
  result[sellCurrencyCode] = sellAccount;
90772
90916
  //
90773
90917
  const buyAccount = this.account();
@@ -90777,7 +90921,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
90777
90921
  buyAccount['total'] = this.safeString(total, 'buy_type');
90778
90922
  const buyDebt = this.safeString(loan, 'buy_type');
90779
90923
  const buyInterest = this.safeString(interest, 'buy_type');
90780
- buyAccount['debt'] = _base_Precise_js__WEBPACK_IMPORTED_MODULE_2__/* .Precise.stringAdd */ .O.stringAdd(buyDebt, buyInterest);
90924
+ buyAccount['debt'] = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringAdd */ .O.stringAdd(buyDebt, buyInterest);
90781
90925
  result[buyCurrencyCode] = buyAccount;
90782
90926
  //
90783
90927
  return this.safeBalance(result);
@@ -90886,7 +91030,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
90886
91030
  account['free'] = this.safeString(balance, 'available');
90887
91031
  const frozen = this.safeString(balance, 'frozen');
90888
91032
  const locked = this.safeString(balance, 'lock');
90889
- account['used'] = _base_Precise_js__WEBPACK_IMPORTED_MODULE_2__/* .Precise.stringAdd */ .O.stringAdd(frozen, locked);
91033
+ account['used'] = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringAdd */ .O.stringAdd(frozen, locked);
90890
91034
  result[code] = account;
90891
91035
  }
90892
91036
  return this.safeBalance(result);
@@ -90954,6 +91098,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
90954
91098
  // "status": "done",
90955
91099
  // "taker_fee_rate": "0.0005",
90956
91100
  // "type": "sell",
91101
+ // "client_id": "",
90957
91102
  // }
90958
91103
  //
90959
91104
  // Spot and Margin createOrder, cancelOrder, fetchOrder
@@ -90981,6 +91126,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
90981
91126
  // "stock_fee":"0",
90982
91127
  // "taker_fee_rate":"0.002",
90983
91128
  // "type":"buy"
91129
+ // "client_id": "",
90984
91130
  // }
90985
91131
  //
90986
91132
  // Swap createOrder, cancelOrder, fetchOrder
@@ -91196,9 +91342,13 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
91196
91342
  else {
91197
91343
  type = rawType;
91198
91344
  }
91345
+ let clientOrderId = this.safeString(order, 'client_id');
91346
+ if (clientOrderId === '') {
91347
+ clientOrderId = undefined;
91348
+ }
91199
91349
  return this.safeOrder({
91200
91350
  'id': this.safeString2(order, 'id', 'order_id'),
91201
- 'clientOrderId': undefined,
91351
+ 'clientOrderId': clientOrderId,
91202
91352
  'datetime': this.iso8601(timestamp),
91203
91353
  'timestamp': timestamp,
91204
91354
  'lastTradeTimestamp': this.safeTimestamp(order, 'update_time'),
@@ -91255,6 +91405,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
91255
91405
  await this.loadMarkets();
91256
91406
  const market = this.market(symbol);
91257
91407
  const swap = market['swap'];
91408
+ const clientOrderId = this.safeString2(params, 'client_id', 'clientOrderId');
91258
91409
  const stopPrice = this.safeValue2(params, 'stopPrice', 'triggerPrice');
91259
91410
  const stopLossPrice = this.safeValue(params, 'stopLossPrice');
91260
91411
  const takeProfitPrice = this.safeValue(params, 'takeProfitPrice');
@@ -91266,21 +91417,29 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
91266
91417
  const reduceOnly = this.safeValue(params, 'reduceOnly');
91267
91418
  if (reduceOnly) {
91268
91419
  if (market['type'] !== 'swap') {
91269
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder(this.id + ' createOrder() does not support reduceOnly for ' + market['type'] + ' orders, reduceOnly orders are supported for swap markets only');
91420
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder(this.id + ' createOrder() does not support reduceOnly for ' + market['type'] + ' orders, reduceOnly orders are supported for swap markets only');
91270
91421
  }
91271
91422
  if (positionId === undefined) {
91272
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.ArgumentsRequired(this.id + ' createOrder() requires a position_id/positionId parameter for reduceOnly orders');
91423
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' createOrder() requires a position_id/positionId parameter for reduceOnly orders');
91273
91424
  }
91274
91425
  }
91275
91426
  let method = undefined;
91276
91427
  const request = {
91277
91428
  'market': market['id'],
91278
91429
  };
91430
+ if (clientOrderId === undefined) {
91431
+ const defaultId = 'x-167673045';
91432
+ const brokerId = this.safeString(this.options, 'brokerId', defaultId);
91433
+ request['client_id'] = brokerId + '-' + this.uuid16();
91434
+ }
91435
+ else {
91436
+ request['client_id'] = clientOrderId;
91437
+ }
91279
91438
  if (swap) {
91280
91439
  if (stopLossPrice || takeProfitPrice) {
91281
91440
  request['stop_type'] = this.safeInteger(params, 'stop_type', 1); // 1: triggered by the latest transaction, 2: mark price, 3: index price
91282
91441
  if (positionId === undefined) {
91283
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.ArgumentsRequired(this.id + ' createOrder() requires a position_id parameter for stop loss and take profit orders');
91442
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' createOrder() requires a position_id parameter for stop loss and take profit orders');
91284
91443
  }
91285
91444
  request['position_id'] = positionId;
91286
91445
  if (stopLossPrice) {
@@ -91356,12 +91515,12 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
91356
91515
  if ((type === 'market') && (side === 'buy')) {
91357
91516
  if (this.options['createMarketBuyOrderRequiresPrice']) {
91358
91517
  if (price === undefined) {
91359
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder(this.id + " createOrder() requires the price argument with market buy orders to calculate total order cost (amount to spend), where cost = amount * price. Supply a price argument to createOrder() call if you want the cost to be calculated for you from price and amount, or, alternatively, add .options['createMarketBuyOrderRequiresPrice'] = false to supply the cost in the amount argument (the exchange-specific behaviour)");
91518
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder(this.id + " createOrder() requires the price argument with market buy orders to calculate total order cost (amount to spend), where cost = amount * price. Supply a price argument to createOrder() call if you want the cost to be calculated for you from price and amount, or, alternatively, add .options['createMarketBuyOrderRequiresPrice'] = false to supply the cost in the amount argument (the exchange-specific behaviour)");
91360
91519
  }
91361
91520
  else {
91362
91521
  const amountString = this.amountToPrecision(symbol, amount);
91363
91522
  const priceString = this.priceToPrecision(symbol, price);
91364
- const costString = _base_Precise_js__WEBPACK_IMPORTED_MODULE_2__/* .Precise.stringMul */ .O.stringMul(amountString, priceString);
91523
+ const costString = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringMul */ .O.stringMul(amountString, priceString);
91365
91524
  const costNumber = this.parseNumber(costString);
91366
91525
  request['amount'] = this.costToPrecision(symbol, costNumber);
91367
91526
  }
@@ -91389,7 +91548,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
91389
91548
  // following options cannot be applied to vanilla market orders (but can be applied to stop-market orders)
91390
91549
  if ((timeInForceRaw !== undefined) || postOnly) {
91391
91550
  if ((postOnly || (timeInForceRaw !== 'IOC')) && ((type === 'limit') && (stopPrice !== undefined))) {
91392
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder(this.id + ' createOrder() only supports the IOC option for stop-limit orders');
91551
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder(this.id + ' createOrder() only supports the IOC option for stop-limit orders');
91393
91552
  }
91394
91553
  if (postOnly) {
91395
91554
  request['option'] = 'MAKER_ONLY';
@@ -91406,7 +91565,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
91406
91565
  const defaultType = this.safeString(this.options, 'defaultType');
91407
91566
  if (defaultType === 'margin') {
91408
91567
  if (accountId === undefined) {
91409
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.BadRequest(this.id + ' createOrder() requires an account_id parameter for margin orders');
91568
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' createOrder() requires an account_id parameter for margin orders');
91410
91569
  }
91411
91570
  request['account_id'] = accountId;
91412
91571
  }
@@ -91511,7 +91670,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
91511
91670
  await this.loadMarkets();
91512
91671
  const market = this.market(symbol);
91513
91672
  if (!market['spot']) {
91514
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.NotSupported(this.id + ' editOrder() does not support ' + market['type'] + ' orders, only spot orders are accepted');
91673
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' editOrder() does not support ' + market['type'] + ' orders, only spot orders are accepted');
91515
91674
  }
91516
91675
  const request = {
91517
91676
  'market': market['id'],
@@ -91590,7 +91749,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
91590
91749
  const defaultType = this.safeString(this.options, 'defaultType');
91591
91750
  if (defaultType === 'margin') {
91592
91751
  if (accountId === undefined) {
91593
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.BadRequest(this.id + ' cancelOrder() requires an account_id parameter for margin orders');
91752
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' cancelOrder() requires an account_id parameter for margin orders');
91594
91753
  }
91595
91754
  request['account_id'] = accountId;
91596
91755
  }
@@ -91905,7 +92064,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
91905
92064
  let method = undefined;
91906
92065
  if (marketType === 'swap') {
91907
92066
  if (symbol === undefined) {
91908
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.ArgumentsRequired(this.id + ' fetchOrdersByStatus() requires a symbol argument for swap markets');
92067
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchOrdersByStatus() requires a symbol argument for swap markets');
91909
92068
  }
91910
92069
  method = 'perpetualPrivateGetOrder' + this.capitalize(status);
91911
92070
  if (stop) {
@@ -91930,7 +92089,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
91930
92089
  const defaultType = this.safeString(this.options, 'defaultType');
91931
92090
  if (defaultType === 'margin') {
91932
92091
  if (accountId === undefined) {
91933
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.BadRequest(this.id + ' fetchOpenOrders() and fetchClosedOrders() require an account_id parameter for margin orders');
92092
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' fetchOpenOrders() and fetchClosedOrders() require an account_id parameter for margin orders');
91934
92093
  }
91935
92094
  request['account_id'] = accountId;
91936
92095
  }
@@ -92170,10 +92329,10 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
92170
92329
  const numOfNetworks = networksKeys.length;
92171
92330
  if (networks !== undefined && numOfNetworks > 1) {
92172
92331
  if (network === undefined) {
92173
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.ArgumentsRequired(this.id + ' fetchDepositAddress() ' + code + ' requires a network parameter');
92332
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchDepositAddress() ' + code + ' requires a network parameter');
92174
92333
  }
92175
92334
  if (!(network in networks)) {
92176
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.ExchangeError(this.id + ' fetchDepositAddress() ' + network + ' network not supported for ' + code);
92335
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError(this.id + ' fetchDepositAddress() ' + network + ' network not supported for ' + code);
92177
92336
  }
92178
92337
  }
92179
92338
  if (network !== undefined) {
@@ -92274,7 +92433,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
92274
92433
  let type = undefined;
92275
92434
  [type, params] = this.handleMarketTypeAndParams('fetchMyTrades', market, params);
92276
92435
  if (type !== 'spot' && symbol === undefined) {
92277
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument for non-spot markets');
92436
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument for non-spot markets');
92278
92437
  }
92279
92438
  const swap = (type === 'swap');
92280
92439
  let method = undefined;
@@ -92282,7 +92441,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
92282
92441
  method = 'perpetualPublicGetMarketUserDeals';
92283
92442
  const side = this.safeInteger(params, 'side');
92284
92443
  if (side === undefined) {
92285
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.ArgumentsRequired(this.id + ' fetchMyTrades() requires a side parameter for swap markets');
92444
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchMyTrades() requires a side parameter for swap markets');
92286
92445
  }
92287
92446
  if (since !== undefined) {
92288
92447
  request['start_time'] = since;
@@ -92298,7 +92457,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
92298
92457
  const defaultType = this.safeString(this.options, 'defaultType');
92299
92458
  if (defaultType === 'margin') {
92300
92459
  if (accountId === undefined) {
92301
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.BadRequest(this.id + ' fetchMyTrades() requires an account_id parameter for margin trades');
92460
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' fetchMyTrades() requires an account_id parameter for margin trades');
92302
92461
  }
92303
92462
  request['account_id'] = accountId;
92304
92463
  params = this.omit(params, 'account_id');
@@ -92399,7 +92558,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
92399
92558
  if (Array.isArray(symbols)) {
92400
92559
  const symbolsLength = symbols.length;
92401
92560
  if (symbolsLength > 1) {
92402
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.BadRequest(this.id + ' fetchPositions() symbols argument cannot contain more than 1 symbol');
92561
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' fetchPositions() symbols argument cannot contain more than 1 symbol');
92403
92562
  }
92404
92563
  symbol = symbols[0];
92405
92564
  }
@@ -92668,12 +92827,12 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
92668
92827
  this.checkRequiredSymbol('setMarginMode', symbol);
92669
92828
  marginMode = marginMode.toLowerCase();
92670
92829
  if (marginMode !== 'isolated' && marginMode !== 'cross') {
92671
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.BadRequest(this.id + ' setMarginMode() marginMode argument should be isolated or cross');
92830
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' setMarginMode() marginMode argument should be isolated or cross');
92672
92831
  }
92673
92832
  await this.loadMarkets();
92674
92833
  const market = this.market(symbol);
92675
92834
  if (market['type'] !== 'swap') {
92676
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.BadSymbol(this.id + ' setMarginMode() supports swap contracts only');
92835
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol(this.id + ' setMarginMode() supports swap contracts only');
92677
92836
  }
92678
92837
  let defaultPositionType = undefined;
92679
92838
  if (marginMode === 'isolated') {
@@ -92686,13 +92845,13 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
92686
92845
  const maxLeverage = this.safeInteger(market['limits']['leverage'], 'max', 100);
92687
92846
  const positionType = this.safeInteger(params, 'position_type', defaultPositionType);
92688
92847
  if (leverage === undefined) {
92689
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.ArgumentsRequired(this.id + ' setMarginMode() requires a leverage parameter');
92848
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' setMarginMode() requires a leverage parameter');
92690
92849
  }
92691
92850
  if (positionType === undefined) {
92692
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.ArgumentsRequired(this.id + ' setMarginMode() requires a position_type parameter that will transfer margin to the specified trading pair');
92851
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' setMarginMode() requires a position_type parameter that will transfer margin to the specified trading pair');
92693
92852
  }
92694
92853
  if ((leverage < 3) || (leverage > maxLeverage)) {
92695
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.BadRequest(this.id + ' setMarginMode() leverage should be between 3 and ' + maxLeverage.toString() + ' for ' + symbol);
92854
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' setMarginMode() leverage should be between 3 and ' + maxLeverage.toString() + ' for ' + symbol);
92696
92855
  }
92697
92856
  const request = {
92698
92857
  'market': market['id'],
@@ -92717,7 +92876,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
92717
92876
  await this.loadMarkets();
92718
92877
  const market = this.market(symbol);
92719
92878
  if (!market['swap']) {
92720
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.BadSymbol(this.id + ' setLeverage() supports swap contracts only');
92879
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol(this.id + ' setLeverage() supports swap contracts only');
92721
92880
  }
92722
92881
  let marginMode = undefined;
92723
92882
  [marginMode, params] = this.handleMarginModeAndParams('setLeverage', params, 'cross');
@@ -92731,7 +92890,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
92731
92890
  const minLeverage = this.safeInteger(market['limits']['leverage'], 'min', 1);
92732
92891
  const maxLeverage = this.safeInteger(market['limits']['leverage'], 'max', 100);
92733
92892
  if ((leverage < minLeverage) || (leverage > maxLeverage)) {
92734
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.BadRequest(this.id + ' setLeverage() leverage should be between ' + minLeverage.toString() + ' and ' + maxLeverage.toString() + ' for ' + symbol);
92893
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' setLeverage() leverage should be between ' + minLeverage.toString() + ' and ' + maxLeverage.toString() + ' for ' + symbol);
92735
92894
  }
92736
92895
  const request = {
92737
92896
  'market': market['id'],
@@ -93013,7 +93172,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
93013
93172
  await this.loadMarkets();
93014
93173
  const market = this.market(symbol);
93015
93174
  if (!market['swap']) {
93016
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.BadSymbol(this.id + ' fetchFundingRate() supports swap contracts only');
93175
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol(this.id + ' fetchFundingRate() supports swap contracts only');
93017
93176
  }
93018
93177
  const request = {
93019
93178
  'market': market['id'],
@@ -93125,7 +93284,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
93125
93284
  const symbol = this.safeValue(symbols, 0);
93126
93285
  market = this.market(symbol);
93127
93286
  if (!market['swap']) {
93128
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.BadSymbol(this.id + ' fetchFundingRates() supports swap contracts only');
93287
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol(this.id + ' fetchFundingRates() supports swap contracts only');
93129
93288
  }
93130
93289
  }
93131
93290
  const response = await this.perpetualPublicGetMarketTickerAll(params);
@@ -93951,7 +94110,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
93951
94110
  const timestamp = this.safeTimestamp(info, 'expire_time');
93952
94111
  const unflatAmount = this.safeString(info, 'unflat_amount');
93953
94112
  const loanAmount = this.safeString(info, 'loan_amount');
93954
- let interest = _base_Precise_js__WEBPACK_IMPORTED_MODULE_2__/* .Precise.stringSub */ .O.stringSub(unflatAmount, loanAmount);
94113
+ let interest = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringSub */ .O.stringSub(unflatAmount, loanAmount);
93955
94114
  if (unflatAmount === '0') {
93956
94115
  interest = undefined;
93957
94116
  }
@@ -94177,6 +94336,32 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
94177
94336
  let url = this.urls['api'][api] + '/' + this.version + '/' + path;
94178
94337
  let query = this.omit(params, this.extractParams(path));
94179
94338
  const nonce = this.nonce().toString();
94339
+ if (method === 'POST') {
94340
+ const parts = path.split('/');
94341
+ const firstPart = this.safeString(parts, 0, '');
94342
+ const numParts = parts.length;
94343
+ const lastPart = this.safeString(parts, numParts - 1, '');
94344
+ const lastWords = lastPart.split('_');
94345
+ const numWords = lastWords.length;
94346
+ const lastWord = this.safeString(lastWords, numWords - 1, '');
94347
+ if ((firstPart === 'order') && (lastWord === 'limit' || lastWord === 'market')) {
94348
+ // inject in implicit API calls
94349
+ // POST /order/limit - Place limit orders
94350
+ // POST /order/market - Place market orders
94351
+ // POST /order/stop/limit - Place stop limit orders
94352
+ // POST /order/stop/market - Place stop market orders
94353
+ // POST /perpetual/v1/order/put_limit - Place limit orders
94354
+ // POST /perpetual/v1/order/put_market - Place market orders
94355
+ // POST /perpetual/v1/order/put_stop_limit - Place stop limit orders
94356
+ // POST /perpetual/v1/order/put_stop_market - Place stop market orders
94357
+ const clientOrderId = this.safeString(params, 'client_id');
94358
+ if (clientOrderId === undefined) {
94359
+ const defaultId = 'x-167673045';
94360
+ const brokerId = this.safeValue(this.options, 'brokerId', defaultId);
94361
+ query['client_id'] = brokerId + '_' + this.uuid16();
94362
+ }
94363
+ }
94364
+ }
94180
94365
  if (api === 'perpetualPrivate' || url === 'https://api.coinex.com/perpetual/v1/market/user_deals') {
94181
94366
  this.checkRequiredCredentials();
94182
94367
  query = this.extend({
@@ -94233,23 +94418,10 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
94233
94418
  const data = this.safeValue(response, 'data');
94234
94419
  const message = this.safeString(response, 'message');
94235
94420
  if ((code !== '0') || ((message !== 'Success') && (message !== 'Succeeded') && (message !== 'Ok') && !data)) {
94236
- const responseCodes = {
94237
- // https://github.com/coinexcom/coinex_exchange_api/wiki/013error_code
94238
- '23': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.PermissionDenied,
94239
- '24': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.AuthenticationError,
94240
- '25': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.AuthenticationError,
94241
- '34': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.AuthenticationError,
94242
- '35': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.ExchangeNotAvailable,
94243
- '36': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.RequestTimeout,
94244
- '213': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.RateLimitExceeded,
94245
- '107': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InsufficientFunds,
94246
- '600': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.OrderNotFound,
94247
- '601': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
94248
- '602': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
94249
- '606': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
94250
- };
94251
- const ErrorClass = this.safeValue(responseCodes, code, _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.ExchangeError);
94252
- throw new ErrorClass(response['message']);
94421
+ const feedback = this.id + ' ' + message;
94422
+ this.throwBroadlyMatchedException(this.exceptions['broad'], message, feedback);
94423
+ this.throwExactlyMatchedException(this.exceptions['exact'], code, feedback);
94424
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError(feedback);
94253
94425
  }
94254
94426
  return undefined;
94255
94427
  }
@@ -134348,13 +134520,13 @@ class hollaex extends _abstract_hollaex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
134348
134520
 
134349
134521
  /***/ }),
134350
134522
 
134351
- /***/ 8146:
134523
+ /***/ 5939:
134352
134524
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
134353
134525
 
134354
134526
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
134355
- /* harmony export */ "Z": () => (/* binding */ huobi)
134527
+ /* harmony export */ "Z": () => (/* binding */ htx)
134356
134528
  /* harmony export */ });
134357
- /* harmony import */ var _abstract_huobi_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2498);
134529
+ /* harmony import */ var _abstract_htx_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2140);
134358
134530
  /* harmony import */ var _base_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6689);
134359
134531
  /* harmony import */ var _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2194);
134360
134532
  /* harmony import */ var _base_functions_number_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9292);
@@ -134370,11 +134542,11 @@ class hollaex extends _abstract_hollaex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
134370
134542
  * @class huobi
134371
134543
  * @extends Exchange
134372
134544
  */
134373
- class huobi extends _abstract_huobi_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
134545
+ class htx extends _abstract_htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
134374
134546
  describe() {
134375
134547
  return this.deepExtend(super.describe(), {
134376
- 'id': 'huobi',
134377
- 'name': 'Huobi',
134548
+ 'id': 'htx',
134549
+ 'name': 'HTX',
134378
134550
  'countries': ['CN'],
134379
134551
  'rateLimit': 100,
134380
134552
  'userAgent': this.userAgents['chrome100'],
@@ -136114,20 +136286,17 @@ class huobi extends _abstract_huobi_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
136114
136286
  let settleId = undefined;
136115
136287
  let id = undefined;
136116
136288
  let lowercaseId = undefined;
136117
- let lowercaseBaseId = undefined;
136118
136289
  if (contract) {
136119
136290
  id = this.safeString(market, 'contract_code');
136120
136291
  lowercaseId = id.toLowerCase();
136121
136292
  if (swap) {
136122
136293
  const parts = id.split('-');
136123
- baseId = this.safeString(market, 'symbol');
136124
- lowercaseBaseId = baseId.toLowerCase();
136294
+ baseId = this.safeStringLower(market, 'symbol');
136125
136295
  quoteId = this.safeStringLower(parts, 1);
136126
136296
  settleId = inverse ? baseId : quoteId;
136127
136297
  }
136128
136298
  else if (future) {
136129
- baseId = this.safeString(market, 'symbol');
136130
- lowercaseBaseId = baseId.toLowerCase();
136299
+ baseId = this.safeStringLower(market, 'symbol');
136131
136300
  if (inverse) {
136132
136301
  quoteId = 'USD';
136133
136302
  settleId = baseId;
@@ -136135,14 +136304,13 @@ class huobi extends _abstract_huobi_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
136135
136304
  else {
136136
136305
  const pair = this.safeString(market, 'pair');
136137
136306
  const parts = pair.split('-');
136138
- quoteId = this.safeString(parts, 1);
136307
+ quoteId = this.safeStringLower(parts, 1);
136139
136308
  settleId = quoteId;
136140
136309
  }
136141
136310
  }
136142
136311
  }
136143
136312
  else {
136144
136313
  baseId = this.safeString(market, 'base-currency');
136145
- lowercaseBaseId = baseId.toLowerCase();
136146
136314
  quoteId = this.safeString(market, 'quote-currency');
136147
136315
  id = baseId + quoteId;
136148
136316
  lowercaseId = id.toLowerCase();
@@ -136179,27 +136347,23 @@ class huobi extends _abstract_huobi_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
136179
136347
  let pricePrecision = undefined;
136180
136348
  let amountPrecision = undefined;
136181
136349
  let costPrecision = undefined;
136350
+ let maker = undefined;
136351
+ let taker = undefined;
136352
+ let active = undefined;
136182
136353
  if (spot) {
136183
136354
  pricePrecision = this.parseNumber(this.parsePrecision(this.safeString(market, 'price-precision')));
136184
136355
  amountPrecision = this.parseNumber(this.parsePrecision(this.safeString(market, 'amount-precision')));
136185
136356
  costPrecision = this.parseNumber(this.parsePrecision(this.safeString(market, 'value-precision')));
136357
+ maker = this.parseNumber('0.002');
136358
+ taker = this.parseNumber('0.002');
136359
+ const state = this.safeString(market, 'state');
136360
+ active = (state === 'online');
136186
136361
  }
136187
136362
  else {
136188
136363
  pricePrecision = this.safeNumber(market, 'price_tick');
136189
136364
  amountPrecision = this.parseNumber('1'); // other markets have step size of 1 contract
136190
- }
136191
- let maker = undefined;
136192
- let taker = undefined;
136193
- if (spot) {
136194
- maker = (base === 'OMG') ? this.parseNumber('0') : this.parseNumber('0.002');
136195
- taker = (base === 'OMG') ? this.parseNumber('0') : this.parseNumber('0.002');
136196
- }
136197
- let active = undefined;
136198
- if (spot) {
136199
- const state = this.safeString(market, 'state');
136200
- active = (state === 'online');
136201
- }
136202
- else if (contract) {
136365
+ maker = this.parseNumber('0.0002');
136366
+ taker = this.parseNumber('0.0005');
136203
136367
  const contractStatus = this.safeInteger(market, 'contract_status');
136204
136368
  active = (contractStatus === 1);
136205
136369
  }
@@ -136231,7 +136395,6 @@ class huobi extends _abstract_huobi_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
136231
136395
  'quote': quote,
136232
136396
  'settle': settle,
136233
136397
  'baseId': baseId,
136234
- 'lowercaseBaseId': lowercaseBaseId,
136235
136398
  'quoteId': quoteId,
136236
136399
  'settleId': settleId,
136237
136400
  'type': type,
@@ -142870,6 +143033,28 @@ class huobi extends _abstract_huobi_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
142870
143033
  }
142871
143034
 
142872
143035
 
143036
+ /***/ }),
143037
+
143038
+ /***/ 8146:
143039
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
143040
+
143041
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
143042
+ /* harmony export */ "Z": () => (/* binding */ huobi)
143043
+ /* harmony export */ });
143044
+ /* harmony import */ var _htx_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5939);
143045
+ // ---------------------------------------------------------------------------
143046
+
143047
+ // ---------------------------------------------------------------------------
143048
+ class huobi extends _htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
143049
+ describe() {
143050
+ return this.deepExtend(super.describe(), {
143051
+ 'id': 'huobi',
143052
+ 'alias': true,
143053
+ });
143054
+ }
143055
+ }
143056
+
143057
+
142873
143058
  /***/ }),
142874
143059
 
142875
143060
  /***/ 7034:
@@ -149387,7 +149572,6 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
149387
149572
  /**
149388
149573
  * @method
149389
149574
  * @name kraken#fetchLedger
149390
- * @see https://docs.kraken.com/rest/#tag/Account-Data/operation/getLedgers
149391
149575
  * @description fetch the history of changes, actions done by the user or operations that altered balance of the user
149392
149576
  * @see https://docs.kraken.com/rest/#tag/Account-Data/operation/getLedgers
149393
149577
  * @param {string} code unified currency code, default is undefined
@@ -150363,7 +150547,6 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
150363
150547
  /**
150364
150548
  * @method
150365
150549
  * @name kraken#fetchOpenOrders
150366
- * @see https://docs.kraken.com/rest/#tag/Account-Data/operation/getOpenOrders
150367
150550
  * @description fetch all unfilled currently open orders
150368
150551
  * @see https://docs.kraken.com/rest/#tag/Account-Data/operation/getOpenOrders
150369
150552
  * @param {string} symbol unified market symbol
@@ -150396,7 +150579,6 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
150396
150579
  /**
150397
150580
  * @method
150398
150581
  * @name kraken#fetchClosedOrders
150399
- * @see https://docs.kraken.com/rest/#tag/Account-Data/operation/getClosedOrders
150400
150582
  * @description fetches information on multiple closed orders made by the user
150401
150583
  * @see https://docs.kraken.com/rest/#tag/Account-Data/operation/getClosedOrders
150402
150584
  * @param {string} symbol unified market symbol of the market orders were made in
@@ -150597,7 +150779,6 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
150597
150779
  /**
150598
150780
  * @method
150599
150781
  * @name kraken#fetchDeposits
150600
- * @see https://docs.kraken.com/rest/#tag/Funding/operation/getStatusRecentDeposits
150601
150782
  * @description fetch all deposits made to an account
150602
150783
  * @see https://docs.kraken.com/rest/#tag/Funding/operation/getStatusRecentDeposits
150603
150784
  * @param {string} code unified currency code
@@ -170993,8 +171174,8 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
170993
171174
  },
170994
171175
  'www': 'https://www.mexc.com/',
170995
171176
  'doc': [
170996
- 'https://mxcdevelop.github.io/apidocs/spot_v3_en/',
170997
- 'https://mxcdevelop.github.io/APIDoc/', // v1 & v2 : soon to be deprecated
171177
+ 'https://mexcdevelop.github.io/apidocs/spot_v3_en/',
171178
+ 'https://mexcdevelop.github.io/APIDoc/', // v1 & v2 : soon to be deprecated
170998
171179
  ],
170999
171180
  'fees': [
171000
171181
  'https://www.mexc.com/fee',
@@ -171746,7 +171927,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
171746
171927
  * @method
171747
171928
  * @name mexc3#fetchCurrencies
171748
171929
  * @description fetches all available currencies on an exchange
171749
- * @see https://mxcdevelop.github.io/apidocs/spot_v3_en/#query-the-currency-information
171930
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#query-the-currency-information
171750
171931
  * @param {object} [params] extra parameters specific to the mexc3 api endpoint
171751
171932
  * @returns {object} an associative dictionary of currencies
171752
171933
  */
@@ -172146,8 +172327,8 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
172146
172327
  /**
172147
172328
  * @method
172148
172329
  * @name mexc3#fetchOrderBook
172149
- * @see https://mxcdevelop.github.io/apidocs/spot_v3_en/#order-book
172150
- * @see https://mxcdevelop.github.io/apidocs/contract_v1_en/#get-the-contract-s-depth-information
172330
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#order-book
172331
+ * @see https://mexcdevelop.github.io/apidocs/contract_v1_en/#get-the-contract-s-depth-information
172151
172332
  * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
172152
172333
  * @param {string} symbol unified symbol of the market to fetch the order book for
172153
172334
  * @param {int} [limit] the maximum amount of order book entries to return
@@ -174395,9 +174576,9 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
174395
174576
  * @method
174396
174577
  * @name mexc3#fetchBalance
174397
174578
  * @description query for balance and get the amount of funds available for trading or funds locked in orders
174398
- * @see https://mxcdevelop.github.io/apidocs/spot_v3_en/#account-information
174399
- * @see https://mxcdevelop.github.io/apidocs/contract_v1_en/#get-all-informations-of-user-39-s-asset
174400
- * @see https://mxcdevelop.github.io/apidocs/spot_v3_en/#isolated-account
174579
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#account-information
174580
+ * @see https://mexcdevelop.github.io/apidocs/contract_v1_en/#get-all-informations-of-user-39-s-asset
174581
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#isolated-account
174401
174582
  * @param {object} [params] extra parameters specific to the mexc3 api endpoint
174402
174583
  * @param {string} [params.symbols] // required for margin, market id's separated by commas
174403
174584
  * @returns {object} a [balance structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#balance-structure}
@@ -175094,7 +175275,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
175094
175275
  * @method
175095
175276
  * @name mexc3#fetchDepositAddressesByNetwork
175096
175277
  * @description fetch a dictionary of addresses for a currency, indexed by network
175097
- * @see https://mxcdevelop.github.io/apidocs/spot_v3_en/#deposit-address-supporting-network
175278
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#deposit-address-supporting-network
175098
175279
  * @param {string} code unified currency code of the currency for the deposit address
175099
175280
  * @param {object} [params] extra parameters specific to the mexc3 api endpoint
175100
175281
  * @returns {object} a dictionary of [address structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#address-structure} indexed by the network
@@ -175133,7 +175314,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
175133
175314
  /**
175134
175315
  * @method
175135
175316
  * @name mexc3#createDepositAddress
175136
- * @see https://mxcdevelop.github.io/apidocs/spot_v3_en/#generate-deposit-address-supporting-network
175317
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#generate-deposit-address-supporting-network
175137
175318
  * @description create a currency deposit address
175138
175319
  * @param {string} code unified currency code of the currency for the deposit address
175139
175320
  * @param {object} [params] extra parameters specific to the mexc3 api endpoint
@@ -175174,7 +175355,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
175174
175355
  * @method
175175
175356
  * @name mexc3#fetchDepositAddress
175176
175357
  * @description fetch the deposit address for a currency associated with this account
175177
- * @see https://mxcdevelop.github.io/apidocs/spot_v3_en/#deposit-address-supporting-network
175358
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#deposit-address-supporting-network
175178
175359
  * @param {string} code unified currency code
175179
175360
  * @param {object} [params] extra parameters specific to the mexc3 api endpoint
175180
175361
  * @returns {object} an [address structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#address-structure}
@@ -175202,7 +175383,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
175202
175383
  * @method
175203
175384
  * @name mexc3#fetchDeposits
175204
175385
  * @description fetch all deposits made to an account
175205
- * @see https://mxcdevelop.github.io/apidocs/spot_v3_en/#deposit-history-supporting-network
175386
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#deposit-history-supporting-network
175206
175387
  * @param {string} code unified currency code
175207
175388
  * @param {int} [since] the earliest time in ms to fetch deposits for
175208
175389
  * @param {int} [limit] the maximum number of deposits structures to retrieve
@@ -175262,7 +175443,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
175262
175443
  * @method
175263
175444
  * @name mexc3#fetchWithdrawals
175264
175445
  * @description fetch all withdrawals made from an account
175265
- * @see https://mxcdevelop.github.io/apidocs/spot_v3_en/#withdraw-history-supporting-network
175446
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#withdraw-history-supporting-network
175266
175447
  * @param {string} code unified currency code
175267
175448
  * @param {int} [since] the earliest time in ms to fetch withdrawals for
175268
175449
  * @param {int} [limit] the maximum number of withdrawals structures to retrieve
@@ -175681,7 +175862,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
175681
175862
  * @method
175682
175863
  * @name mexc3#transfer
175683
175864
  * @description transfer currency internally between wallets on the same account
175684
- * @see https://mxcdevelop.github.io/apidocs/spot_v3_en/#user-universal-transfer
175865
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#user-universal-transfer
175685
175866
  * @param {string} code unified currency code
175686
175867
  * @param {float} amount amount to transfer
175687
175868
  * @param {string} fromAccount account to transfer from
@@ -175814,7 +175995,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
175814
175995
  * @method
175815
175996
  * @name mexc3#withdraw
175816
175997
  * @description make a withdrawal
175817
- * @see https://mxcdevelop.github.io/apidocs/spot_v3_en/#withdraw
175998
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#withdraw
175818
175999
  * @param {string} code unified currency code
175819
176000
  * @param {float} amount the amount to withdraw
175820
176001
  * @param {string} address the address to withdraw to
@@ -175824,7 +176005,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
175824
176005
  */
175825
176006
  [tag, params] = this.handleWithdrawTagAndParams(tag, params);
175826
176007
  const networks = this.safeValue(this.options, 'networks', {});
175827
- let network = this.safeStringUpper2(params, 'network', 'chain'); // this line allows the user to specify either ERC20 or ETH
176008
+ let network = this.safeString2(params, 'network', 'chain'); // this line allows the user to specify either ERC20 or ETH
175828
176009
  network = this.safeString(networks, network, network); // handle ETH > ERC-20 alias
175829
176010
  this.checkAddress(address);
175830
176011
  await this.loadMarkets();
@@ -175839,7 +176020,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
175839
176020
  }
175840
176021
  if (network !== undefined) {
175841
176022
  request['network'] = network;
175842
- params = this.omit(params, 'network');
176023
+ params = this.omit(params, ['network', 'chain']);
175843
176024
  }
175844
176025
  const response = await this.spotPrivatePostCapitalWithdrawApply(this.extend(request, params));
175845
176026
  //
@@ -175882,7 +176063,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
175882
176063
  * @method
175883
176064
  * @name mexc3#borrowMargin
175884
176065
  * @description create a loan to borrow margin
175885
- * @see https://mxcdevelop.github.io/apidocs/spot_v3_en/#loan
176066
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#loan
175886
176067
  * @param {string} code unified currency code of the currency to borrow
175887
176068
  * @param {float} amount the amount to borrow
175888
176069
  * @param {string} symbol unified market symbol
@@ -175915,7 +176096,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
175915
176096
  * @method
175916
176097
  * @name mexc3#repayMargin
175917
176098
  * @description repay borrowed margin and interest
175918
- * @see https://mxcdevelop.github.io/apidocs/spot_v3_en/#repayment
176099
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#repayment
175919
176100
  * @param {string} code unified currency code of the currency to repay
175920
176101
  * @param {float} amount the amount to repay
175921
176102
  * @param {string} symbol unified market symbol
@@ -175954,7 +176135,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
175954
176135
  * @method
175955
176136
  * @name mexc3#fetchTransactionFees
175956
176137
  * @description fetch deposit and withdrawal fees
175957
- * @see https://mxcdevelop.github.io/apidocs/spot_v3_en/#query-the-currency-information
176138
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#query-the-currency-information
175958
176139
  * @param {string[]|undefined} codes returns fees for all currencies if undefined
175959
176140
  * @param {object} [params] extra parameters specific to the mexc3 api endpoint
175960
176141
  * @returns {object[]} a list of [fee structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#fee-structure}
@@ -176052,7 +176233,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
176052
176233
  * @method
176053
176234
  * @name mexc3#fetchDepositWithdrawFees
176054
176235
  * @description fetch deposit and withdrawal fees
176055
- * @see https://mxcdevelop.github.io/apidocs/spot_v3_en/#query-the-currency-information
176236
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#query-the-currency-information
176056
176237
  * @param {string[]|undefined} codes returns fees for all currencies if undefined
176057
176238
  * @param {object} [params] extra parameters specific to the mexc3 api endpoint
176058
176239
  * @returns {object[]} a list of [fee structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#fee-structure}
@@ -229513,13 +229694,13 @@ class hollaex extends _hollaex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
229513
229694
 
229514
229695
  /***/ }),
229515
229696
 
229516
- /***/ 8384:
229697
+ /***/ 7474:
229517
229698
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
229518
229699
 
229519
229700
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
229520
- /* harmony export */ "Z": () => (/* binding */ huobi)
229701
+ /* harmony export */ "Z": () => (/* binding */ htx)
229521
229702
  /* harmony export */ });
229522
- /* harmony import */ var _huobi_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8146);
229703
+ /* harmony import */ var _htx_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5939);
229523
229704
  /* harmony import */ var _base_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6689);
229524
229705
  /* harmony import */ var _base_ws_Cache_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3020);
229525
229706
  /* harmony import */ var _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1372);
@@ -229529,7 +229710,7 @@ class hollaex extends _hollaex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
229529
229710
 
229530
229711
 
229531
229712
  // ---------------------------------------------------------------------------
229532
- class huobi extends _huobi_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
229713
+ class htx extends _htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
229533
229714
  describe() {
229534
229715
  return this.deepExtend(super.describe(), {
229535
229716
  'has': {
@@ -231876,6 +232057,28 @@ class huobi extends _huobi_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
231876
232057
  }
231877
232058
 
231878
232059
 
232060
+ /***/ }),
232061
+
232062
+ /***/ 8384:
232063
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
232064
+
232065
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
232066
+ /* harmony export */ "Z": () => (/* binding */ huobi)
232067
+ /* harmony export */ });
232068
+ /* harmony import */ var _htx_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7474);
232069
+ // ---------------------------------------------------------------------------
232070
+
232071
+ // ---------------------------------------------------------------------------
232072
+ class huobi extends _htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
232073
+ describe() {
232074
+ return this.deepExtend(super.describe(), {
232075
+ 'alias': true,
232076
+ 'id': 'huobi',
232077
+ });
232078
+ }
232079
+ }
232080
+
232081
+
231879
232082
  /***/ }),
231880
232083
 
231881
232084
  /***/ 9021:
@@ -262809,7 +263012,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
262809
263012
  const minBase = this.safeString(market, 'baseMinSize');
262810
263013
  const minAmount = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringMax */ .O.stringMax(amountIncrement, minBase);
262811
263014
  const priceIncrement = this.safeString(market, 'tickSize');
262812
- const minCost = this.safeString(market, 'quoteMinSize');
263015
+ const minCost = this.safeNumber(market, 'quoteMinSize');
262813
263016
  return {
262814
263017
  'id': id,
262815
263018
  'symbol': base + '/' + quote,
@@ -285229,39 +285432,39 @@ var __webpack_exports__ = {};
285229
285432
  (() => {
285230
285433
  __webpack_require__.r(__webpack_exports__);
285231
285434
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
285232
- /* harmony export */ "AccountNotEnabled": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.AccountNotEnabled),
285233
- /* harmony export */ "AccountSuspended": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.AccountSuspended),
285234
- /* harmony export */ "AddressPending": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.AddressPending),
285235
- /* harmony export */ "ArgumentsRequired": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.ArgumentsRequired),
285236
- /* harmony export */ "AuthenticationError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.AuthenticationError),
285237
- /* harmony export */ "BadRequest": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.BadRequest),
285238
- /* harmony export */ "BadResponse": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.BadResponse),
285239
- /* harmony export */ "BadSymbol": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.BadSymbol),
285240
- /* harmony export */ "BaseError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.BaseError),
285241
- /* harmony export */ "CancelPending": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.CancelPending),
285242
- /* harmony export */ "DDoSProtection": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.DDoSProtection),
285243
- /* harmony export */ "DuplicateOrderId": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.DuplicateOrderId),
285435
+ /* harmony export */ "AccountNotEnabled": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.AccountNotEnabled),
285436
+ /* harmony export */ "AccountSuspended": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.AccountSuspended),
285437
+ /* harmony export */ "AddressPending": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.AddressPending),
285438
+ /* harmony export */ "ArgumentsRequired": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.ArgumentsRequired),
285439
+ /* harmony export */ "AuthenticationError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.AuthenticationError),
285440
+ /* harmony export */ "BadRequest": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.BadRequest),
285441
+ /* harmony export */ "BadResponse": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.BadResponse),
285442
+ /* harmony export */ "BadSymbol": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.BadSymbol),
285443
+ /* harmony export */ "BaseError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.BaseError),
285444
+ /* harmony export */ "CancelPending": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.CancelPending),
285445
+ /* harmony export */ "DDoSProtection": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.DDoSProtection),
285446
+ /* harmony export */ "DuplicateOrderId": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.DuplicateOrderId),
285244
285447
  /* harmony export */ "Exchange": () => (/* reexport safe */ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__.e),
285245
- /* harmony export */ "ExchangeError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.ExchangeError),
285246
- /* harmony export */ "ExchangeNotAvailable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.ExchangeNotAvailable),
285247
- /* harmony export */ "InsufficientFunds": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.InsufficientFunds),
285248
- /* harmony export */ "InvalidAddress": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.InvalidAddress),
285249
- /* harmony export */ "InvalidNonce": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.InvalidNonce),
285250
- /* harmony export */ "InvalidOrder": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.InvalidOrder),
285251
- /* harmony export */ "MarginModeAlreadySet": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.MarginModeAlreadySet),
285252
- /* harmony export */ "NetworkError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.NetworkError),
285253
- /* harmony export */ "NoChange": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.NoChange),
285254
- /* harmony export */ "NotSupported": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.NotSupported),
285255
- /* harmony export */ "NullResponse": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.NullResponse),
285256
- /* harmony export */ "OnMaintenance": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OnMaintenance),
285257
- /* harmony export */ "OrderImmediatelyFillable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OrderImmediatelyFillable),
285258
- /* harmony export */ "OrderNotCached": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OrderNotCached),
285259
- /* harmony export */ "OrderNotFillable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OrderNotFillable),
285260
- /* harmony export */ "OrderNotFound": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OrderNotFound),
285261
- /* harmony export */ "PermissionDenied": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.PermissionDenied),
285262
- /* harmony export */ "Precise": () => (/* reexport safe */ _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_167__.O),
285263
- /* harmony export */ "RateLimitExceeded": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.RateLimitExceeded),
285264
- /* harmony export */ "RequestTimeout": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.RequestTimeout),
285448
+ /* harmony export */ "ExchangeError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.ExchangeError),
285449
+ /* harmony export */ "ExchangeNotAvailable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.ExchangeNotAvailable),
285450
+ /* harmony export */ "InsufficientFunds": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.InsufficientFunds),
285451
+ /* harmony export */ "InvalidAddress": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.InvalidAddress),
285452
+ /* harmony export */ "InvalidNonce": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.InvalidNonce),
285453
+ /* harmony export */ "InvalidOrder": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.InvalidOrder),
285454
+ /* harmony export */ "MarginModeAlreadySet": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.MarginModeAlreadySet),
285455
+ /* harmony export */ "NetworkError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.NetworkError),
285456
+ /* harmony export */ "NoChange": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.NoChange),
285457
+ /* harmony export */ "NotSupported": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.NotSupported),
285458
+ /* harmony export */ "NullResponse": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.NullResponse),
285459
+ /* harmony export */ "OnMaintenance": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.OnMaintenance),
285460
+ /* harmony export */ "OrderImmediatelyFillable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.OrderImmediatelyFillable),
285461
+ /* harmony export */ "OrderNotCached": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.OrderNotCached),
285462
+ /* harmony export */ "OrderNotFillable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.OrderNotFillable),
285463
+ /* harmony export */ "OrderNotFound": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.OrderNotFound),
285464
+ /* harmony export */ "PermissionDenied": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.PermissionDenied),
285465
+ /* harmony export */ "Precise": () => (/* reexport safe */ _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_169__.O),
285466
+ /* harmony export */ "RateLimitExceeded": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.RateLimitExceeded),
285467
+ /* harmony export */ "RequestTimeout": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__.RequestTimeout),
285265
285468
  /* harmony export */ "ace": () => (/* reexport safe */ _src_ace_js__WEBPACK_IMPORTED_MODULE_1__.Z),
285266
285469
  /* harmony export */ "alpaca": () => (/* reexport safe */ _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__.Z),
285267
285470
  /* harmony export */ "ascendex": () => (/* reexport safe */ _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__.Z),
@@ -285319,66 +285522,67 @@ __webpack_require__.r(__webpack_exports__);
285319
285522
  /* harmony export */ "delta": () => (/* reexport safe */ _src_delta_js__WEBPACK_IMPORTED_MODULE_54__.Z),
285320
285523
  /* harmony export */ "deribit": () => (/* reexport safe */ _src_deribit_js__WEBPACK_IMPORTED_MODULE_55__.Z),
285321
285524
  /* harmony export */ "digifinex": () => (/* reexport safe */ _src_digifinex_js__WEBPACK_IMPORTED_MODULE_56__.Z),
285322
- /* harmony export */ "errors": () => (/* reexport module object */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__),
285525
+ /* harmony export */ "errors": () => (/* reexport module object */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__),
285323
285526
  /* harmony export */ "exchanges": () => (/* binding */ exchanges),
285324
285527
  /* harmony export */ "exmo": () => (/* reexport safe */ _src_exmo_js__WEBPACK_IMPORTED_MODULE_57__.Z),
285325
285528
  /* harmony export */ "fmfwio": () => (/* reexport safe */ _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_58__.Z),
285326
- /* harmony export */ "functions": () => (/* reexport module object */ _src_base_functions_js__WEBPACK_IMPORTED_MODULE_168__),
285529
+ /* harmony export */ "functions": () => (/* reexport module object */ _src_base_functions_js__WEBPACK_IMPORTED_MODULE_170__),
285327
285530
  /* harmony export */ "gate": () => (/* reexport safe */ _src_gate_js__WEBPACK_IMPORTED_MODULE_59__.Z),
285328
285531
  /* harmony export */ "gateio": () => (/* reexport safe */ _src_gateio_js__WEBPACK_IMPORTED_MODULE_60__.Z),
285329
285532
  /* harmony export */ "gemini": () => (/* reexport safe */ _src_gemini_js__WEBPACK_IMPORTED_MODULE_61__.Z),
285330
285533
  /* harmony export */ "hitbtc": () => (/* reexport safe */ _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_62__.Z),
285331
285534
  /* harmony export */ "hitbtc3": () => (/* reexport safe */ _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_63__.Z),
285332
285535
  /* harmony export */ "hollaex": () => (/* reexport safe */ _src_hollaex_js__WEBPACK_IMPORTED_MODULE_64__.Z),
285333
- /* harmony export */ "huobi": () => (/* reexport safe */ _src_huobi_js__WEBPACK_IMPORTED_MODULE_65__.Z),
285334
- /* harmony export */ "huobijp": () => (/* reexport safe */ _src_huobijp_js__WEBPACK_IMPORTED_MODULE_66__.Z),
285335
- /* harmony export */ "huobipro": () => (/* reexport safe */ _src_huobipro_js__WEBPACK_IMPORTED_MODULE_67__.Z),
285336
- /* harmony export */ "idex": () => (/* reexport safe */ _src_idex_js__WEBPACK_IMPORTED_MODULE_68__.Z),
285337
- /* harmony export */ "independentreserve": () => (/* reexport safe */ _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_69__.Z),
285338
- /* harmony export */ "indodax": () => (/* reexport safe */ _src_indodax_js__WEBPACK_IMPORTED_MODULE_70__.Z),
285339
- /* harmony export */ "kraken": () => (/* reexport safe */ _src_kraken_js__WEBPACK_IMPORTED_MODULE_71__.Z),
285340
- /* harmony export */ "krakenfutures": () => (/* reexport safe */ _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_72__.Z),
285341
- /* harmony export */ "kucoin": () => (/* reexport safe */ _src_kucoin_js__WEBPACK_IMPORTED_MODULE_73__.Z),
285342
- /* harmony export */ "kucoinfutures": () => (/* reexport safe */ _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_74__.Z),
285343
- /* harmony export */ "kuna": () => (/* reexport safe */ _src_kuna_js__WEBPACK_IMPORTED_MODULE_75__.Z),
285344
- /* harmony export */ "latoken": () => (/* reexport safe */ _src_latoken_js__WEBPACK_IMPORTED_MODULE_76__.Z),
285345
- /* harmony export */ "lbank": () => (/* reexport safe */ _src_lbank_js__WEBPACK_IMPORTED_MODULE_77__.Z),
285346
- /* harmony export */ "lbank2": () => (/* reexport safe */ _src_lbank2_js__WEBPACK_IMPORTED_MODULE_78__.Z),
285347
- /* harmony export */ "luno": () => (/* reexport safe */ _src_luno_js__WEBPACK_IMPORTED_MODULE_79__.Z),
285348
- /* harmony export */ "lykke": () => (/* reexport safe */ _src_lykke_js__WEBPACK_IMPORTED_MODULE_80__.Z),
285349
- /* harmony export */ "mercado": () => (/* reexport safe */ _src_mercado_js__WEBPACK_IMPORTED_MODULE_81__.Z),
285350
- /* harmony export */ "mexc": () => (/* reexport safe */ _src_mexc_js__WEBPACK_IMPORTED_MODULE_82__.Z),
285351
- /* harmony export */ "mexc3": () => (/* reexport safe */ _src_mexc3_js__WEBPACK_IMPORTED_MODULE_83__.Z),
285352
- /* harmony export */ "ndax": () => (/* reexport safe */ _src_ndax_js__WEBPACK_IMPORTED_MODULE_84__.Z),
285353
- /* harmony export */ "novadax": () => (/* reexport safe */ _src_novadax_js__WEBPACK_IMPORTED_MODULE_85__.Z),
285354
- /* harmony export */ "oceanex": () => (/* reexport safe */ _src_oceanex_js__WEBPACK_IMPORTED_MODULE_86__.Z),
285355
- /* harmony export */ "okcoin": () => (/* reexport safe */ _src_okcoin_js__WEBPACK_IMPORTED_MODULE_87__.Z),
285356
- /* harmony export */ "okex": () => (/* reexport safe */ _src_okex_js__WEBPACK_IMPORTED_MODULE_88__.Z),
285357
- /* harmony export */ "okex5": () => (/* reexport safe */ _src_okex5_js__WEBPACK_IMPORTED_MODULE_89__.Z),
285358
- /* harmony export */ "okx": () => (/* reexport safe */ _src_okx_js__WEBPACK_IMPORTED_MODULE_90__.Z),
285359
- /* harmony export */ "paymium": () => (/* reexport safe */ _src_paymium_js__WEBPACK_IMPORTED_MODULE_91__.Z),
285360
- /* harmony export */ "phemex": () => (/* reexport safe */ _src_phemex_js__WEBPACK_IMPORTED_MODULE_92__.Z),
285361
- /* harmony export */ "poloniex": () => (/* reexport safe */ _src_poloniex_js__WEBPACK_IMPORTED_MODULE_93__.Z),
285362
- /* harmony export */ "poloniexfutures": () => (/* reexport safe */ _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_94__.Z),
285536
+ /* harmony export */ "htx": () => (/* reexport safe */ _src_htx_js__WEBPACK_IMPORTED_MODULE_65__.Z),
285537
+ /* harmony export */ "huobi": () => (/* reexport safe */ _src_huobi_js__WEBPACK_IMPORTED_MODULE_66__.Z),
285538
+ /* harmony export */ "huobijp": () => (/* reexport safe */ _src_huobijp_js__WEBPACK_IMPORTED_MODULE_67__.Z),
285539
+ /* harmony export */ "huobipro": () => (/* reexport safe */ _src_huobipro_js__WEBPACK_IMPORTED_MODULE_68__.Z),
285540
+ /* harmony export */ "idex": () => (/* reexport safe */ _src_idex_js__WEBPACK_IMPORTED_MODULE_69__.Z),
285541
+ /* harmony export */ "independentreserve": () => (/* reexport safe */ _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_70__.Z),
285542
+ /* harmony export */ "indodax": () => (/* reexport safe */ _src_indodax_js__WEBPACK_IMPORTED_MODULE_71__.Z),
285543
+ /* harmony export */ "kraken": () => (/* reexport safe */ _src_kraken_js__WEBPACK_IMPORTED_MODULE_72__.Z),
285544
+ /* harmony export */ "krakenfutures": () => (/* reexport safe */ _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_73__.Z),
285545
+ /* harmony export */ "kucoin": () => (/* reexport safe */ _src_kucoin_js__WEBPACK_IMPORTED_MODULE_74__.Z),
285546
+ /* harmony export */ "kucoinfutures": () => (/* reexport safe */ _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_75__.Z),
285547
+ /* harmony export */ "kuna": () => (/* reexport safe */ _src_kuna_js__WEBPACK_IMPORTED_MODULE_76__.Z),
285548
+ /* harmony export */ "latoken": () => (/* reexport safe */ _src_latoken_js__WEBPACK_IMPORTED_MODULE_77__.Z),
285549
+ /* harmony export */ "lbank": () => (/* reexport safe */ _src_lbank_js__WEBPACK_IMPORTED_MODULE_78__.Z),
285550
+ /* harmony export */ "lbank2": () => (/* reexport safe */ _src_lbank2_js__WEBPACK_IMPORTED_MODULE_79__.Z),
285551
+ /* harmony export */ "luno": () => (/* reexport safe */ _src_luno_js__WEBPACK_IMPORTED_MODULE_80__.Z),
285552
+ /* harmony export */ "lykke": () => (/* reexport safe */ _src_lykke_js__WEBPACK_IMPORTED_MODULE_81__.Z),
285553
+ /* harmony export */ "mercado": () => (/* reexport safe */ _src_mercado_js__WEBPACK_IMPORTED_MODULE_82__.Z),
285554
+ /* harmony export */ "mexc": () => (/* reexport safe */ _src_mexc_js__WEBPACK_IMPORTED_MODULE_83__.Z),
285555
+ /* harmony export */ "mexc3": () => (/* reexport safe */ _src_mexc3_js__WEBPACK_IMPORTED_MODULE_84__.Z),
285556
+ /* harmony export */ "ndax": () => (/* reexport safe */ _src_ndax_js__WEBPACK_IMPORTED_MODULE_85__.Z),
285557
+ /* harmony export */ "novadax": () => (/* reexport safe */ _src_novadax_js__WEBPACK_IMPORTED_MODULE_86__.Z),
285558
+ /* harmony export */ "oceanex": () => (/* reexport safe */ _src_oceanex_js__WEBPACK_IMPORTED_MODULE_87__.Z),
285559
+ /* harmony export */ "okcoin": () => (/* reexport safe */ _src_okcoin_js__WEBPACK_IMPORTED_MODULE_88__.Z),
285560
+ /* harmony export */ "okex": () => (/* reexport safe */ _src_okex_js__WEBPACK_IMPORTED_MODULE_89__.Z),
285561
+ /* harmony export */ "okex5": () => (/* reexport safe */ _src_okex5_js__WEBPACK_IMPORTED_MODULE_90__.Z),
285562
+ /* harmony export */ "okx": () => (/* reexport safe */ _src_okx_js__WEBPACK_IMPORTED_MODULE_91__.Z),
285563
+ /* harmony export */ "paymium": () => (/* reexport safe */ _src_paymium_js__WEBPACK_IMPORTED_MODULE_92__.Z),
285564
+ /* harmony export */ "phemex": () => (/* reexport safe */ _src_phemex_js__WEBPACK_IMPORTED_MODULE_93__.Z),
285565
+ /* harmony export */ "poloniex": () => (/* reexport safe */ _src_poloniex_js__WEBPACK_IMPORTED_MODULE_94__.Z),
285566
+ /* harmony export */ "poloniexfutures": () => (/* reexport safe */ _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_95__.Z),
285363
285567
  /* harmony export */ "pro": () => (/* binding */ pro),
285364
- /* harmony export */ "probit": () => (/* reexport safe */ _src_probit_js__WEBPACK_IMPORTED_MODULE_95__.Z),
285365
- /* harmony export */ "tidex": () => (/* reexport safe */ _src_tidex_js__WEBPACK_IMPORTED_MODULE_96__.Z),
285366
- /* harmony export */ "timex": () => (/* reexport safe */ _src_timex_js__WEBPACK_IMPORTED_MODULE_97__.Z),
285367
- /* harmony export */ "tokocrypto": () => (/* reexport safe */ _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_98__.Z),
285368
- /* harmony export */ "upbit": () => (/* reexport safe */ _src_upbit_js__WEBPACK_IMPORTED_MODULE_99__.Z),
285568
+ /* harmony export */ "probit": () => (/* reexport safe */ _src_probit_js__WEBPACK_IMPORTED_MODULE_96__.Z),
285569
+ /* harmony export */ "tidex": () => (/* reexport safe */ _src_tidex_js__WEBPACK_IMPORTED_MODULE_97__.Z),
285570
+ /* harmony export */ "timex": () => (/* reexport safe */ _src_timex_js__WEBPACK_IMPORTED_MODULE_98__.Z),
285571
+ /* harmony export */ "tokocrypto": () => (/* reexport safe */ _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_99__.Z),
285572
+ /* harmony export */ "upbit": () => (/* reexport safe */ _src_upbit_js__WEBPACK_IMPORTED_MODULE_100__.Z),
285369
285573
  /* harmony export */ "version": () => (/* binding */ version),
285370
- /* harmony export */ "wavesexchange": () => (/* reexport safe */ _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_100__.Z),
285371
- /* harmony export */ "wazirx": () => (/* reexport safe */ _src_wazirx_js__WEBPACK_IMPORTED_MODULE_101__.Z),
285372
- /* harmony export */ "whitebit": () => (/* reexport safe */ _src_whitebit_js__WEBPACK_IMPORTED_MODULE_102__.Z),
285373
- /* harmony export */ "woo": () => (/* reexport safe */ _src_woo_js__WEBPACK_IMPORTED_MODULE_103__.Z),
285374
- /* harmony export */ "yobit": () => (/* reexport safe */ _src_yobit_js__WEBPACK_IMPORTED_MODULE_104__.Z),
285375
- /* harmony export */ "zaif": () => (/* reexport safe */ _src_zaif_js__WEBPACK_IMPORTED_MODULE_105__.Z),
285376
- /* harmony export */ "zonda": () => (/* reexport safe */ _src_zonda_js__WEBPACK_IMPORTED_MODULE_106__.Z)
285574
+ /* harmony export */ "wavesexchange": () => (/* reexport safe */ _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_101__.Z),
285575
+ /* harmony export */ "wazirx": () => (/* reexport safe */ _src_wazirx_js__WEBPACK_IMPORTED_MODULE_102__.Z),
285576
+ /* harmony export */ "whitebit": () => (/* reexport safe */ _src_whitebit_js__WEBPACK_IMPORTED_MODULE_103__.Z),
285577
+ /* harmony export */ "woo": () => (/* reexport safe */ _src_woo_js__WEBPACK_IMPORTED_MODULE_104__.Z),
285578
+ /* harmony export */ "yobit": () => (/* reexport safe */ _src_yobit_js__WEBPACK_IMPORTED_MODULE_105__.Z),
285579
+ /* harmony export */ "zaif": () => (/* reexport safe */ _src_zaif_js__WEBPACK_IMPORTED_MODULE_106__.Z),
285580
+ /* harmony export */ "zonda": () => (/* reexport safe */ _src_zonda_js__WEBPACK_IMPORTED_MODULE_107__.Z)
285377
285581
  /* harmony export */ });
285378
285582
  /* harmony import */ var _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3043);
285379
- /* harmony import */ var _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_167__ = __webpack_require__(2194);
285380
- /* harmony import */ var _src_base_functions_js__WEBPACK_IMPORTED_MODULE_168__ = __webpack_require__(7100);
285381
- /* harmony import */ var _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__ = __webpack_require__(6689);
285583
+ /* harmony import */ var _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_169__ = __webpack_require__(2194);
285584
+ /* harmony import */ var _src_base_functions_js__WEBPACK_IMPORTED_MODULE_170__ = __webpack_require__(7100);
285585
+ /* harmony import */ var _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__ = __webpack_require__(6689);
285382
285586
  /* harmony import */ var _src_ace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9869);
285383
285587
  /* harmony import */ var _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5660);
285384
285588
  /* harmony import */ var _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9612);
@@ -285443,108 +285647,110 @@ __webpack_require__.r(__webpack_exports__);
285443
285647
  /* harmony import */ var _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(4714);
285444
285648
  /* harmony import */ var _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(4815);
285445
285649
  /* harmony import */ var _src_hollaex_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(8422);
285446
- /* harmony import */ var _src_huobi_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(8146);
285447
- /* harmony import */ var _src_huobijp_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(7034);
285448
- /* harmony import */ var _src_huobipro_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(5547);
285449
- /* harmony import */ var _src_idex_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(8232);
285450
- /* harmony import */ var _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(9570);
285451
- /* harmony import */ var _src_indodax_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(1605);
285452
- /* harmony import */ var _src_kraken_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(9922);
285453
- /* harmony import */ var _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(4470);
285454
- /* harmony import */ var _src_kucoin_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(3583);
285455
- /* harmony import */ var _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(1924);
285456
- /* harmony import */ var _src_kuna_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(7732);
285457
- /* harmony import */ var _src_latoken_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(2545);
285458
- /* harmony import */ var _src_lbank_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(3944);
285459
- /* harmony import */ var _src_lbank2_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(8601);
285460
- /* harmony import */ var _src_luno_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(1758);
285461
- /* harmony import */ var _src_lykke_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(3803);
285462
- /* harmony import */ var _src_mercado_js__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(9013);
285463
- /* harmony import */ var _src_mexc_js__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(6641);
285464
- /* harmony import */ var _src_mexc3_js__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(2305);
285465
- /* harmony import */ var _src_ndax_js__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(4531);
285466
- /* harmony import */ var _src_novadax_js__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(2449);
285467
- /* harmony import */ var _src_oceanex_js__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(6749);
285468
- /* harmony import */ var _src_okcoin_js__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(3007);
285469
- /* harmony import */ var _src_okex_js__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(5322);
285470
- /* harmony import */ var _src_okex5_js__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(7826);
285471
- /* harmony import */ var _src_okx_js__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(4042);
285472
- /* harmony import */ var _src_paymium_js__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(7082);
285473
- /* harmony import */ var _src_phemex_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(79);
285474
- /* harmony import */ var _src_poloniex_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(8891);
285475
- /* harmony import */ var _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(6877);
285476
- /* harmony import */ var _src_probit_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(3657);
285477
- /* harmony import */ var _src_tidex_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(4224);
285478
- /* harmony import */ var _src_timex_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(1067);
285479
- /* harmony import */ var _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(5261);
285480
- /* harmony import */ var _src_upbit_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(7584);
285481
- /* harmony import */ var _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(3853);
285482
- /* harmony import */ var _src_wazirx_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(6536);
285483
- /* harmony import */ var _src_whitebit_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(5467);
285484
- /* harmony import */ var _src_woo_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(517);
285485
- /* harmony import */ var _src_yobit_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(3850);
285486
- /* harmony import */ var _src_zaif_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(5934);
285487
- /* harmony import */ var _src_zonda_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(5140);
285488
- /* harmony import */ var _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(2467);
285489
- /* harmony import */ var _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(2383);
285490
- /* harmony import */ var _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(8848);
285491
- /* harmony import */ var _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(8764);
285492
- /* harmony import */ var _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(5078);
285493
- /* harmony import */ var _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(1326);
285494
- /* harmony import */ var _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(1230);
285495
- /* harmony import */ var _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(6955);
285496
- /* harmony import */ var _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(453);
285497
- /* harmony import */ var _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(9772);
285498
- /* harmony import */ var _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(588);
285499
- /* harmony import */ var _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(1885);
285500
- /* harmony import */ var _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(7504);
285501
- /* harmony import */ var _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(2302);
285502
- /* harmony import */ var _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(2191);
285503
- /* harmony import */ var _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(1297);
285504
- /* harmony import */ var _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(3005);
285505
- /* harmony import */ var _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(2317);
285506
- /* harmony import */ var _src_pro_bittrex_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(2883);
285507
- /* harmony import */ var _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(6977);
285508
- /* harmony import */ var _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(2519);
285509
- /* harmony import */ var _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(5030);
285510
- /* harmony import */ var _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(5272);
285511
- /* harmony import */ var _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(3414);
285512
- /* harmony import */ var _src_pro_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(3848);
285513
- /* harmony import */ var _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(8368);
285514
- /* harmony import */ var _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(204);
285515
- /* harmony import */ var _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(6820);
285516
- /* harmony import */ var _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(2952);
285517
- /* harmony import */ var _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(1788);
285518
- /* harmony import */ var _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(9004);
285519
- /* harmony import */ var _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(8335);
285520
- /* harmony import */ var _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(1465);
285521
- /* harmony import */ var _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(9488);
285522
- /* harmony import */ var _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(5189);
285523
- /* harmony import */ var _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(8559);
285524
- /* harmony import */ var _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(8384);
285525
- /* harmony import */ var _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(9021);
285526
- /* harmony import */ var _src_pro_huobipro_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(4625);
285527
- /* harmony import */ var _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(3484);
285528
- /* harmony import */ var _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(1311);
285529
- /* harmony import */ var _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(736);
285530
- /* harmony import */ var _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(449);
285531
- /* harmony import */ var _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(2387);
285532
- /* harmony import */ var _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(7181);
285533
- /* harmony import */ var _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(627);
285534
- /* harmony import */ var _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(6484);
285535
- /* harmony import */ var _src_pro_mexc3_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(5351);
285536
- /* harmony import */ var _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(8080);
285537
- /* harmony import */ var _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(7105);
285538
- /* harmony import */ var _src_pro_okex_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(1530);
285539
- /* harmony import */ var _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(2214);
285540
- /* harmony import */ var _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(4360);
285541
- /* harmony import */ var _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(7924);
285542
- /* harmony import */ var _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(3541);
285543
- /* harmony import */ var _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(9782);
285544
- /* harmony import */ var _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(7614);
285545
- /* harmony import */ var _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(4828);
285546
- /* harmony import */ var _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(5630);
285547
- /* harmony import */ var _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_166__ = __webpack_require__(3910);
285650
+ /* harmony import */ var _src_htx_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(5939);
285651
+ /* harmony import */ var _src_huobi_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(8146);
285652
+ /* harmony import */ var _src_huobijp_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(7034);
285653
+ /* harmony import */ var _src_huobipro_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(5547);
285654
+ /* harmony import */ var _src_idex_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(8232);
285655
+ /* harmony import */ var _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(9570);
285656
+ /* harmony import */ var _src_indodax_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(1605);
285657
+ /* harmony import */ var _src_kraken_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(9922);
285658
+ /* harmony import */ var _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(4470);
285659
+ /* harmony import */ var _src_kucoin_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(3583);
285660
+ /* harmony import */ var _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(1924);
285661
+ /* harmony import */ var _src_kuna_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(7732);
285662
+ /* harmony import */ var _src_latoken_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(2545);
285663
+ /* harmony import */ var _src_lbank_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(3944);
285664
+ /* harmony import */ var _src_lbank2_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(8601);
285665
+ /* harmony import */ var _src_luno_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(1758);
285666
+ /* harmony import */ var _src_lykke_js__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(3803);
285667
+ /* harmony import */ var _src_mercado_js__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(9013);
285668
+ /* harmony import */ var _src_mexc_js__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(6641);
285669
+ /* harmony import */ var _src_mexc3_js__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(2305);
285670
+ /* harmony import */ var _src_ndax_js__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(4531);
285671
+ /* harmony import */ var _src_novadax_js__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(2449);
285672
+ /* harmony import */ var _src_oceanex_js__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(6749);
285673
+ /* harmony import */ var _src_okcoin_js__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(3007);
285674
+ /* harmony import */ var _src_okex_js__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(5322);
285675
+ /* harmony import */ var _src_okex5_js__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(7826);
285676
+ /* harmony import */ var _src_okx_js__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(4042);
285677
+ /* harmony import */ var _src_paymium_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(7082);
285678
+ /* harmony import */ var _src_phemex_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(79);
285679
+ /* harmony import */ var _src_poloniex_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(8891);
285680
+ /* harmony import */ var _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(6877);
285681
+ /* harmony import */ var _src_probit_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(3657);
285682
+ /* harmony import */ var _src_tidex_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(4224);
285683
+ /* harmony import */ var _src_timex_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(1067);
285684
+ /* harmony import */ var _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(5261);
285685
+ /* harmony import */ var _src_upbit_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(7584);
285686
+ /* harmony import */ var _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(3853);
285687
+ /* harmony import */ var _src_wazirx_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(6536);
285688
+ /* harmony import */ var _src_whitebit_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(5467);
285689
+ /* harmony import */ var _src_woo_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(517);
285690
+ /* harmony import */ var _src_yobit_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(3850);
285691
+ /* harmony import */ var _src_zaif_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(5934);
285692
+ /* harmony import */ var _src_zonda_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(5140);
285693
+ /* harmony import */ var _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(2467);
285694
+ /* harmony import */ var _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(2383);
285695
+ /* harmony import */ var _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(8848);
285696
+ /* harmony import */ var _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(8764);
285697
+ /* harmony import */ var _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(5078);
285698
+ /* harmony import */ var _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(1326);
285699
+ /* harmony import */ var _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(1230);
285700
+ /* harmony import */ var _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(6955);
285701
+ /* harmony import */ var _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(453);
285702
+ /* harmony import */ var _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(9772);
285703
+ /* harmony import */ var _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(588);
285704
+ /* harmony import */ var _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(1885);
285705
+ /* harmony import */ var _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(7504);
285706
+ /* harmony import */ var _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(2302);
285707
+ /* harmony import */ var _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(2191);
285708
+ /* harmony import */ var _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(1297);
285709
+ /* harmony import */ var _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(3005);
285710
+ /* harmony import */ var _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(2317);
285711
+ /* harmony import */ var _src_pro_bittrex_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(2883);
285712
+ /* harmony import */ var _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(6977);
285713
+ /* harmony import */ var _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(2519);
285714
+ /* harmony import */ var _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(5030);
285715
+ /* harmony import */ var _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(5272);
285716
+ /* harmony import */ var _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(3414);
285717
+ /* harmony import */ var _src_pro_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(3848);
285718
+ /* harmony import */ var _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(8368);
285719
+ /* harmony import */ var _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(204);
285720
+ /* harmony import */ var _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(6820);
285721
+ /* harmony import */ var _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(2952);
285722
+ /* harmony import */ var _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(1788);
285723
+ /* harmony import */ var _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(9004);
285724
+ /* harmony import */ var _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(8335);
285725
+ /* harmony import */ var _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(1465);
285726
+ /* harmony import */ var _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(9488);
285727
+ /* harmony import */ var _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(5189);
285728
+ /* harmony import */ var _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(8559);
285729
+ /* harmony import */ var _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(7474);
285730
+ /* harmony import */ var _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(8384);
285731
+ /* harmony import */ var _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(9021);
285732
+ /* harmony import */ var _src_pro_huobipro_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(4625);
285733
+ /* harmony import */ var _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(3484);
285734
+ /* harmony import */ var _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(1311);
285735
+ /* harmony import */ var _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(736);
285736
+ /* harmony import */ var _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(449);
285737
+ /* harmony import */ var _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(2387);
285738
+ /* harmony import */ var _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(7181);
285739
+ /* harmony import */ var _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(627);
285740
+ /* harmony import */ var _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(6484);
285741
+ /* harmony import */ var _src_pro_mexc3_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(5351);
285742
+ /* harmony import */ var _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(8080);
285743
+ /* harmony import */ var _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(7105);
285744
+ /* harmony import */ var _src_pro_okex_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(1530);
285745
+ /* harmony import */ var _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(2214);
285746
+ /* harmony import */ var _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(4360);
285747
+ /* harmony import */ var _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(7924);
285748
+ /* harmony import */ var _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(3541);
285749
+ /* harmony import */ var _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(9782);
285750
+ /* harmony import */ var _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(7614);
285751
+ /* harmony import */ var _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_166__ = __webpack_require__(4828);
285752
+ /* harmony import */ var _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_167__ = __webpack_require__(5630);
285753
+ /* harmony import */ var _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_168__ = __webpack_require__(3910);
285548
285754
  /*
285549
285755
 
285550
285756
  MIT License
@@ -285579,7 +285785,7 @@ SOFTWARE.
285579
285785
 
285580
285786
  //-----------------------------------------------------------------------------
285581
285787
  // this is updated by vss.js when building
285582
- const version = '4.1.47';
285788
+ const version = '4.1.49';
285583
285789
  _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange.ccxtVersion */ .e.ccxtVersion = version;
285584
285790
  //-----------------------------------------------------------------------------
285585
285791
 
@@ -285686,6 +285892,7 @@ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange.ccxtVersion */ .e
285686
285892
 
285687
285893
 
285688
285894
 
285895
+
285689
285896
 
285690
285897
 
285691
285898
  // pro exchanges
@@ -285747,6 +285954,7 @@ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange.ccxtVersion */ .e
285747
285954
 
285748
285955
 
285749
285956
 
285957
+
285750
285958
 
285751
285959
 
285752
285960
  const exchanges = {
@@ -285814,110 +286022,112 @@ const exchanges = {
285814
286022
  'hitbtc': _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_62__/* ["default"] */ .Z,
285815
286023
  'hitbtc3': _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_63__/* ["default"] */ .Z,
285816
286024
  'hollaex': _src_hollaex_js__WEBPACK_IMPORTED_MODULE_64__/* ["default"] */ .Z,
285817
- 'huobi': _src_huobi_js__WEBPACK_IMPORTED_MODULE_65__/* ["default"] */ .Z,
285818
- 'huobijp': _src_huobijp_js__WEBPACK_IMPORTED_MODULE_66__/* ["default"] */ .Z,
285819
- 'huobipro': _src_huobipro_js__WEBPACK_IMPORTED_MODULE_67__/* ["default"] */ .Z,
285820
- 'idex': _src_idex_js__WEBPACK_IMPORTED_MODULE_68__/* ["default"] */ .Z,
285821
- 'independentreserve': _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_69__/* ["default"] */ .Z,
285822
- 'indodax': _src_indodax_js__WEBPACK_IMPORTED_MODULE_70__/* ["default"] */ .Z,
285823
- 'kraken': _src_kraken_js__WEBPACK_IMPORTED_MODULE_71__/* ["default"] */ .Z,
285824
- 'krakenfutures': _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_72__/* ["default"] */ .Z,
285825
- 'kucoin': _src_kucoin_js__WEBPACK_IMPORTED_MODULE_73__/* ["default"] */ .Z,
285826
- 'kucoinfutures': _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_74__/* ["default"] */ .Z,
285827
- 'kuna': _src_kuna_js__WEBPACK_IMPORTED_MODULE_75__/* ["default"] */ .Z,
285828
- 'latoken': _src_latoken_js__WEBPACK_IMPORTED_MODULE_76__/* ["default"] */ .Z,
285829
- 'lbank': _src_lbank_js__WEBPACK_IMPORTED_MODULE_77__/* ["default"] */ .Z,
285830
- 'lbank2': _src_lbank2_js__WEBPACK_IMPORTED_MODULE_78__/* ["default"] */ .Z,
285831
- 'luno': _src_luno_js__WEBPACK_IMPORTED_MODULE_79__/* ["default"] */ .Z,
285832
- 'lykke': _src_lykke_js__WEBPACK_IMPORTED_MODULE_80__/* ["default"] */ .Z,
285833
- 'mercado': _src_mercado_js__WEBPACK_IMPORTED_MODULE_81__/* ["default"] */ .Z,
285834
- 'mexc': _src_mexc_js__WEBPACK_IMPORTED_MODULE_82__/* ["default"] */ .Z,
285835
- 'mexc3': _src_mexc3_js__WEBPACK_IMPORTED_MODULE_83__/* ["default"] */ .Z,
285836
- 'ndax': _src_ndax_js__WEBPACK_IMPORTED_MODULE_84__/* ["default"] */ .Z,
285837
- 'novadax': _src_novadax_js__WEBPACK_IMPORTED_MODULE_85__/* ["default"] */ .Z,
285838
- 'oceanex': _src_oceanex_js__WEBPACK_IMPORTED_MODULE_86__/* ["default"] */ .Z,
285839
- 'okcoin': _src_okcoin_js__WEBPACK_IMPORTED_MODULE_87__/* ["default"] */ .Z,
285840
- 'okex': _src_okex_js__WEBPACK_IMPORTED_MODULE_88__/* ["default"] */ .Z,
285841
- 'okex5': _src_okex5_js__WEBPACK_IMPORTED_MODULE_89__/* ["default"] */ .Z,
285842
- 'okx': _src_okx_js__WEBPACK_IMPORTED_MODULE_90__/* ["default"] */ .Z,
285843
- 'paymium': _src_paymium_js__WEBPACK_IMPORTED_MODULE_91__/* ["default"] */ .Z,
285844
- 'phemex': _src_phemex_js__WEBPACK_IMPORTED_MODULE_92__/* ["default"] */ .Z,
285845
- 'poloniex': _src_poloniex_js__WEBPACK_IMPORTED_MODULE_93__/* ["default"] */ .Z,
285846
- 'poloniexfutures': _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_94__/* ["default"] */ .Z,
285847
- 'probit': _src_probit_js__WEBPACK_IMPORTED_MODULE_95__/* ["default"] */ .Z,
285848
- 'tidex': _src_tidex_js__WEBPACK_IMPORTED_MODULE_96__/* ["default"] */ .Z,
285849
- 'timex': _src_timex_js__WEBPACK_IMPORTED_MODULE_97__/* ["default"] */ .Z,
285850
- 'tokocrypto': _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_98__/* ["default"] */ .Z,
285851
- 'upbit': _src_upbit_js__WEBPACK_IMPORTED_MODULE_99__/* ["default"] */ .Z,
285852
- 'wavesexchange': _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_100__/* ["default"] */ .Z,
285853
- 'wazirx': _src_wazirx_js__WEBPACK_IMPORTED_MODULE_101__/* ["default"] */ .Z,
285854
- 'whitebit': _src_whitebit_js__WEBPACK_IMPORTED_MODULE_102__/* ["default"] */ .Z,
285855
- 'woo': _src_woo_js__WEBPACK_IMPORTED_MODULE_103__/* ["default"] */ .Z,
285856
- 'yobit': _src_yobit_js__WEBPACK_IMPORTED_MODULE_104__/* ["default"] */ .Z,
285857
- 'zaif': _src_zaif_js__WEBPACK_IMPORTED_MODULE_105__/* ["default"] */ .Z,
285858
- 'zonda': _src_zonda_js__WEBPACK_IMPORTED_MODULE_106__/* ["default"] */ .Z,
286025
+ 'htx': _src_htx_js__WEBPACK_IMPORTED_MODULE_65__/* ["default"] */ .Z,
286026
+ 'huobi': _src_huobi_js__WEBPACK_IMPORTED_MODULE_66__/* ["default"] */ .Z,
286027
+ 'huobijp': _src_huobijp_js__WEBPACK_IMPORTED_MODULE_67__/* ["default"] */ .Z,
286028
+ 'huobipro': _src_huobipro_js__WEBPACK_IMPORTED_MODULE_68__/* ["default"] */ .Z,
286029
+ 'idex': _src_idex_js__WEBPACK_IMPORTED_MODULE_69__/* ["default"] */ .Z,
286030
+ 'independentreserve': _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_70__/* ["default"] */ .Z,
286031
+ 'indodax': _src_indodax_js__WEBPACK_IMPORTED_MODULE_71__/* ["default"] */ .Z,
286032
+ 'kraken': _src_kraken_js__WEBPACK_IMPORTED_MODULE_72__/* ["default"] */ .Z,
286033
+ 'krakenfutures': _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_73__/* ["default"] */ .Z,
286034
+ 'kucoin': _src_kucoin_js__WEBPACK_IMPORTED_MODULE_74__/* ["default"] */ .Z,
286035
+ 'kucoinfutures': _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_75__/* ["default"] */ .Z,
286036
+ 'kuna': _src_kuna_js__WEBPACK_IMPORTED_MODULE_76__/* ["default"] */ .Z,
286037
+ 'latoken': _src_latoken_js__WEBPACK_IMPORTED_MODULE_77__/* ["default"] */ .Z,
286038
+ 'lbank': _src_lbank_js__WEBPACK_IMPORTED_MODULE_78__/* ["default"] */ .Z,
286039
+ 'lbank2': _src_lbank2_js__WEBPACK_IMPORTED_MODULE_79__/* ["default"] */ .Z,
286040
+ 'luno': _src_luno_js__WEBPACK_IMPORTED_MODULE_80__/* ["default"] */ .Z,
286041
+ 'lykke': _src_lykke_js__WEBPACK_IMPORTED_MODULE_81__/* ["default"] */ .Z,
286042
+ 'mercado': _src_mercado_js__WEBPACK_IMPORTED_MODULE_82__/* ["default"] */ .Z,
286043
+ 'mexc': _src_mexc_js__WEBPACK_IMPORTED_MODULE_83__/* ["default"] */ .Z,
286044
+ 'mexc3': _src_mexc3_js__WEBPACK_IMPORTED_MODULE_84__/* ["default"] */ .Z,
286045
+ 'ndax': _src_ndax_js__WEBPACK_IMPORTED_MODULE_85__/* ["default"] */ .Z,
286046
+ 'novadax': _src_novadax_js__WEBPACK_IMPORTED_MODULE_86__/* ["default"] */ .Z,
286047
+ 'oceanex': _src_oceanex_js__WEBPACK_IMPORTED_MODULE_87__/* ["default"] */ .Z,
286048
+ 'okcoin': _src_okcoin_js__WEBPACK_IMPORTED_MODULE_88__/* ["default"] */ .Z,
286049
+ 'okex': _src_okex_js__WEBPACK_IMPORTED_MODULE_89__/* ["default"] */ .Z,
286050
+ 'okex5': _src_okex5_js__WEBPACK_IMPORTED_MODULE_90__/* ["default"] */ .Z,
286051
+ 'okx': _src_okx_js__WEBPACK_IMPORTED_MODULE_91__/* ["default"] */ .Z,
286052
+ 'paymium': _src_paymium_js__WEBPACK_IMPORTED_MODULE_92__/* ["default"] */ .Z,
286053
+ 'phemex': _src_phemex_js__WEBPACK_IMPORTED_MODULE_93__/* ["default"] */ .Z,
286054
+ 'poloniex': _src_poloniex_js__WEBPACK_IMPORTED_MODULE_94__/* ["default"] */ .Z,
286055
+ 'poloniexfutures': _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_95__/* ["default"] */ .Z,
286056
+ 'probit': _src_probit_js__WEBPACK_IMPORTED_MODULE_96__/* ["default"] */ .Z,
286057
+ 'tidex': _src_tidex_js__WEBPACK_IMPORTED_MODULE_97__/* ["default"] */ .Z,
286058
+ 'timex': _src_timex_js__WEBPACK_IMPORTED_MODULE_98__/* ["default"] */ .Z,
286059
+ 'tokocrypto': _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_99__/* ["default"] */ .Z,
286060
+ 'upbit': _src_upbit_js__WEBPACK_IMPORTED_MODULE_100__/* ["default"] */ .Z,
286061
+ 'wavesexchange': _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_101__/* ["default"] */ .Z,
286062
+ 'wazirx': _src_wazirx_js__WEBPACK_IMPORTED_MODULE_102__/* ["default"] */ .Z,
286063
+ 'whitebit': _src_whitebit_js__WEBPACK_IMPORTED_MODULE_103__/* ["default"] */ .Z,
286064
+ 'woo': _src_woo_js__WEBPACK_IMPORTED_MODULE_104__/* ["default"] */ .Z,
286065
+ 'yobit': _src_yobit_js__WEBPACK_IMPORTED_MODULE_105__/* ["default"] */ .Z,
286066
+ 'zaif': _src_zaif_js__WEBPACK_IMPORTED_MODULE_106__/* ["default"] */ .Z,
286067
+ 'zonda': _src_zonda_js__WEBPACK_IMPORTED_MODULE_107__/* ["default"] */ .Z,
285859
286068
  };
285860
286069
  const pro = {
285861
- 'alpaca': _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_107__/* ["default"] */ .Z,
285862
- 'ascendex': _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_108__/* ["default"] */ .Z,
285863
- 'bequant': _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_109__/* ["default"] */ .Z,
285864
- 'binance': _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_110__/* ["default"] */ .Z,
285865
- 'binancecoinm': _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_111__/* ["default"] */ .Z,
285866
- 'binanceus': _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_112__/* ["default"] */ .Z,
285867
- 'binanceusdm': _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_113__/* ["default"] */ .Z,
285868
- 'bingx': _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_114__/* ["default"] */ .Z,
285869
- 'bitcoincom': _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_115__/* ["default"] */ .Z,
285870
- 'bitfinex': _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_116__/* ["default"] */ .Z,
285871
- 'bitfinex2': _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_117__/* ["default"] */ .Z,
285872
- 'bitget': _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_118__/* ["default"] */ .Z,
285873
- 'bitmart': _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_119__/* ["default"] */ .Z,
285874
- 'bitmex': _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_120__/* ["default"] */ .Z,
285875
- 'bitopro': _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_121__/* ["default"] */ .Z,
285876
- 'bitpanda': _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_122__/* ["default"] */ .Z,
285877
- 'bitrue': _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_123__/* ["default"] */ .Z,
285878
- 'bitstamp': _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_124__/* ["default"] */ .Z,
285879
- 'bittrex': _src_pro_bittrex_js__WEBPACK_IMPORTED_MODULE_125__/* ["default"] */ .Z,
285880
- 'bitvavo': _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_126__/* ["default"] */ .Z,
285881
- 'blockchaincom': _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_127__/* ["default"] */ .Z,
285882
- 'bybit': _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_128__/* ["default"] */ .Z,
285883
- 'cex': _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_129__/* ["default"] */ .Z,
285884
- 'coinbase': _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_130__/* ["default"] */ .Z,
285885
- 'coinbaseprime': _src_pro_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_131__/* ["default"] */ .Z,
285886
- 'coinbasepro': _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_132__/* ["default"] */ .Z,
285887
- 'coinex': _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_133__/* ["default"] */ .Z,
285888
- 'cryptocom': _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_134__/* ["default"] */ .Z,
285889
- 'currencycom': _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_135__/* ["default"] */ .Z,
285890
- 'deribit': _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_136__/* ["default"] */ .Z,
285891
- 'exmo': _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_137__/* ["default"] */ .Z,
285892
- 'gate': _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_138__/* ["default"] */ .Z,
285893
- 'gateio': _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_139__/* ["default"] */ .Z,
285894
- 'gemini': _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_140__/* ["default"] */ .Z,
285895
- 'hitbtc': _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_141__/* ["default"] */ .Z,
285896
- 'hollaex': _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_142__/* ["default"] */ .Z,
285897
- 'huobi': _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_143__/* ["default"] */ .Z,
285898
- 'huobijp': _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_144__/* ["default"] */ .Z,
285899
- 'huobipro': _src_pro_huobipro_js__WEBPACK_IMPORTED_MODULE_145__/* ["default"] */ .Z,
285900
- 'idex': _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_146__/* ["default"] */ .Z,
285901
- 'independentreserve': _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_147__/* ["default"] */ .Z,
285902
- 'kraken': _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_148__/* ["default"] */ .Z,
285903
- 'krakenfutures': _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_149__/* ["default"] */ .Z,
285904
- 'kucoin': _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_150__/* ["default"] */ .Z,
285905
- 'kucoinfutures': _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_151__/* ["default"] */ .Z,
285906
- 'luno': _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_152__/* ["default"] */ .Z,
285907
- 'mexc': _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_153__/* ["default"] */ .Z,
285908
- 'mexc3': _src_pro_mexc3_js__WEBPACK_IMPORTED_MODULE_154__/* ["default"] */ .Z,
285909
- 'ndax': _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_155__/* ["default"] */ .Z,
285910
- 'okcoin': _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_156__/* ["default"] */ .Z,
285911
- 'okex': _src_pro_okex_js__WEBPACK_IMPORTED_MODULE_157__/* ["default"] */ .Z,
285912
- 'okx': _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_158__/* ["default"] */ .Z,
285913
- 'phemex': _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_159__/* ["default"] */ .Z,
285914
- 'poloniex': _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_160__/* ["default"] */ .Z,
285915
- 'poloniexfutures': _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_161__/* ["default"] */ .Z,
285916
- 'probit': _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_162__/* ["default"] */ .Z,
285917
- 'upbit': _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_163__/* ["default"] */ .Z,
285918
- 'wazirx': _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_164__/* ["default"] */ .Z,
285919
- 'whitebit': _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_165__/* ["default"] */ .Z,
285920
- 'woo': _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_166__/* ["default"] */ .Z,
286070
+ 'alpaca': _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_108__/* ["default"] */ .Z,
286071
+ 'ascendex': _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_109__/* ["default"] */ .Z,
286072
+ 'bequant': _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_110__/* ["default"] */ .Z,
286073
+ 'binance': _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_111__/* ["default"] */ .Z,
286074
+ 'binancecoinm': _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_112__/* ["default"] */ .Z,
286075
+ 'binanceus': _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_113__/* ["default"] */ .Z,
286076
+ 'binanceusdm': _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_114__/* ["default"] */ .Z,
286077
+ 'bingx': _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_115__/* ["default"] */ .Z,
286078
+ 'bitcoincom': _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_116__/* ["default"] */ .Z,
286079
+ 'bitfinex': _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_117__/* ["default"] */ .Z,
286080
+ 'bitfinex2': _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_118__/* ["default"] */ .Z,
286081
+ 'bitget': _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_119__/* ["default"] */ .Z,
286082
+ 'bitmart': _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_120__/* ["default"] */ .Z,
286083
+ 'bitmex': _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_121__/* ["default"] */ .Z,
286084
+ 'bitopro': _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_122__/* ["default"] */ .Z,
286085
+ 'bitpanda': _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_123__/* ["default"] */ .Z,
286086
+ 'bitrue': _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_124__/* ["default"] */ .Z,
286087
+ 'bitstamp': _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_125__/* ["default"] */ .Z,
286088
+ 'bittrex': _src_pro_bittrex_js__WEBPACK_IMPORTED_MODULE_126__/* ["default"] */ .Z,
286089
+ 'bitvavo': _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_127__/* ["default"] */ .Z,
286090
+ 'blockchaincom': _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_128__/* ["default"] */ .Z,
286091
+ 'bybit': _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_129__/* ["default"] */ .Z,
286092
+ 'cex': _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_130__/* ["default"] */ .Z,
286093
+ 'coinbase': _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_131__/* ["default"] */ .Z,
286094
+ 'coinbaseprime': _src_pro_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_132__/* ["default"] */ .Z,
286095
+ 'coinbasepro': _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_133__/* ["default"] */ .Z,
286096
+ 'coinex': _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_134__/* ["default"] */ .Z,
286097
+ 'cryptocom': _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_135__/* ["default"] */ .Z,
286098
+ 'currencycom': _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_136__/* ["default"] */ .Z,
286099
+ 'deribit': _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_137__/* ["default"] */ .Z,
286100
+ 'exmo': _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_138__/* ["default"] */ .Z,
286101
+ 'gate': _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_139__/* ["default"] */ .Z,
286102
+ 'gateio': _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_140__/* ["default"] */ .Z,
286103
+ 'gemini': _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_141__/* ["default"] */ .Z,
286104
+ 'hitbtc': _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_142__/* ["default"] */ .Z,
286105
+ 'hollaex': _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_143__/* ["default"] */ .Z,
286106
+ 'htx': _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_144__/* ["default"] */ .Z,
286107
+ 'huobi': _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_145__/* ["default"] */ .Z,
286108
+ 'huobijp': _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_146__/* ["default"] */ .Z,
286109
+ 'huobipro': _src_pro_huobipro_js__WEBPACK_IMPORTED_MODULE_147__/* ["default"] */ .Z,
286110
+ 'idex': _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_148__/* ["default"] */ .Z,
286111
+ 'independentreserve': _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_149__/* ["default"] */ .Z,
286112
+ 'kraken': _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_150__/* ["default"] */ .Z,
286113
+ 'krakenfutures': _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_151__/* ["default"] */ .Z,
286114
+ 'kucoin': _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_152__/* ["default"] */ .Z,
286115
+ 'kucoinfutures': _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_153__/* ["default"] */ .Z,
286116
+ 'luno': _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_154__/* ["default"] */ .Z,
286117
+ 'mexc': _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_155__/* ["default"] */ .Z,
286118
+ 'mexc3': _src_pro_mexc3_js__WEBPACK_IMPORTED_MODULE_156__/* ["default"] */ .Z,
286119
+ 'ndax': _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_157__/* ["default"] */ .Z,
286120
+ 'okcoin': _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_158__/* ["default"] */ .Z,
286121
+ 'okex': _src_pro_okex_js__WEBPACK_IMPORTED_MODULE_159__/* ["default"] */ .Z,
286122
+ 'okx': _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_160__/* ["default"] */ .Z,
286123
+ 'phemex': _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_161__/* ["default"] */ .Z,
286124
+ 'poloniex': _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_162__/* ["default"] */ .Z,
286125
+ 'poloniexfutures': _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_163__/* ["default"] */ .Z,
286126
+ 'probit': _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_164__/* ["default"] */ .Z,
286127
+ 'upbit': _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_165__/* ["default"] */ .Z,
286128
+ 'wazirx': _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_166__/* ["default"] */ .Z,
286129
+ 'whitebit': _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_167__/* ["default"] */ .Z,
286130
+ 'woo': _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_168__/* ["default"] */ .Z,
285921
286131
  };
285922
286132
  for (const exchange in pro) {
285923
286133
  // const ccxtExchange = exchanges[exchange]
@@ -285930,7 +286140,7 @@ for (const exchange in pro) {
285930
286140
  pro.exchanges = Object.keys(pro);
285931
286141
  pro['Exchange'] = _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e; // now the same for rest and ts
285932
286142
  //-----------------------------------------------------------------------------
285933
- const ccxt = Object.assign({ version, Exchange: _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e, Precise: _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_167__/* .Precise */ .O, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, _src_base_functions_js__WEBPACK_IMPORTED_MODULE_168__, _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__);
286143
+ const ccxt = Object.assign({ version, Exchange: _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e, Precise: _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_169__/* .Precise */ .O, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, _src_base_functions_js__WEBPACK_IMPORTED_MODULE_170__, _src_base_errors_js__WEBPACK_IMPORTED_MODULE_171__);
285934
286144
 
285935
286145
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ccxt);
285936
286146
  //-----------------------------------------------------------------------------