ccxt 4.2.17 → 4.2.18

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 (40) hide show
  1. package/README.md +4 -4
  2. package/dist/ccxt.browser.js +522 -264
  3. package/dist/ccxt.browser.min.js +3 -3
  4. package/dist/cjs/ccxt.js +1 -1
  5. package/dist/cjs/js/ccxt.js +3 -1
  6. package/dist/cjs/js/src/base/Exchange.js +5 -2
  7. package/dist/cjs/js/src/binance.js +7 -1
  8. package/dist/cjs/js/src/bingx.js +26 -0
  9. package/dist/cjs/js/src/bybit.js +21 -47
  10. package/dist/cjs/js/src/coincheck.js +1 -0
  11. package/dist/cjs/js/src/deribit.js +5 -1
  12. package/dist/cjs/js/src/kraken.js +1 -1
  13. package/dist/cjs/js/src/pro/binance.js +1 -1
  14. package/dist/cjs/js/src/pro/bitget.js +1 -1
  15. package/dist/cjs/js/src/pro/coincheck.js +208 -0
  16. package/dist/cjs/js/src/pro/kucoin.js +43 -35
  17. package/dist/cjs/js/src/pro/kucoinfutures.js +45 -37
  18. package/dist/cjs/js/src/pro/poloniexfutures.js +43 -35
  19. package/dist/cjs/js/src/whitebit.js +1 -0
  20. package/js/ccxt.d.ts +4 -1
  21. package/js/ccxt.js +3 -1
  22. package/js/src/base/Exchange.d.ts +2 -3
  23. package/js/src/base/Exchange.js +5 -2
  24. package/js/src/binance.js +7 -1
  25. package/js/src/bingx.d.ts +1 -0
  26. package/js/src/bingx.js +26 -0
  27. package/js/src/bybit.js +21 -47
  28. package/js/src/coincheck.js +1 -0
  29. package/js/src/deribit.js +5 -1
  30. package/js/src/kraken.js +1 -1
  31. package/js/src/pro/binance.js +1 -1
  32. package/js/src/pro/bitget.js +1 -1
  33. package/js/src/pro/coincheck.d.ts +12 -0
  34. package/js/src/pro/coincheck.js +209 -0
  35. package/js/src/pro/kucoin.js +43 -35
  36. package/js/src/pro/kucoinfutures.js +45 -37
  37. package/js/src/pro/poloniexfutures.js +43 -35
  38. package/js/src/whitebit.js +1 -0
  39. package/package.json +1 -1
  40. package/skip-tests.json +12 -1
@@ -7431,7 +7431,7 @@ class Exchange {
7431
7431
  'fetchPositionsForSymbol': undefined,
7432
7432
  'fetchPositionsRisk': undefined,
7433
7433
  'fetchPremiumIndexOHLCV': undefined,
7434
- 'fetchStatus': 'emulated',
7434
+ 'fetchStatus': undefined,
7435
7435
  'fetchTicker': true,
7436
7436
  'fetchTickers': undefined,
7437
7437
  'fetchTime': undefined,
@@ -8013,7 +8013,10 @@ class Exchange {
8013
8013
  }
8014
8014
  spawn(method, ...args) {
8015
8015
  const future = (0,_ws_Future_js__WEBPACK_IMPORTED_MODULE_4__/* .Future */ .o)();
8016
- method.apply(this, args).then(future.resolve).catch(future.reject);
8016
+ // using setTimeout 0 to force the execution to run after the future is returned
8017
+ setTimeout(() => {
8018
+ method.apply(this, args).then(future.resolve).catch(future.reject);
8019
+ }, 0);
8017
8020
  return future;
8018
8021
  }
8019
8022
  delay(timeout, method, ...args) {
@@ -17929,7 +17932,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
17929
17932
  'margin/allPairs': 0.1,
17930
17933
  'margin/priceIndex': 1,
17931
17934
  // these endpoints require this.apiKey + this.secret
17932
- 'spot/delist-schedule': 0.1,
17935
+ 'spot/delist-schedule': 10,
17933
17936
  'asset/assetDividend': 1,
17934
17937
  'asset/dribblet': 0.1,
17935
17938
  'asset/transfer': 0.1,
@@ -23287,6 +23290,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
23287
23290
  * @param {int} [since] the earliest time in ms to fetch my dust trades for
23288
23291
  * @param {int} [limit] the maximum number of dust trades to retrieve
23289
23292
  * @param {object} [params] extra parameters specific to the exchange API endpoint
23293
+ * @param {string} [params.type] 'spot' or 'margin', default spot
23290
23294
  * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
23291
23295
  */
23292
23296
  //
@@ -23301,6 +23305,11 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
23301
23305
  request['startTime'] = since;
23302
23306
  request['endTime'] = this.sum(since, 7776000000);
23303
23307
  }
23308
+ const accountType = this.safeStringUpper(params, 'type');
23309
+ params = this.omit(params, 'type');
23310
+ if (accountType !== undefined) {
23311
+ request['accountType'] = accountType;
23312
+ }
23304
23313
  const response = await this.sapiGetAssetDribblet(this.extend(request, params));
23305
23314
  // {
23306
23315
  // "total": "4",
@@ -27826,6 +27835,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
27826
27835
  'fetchDepositWithdrawFee': 'emulated',
27827
27836
  'fetchDepositWithdrawFees': true,
27828
27837
  'fetchFundingRate': true,
27838
+ 'fetchFundingRates': true,
27829
27839
  'fetchFundingRateHistory': true,
27830
27840
  'fetchLeverage': true,
27831
27841
  'fetchLiquidations': false,
@@ -28886,6 +28896,31 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
28886
28896
  const data = this.safeValue(response, 'data', {});
28887
28897
  return this.parseFundingRate(data, market);
28888
28898
  }
28899
+ async fetchFundingRates(symbols = undefined, params = {}) {
28900
+ /**
28901
+ * @method
28902
+ * @name bingx#fetchFundingRate
28903
+ * @description fetch the current funding rate
28904
+ * @see https://bingx-api.github.io/docs/#/swapV2/market-api.html#Current%20Funding%20Rate
28905
+ * @param {string[]} [symbols] list of unified market symbols
28906
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
28907
+ * @returns {object} a [funding rate structure]{@link https://docs.ccxt.com/#/?id=funding-rate-structure}
28908
+ */
28909
+ await this.loadMarkets();
28910
+ symbols = this.marketSymbols(symbols, 'swap', true);
28911
+ const response = await this.swapV2PublicGetQuotePremiumIndex(this.extend(params));
28912
+ const data = this.safeValue(response, 'data', []);
28913
+ const filteredResponse = [];
28914
+ for (let i = 0; i < data.length; i++) {
28915
+ const item = data[i];
28916
+ const marketId = this.safeString(item, 'symbol');
28917
+ const market = this.safeMarket(marketId, undefined, undefined, 'swap');
28918
+ if ((symbols === undefined) || this.inArray(market['symbol'], symbols)) {
28919
+ filteredResponse.push(this.parseFundingRate(item, market));
28920
+ }
28921
+ }
28922
+ return filteredResponse;
28923
+ }
28889
28924
  parseFundingRate(contract, market = undefined) {
28890
28925
  //
28891
28926
  // {
@@ -82753,7 +82788,7 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
82753
82788
  response = await this.privatePostOptionUsdcOpenapiPrivateV1ReplaceOrder(this.extend(request, params));
82754
82789
  }
82755
82790
  else {
82756
- const isStop = this.safeValue(params, 'stop', false);
82791
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
82757
82792
  const triggerPrice = this.safeValue2(params, 'stopPrice', 'triggerPrice');
82758
82793
  const stopLossPrice = this.safeValue(params, 'stopLossPrice');
82759
82794
  const isStopLossOrder = stopLossPrice !== undefined;
@@ -82932,8 +82967,8 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
82932
82967
  // 'orderLinkId': 'string', // one of order_id, stop_order_id or order_link_id is required
82933
82968
  // 'orderId': id,
82934
82969
  };
82935
- const isStop = this.safeValue(params, 'stop', false);
82936
- params = this.omit(params, ['stop']);
82970
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
82971
+ params = this.omit(params, ['stop', 'trigger']);
82937
82972
  if (id !== undefined) { // The user can also use argument params["order_link_id"]
82938
82973
  request['orderId'] = id;
82939
82974
  }
@@ -82994,9 +83029,9 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
82994
83029
  };
82995
83030
  if (market['spot']) {
82996
83031
  // only works for spot market
82997
- const isStop = this.safeValue(params, 'stop', false);
82998
- params = this.omit(params, ['stop']);
82999
- request['orderFilter'] = isStop ? 'tpslOrder' : 'Order';
83032
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
83033
+ params = this.omit(params, ['stop', 'trigger']);
83034
+ request['orderFilter'] = isStop ? 'StopOrder' : 'Order';
83000
83035
  }
83001
83036
  if (id !== undefined) { // The user can also use argument params["orderLinkId"]
83002
83037
  request['orderId'] = id;
@@ -83043,14 +83078,14 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
83043
83078
  response = await this.privatePostOptionUsdcOpenapiPrivateV1CancelAll(this.extend(request, params));
83044
83079
  }
83045
83080
  else {
83046
- const isStop = this.safeValue(params, 'stop', false);
83081
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
83047
83082
  if (isStop) {
83048
83083
  request['orderFilter'] = 'StopOrder';
83049
83084
  }
83050
83085
  else {
83051
83086
  request['orderFilter'] = 'Order';
83052
83087
  }
83053
- params = this.omit(params, ['stop']);
83088
+ params = this.omit(params, ['stop', 'trigger']);
83054
83089
  response = await this.privatePostPerpetualUsdcOpenapiPrivateV1CancelAll(this.extend(request, params));
83055
83090
  }
83056
83091
  //
@@ -83117,10 +83152,10 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
83117
83152
  request['settleCoin'] = this.safeString(params, 'settleCoin', defaultSettle);
83118
83153
  }
83119
83154
  }
83120
- const isStop = this.safeValue(params, 'stop', false);
83121
- params = this.omit(params, ['stop']);
83155
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
83156
+ params = this.omit(params, ['stop', 'trigger']);
83122
83157
  if (isStop) {
83123
- request['orderFilter'] = 'tpslOrder';
83158
+ request['orderFilter'] = 'StopOrder';
83124
83159
  }
83125
83160
  const response = await this.privatePostV5OrderCancelAll(this.extend(request, params));
83126
83161
  //
@@ -83185,8 +83220,8 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
83185
83220
  else {
83186
83221
  request['category'] = 'OPTION';
83187
83222
  }
83188
- const isStop = this.safeValue(params, 'stop', false);
83189
- params = this.omit(params, ['stop']);
83223
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
83224
+ params = this.omit(params, ['stop', 'trigger']);
83190
83225
  if (isStop) {
83191
83226
  request['orderFilter'] = 'StopOrder';
83192
83227
  }
@@ -83288,12 +83323,7 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
83288
83323
  const isStop = this.safeValueN(params, ['trigger', 'stop'], false);
83289
83324
  params = this.omit(params, ['trigger', 'stop']);
83290
83325
  if (isStop) {
83291
- if (type === 'spot') {
83292
- request['orderFilter'] = 'tpslOrder';
83293
- }
83294
- else {
83295
- request['orderFilter'] = 'StopOrder';
83296
- }
83326
+ request['orderFilter'] = 'StopOrder';
83297
83327
  }
83298
83328
  if (limit !== undefined) {
83299
83329
  request['limit'] = limit;
@@ -83452,7 +83482,7 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
83452
83482
  * @param {int} [since] the earliest time in ms to fetch open orders for
83453
83483
  * @param {int} [limit] the maximum number of open orders structures to retrieve
83454
83484
  * @param {object} [params] extra parameters specific to the exchange API endpoint
83455
- * @param {boolean} [params.stop] true if stop order
83485
+ * @param {boolean} [params.stop] set to true for fetching open stop orders
83456
83486
  * @param {string} [params.type] market type, ['swap', 'option', 'spot']
83457
83487
  * @param {string} [params.subType] market subType, ['linear', 'inverse']
83458
83488
  * @param {string} [params.baseCoin] Base coin. Supports linear, inverse & option
@@ -83486,15 +83516,10 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
83486
83516
  return await this.fetchUsdcOpenOrders(symbol, since, limit, params);
83487
83517
  }
83488
83518
  request['category'] = type;
83489
- const isStop = this.safeValue(params, 'stop', false);
83490
- params = this.omit(params, ['stop']);
83519
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
83520
+ params = this.omit(params, ['stop', 'trigger']);
83491
83521
  if (isStop) {
83492
- if (type === 'spot') {
83493
- request['orderFilter'] = 'tpslOrder';
83494
- }
83495
- else {
83496
- request['orderFilter'] = 'StopOrder';
83497
- }
83522
+ request['orderFilter'] = 'StopOrder';
83498
83523
  }
83499
83524
  if (limit !== undefined) {
83500
83525
  request['limit'] = limit;
@@ -83626,12 +83651,11 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
83626
83651
  * @method
83627
83652
  * @name bybit#fetchMyTrades
83628
83653
  * @description fetch all trades made by the user
83629
- * @see https://bybit-exchange.github.io/docs/v5/position/execution
83654
+ * @see https://bybit-exchange.github.io/docs/api-explorer/v5/position/execution
83630
83655
  * @param {string} symbol unified market symbol
83631
83656
  * @param {int} [since] the earliest time in ms to fetch trades for
83632
83657
  * @param {int} [limit] the maximum number of trades structures to retrieve
83633
83658
  * @param {object} [params] extra parameters specific to the exchange API endpoint
83634
- * @param {boolean} [params.stop] true if stop order
83635
83659
  * @param {string} [params.type] market type, ['swap', 'option', 'spot']
83636
83660
  * @param {string} [params.subType] market subType, ['linear', 'inverse']
83637
83661
  * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
@@ -83645,7 +83669,7 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
83645
83669
  }
83646
83670
  const [enableUnifiedMargin, enableUnifiedAccount] = await this.isUnifiedEnabled();
83647
83671
  const isUnifiedAccount = (enableUnifiedMargin || enableUnifiedAccount);
83648
- const request = {};
83672
+ let request = {};
83649
83673
  let market = undefined;
83650
83674
  let isUsdcSettled = false;
83651
83675
  if (symbol !== undefined) {
@@ -83659,28 +83683,13 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
83659
83683
  return await this.fetchMyUsdcTrades(symbol, since, limit, params);
83660
83684
  }
83661
83685
  request['category'] = type;
83662
- const isStop = this.safeValue(params, 'stop', false);
83663
- params = this.omit(params, ['stop', 'type']);
83664
- if (isStop) {
83665
- if (type === 'spot') {
83666
- request['orderFilter'] = 'tpslOrder';
83667
- }
83668
- else {
83669
- request['orderFilter'] = 'StopOrder';
83670
- }
83671
- }
83672
83686
  if (limit !== undefined) {
83673
83687
  request['limit'] = limit;
83674
83688
  }
83675
83689
  if (since !== undefined) {
83676
83690
  request['startTime'] = since;
83677
83691
  }
83678
- const until = this.safeInteger2(params, 'until', 'till'); // unified in milliseconds
83679
- const endTime = this.safeInteger(params, 'endTime', until); // exchange-specific in milliseconds
83680
- params = this.omit(params, ['endTime', 'till', 'until']);
83681
- if (endTime !== undefined) {
83682
- request['endTime'] = endTime;
83683
- }
83692
+ [request, params] = this.handleUntilOption('endTime', request, params);
83684
83693
  const response = await this.privateGetV5ExecutionList(this.extend(request, params));
83685
83694
  //
83686
83695
  // {
@@ -93531,6 +93540,7 @@ class coincheck extends _abstract_coincheck_js__WEBPACK_IMPORTED_MODULE_0__/* ["
93531
93540
  'setLeverage': false,
93532
93541
  'setMarginMode': false,
93533
93542
  'setPositionMode': false,
93543
+ 'ws': true,
93534
93544
  },
93535
93545
  'urls': {
93536
93546
  'logo': 'https://user-images.githubusercontent.com/51840849/87182088-1d6d6380-c2ec-11ea-9c64-8ab9f9b289f5.jpg',
@@ -116787,6 +116797,10 @@ class deribit extends _abstract_deribit_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
116787
116797
  const request = {
116788
116798
  'order_id': id,
116789
116799
  };
116800
+ let market = undefined;
116801
+ if (symbol !== undefined) {
116802
+ market = this.market(symbol);
116803
+ }
116790
116804
  const response = await this.privateGetGetOrderState(this.extend(request, params));
116791
116805
  //
116792
116806
  // {
@@ -116817,7 +116831,7 @@ class deribit extends _abstract_deribit_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
116817
116831
  // }
116818
116832
  //
116819
116833
  const result = this.safeValue(response, 'result');
116820
- return this.parseOrder(result);
116834
+ return this.parseOrder(result, market);
116821
116835
  }
116822
116836
  async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
116823
116837
  /**
@@ -154835,7 +154849,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
154835
154849
  'zendesk': 'https://kraken.zendesk.com/api/v2/help_center/en-us/articles', // use the public zendesk api to receive article bodies and bypass new anti-spam protections
154836
154850
  },
154837
154851
  'www': 'https://www.kraken.com',
154838
- 'doc': 'https://www.kraken.com/features/api',
154852
+ 'doc': 'https://docs.kraken.com/rest/',
154839
154853
  'fees': 'https://www.kraken.com/en-us/features/fee-schedule',
154840
154854
  },
154841
154855
  'fees': {
@@ -210447,7 +210461,7 @@ class binance extends _binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
210447
210461
  }
210448
210462
  const subscriptionsByStream = this.safeInteger(this.options['numSubscriptionsByStream'], stream, 0);
210449
210463
  const newNumSubscriptions = subscriptionsByStream + numSubscriptions;
210450
- const subscriptionLimitByStream = this.safeInteger(this.options, 'subscriptionLimitByStream', 200);
210464
+ const subscriptionLimitByStream = this.safeInteger(this.options['subscriptionLimitByStream'], type, 200);
210451
210465
  if (newNumSubscriptions > subscriptionLimitByStream) {
210452
210466
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' reached the limit of subscriptions by stream. Increase the number of streams, or increase the stream limit or subscription limit by stream if the exchange allows.');
210453
210467
  }
@@ -216521,7 +216535,7 @@ class bitget extends _bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
216521
216535
  symbols = this.marketSymbols(symbols);
216522
216536
  let channel = 'books';
216523
216537
  let incrementalFeed = true;
216524
- if ((limit === 5) || (limit === 15)) {
216538
+ if ((limit === 1) || (limit === 5) || (limit === 15)) {
216525
216539
  channel += limit.toString();
216526
216540
  incrementalFeed = false;
216527
216541
  }
@@ -230030,6 +230044,222 @@ class coinbasepro extends _coinbasepro_js__WEBPACK_IMPORTED_MODULE_0__/* ["defau
230030
230044
  }
230031
230045
 
230032
230046
 
230047
+ /***/ }),
230048
+
230049
+ /***/ 7891:
230050
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
230051
+
230052
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
230053
+ /* harmony export */ Z: () => (/* binding */ coincheck)
230054
+ /* harmony export */ });
230055
+ /* harmony import */ var _coincheck_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2117);
230056
+ /* harmony import */ var _base_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6689);
230057
+ /* harmony import */ var _base_ws_Cache_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3020);
230058
+ // ---------------------------------------------------------------------------
230059
+
230060
+
230061
+
230062
+ // ---------------------------------------------------------------------------
230063
+ class coincheck extends _coincheck_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
230064
+ describe() {
230065
+ return this.deepExtend(super.describe(), {
230066
+ 'has': {
230067
+ 'ws': true,
230068
+ 'watchOrderBook': true,
230069
+ 'watchOrders': false,
230070
+ 'watchTrades': true,
230071
+ 'watchOHLCV': false,
230072
+ 'watchTicker': false,
230073
+ 'watchTickers': false,
230074
+ },
230075
+ 'urls': {
230076
+ 'api': {
230077
+ 'ws': 'wss://ws-api.coincheck.com/',
230078
+ },
230079
+ },
230080
+ 'options': {
230081
+ 'expiresIn': '',
230082
+ 'userId': '',
230083
+ 'wsSessionToken': '',
230084
+ 'watchOrderBook': {
230085
+ 'snapshotDelay': 6,
230086
+ 'snapshotMaxRetries': 3,
230087
+ },
230088
+ 'tradesLimit': 1000,
230089
+ 'OHLCVLimit': 1000,
230090
+ },
230091
+ 'exceptions': {
230092
+ 'exact': {
230093
+ '4009': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.AuthenticationError,
230094
+ },
230095
+ },
230096
+ });
230097
+ }
230098
+ async watchOrderBook(symbol, limit = undefined, params = {}) {
230099
+ /**
230100
+ * @method
230101
+ * @name coincheck#watchOrderBook
230102
+ * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
230103
+ * @see https://coincheck.com/documents/exchange/api#websocket-order-book
230104
+ * @param {string} symbol unified symbol of the market to fetch the order book for
230105
+ * @param {int} [limit] the maximum amount of order book entries to return
230106
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
230107
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
230108
+ */
230109
+ await this.loadMarkets();
230110
+ const market = this.market(symbol);
230111
+ const messageHash = 'orderbook:' + market['symbol'];
230112
+ const url = this.urls['api']['ws'];
230113
+ const request = {
230114
+ 'type': 'subscribe',
230115
+ 'channel': market['id'] + '-orderbook',
230116
+ };
230117
+ const message = this.extend(request, params);
230118
+ const orderbook = await this.watch(url, messageHash, message, messageHash);
230119
+ return orderbook.limit();
230120
+ }
230121
+ handleOrderBook(client, message) {
230122
+ //
230123
+ // [
230124
+ // "btc_jpy",
230125
+ // {
230126
+ // "bids": [
230127
+ // [
230128
+ // "6288279.0",
230129
+ // "0"
230130
+ // ]
230131
+ // ],
230132
+ // "asks": [
230133
+ // [
230134
+ // "6290314.0",
230135
+ // "0"
230136
+ // ]
230137
+ // ],
230138
+ // "last_update_at": "1705396097"
230139
+ // }
230140
+ // ]
230141
+ //
230142
+ const symbol = this.symbol(this.safeString(message, 0));
230143
+ const data = this.safeValue(message, 1, {});
230144
+ const timestamp = this.safeTimestamp(data, 'last_update_at');
230145
+ const snapshot = this.parseOrderBook(data, symbol, timestamp);
230146
+ let orderbook = this.safeValue(this.orderbooks, symbol);
230147
+ if (orderbook === undefined) {
230148
+ orderbook = this.orderBook(snapshot);
230149
+ this.orderbooks[symbol] = orderbook;
230150
+ }
230151
+ else {
230152
+ orderbook = this.orderbooks[symbol];
230153
+ orderbook.reset(snapshot);
230154
+ }
230155
+ const messageHash = 'orderbook:' + symbol;
230156
+ client.resolve(orderbook, messageHash);
230157
+ }
230158
+ async watchTrades(symbol, since = undefined, limit = undefined, params = {}) {
230159
+ /**
230160
+ * @method
230161
+ * @name coincheck#watchTrades
230162
+ * @description watches information on multiple trades made in a market
230163
+ * @see https://coincheck.com/documents/exchange/api#websocket-trades
230164
+ * @param {string} symbol unified market symbol of the market trades were made in
230165
+ * @param {int} [since] the earliest time in ms to fetch trades for
230166
+ * @param {int} [limit] the maximum number of trade structures to retrieve
230167
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
230168
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure
230169
+ */
230170
+ await this.loadMarkets();
230171
+ const market = this.market(symbol);
230172
+ symbol = market['symbol'];
230173
+ const messageHash = 'trade:' + market['symbol'];
230174
+ const url = this.urls['api']['ws'];
230175
+ const request = {
230176
+ 'type': 'subscribe',
230177
+ 'channel': market['id'] + '-trades',
230178
+ };
230179
+ const message = this.extend(request, params);
230180
+ const trades = await this.watch(url, messageHash, message, messageHash);
230181
+ if (this.newUpdates) {
230182
+ limit = trades.getLimit(symbol, limit);
230183
+ }
230184
+ return this.filterBySinceLimit(trades, since, limit, 'timestamp', true);
230185
+ }
230186
+ handleTrades(client, message) {
230187
+ //
230188
+ // [
230189
+ // [
230190
+ // "1663318663", // transaction timestamp (unix time)
230191
+ // "2357062", // transaction ID
230192
+ // "btc_jpy", // pair
230193
+ // "2820896.0", // transaction rate
230194
+ // "5.0", // transaction amount
230195
+ // "sell", // order side
230196
+ // "1193401", // ID of the Taker
230197
+ // "2078767" // ID of the Maker
230198
+ // ]
230199
+ // ]
230200
+ //
230201
+ const first = this.safeValue(message, 0, []);
230202
+ const symbol = this.symbol(this.safeString(first, 2));
230203
+ let stored = this.safeValue(this.trades, symbol);
230204
+ if (stored === undefined) {
230205
+ const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
230206
+ stored = new _base_ws_Cache_js__WEBPACK_IMPORTED_MODULE_2__/* .ArrayCache */ .ZL(limit);
230207
+ this.trades[symbol] = stored;
230208
+ }
230209
+ for (let i = 0; i < message.length; i++) {
230210
+ const data = this.safeValue(message, i);
230211
+ const trade = this.parseWsTrade(data);
230212
+ stored.append(trade);
230213
+ }
230214
+ const messageHash = 'trade:' + symbol;
230215
+ client.resolve(stored, messageHash);
230216
+ }
230217
+ parseWsTrade(trade, market = undefined) {
230218
+ //
230219
+ // [
230220
+ // "1663318663", // transaction timestamp (unix time)
230221
+ // "2357062", // transaction ID
230222
+ // "btc_jpy", // pair
230223
+ // "2820896.0", // transaction rate
230224
+ // "5.0", // transaction amount
230225
+ // "sell", // order side
230226
+ // "1193401", // ID of the Taker
230227
+ // "2078767" // ID of the Maker
230228
+ // ]
230229
+ //
230230
+ const symbol = this.symbol(this.safeString(trade, 2));
230231
+ const timestamp = this.safeTimestamp(trade, 0);
230232
+ const side = this.safeString(trade, 5);
230233
+ const priceString = this.safeString(trade, 3);
230234
+ const amountString = this.safeString(trade, 4);
230235
+ return this.safeTrade({
230236
+ 'id': this.safeString(trade, 1),
230237
+ 'info': trade,
230238
+ 'timestamp': timestamp,
230239
+ 'datetime': this.iso8601(timestamp),
230240
+ 'order': undefined,
230241
+ 'symbol': symbol,
230242
+ 'type': undefined,
230243
+ 'side': side,
230244
+ 'takerOrMaker': undefined,
230245
+ 'price': priceString,
230246
+ 'amount': amountString,
230247
+ 'cost': undefined,
230248
+ 'fee': undefined,
230249
+ }, market);
230250
+ }
230251
+ handleMessage(client, message) {
230252
+ const data = this.safeValue(message, 0);
230253
+ if (!Array.isArray(data)) {
230254
+ this.handleOrderBook(client, message);
230255
+ }
230256
+ else {
230257
+ this.handleTrades(client, message);
230258
+ }
230259
+ }
230260
+ }
230261
+
230262
+
230033
230263
  /***/ }),
230034
230264
 
230035
230265
  /***/ 204:
@@ -245581,43 +245811,51 @@ class kucoin extends _kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
245581
245811
  async negotiateHelper(privateChannel, params = {}) {
245582
245812
  let response = undefined;
245583
245813
  const connectId = privateChannel ? 'private' : 'public';
245584
- if (privateChannel) {
245585
- response = await this.privatePostBulletPrivate(params);
245586
- //
245587
- // {
245588
- // "code": "200000",
245589
- // "data": {
245590
- // "instanceServers": [
245591
- // {
245592
- // "pingInterval": 50000,
245593
- // "endpoint": "wss://push-private.kucoin.com/endpoint",
245594
- // "protocol": "websocket",
245595
- // "encrypt": true,
245596
- // "pingTimeout": 10000
245597
- // }
245598
- // ],
245599
- // "token": "2neAiuYvAU61ZDXANAGAsiL4-iAExhsBXZxftpOeh_55i3Ysy2q2LEsEWU64mdzUOPusi34M_wGoSf7iNyEWJ1UQy47YbpY4zVdzilNP-Bj3iXzrjjGlWtiYB9J6i9GjsxUuhPw3BlrzazF6ghq4Lzf7scStOz3KkxjwpsOBCH4=.WNQmhZQeUKIkh97KYgU0Lg=="
245600
- // }
245601
- // }
245602
- //
245814
+ try {
245815
+ if (privateChannel) {
245816
+ response = await this.privatePostBulletPrivate(params);
245817
+ //
245818
+ // {
245819
+ // "code": "200000",
245820
+ // "data": {
245821
+ // "instanceServers": [
245822
+ // {
245823
+ // "pingInterval": 50000,
245824
+ // "endpoint": "wss://push-private.kucoin.com/endpoint",
245825
+ // "protocol": "websocket",
245826
+ // "encrypt": true,
245827
+ // "pingTimeout": 10000
245828
+ // }
245829
+ // ],
245830
+ // "token": "2neAiuYvAU61ZDXANAGAsiL4-iAExhsBXZxftpOeh_55i3Ysy2q2LEsEWU64mdzUOPusi34M_wGoSf7iNyEWJ1UQy47YbpY4zVdzilNP-Bj3iXzrjjGlWtiYB9J6i9GjsxUuhPw3BlrzazF6ghq4Lzf7scStOz3KkxjwpsOBCH4=.WNQmhZQeUKIkh97KYgU0Lg=="
245831
+ // }
245832
+ // }
245833
+ //
245834
+ }
245835
+ else {
245836
+ response = await this.publicPostBulletPublic(params);
245837
+ }
245838
+ const data = this.safeValue(response, 'data', {});
245839
+ const instanceServers = this.safeValue(data, 'instanceServers', []);
245840
+ const firstInstanceServer = this.safeValue(instanceServers, 0);
245841
+ const pingInterval = this.safeInteger(firstInstanceServer, 'pingInterval');
245842
+ const endpoint = this.safeString(firstInstanceServer, 'endpoint');
245843
+ const token = this.safeString(data, 'token');
245844
+ const result = endpoint + '?' + this.urlencode({
245845
+ 'token': token,
245846
+ 'privateChannel': privateChannel,
245847
+ 'connectId': connectId,
245848
+ });
245849
+ const client = this.client(result);
245850
+ client.keepAlive = pingInterval;
245851
+ return result;
245603
245852
  }
245604
- else {
245605
- response = await this.publicPostBulletPublic(params);
245853
+ catch (e) {
245854
+ const future = this.safeValue(this.options['urls'], connectId);
245855
+ future.reject(e);
245856
+ delete this.options['urls'][connectId];
245606
245857
  }
245607
- const data = this.safeValue(response, 'data', {});
245608
- const instanceServers = this.safeValue(data, 'instanceServers', []);
245609
- const firstInstanceServer = this.safeValue(instanceServers, 0);
245610
- const pingInterval = this.safeInteger(firstInstanceServer, 'pingInterval');
245611
- const endpoint = this.safeString(firstInstanceServer, 'endpoint');
245612
- const token = this.safeString(data, 'token');
245613
- const result = endpoint + '?' + this.urlencode({
245614
- 'token': token,
245615
- 'privateChannel': privateChannel,
245616
- 'connectId': connectId,
245617
- });
245618
- const client = this.client(result);
245619
- client.keepAlive = pingInterval;
245620
- return result;
245858
+ return undefined;
245621
245859
  }
245622
245860
  requestId() {
245623
245861
  const requestId = this.sum(this.safeInteger(this.options, 'requestId', 0), 1);
@@ -246653,43 +246891,51 @@ class kucoinfutures extends _kucoinfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
246653
246891
  async negotiateHelper(privateChannel, params = {}) {
246654
246892
  let response = undefined;
246655
246893
  const connectId = privateChannel ? 'private' : 'public';
246656
- if (privateChannel) {
246657
- response = await this.futuresPrivatePostBulletPrivate(params);
246658
- //
246659
- // {
246660
- // "code": "200000",
246661
- // "data": {
246662
- // "instanceServers": [
246663
- // {
246664
- // "pingInterval": 50000,
246665
- // "endpoint": "wss://push-private.kucoin.com/endpoint",
246666
- // "protocol": "websocket",
246667
- // "encrypt": true,
246668
- // "pingTimeout": 10000
246669
- // }
246670
- // ],
246671
- // "token": "2neAiuYvAU61ZDXANAGAsiL4-iAExhsBXZxftpOeh_55i3Ysy2q2LEsEWU64mdzUOPusi34M_wGoSf7iNyEWJ1UQy47YbpY4zVdzilNP-Bj3iXzrjjGlWtiYB9J6i9GjsxUuhPw3BlrzazF6ghq4Lzf7scStOz3KkxjwpsOBCH4=.WNQmhZQeUKIkh97KYgU0Lg=="
246672
- // }
246673
- // }
246674
- //
246894
+ try {
246895
+ if (privateChannel) {
246896
+ response = await this.futuresPrivatePostBulletPrivate(params);
246897
+ //
246898
+ // {
246899
+ // "code": "200000",
246900
+ // "data": {
246901
+ // "instanceServers": [
246902
+ // {
246903
+ // "pingInterval": 50000,
246904
+ // "endpoint": "wss://push-private.kucoin.com/endpoint",
246905
+ // "protocol": "websocket",
246906
+ // "encrypt": true,
246907
+ // "pingTimeout": 10000
246908
+ // }
246909
+ // ],
246910
+ // "token": "2neAiuYvAU61ZDXANAGAsiL4-iAExhsBXZxftpOeh_55i3Ysy2q2LEsEWU64mdzUOPusi34M_wGoSf7iNyEWJ1UQy47YbpY4zVdzilNP-Bj3iXzrjjGlWtiYB9J6i9GjsxUuhPw3BlrzazF6ghq4Lzf7scStOz3KkxjwpsOBCH4=.WNQmhZQeUKIkh97KYgU0Lg=="
246911
+ // }
246912
+ // }
246913
+ //
246914
+ }
246915
+ else {
246916
+ response = await this.futuresPublicPostBulletPublic(params);
246917
+ }
246918
+ const data = this.safeValue(response, 'data', {});
246919
+ const instanceServers = this.safeValue(data, 'instanceServers', []);
246920
+ const firstInstanceServer = this.safeValue(instanceServers, 0);
246921
+ const pingInterval = this.safeInteger(firstInstanceServer, 'pingInterval');
246922
+ const endpoint = this.safeString(firstInstanceServer, 'endpoint');
246923
+ const token = this.safeString(data, 'token');
246924
+ const result = endpoint + '?' + this.urlencode({
246925
+ 'token': token,
246926
+ 'privateChannel': privateChannel,
246927
+ 'connectId': connectId,
246928
+ });
246929
+ const client = this.client(result);
246930
+ client.keepAlive = pingInterval;
246931
+ return result;
246675
246932
  }
246676
- else {
246677
- response = await this.futuresPublicPostBulletPublic(params);
246933
+ catch (e) {
246934
+ const future = this.safeValue(this.options['urls'], connectId);
246935
+ future.reject(e);
246936
+ delete this.options['urls'][connectId];
246678
246937
  }
246679
- const data = this.safeValue(response, 'data', {});
246680
- const instanceServers = this.safeValue(data, 'instanceServers', []);
246681
- const firstInstanceServer = this.safeValue(instanceServers, 0);
246682
- const pingInterval = this.safeInteger(firstInstanceServer, 'pingInterval');
246683
- const endpoint = this.safeString(firstInstanceServer, 'endpoint');
246684
- const token = this.safeString(data, 'token');
246685
- const result = endpoint + '?' + this.urlencode({
246686
- 'token': token,
246687
- 'privateChannel': privateChannel,
246688
- 'connectId': connectId,
246689
- });
246690
- const client = this.client(result);
246691
- client.keepAlive = pingInterval;
246692
- return result;
246938
+ return undefined;
246693
246939
  }
246694
246940
  requestId() {
246695
246941
  const requestId = this.sum(this.safeInteger(this.options, 'requestId', 0), 1);
@@ -254875,43 +255121,51 @@ class poloniexfutures extends _poloniexfutures_js__WEBPACK_IMPORTED_MODULE_0__/*
254875
255121
  async negotiateHelper(privateChannel, params = {}) {
254876
255122
  let response = undefined;
254877
255123
  const connectId = privateChannel ? 'private' : 'public';
254878
- if (privateChannel) {
254879
- response = await this.privatePostBulletPrivate(params);
254880
- //
254881
- // {
254882
- // "code": "200000",
254883
- // "data": {
254884
- // "instanceServers": [
254885
- // {
254886
- // "pingInterval": 50000,
254887
- // "endpoint": "wss://push-private.kucoin.com/endpoint",
254888
- // "protocol": "websocket",
254889
- // "encrypt": true,
254890
- // "pingTimeout": 10000
254891
- // }
254892
- // ],
254893
- // "token": "2neAiuYvAU61ZDXANAGAsiL4-iAExhsBXZxftpOeh_55i3Ysy2q2LEsEWU64mdzUOPusi34M_wGoSf7iNyEWJ1UQy47YbpY4zVdzilNP-Bj3iXzrjjGlWtiYB9J6i9GjsxUuhPw3BlrzazF6ghq4Lzf7scStOz3KkxjwpsOBCH4=.WNQmhZQeUKIkh97KYgU0Lg=="
254894
- // }
254895
- // }
254896
- //
255124
+ try {
255125
+ if (privateChannel) {
255126
+ response = await this.privatePostBulletPrivate(params);
255127
+ //
255128
+ // {
255129
+ // "code": "200000",
255130
+ // "data": {
255131
+ // "instanceServers": [
255132
+ // {
255133
+ // "pingInterval": 50000,
255134
+ // "endpoint": "wss://push-private.kucoin.com/endpoint",
255135
+ // "protocol": "websocket",
255136
+ // "encrypt": true,
255137
+ // "pingTimeout": 10000
255138
+ // }
255139
+ // ],
255140
+ // "token": "2neAiuYvAU61ZDXANAGAsiL4-iAExhsBXZxftpOeh_55i3Ysy2q2LEsEWU64mdzUOPusi34M_wGoSf7iNyEWJ1UQy47YbpY4zVdzilNP-Bj3iXzrjjGlWtiYB9J6i9GjsxUuhPw3BlrzazF6ghq4Lzf7scStOz3KkxjwpsOBCH4=.WNQmhZQeUKIkh97KYgU0Lg=="
255141
+ // }
255142
+ // }
255143
+ //
255144
+ }
255145
+ else {
255146
+ response = await this.publicPostBulletPublic(params);
255147
+ }
255148
+ const data = this.safeValue(response, 'data', {});
255149
+ const instanceServers = this.safeValue(data, 'instanceServers', []);
255150
+ const firstInstanceServer = this.safeValue(instanceServers, 0);
255151
+ const pingInterval = this.safeInteger(firstInstanceServer, 'pingInterval');
255152
+ const endpoint = this.safeString(firstInstanceServer, 'endpoint');
255153
+ const token = this.safeString(data, 'token');
255154
+ const result = endpoint + '?' + this.urlencode({
255155
+ 'token': token,
255156
+ 'privateChannel': privateChannel,
255157
+ 'connectId': connectId,
255158
+ });
255159
+ const client = this.client(result);
255160
+ client.keepAlive = pingInterval;
255161
+ return result;
254897
255162
  }
254898
- else {
254899
- response = await this.publicPostBulletPublic(params);
255163
+ catch (e) {
255164
+ const future = this.safeValue(this.options['urls'], connectId);
255165
+ future.reject(e);
255166
+ delete this.options['urls'][connectId];
254900
255167
  }
254901
- const data = this.safeValue(response, 'data', {});
254902
- const instanceServers = this.safeValue(data, 'instanceServers', []);
254903
- const firstInstanceServer = this.safeValue(instanceServers, 0);
254904
- const pingInterval = this.safeInteger(firstInstanceServer, 'pingInterval');
254905
- const endpoint = this.safeString(firstInstanceServer, 'endpoint');
254906
- const token = this.safeString(data, 'token');
254907
- const result = endpoint + '?' + this.urlencode({
254908
- 'token': token,
254909
- 'privateChannel': privateChannel,
254910
- 'connectId': connectId,
254911
- });
254912
- const client = this.client(result);
254913
- client.keepAlive = pingInterval;
254914
- return result;
255168
+ return undefined;
254915
255169
  }
254916
255170
  requestId() {
254917
255171
  const requestId = this.sum(this.safeInteger(this.options, 'requestId', 0), 1);
@@ -279718,6 +279972,7 @@ class whitebit extends _abstract_whitebit_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
279718
279972
  'fetchOrderTrades': true,
279719
279973
  'fetchPositionMode': false,
279720
279974
  'fetchPremiumIndexOHLCV': false,
279975
+ 'fetchStatus': true,
279721
279976
  'fetchTicker': true,
279722
279977
  'fetchTickers': true,
279723
279978
  'fetchTime': true,
@@ -293926,39 +294181,39 @@ var __webpack_exports__ = {};
293926
294181
  (() => {
293927
294182
  __webpack_require__.r(__webpack_exports__);
293928
294183
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
293929
- /* harmony export */ AccountNotEnabled: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.AccountNotEnabled),
293930
- /* harmony export */ AccountSuspended: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.AccountSuspended),
293931
- /* harmony export */ AddressPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.AddressPending),
293932
- /* harmony export */ ArgumentsRequired: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.ArgumentsRequired),
293933
- /* harmony export */ AuthenticationError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.AuthenticationError),
293934
- /* harmony export */ BadRequest: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.BadRequest),
293935
- /* harmony export */ BadResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.BadResponse),
293936
- /* harmony export */ BadSymbol: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.BadSymbol),
293937
- /* harmony export */ BaseError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.BaseError),
293938
- /* harmony export */ CancelPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.CancelPending),
293939
- /* harmony export */ DDoSProtection: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.DDoSProtection),
293940
- /* harmony export */ DuplicateOrderId: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.DuplicateOrderId),
294184
+ /* harmony export */ AccountNotEnabled: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.AccountNotEnabled),
294185
+ /* harmony export */ AccountSuspended: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.AccountSuspended),
294186
+ /* harmony export */ AddressPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.AddressPending),
294187
+ /* harmony export */ ArgumentsRequired: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.ArgumentsRequired),
294188
+ /* harmony export */ AuthenticationError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.AuthenticationError),
294189
+ /* harmony export */ BadRequest: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.BadRequest),
294190
+ /* harmony export */ BadResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.BadResponse),
294191
+ /* harmony export */ BadSymbol: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.BadSymbol),
294192
+ /* harmony export */ BaseError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.BaseError),
294193
+ /* harmony export */ CancelPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.CancelPending),
294194
+ /* harmony export */ DDoSProtection: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.DDoSProtection),
294195
+ /* harmony export */ DuplicateOrderId: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.DuplicateOrderId),
293941
294196
  /* harmony export */ Exchange: () => (/* reexport safe */ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__.e),
293942
- /* harmony export */ ExchangeError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.ExchangeError),
293943
- /* harmony export */ ExchangeNotAvailable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.ExchangeNotAvailable),
293944
- /* harmony export */ InsufficientFunds: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.InsufficientFunds),
293945
- /* harmony export */ InvalidAddress: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.InvalidAddress),
293946
- /* harmony export */ InvalidNonce: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.InvalidNonce),
293947
- /* harmony export */ InvalidOrder: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.InvalidOrder),
293948
- /* harmony export */ MarginModeAlreadySet: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.MarginModeAlreadySet),
293949
- /* harmony export */ NetworkError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.NetworkError),
293950
- /* harmony export */ NoChange: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.NoChange),
293951
- /* harmony export */ NotSupported: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.NotSupported),
293952
- /* harmony export */ NullResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.NullResponse),
293953
- /* harmony export */ OnMaintenance: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.OnMaintenance),
293954
- /* harmony export */ OrderImmediatelyFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.OrderImmediatelyFillable),
293955
- /* harmony export */ OrderNotCached: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.OrderNotCached),
293956
- /* harmony export */ OrderNotFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.OrderNotFillable),
293957
- /* harmony export */ OrderNotFound: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.OrderNotFound),
293958
- /* harmony export */ PermissionDenied: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.PermissionDenied),
293959
- /* harmony export */ Precise: () => (/* reexport safe */ _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_156__.O),
293960
- /* harmony export */ RateLimitExceeded: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.RateLimitExceeded),
293961
- /* harmony export */ RequestTimeout: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.RequestTimeout),
294197
+ /* harmony export */ ExchangeError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.ExchangeError),
294198
+ /* harmony export */ ExchangeNotAvailable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.ExchangeNotAvailable),
294199
+ /* harmony export */ InsufficientFunds: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.InsufficientFunds),
294200
+ /* harmony export */ InvalidAddress: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.InvalidAddress),
294201
+ /* harmony export */ InvalidNonce: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.InvalidNonce),
294202
+ /* harmony export */ InvalidOrder: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.InvalidOrder),
294203
+ /* harmony export */ MarginModeAlreadySet: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.MarginModeAlreadySet),
294204
+ /* harmony export */ NetworkError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.NetworkError),
294205
+ /* harmony export */ NoChange: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.NoChange),
294206
+ /* harmony export */ NotSupported: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.NotSupported),
294207
+ /* harmony export */ NullResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.NullResponse),
294208
+ /* harmony export */ OnMaintenance: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.OnMaintenance),
294209
+ /* harmony export */ OrderImmediatelyFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.OrderImmediatelyFillable),
294210
+ /* harmony export */ OrderNotCached: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.OrderNotCached),
294211
+ /* harmony export */ OrderNotFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.OrderNotFillable),
294212
+ /* harmony export */ OrderNotFound: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.OrderNotFound),
294213
+ /* harmony export */ PermissionDenied: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.PermissionDenied),
294214
+ /* harmony export */ Precise: () => (/* reexport safe */ _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_157__.O),
294215
+ /* harmony export */ RateLimitExceeded: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.RateLimitExceeded),
294216
+ /* harmony export */ RequestTimeout: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__.RequestTimeout),
293962
294217
  /* harmony export */ ace: () => (/* reexport safe */ _src_ace_js__WEBPACK_IMPORTED_MODULE_1__.Z),
293963
294218
  /* harmony export */ alpaca: () => (/* reexport safe */ _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__.Z),
293964
294219
  /* harmony export */ ascendex: () => (/* reexport safe */ _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__.Z),
@@ -294012,11 +294267,11 @@ __webpack_require__.r(__webpack_exports__);
294012
294267
  /* harmony export */ delta: () => (/* reexport safe */ _src_delta_js__WEBPACK_IMPORTED_MODULE_50__.Z),
294013
294268
  /* harmony export */ deribit: () => (/* reexport safe */ _src_deribit_js__WEBPACK_IMPORTED_MODULE_51__.Z),
294014
294269
  /* harmony export */ digifinex: () => (/* reexport safe */ _src_digifinex_js__WEBPACK_IMPORTED_MODULE_52__.Z),
294015
- /* harmony export */ errors: () => (/* reexport module object */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__),
294270
+ /* harmony export */ errors: () => (/* reexport module object */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__),
294016
294271
  /* harmony export */ exchanges: () => (/* binding */ exchanges),
294017
294272
  /* harmony export */ exmo: () => (/* reexport safe */ _src_exmo_js__WEBPACK_IMPORTED_MODULE_53__.Z),
294018
294273
  /* harmony export */ fmfwio: () => (/* reexport safe */ _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_54__.Z),
294019
- /* harmony export */ functions: () => (/* reexport module object */ _src_base_functions_js__WEBPACK_IMPORTED_MODULE_157__),
294274
+ /* harmony export */ functions: () => (/* reexport module object */ _src_base_functions_js__WEBPACK_IMPORTED_MODULE_158__),
294020
294275
  /* harmony export */ gate: () => (/* reexport safe */ _src_gate_js__WEBPACK_IMPORTED_MODULE_55__.Z),
294021
294276
  /* harmony export */ gateio: () => (/* reexport safe */ _src_gateio_js__WEBPACK_IMPORTED_MODULE_56__.Z),
294022
294277
  /* harmony export */ gemini: () => (/* reexport safe */ _src_gemini_js__WEBPACK_IMPORTED_MODULE_57__.Z),
@@ -294065,9 +294320,9 @@ __webpack_require__.r(__webpack_exports__);
294065
294320
  /* harmony export */ zonda: () => (/* reexport safe */ _src_zonda_js__WEBPACK_IMPORTED_MODULE_98__.Z)
294066
294321
  /* harmony export */ });
294067
294322
  /* harmony import */ var _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3043);
294068
- /* harmony import */ var _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(2194);
294069
- /* harmony import */ var _src_base_functions_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(7100);
294070
- /* harmony import */ var _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(6689);
294323
+ /* harmony import */ var _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(2194);
294324
+ /* harmony import */ var _src_base_functions_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(7100);
294325
+ /* harmony import */ var _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(6689);
294071
294326
  /* harmony import */ var _src_ace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9869);
294072
294327
  /* harmony import */ var _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5660);
294073
294328
  /* harmony import */ var _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9612);
@@ -294190,39 +294445,40 @@ __webpack_require__.r(__webpack_exports__);
294190
294445
  /* harmony import */ var _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(5272);
294191
294446
  /* harmony import */ var _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(3414);
294192
294447
  /* harmony import */ var _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(8368);
294193
- /* harmony import */ var _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(204);
294194
- /* harmony import */ var _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(5208);
294195
- /* harmony import */ var _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(6820);
294196
- /* harmony import */ var _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(2952);
294197
- /* harmony import */ var _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(1788);
294198
- /* harmony import */ var _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(9004);
294199
- /* harmony import */ var _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(8335);
294200
- /* harmony import */ var _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(1465);
294201
- /* harmony import */ var _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(9488);
294202
- /* harmony import */ var _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(5189);
294203
- /* harmony import */ var _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(8559);
294204
- /* harmony import */ var _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(7474);
294205
- /* harmony import */ var _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(8384);
294206
- /* harmony import */ var _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(9021);
294207
- /* harmony import */ var _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(3484);
294208
- /* harmony import */ var _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(1311);
294209
- /* harmony import */ var _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(736);
294210
- /* harmony import */ var _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(449);
294211
- /* harmony import */ var _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(2387);
294212
- /* harmony import */ var _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(7181);
294213
- /* harmony import */ var _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(627);
294214
- /* harmony import */ var _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(6484);
294215
- /* harmony import */ var _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(8080);
294216
- /* harmony import */ var _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(7105);
294217
- /* harmony import */ var _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(2214);
294218
- /* harmony import */ var _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(4360);
294219
- /* harmony import */ var _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(7924);
294220
- /* harmony import */ var _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(3541);
294221
- /* harmony import */ var _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(9782);
294222
- /* harmony import */ var _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(7614);
294223
- /* harmony import */ var _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(4828);
294224
- /* harmony import */ var _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(5630);
294225
- /* harmony import */ var _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(3910);
294448
+ /* harmony import */ var _src_pro_coincheck_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(7891);
294449
+ /* harmony import */ var _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(204);
294450
+ /* harmony import */ var _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(5208);
294451
+ /* harmony import */ var _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(6820);
294452
+ /* harmony import */ var _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(2952);
294453
+ /* harmony import */ var _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(1788);
294454
+ /* harmony import */ var _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(9004);
294455
+ /* harmony import */ var _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(8335);
294456
+ /* harmony import */ var _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(1465);
294457
+ /* harmony import */ var _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(9488);
294458
+ /* harmony import */ var _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(5189);
294459
+ /* harmony import */ var _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(8559);
294460
+ /* harmony import */ var _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(7474);
294461
+ /* harmony import */ var _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(8384);
294462
+ /* harmony import */ var _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(9021);
294463
+ /* harmony import */ var _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(3484);
294464
+ /* harmony import */ var _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(1311);
294465
+ /* harmony import */ var _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(736);
294466
+ /* harmony import */ var _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(449);
294467
+ /* harmony import */ var _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(2387);
294468
+ /* harmony import */ var _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(7181);
294469
+ /* harmony import */ var _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(627);
294470
+ /* harmony import */ var _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(6484);
294471
+ /* harmony import */ var _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(8080);
294472
+ /* harmony import */ var _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(7105);
294473
+ /* harmony import */ var _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(2214);
294474
+ /* harmony import */ var _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(4360);
294475
+ /* harmony import */ var _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(7924);
294476
+ /* harmony import */ var _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(3541);
294477
+ /* harmony import */ var _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(9782);
294478
+ /* harmony import */ var _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(7614);
294479
+ /* harmony import */ var _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(4828);
294480
+ /* harmony import */ var _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(5630);
294481
+ /* harmony import */ var _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(3910);
294226
294482
  /*
294227
294483
 
294228
294484
  MIT License
@@ -294257,7 +294513,7 @@ SOFTWARE.
294257
294513
 
294258
294514
  //-----------------------------------------------------------------------------
294259
294515
  // this is updated by vss.js when building
294260
- const version = '4.2.17';
294516
+ const version = '4.2.18';
294261
294517
  _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion = version;
294262
294518
  //-----------------------------------------------------------------------------
294263
294519
 
@@ -294414,6 +294670,7 @@ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion
294414
294670
 
294415
294671
 
294416
294672
 
294673
+
294417
294674
 
294418
294675
 
294419
294676
  const exchanges = {
@@ -294541,39 +294798,40 @@ const pro = {
294541
294798
  'cex': _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_120__/* ["default"] */ .Z,
294542
294799
  'coinbase': _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_121__/* ["default"] */ .Z,
294543
294800
  'coinbasepro': _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_122__/* ["default"] */ .Z,
294544
- 'coinex': _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_123__/* ["default"] */ .Z,
294545
- 'coinone': _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_124__/* ["default"] */ .Z,
294546
- 'cryptocom': _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_125__/* ["default"] */ .Z,
294547
- 'currencycom': _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_126__/* ["default"] */ .Z,
294548
- 'deribit': _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_127__/* ["default"] */ .Z,
294549
- 'exmo': _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_128__/* ["default"] */ .Z,
294550
- 'gate': _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_129__/* ["default"] */ .Z,
294551
- 'gateio': _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_130__/* ["default"] */ .Z,
294552
- 'gemini': _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_131__/* ["default"] */ .Z,
294553
- 'hitbtc': _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_132__/* ["default"] */ .Z,
294554
- 'hollaex': _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_133__/* ["default"] */ .Z,
294555
- 'htx': _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_134__/* ["default"] */ .Z,
294556
- 'huobi': _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_135__/* ["default"] */ .Z,
294557
- 'huobijp': _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_136__/* ["default"] */ .Z,
294558
- 'idex': _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_137__/* ["default"] */ .Z,
294559
- 'independentreserve': _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_138__/* ["default"] */ .Z,
294560
- 'kraken': _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_139__/* ["default"] */ .Z,
294561
- 'krakenfutures': _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_140__/* ["default"] */ .Z,
294562
- 'kucoin': _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_141__/* ["default"] */ .Z,
294563
- 'kucoinfutures': _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_142__/* ["default"] */ .Z,
294564
- 'luno': _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_143__/* ["default"] */ .Z,
294565
- 'mexc': _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_144__/* ["default"] */ .Z,
294566
- 'ndax': _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_145__/* ["default"] */ .Z,
294567
- 'okcoin': _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_146__/* ["default"] */ .Z,
294568
- 'okx': _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_147__/* ["default"] */ .Z,
294569
- 'phemex': _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_148__/* ["default"] */ .Z,
294570
- 'poloniex': _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_149__/* ["default"] */ .Z,
294571
- 'poloniexfutures': _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_150__/* ["default"] */ .Z,
294572
- 'probit': _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_151__/* ["default"] */ .Z,
294573
- 'upbit': _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_152__/* ["default"] */ .Z,
294574
- 'wazirx': _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_153__/* ["default"] */ .Z,
294575
- 'whitebit': _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_154__/* ["default"] */ .Z,
294576
- 'woo': _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_155__/* ["default"] */ .Z,
294801
+ 'coincheck': _src_pro_coincheck_js__WEBPACK_IMPORTED_MODULE_123__/* ["default"] */ .Z,
294802
+ 'coinex': _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_124__/* ["default"] */ .Z,
294803
+ 'coinone': _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_125__/* ["default"] */ .Z,
294804
+ 'cryptocom': _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_126__/* ["default"] */ .Z,
294805
+ 'currencycom': _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_127__/* ["default"] */ .Z,
294806
+ 'deribit': _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_128__/* ["default"] */ .Z,
294807
+ 'exmo': _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_129__/* ["default"] */ .Z,
294808
+ 'gate': _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_130__/* ["default"] */ .Z,
294809
+ 'gateio': _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_131__/* ["default"] */ .Z,
294810
+ 'gemini': _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_132__/* ["default"] */ .Z,
294811
+ 'hitbtc': _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_133__/* ["default"] */ .Z,
294812
+ 'hollaex': _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_134__/* ["default"] */ .Z,
294813
+ 'htx': _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_135__/* ["default"] */ .Z,
294814
+ 'huobi': _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_136__/* ["default"] */ .Z,
294815
+ 'huobijp': _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_137__/* ["default"] */ .Z,
294816
+ 'idex': _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_138__/* ["default"] */ .Z,
294817
+ 'independentreserve': _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_139__/* ["default"] */ .Z,
294818
+ 'kraken': _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_140__/* ["default"] */ .Z,
294819
+ 'krakenfutures': _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_141__/* ["default"] */ .Z,
294820
+ 'kucoin': _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_142__/* ["default"] */ .Z,
294821
+ 'kucoinfutures': _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_143__/* ["default"] */ .Z,
294822
+ 'luno': _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_144__/* ["default"] */ .Z,
294823
+ 'mexc': _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_145__/* ["default"] */ .Z,
294824
+ 'ndax': _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_146__/* ["default"] */ .Z,
294825
+ 'okcoin': _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_147__/* ["default"] */ .Z,
294826
+ 'okx': _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_148__/* ["default"] */ .Z,
294827
+ 'phemex': _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_149__/* ["default"] */ .Z,
294828
+ 'poloniex': _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_150__/* ["default"] */ .Z,
294829
+ 'poloniexfutures': _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_151__/* ["default"] */ .Z,
294830
+ 'probit': _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_152__/* ["default"] */ .Z,
294831
+ 'upbit': _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_153__/* ["default"] */ .Z,
294832
+ 'wazirx': _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_154__/* ["default"] */ .Z,
294833
+ 'whitebit': _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_155__/* ["default"] */ .Z,
294834
+ 'woo': _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_156__/* ["default"] */ .Z,
294577
294835
  };
294578
294836
  for (const exchange in pro) {
294579
294837
  // const ccxtExchange = exchanges[exchange]
@@ -294586,7 +294844,7 @@ for (const exchange in pro) {
294586
294844
  pro.exchanges = Object.keys(pro);
294587
294845
  pro['Exchange'] = _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e; // now the same for rest and ts
294588
294846
  //-----------------------------------------------------------------------------
294589
- const ccxt = Object.assign({ version, Exchange: _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e, Precise: _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_156__/* .Precise */ .O, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, _src_base_functions_js__WEBPACK_IMPORTED_MODULE_157__, _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__);
294847
+ const ccxt = Object.assign({ version, Exchange: _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e, Precise: _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_157__/* .Precise */ .O, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, _src_base_functions_js__WEBPACK_IMPORTED_MODULE_158__, _src_base_errors_js__WEBPACK_IMPORTED_MODULE_159__);
294590
294848
 
294591
294849
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ccxt);
294592
294850
  //-----------------------------------------------------------------------------