ccxt 4.2.51 → 4.2.53

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 (57) hide show
  1. package/CHANGELOG.md +76 -16
  2. package/README.md +5 -6
  3. package/dist/ccxt.browser.js +994 -1412
  4. package/dist/ccxt.browser.min.js +3 -3
  5. package/dist/cjs/ccxt.js +1 -4
  6. package/dist/cjs/src/base/Exchange.js +65 -26
  7. package/dist/cjs/src/binance.js +92 -3
  8. package/dist/cjs/src/bingx.js +32 -1
  9. package/dist/cjs/src/bitget.js +1 -0
  10. package/dist/cjs/src/bitvavo.js +1 -1
  11. package/dist/cjs/src/coinbase.js +186 -12
  12. package/dist/cjs/src/htx.js +10 -4
  13. package/dist/cjs/src/pro/binance.js +156 -1
  14. package/dist/cjs/src/pro/bitfinex2.js +3 -1
  15. package/dist/cjs/src/pro/bitvavo.js +1 -1
  16. package/dist/cjs/src/pro/blockchaincom.js +7 -25
  17. package/dist/cjs/src/pro/deribit.js +2 -2
  18. package/dist/cjs/src/pro/gate.js +2 -1
  19. package/dist/cjs/src/pro/gemini.js +1 -1
  20. package/dist/cjs/src/pro/okx.js +18 -4
  21. package/dist/cjs/src/woo.js +3 -1
  22. package/js/ccxt.d.ts +2 -5
  23. package/js/ccxt.js +2 -4
  24. package/js/src/abstract/coinbase.d.ts +1 -1
  25. package/js/src/base/Exchange.d.ts +65 -26
  26. package/js/src/base/Exchange.js +65 -26
  27. package/js/src/binance.d.ts +6 -0
  28. package/js/src/binance.js +92 -3
  29. package/js/src/bingx.d.ts +4 -0
  30. package/js/src/bingx.js +32 -1
  31. package/js/src/bitget.js +1 -0
  32. package/js/src/bitvavo.js +1 -1
  33. package/js/src/coinbase.d.ts +2 -0
  34. package/js/src/coinbase.js +186 -12
  35. package/js/src/deribit.js +1 -1
  36. package/js/src/htx.js +10 -4
  37. package/js/src/ndax.js +1 -1
  38. package/js/src/pro/binance.d.ts +3 -0
  39. package/js/src/pro/binance.js +156 -1
  40. package/js/src/pro/bingx.js +1 -1
  41. package/js/src/pro/bitfinex2.js +3 -1
  42. package/js/src/pro/bitvavo.js +1 -1
  43. package/js/src/pro/blockchaincom.d.ts +0 -1
  44. package/js/src/pro/blockchaincom.js +7 -25
  45. package/js/src/pro/deribit.js +2 -2
  46. package/js/src/pro/gate.js +2 -1
  47. package/js/src/pro/gemini.js +1 -1
  48. package/js/src/pro/okx.js +18 -4
  49. package/js/src/woo.js +4 -2
  50. package/package.json +2 -1
  51. package/skip-tests.json +29 -13
  52. package/dist/cjs/src/abstract/bitforex.js +0 -9
  53. package/dist/cjs/src/bitforex.js +0 -884
  54. package/js/src/abstract/bitforex.d.ts +0 -27
  55. package/js/src/abstract/bitforex.js +0 -11
  56. package/js/src/bitforex.d.ts +0 -39
  57. package/js/src/bitforex.js +0 -885
@@ -192,22 +192,6 @@ class Exchange extends _base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchang
192
192
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Exchange);
193
193
 
194
194
 
195
- /***/ }),
196
-
197
- /***/ 491:
198
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
199
-
200
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
201
- /* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__)
202
- /* harmony export */ });
203
- /* harmony import */ var _base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3043);
204
- // -------------------------------------------------------------------------------
205
-
206
- class Exchange extends _base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e {
207
- }
208
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Exchange);
209
-
210
-
211
195
  /***/ }),
212
196
 
213
197
  /***/ 2065:
@@ -7386,51 +7370,59 @@ class Exchange {
7386
7370
  'future': undefined,
7387
7371
  'option': undefined,
7388
7372
  'addMargin': undefined,
7373
+ 'borrowCrossMargin': undefined,
7374
+ 'borrowIsolatedMargin': undefined,
7375
+ 'borrowMargin': undefined,
7389
7376
  'cancelAllOrders': undefined,
7377
+ 'cancelAllOrdersWs': undefined,
7390
7378
  'cancelOrder': true,
7391
7379
  'cancelOrders': undefined,
7380
+ 'cancelOrdersWs': undefined,
7381
+ 'cancelOrderWs': undefined,
7392
7382
  'closeAllPositions': undefined,
7393
7383
  'closePosition': undefined,
7394
7384
  'createDepositAddress': undefined,
7385
+ 'createLimitBuyOrder': undefined,
7395
7386
  'createLimitOrder': true,
7396
- 'createMarketOrder': true,
7397
- 'createOrder': true,
7387
+ 'createLimitSellOrder': undefined,
7388
+ 'createMarketBuyOrder': undefined,
7398
7389
  'createMarketBuyOrderWithCost': undefined,
7390
+ 'createMarketOrder': true,
7399
7391
  'createMarketOrderWithCost': undefined,
7392
+ 'createMarketSellOrder': undefined,
7400
7393
  'createMarketSellOrderWithCost': undefined,
7394
+ 'createOrder': true,
7401
7395
  'createOrders': undefined,
7402
7396
  'createOrderWithTakeProfitAndStopLoss': undefined,
7397
+ 'createOrderWs': undefined,
7403
7398
  'createPostOnlyOrder': undefined,
7404
7399
  'createReduceOnlyOrder': undefined,
7405
- 'createStopLossOrder': undefined,
7406
- 'createStopOrder': undefined,
7407
7400
  'createStopLimitOrder': undefined,
7401
+ 'createStopLossOrder': undefined,
7408
7402
  'createStopMarketOrder': undefined,
7403
+ 'createStopOrder': undefined,
7409
7404
  'createTakeProfitOrder': undefined,
7410
7405
  'createTrailingAmountOrder': undefined,
7411
7406
  'createTrailingPercentOrder': undefined,
7412
7407
  'createTriggerOrder': undefined,
7413
- 'createOrderWs': undefined,
7414
- 'editOrderWs': undefined,
7415
- 'fetchOpenOrdersWs': undefined,
7416
- 'fetchClosedOrdersWs': undefined,
7417
- 'fetchOrderWs': undefined,
7418
- 'fetchOrdersWs': undefined,
7419
- 'cancelOrderWs': undefined,
7420
- 'cancelOrdersWs': undefined,
7421
- 'cancelAllOrdersWs': undefined,
7422
- 'fetchTradesWs': undefined,
7423
- 'fetchBalanceWs': undefined,
7408
+ 'deposit': undefined,
7424
7409
  'editOrder': 'emulated',
7410
+ 'editOrderWs': undefined,
7425
7411
  'fetchAccounts': undefined,
7426
7412
  'fetchBalance': true,
7413
+ 'fetchBalanceWs': undefined,
7427
7414
  'fetchBidsAsks': undefined,
7428
7415
  'fetchBorrowInterest': undefined,
7416
+ 'fetchBorrowRate': undefined,
7417
+ 'fetchBorrowRateHistories': undefined,
7429
7418
  'fetchBorrowRateHistory': undefined,
7430
- 'fetchCanceledOrders': undefined,
7419
+ 'fetchBorrowRates': undefined,
7420
+ 'fetchBorrowRatesPerSymbol': undefined,
7431
7421
  'fetchCanceledAndClosedOrders': undefined,
7422
+ 'fetchCanceledOrders': undefined,
7432
7423
  'fetchClosedOrder': undefined,
7433
7424
  'fetchClosedOrders': undefined,
7425
+ 'fetchClosedOrdersWs': undefined,
7434
7426
  'fetchCrossBorrowRate': undefined,
7435
7427
  'fetchCrossBorrowRates': undefined,
7436
7428
  'fetchCurrencies': 'emulated',
@@ -7440,78 +7432,109 @@ class Exchange {
7440
7432
  'fetchDepositAddresses': undefined,
7441
7433
  'fetchDepositAddressesByNetwork': undefined,
7442
7434
  'fetchDeposits': undefined,
7443
- 'fetchDepositsWs': undefined,
7444
7435
  'fetchDepositsWithdrawals': undefined,
7445
- 'fetchTransactionFee': undefined,
7446
- 'fetchTransactionFees': undefined,
7436
+ 'fetchDepositsWs': undefined,
7437
+ 'fetchDepositWithdrawFee': undefined,
7438
+ 'fetchDepositWithdrawFees': undefined,
7447
7439
  'fetchFundingHistory': undefined,
7448
7440
  'fetchFundingRate': undefined,
7449
7441
  'fetchFundingRateHistory': undefined,
7450
7442
  'fetchFundingRates': undefined,
7443
+ 'fetchGreeks': undefined,
7451
7444
  'fetchIndexOHLCV': undefined,
7452
7445
  'fetchIsolatedBorrowRate': undefined,
7453
7446
  'fetchIsolatedBorrowRates': undefined,
7447
+ 'fetchIsolatedPositions': undefined,
7454
7448
  'fetchL2OrderBook': true,
7449
+ 'fetchL3OrderBook': undefined,
7455
7450
  'fetchLastPrices': undefined,
7456
7451
  'fetchLedger': undefined,
7457
7452
  'fetchLedgerEntry': undefined,
7453
+ 'fetchLeverage': undefined,
7458
7454
  'fetchLeverageTiers': undefined,
7455
+ 'fetchLiquidations': undefined,
7456
+ 'fetchMarginMode': undefined,
7459
7457
  'fetchMarketLeverageTiers': undefined,
7460
7458
  'fetchMarkets': true,
7461
7459
  'fetchMarketsWs': undefined,
7462
7460
  'fetchMarkOHLCV': undefined,
7461
+ 'fetchMyLiquidations': undefined,
7462
+ 'fetchMySettlementHistory': undefined,
7463
7463
  'fetchMyTrades': undefined,
7464
+ 'fetchMyTradesWs': undefined,
7464
7465
  'fetchOHLCV': undefined,
7465
7466
  'fetchOHLCVWs': undefined,
7466
7467
  'fetchOpenInterest': undefined,
7467
7468
  'fetchOpenInterestHistory': undefined,
7468
7469
  'fetchOpenOrder': undefined,
7469
7470
  'fetchOpenOrders': undefined,
7471
+ 'fetchOpenOrdersWs': undefined,
7470
7472
  'fetchOrder': undefined,
7471
7473
  'fetchOrderBook': true,
7472
7474
  'fetchOrderBooks': undefined,
7475
+ 'fetchOrderBookWs': undefined,
7473
7476
  'fetchOrders': undefined,
7477
+ 'fetchOrdersByStatus': undefined,
7478
+ 'fetchOrdersWs': undefined,
7474
7479
  'fetchOrderTrades': undefined,
7480
+ 'fetchOrderWs': undefined,
7475
7481
  'fetchPermissions': undefined,
7476
7482
  'fetchPosition': undefined,
7483
+ 'fetchPositionMode': undefined,
7477
7484
  'fetchPositions': undefined,
7478
7485
  'fetchPositionsForSymbol': undefined,
7479
7486
  'fetchPositionsRisk': undefined,
7480
7487
  'fetchPremiumIndexOHLCV': undefined,
7488
+ 'fetchSettlementHistory': undefined,
7481
7489
  'fetchStatus': undefined,
7482
7490
  'fetchTicker': true,
7483
7491
  'fetchTickers': undefined,
7492
+ 'fetchTickerWs': undefined,
7484
7493
  'fetchTime': undefined,
7485
7494
  'fetchTrades': true,
7495
+ 'fetchTradesWs': undefined,
7486
7496
  'fetchTradingFee': undefined,
7487
7497
  'fetchTradingFees': undefined,
7488
7498
  'fetchTradingFeesWs': undefined,
7489
7499
  'fetchTradingLimits': undefined,
7500
+ 'fetchTransactionFee': undefined,
7501
+ 'fetchTransactionFees': undefined,
7490
7502
  'fetchTransactions': undefined,
7503
+ 'fetchTransfer': undefined,
7491
7504
  'fetchTransfers': undefined,
7505
+ 'fetchUnderlyingAssets': undefined,
7506
+ 'fetchVolatilityHistory': undefined,
7492
7507
  'fetchWithdrawAddresses': undefined,
7493
7508
  'fetchWithdrawal': undefined,
7494
7509
  'fetchWithdrawals': undefined,
7495
7510
  'fetchWithdrawalsWs': undefined,
7511
+ 'fetchWithdrawalWhitelist': undefined,
7496
7512
  'reduceMargin': undefined,
7513
+ 'repayCrossMargin': undefined,
7514
+ 'repayIsolatedMargin': undefined,
7497
7515
  'setLeverage': undefined,
7498
7516
  'setMargin': undefined,
7499
7517
  'setMarginMode': undefined,
7500
7518
  'setPositionMode': undefined,
7501
7519
  'signIn': undefined,
7502
7520
  'transfer': undefined,
7503
- 'withdraw': undefined,
7521
+ 'watchBalance': undefined,
7522
+ 'watchMyTrades': undefined,
7523
+ 'watchOHLCV': undefined,
7524
+ 'watchOHLCVForSymbols': undefined,
7504
7525
  'watchOrderBook': undefined,
7526
+ 'watchOrderBookForSymbols': undefined,
7505
7527
  'watchOrders': undefined,
7506
- 'watchMyTrades': undefined,
7507
- 'watchTickers': undefined,
7528
+ 'watchOrdersForSymbols': undefined,
7529
+ 'watchPosition': undefined,
7530
+ 'watchPositions': undefined,
7531
+ 'watchStatus': undefined,
7508
7532
  'watchTicker': undefined,
7533
+ 'watchTickers': undefined,
7509
7534
  'watchTrades': undefined,
7510
7535
  'watchTradesForSymbols': undefined,
7511
- 'watchOrderBookForSymbols': undefined,
7512
- 'watchOHLCVForSymbols': undefined,
7513
- 'watchBalance': undefined,
7514
- 'watchOHLCV': undefined,
7536
+ 'withdraw': undefined,
7537
+ 'ws': undefined,
7515
7538
  },
7516
7539
  'urls': {
7517
7540
  'logo': undefined,
@@ -12562,8 +12585,7 @@ class Exchange {
12562
12585
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
12563
12586
 
12564
12587
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
12565
- /* harmony export */ O: () => (/* binding */ Precise),
12566
- /* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__)
12588
+ /* harmony export */ O: () => (/* binding */ Precise)
12567
12589
  /* harmony export */ });
12568
12590
  const zero = BigInt(0);
12569
12591
  const minusOne = BigInt(-1);
@@ -12821,7 +12843,7 @@ class Precise {
12821
12843
  return (new Precise(string1)).le(new Precise(string2));
12822
12844
  }
12823
12845
  }
12824
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Precise);
12846
+ /* unused harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = ((/* unused pure expression or super */ null && (Precise)));
12825
12847
 
12826
12848
 
12827
12849
 
@@ -14444,9 +14466,9 @@ const timeout = async (ms, promise) => {
14444
14466
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
14445
14467
 
14446
14468
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
14469
+ /* harmony export */ H: () => (/* binding */ totp),
14447
14470
  /* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__)
14448
14471
  /* harmony export */ });
14449
- /* unused harmony export totp */
14450
14472
  /* harmony import */ var _static_dependencies_scure_base_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9651);
14451
14473
  /* harmony import */ var _static_dependencies_noble_hashes_sha1_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3307);
14452
14474
  /* harmony import */ var _crypto_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6890);
@@ -18105,8 +18127,12 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
18105
18127
  'closeAllPositions': false,
18106
18128
  'closePosition': false,
18107
18129
  'createDepositAddress': false,
18130
+ 'createLimitBuyOrder': true,
18131
+ 'createLimitSellOrder': true,
18132
+ 'createMarketBuyOrder': true,
18108
18133
  'createMarketBuyOrderWithCost': true,
18109
18134
  'createMarketOrderWithCost': true,
18135
+ 'createMarketSellOrder': true,
18110
18136
  'createMarketSellOrderWithCost': true,
18111
18137
  'createOrder': true,
18112
18138
  'createOrders': true,
@@ -18127,6 +18153,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
18127
18153
  'fetchBorrowInterest': true,
18128
18154
  'fetchBorrowRateHistories': false,
18129
18155
  'fetchBorrowRateHistory': true,
18156
+ 'fetchCanceledAndClosedOrders': 'emulated',
18130
18157
  'fetchCanceledOrders': 'emulated',
18131
18158
  'fetchClosedOrder': false,
18132
18159
  'fetchClosedOrders': 'emulated',
@@ -18172,6 +18199,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
18172
18199
  'fetchOrders': true,
18173
18200
  'fetchOrderTrades': true,
18174
18201
  'fetchPosition': true,
18202
+ 'fetchPositionMode': true,
18175
18203
  'fetchPositions': true,
18176
18204
  'fetchPositionsRisk': true,
18177
18205
  'fetchPremiumIndexOHLCV': false,
@@ -18183,10 +18211,11 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
18183
18211
  'fetchTrades': true,
18184
18212
  'fetchTradingFee': true,
18185
18213
  'fetchTradingFees': true,
18186
- 'fetchTradingLimits': undefined,
18214
+ 'fetchTradingLimits': 'emulated',
18187
18215
  'fetchTransactionFee': 'emulated',
18188
18216
  'fetchTransactionFees': true,
18189
18217
  'fetchTransactions': false,
18218
+ 'fetchTransfer': false,
18190
18219
  'fetchTransfers': true,
18191
18220
  'fetchUnderlyingAssets': false,
18192
18221
  'fetchVolatilityHistory': false,
@@ -22177,7 +22206,8 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
22177
22206
  // "closeTime": 1677097200000
22178
22207
  // }
22179
22208
  //
22180
- const volumeIndex = (market['inverse']) ? 7 : 5;
22209
+ const inverse = this.safeBool(market, 'inverse');
22210
+ const volumeIndex = inverse ? 7 : 5;
22181
22211
  return [
22182
22212
  this.safeInteger2(ohlcv, 0, 'closeTime'),
22183
22213
  this.safeNumber2(ohlcv, 1, 'open'),
@@ -24880,6 +24910,38 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
24880
24910
  const filteredOrders = this.filterBy(orders, 'status', 'canceled');
24881
24911
  return this.filterBySinceLimit(filteredOrders, since, limit);
24882
24912
  }
24913
+ async fetchCanceledAndClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
24914
+ /**
24915
+ * @method
24916
+ * @name binance#fetchCanceledAndClosedOrders
24917
+ * @description fetches information on multiple canceled orders made by the user
24918
+ * @see https://binance-docs.github.io/apidocs/spot/en/#all-orders-user_data
24919
+ * @see https://binance-docs.github.io/apidocs/spot/en/#query-margin-account-39-s-all-orders-user_data
24920
+ * @see https://binance-docs.github.io/apidocs/voptions/en/#query-option-order-history-trade
24921
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-um-orders-user_data
24922
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-cm-orders-user_data
24923
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-um-conditional-orders-user_data
24924
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-cm-conditional-orders-user_data
24925
+ * @see https://binance-docs.github.io/apidocs/pm/en/#query-all-margin-account-orders-user_data
24926
+ * @param {string} symbol unified market symbol of the market the orders were made in
24927
+ * @param {int} [since] the earliest time in ms to fetch orders for
24928
+ * @param {int} [limit] the maximum number of order structures to retrieve
24929
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
24930
+ * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
24931
+ * @param {boolean} [params.portfolioMargin] set to true if you would like to fetch orders in a portfolio margin account
24932
+ * @param {boolean} [params.stop] set to true if you would like to fetch portfolio margin account stop or conditional orders
24933
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
24934
+ */
24935
+ if (symbol === undefined) {
24936
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchCanceledAndClosedOrders() requires a symbol argument');
24937
+ }
24938
+ const orders = await this.fetchOrders(symbol, since, undefined, params);
24939
+ const canceledOrders = this.filterBy(orders, 'status', 'canceled');
24940
+ const closedOrders = this.filterBy(orders, 'status', 'closed');
24941
+ const filteredOrders = this.arrayConcat(canceledOrders, closedOrders);
24942
+ const sortedOrders = this.sortBy(filteredOrders, 'timestamp');
24943
+ return this.filterBySinceLimit(sortedOrders, since, limit);
24944
+ }
24883
24945
  async cancelOrder(id, symbol = undefined, params = {}) {
24884
24946
  /**
24885
24947
  * @method
@@ -26163,7 +26225,6 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
26163
26225
  /**
26164
26226
  * @method
26165
26227
  * @name binance#fetchTransfers
26166
- * @see https://binance-docs.github.io/apidocs/spot/en/#user-universal-transfer-user_data
26167
26228
  * @description fetch a history of internal transfers made on an account
26168
26229
  * @see https://binance-docs.github.io/apidocs/spot/en/#query-user-universal-transfer-history-user_data
26169
26230
  * @param {string} code unified currency code of the currency transferred
@@ -30052,6 +30113,56 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
30052
30113
  'info': greeks,
30053
30114
  };
30054
30115
  }
30116
+ async fetchTradingLimits(symbols = undefined, params = {}) {
30117
+ // this method should not be called directly, use loadTradingLimits () instead
30118
+ const markets = await this.fetchMarkets();
30119
+ const tradingLimits = {};
30120
+ for (let i = 0; i < markets.length; i++) {
30121
+ const market = markets[i];
30122
+ const symbol = market['symbol'];
30123
+ if ((symbols === undefined) || (this.inArray(symbol, symbols))) {
30124
+ tradingLimits[symbol] = market['limits']['amount'];
30125
+ }
30126
+ }
30127
+ return tradingLimits;
30128
+ }
30129
+ async fetchPositionMode(symbol = undefined, params = {}) {
30130
+ /**
30131
+ * @method
30132
+ * @name binance#fetchPositionMode
30133
+ * @description fetchs the position mode, hedged or one way, hedged for binance is set identically for all linear markets or all inverse markets
30134
+ * @param {string} symbol unified symbol of the market to fetch the order book for
30135
+ * @param {object} params extra parameters specific to the exchange API endpoint
30136
+ * @param {string} params.subType "linear" or "inverse"
30137
+ * @returns {object} an object detailing whether the market is in hedged or one-way mode
30138
+ */
30139
+ let market = undefined;
30140
+ if (symbol !== undefined) {
30141
+ market = this.market(symbol);
30142
+ }
30143
+ let subType = undefined;
30144
+ [subType, params] = this.handleSubTypeAndParams('fetchPositionMode', market, params);
30145
+ let response = undefined;
30146
+ if (subType === 'linear') {
30147
+ response = await this.fapiPrivateGetPositionSideDual(params);
30148
+ }
30149
+ else if (subType === 'inverse') {
30150
+ response = await this.dapiPrivateGetPositionSideDual(params);
30151
+ }
30152
+ else {
30153
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' fetchPositionMode requires either a symbol argument or params["subType"]');
30154
+ }
30155
+ //
30156
+ // {
30157
+ // dualSidePosition: false
30158
+ // }
30159
+ //
30160
+ const dualSidePosition = this.safeBool(response, 'dualSidePosition');
30161
+ return {
30162
+ 'info': response,
30163
+ 'hedged': dualSidePosition,
30164
+ };
30165
+ }
30055
30166
  }
30056
30167
 
30057
30168
 
@@ -30467,6 +30578,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
30467
30578
  'fetchOpenOrders': true,
30468
30579
  'fetchOrder': true,
30469
30580
  'fetchOrderBook': true,
30581
+ 'fetchPositionMode': true,
30470
30582
  'fetchPositions': true,
30471
30583
  'fetchTicker': true,
30472
30584
  'fetchTickers': true,
@@ -30477,6 +30589,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
30477
30589
  'setLeverage': true,
30478
30590
  'setMargin': true,
30479
30591
  'setMarginMode': true,
30592
+ 'setPositionMode': true,
30480
30593
  'transfer': true,
30481
30594
  },
30482
30595
  'hostname': 'bingx.com',
@@ -33903,13 +34016,14 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
33903
34016
  * @param {float} leverage the rate of leverage
33904
34017
  * @param {string} symbol unified market symbol
33905
34018
  * @param {object} [params] extra parameters specific to the exchange API endpoint
34019
+ * @param {string} [params.side] hedged: ['long' or 'short']. one way: ['both']
33906
34020
  * @returns {object} response from the exchange
33907
34021
  */
33908
34022
  if (symbol === undefined) {
33909
34023
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' setLeverage() requires a symbol argument');
33910
34024
  }
33911
34025
  const side = this.safeStringUpper(params, 'side');
33912
- this.checkRequiredArgument('setLeverage', side, 'side', ['LONG', 'SHORT']);
34026
+ this.checkRequiredArgument('setLeverage', side, 'side', ['LONG', 'SHORT', 'BOTH']);
33913
34027
  await this.loadMarkets();
33914
34028
  const market = this.market(symbol);
33915
34029
  const request = {
@@ -34353,6 +34467,34 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
34353
34467
  }
34354
34468
  return positions;
34355
34469
  }
34470
+ async fetchPositionMode(symbol = undefined, params = {}) {
34471
+ /**
34472
+ * @method
34473
+ * @name bingx#fetchPositionMode
34474
+ * @description fetchs the position mode, hedged or one way, hedged for binance is set identically for all linear markets or all inverse markets
34475
+ * @see https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#Get%20Position%20Mode
34476
+ * @param {string} symbol unified symbol of the market to fetch the order book for
34477
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
34478
+ * @returns {object} an object detailing whether the market is in hedged or one-way mode
34479
+ */
34480
+ const response = await this.swapV1PrivateGetPositionSideDual(params);
34481
+ //
34482
+ // {
34483
+ // "code": "0",
34484
+ // "msg": "",
34485
+ // "timeStamp": "1709002057516",
34486
+ // "data": {
34487
+ // "dualSidePosition": "false"
34488
+ // }
34489
+ // }
34490
+ //
34491
+ const data = this.safeDict(response, 'data', {});
34492
+ const dualSidePosition = this.safeString(data, 'dualSidePosition');
34493
+ return {
34494
+ 'info': response,
34495
+ 'hedged': (dualSidePosition === 'true'),
34496
+ };
34497
+ }
34356
34498
  async setPositionMode(hedged, symbol = undefined, params = {}) {
34357
34499
  /**
34358
34500
  * @method
@@ -44286,899 +44428,6 @@ class bitflyer extends _abstract_bitflyer_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
44286
44428
  }
44287
44429
 
44288
44430
 
44289
- /***/ }),
44290
-
44291
- /***/ 2035:
44292
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
44293
-
44294
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
44295
- /* harmony export */ Z: () => (/* binding */ bitforex)
44296
- /* harmony export */ });
44297
- /* harmony import */ var _abstract_bitforex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(491);
44298
- /* harmony import */ var _base_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6689);
44299
- /* harmony import */ var _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9292);
44300
- /* harmony import */ var _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1372);
44301
- // ---------------------------------------------------------------------------
44302
-
44303
-
44304
-
44305
-
44306
- // ---------------------------------------------------------------------------
44307
- /**
44308
- * @class bitforex
44309
- * @augments Exchange
44310
- */
44311
- class bitforex extends _abstract_bitforex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
44312
- describe() {
44313
- return this.deepExtend(super.describe(), {
44314
- 'id': 'bitforex',
44315
- 'name': 'Bitforex',
44316
- 'countries': ['CN'],
44317
- 'rateLimit': 500,
44318
- 'version': 'v1',
44319
- 'has': {
44320
- 'CORS': undefined,
44321
- 'spot': true,
44322
- 'margin': false,
44323
- 'swap': false,
44324
- 'future': false,
44325
- 'option': false,
44326
- 'addMargin': false,
44327
- 'cancelAllOrders': true,
44328
- 'cancelOrder': true,
44329
- 'createOrder': true,
44330
- 'createReduceOnlyOrder': false,
44331
- 'createStopLimitOrder': false,
44332
- 'createStopMarketOrder': false,
44333
- 'createStopOrder': false,
44334
- 'fetchBalance': true,
44335
- 'fetchBorrowInterest': false,
44336
- 'fetchBorrowRateHistories': false,
44337
- 'fetchBorrowRateHistory': false,
44338
- 'fetchClosedOrders': true,
44339
- 'fetchCrossBorrowRate': false,
44340
- 'fetchCrossBorrowRates': false,
44341
- 'fetchDepositAddress': false,
44342
- 'fetchDepositAddresses': false,
44343
- 'fetchDepositAddressesByNetwork': false,
44344
- 'fetchFundingHistory': false,
44345
- 'fetchFundingRate': false,
44346
- 'fetchFundingRateHistory': false,
44347
- 'fetchFundingRates': false,
44348
- 'fetchIndexOHLCV': false,
44349
- 'fetchIsolatedBorrowRate': false,
44350
- 'fetchIsolatedBorrowRates': false,
44351
- 'fetchIsolatedPositions': false,
44352
- 'fetchLeverage': false,
44353
- 'fetchLeverageTiers': false,
44354
- 'fetchMarginMode': false,
44355
- 'fetchMarketLeverageTiers': false,
44356
- 'fetchMarkets': true,
44357
- 'fetchMarkOHLCV': false,
44358
- 'fetchMyTrades': true,
44359
- 'fetchOHLCV': true,
44360
- 'fetchOpenInterestHistory': false,
44361
- 'fetchOpenOrders': true,
44362
- 'fetchOrder': true,
44363
- 'fetchOrderBook': true,
44364
- 'fetchPosition': false,
44365
- 'fetchPositionMode': false,
44366
- 'fetchPositions': false,
44367
- 'fetchPositionsRisk': false,
44368
- 'fetchPremiumIndexOHLCV': false,
44369
- 'fetchTicker': true,
44370
- 'fetchTickers': false,
44371
- 'fetchTrades': true,
44372
- 'fetchTransactionFees': false,
44373
- 'fetchTransfer': false,
44374
- 'fetchTransfers': false,
44375
- 'fetchWithdrawal': false,
44376
- 'fetchWithdrawals': false,
44377
- 'reduceMargin': false,
44378
- 'repayCrossMargin': false,
44379
- 'repayIsolatedMargin': false,
44380
- 'setLeverage': false,
44381
- 'setMargin': false,
44382
- 'setMarginMode': false,
44383
- 'setPositionMode': false,
44384
- 'transfer': false,
44385
- 'withdraw': false,
44386
- },
44387
- 'timeframes': {
44388
- '1m': '1min',
44389
- '5m': '5min',
44390
- '15m': '15min',
44391
- '30m': '30min',
44392
- '1h': '1hour',
44393
- '2h': '2hour',
44394
- '4h': '4hour',
44395
- '12h': '12hour',
44396
- '1d': '1day',
44397
- '1w': '1week',
44398
- '1M': '1month',
44399
- },
44400
- 'urls': {
44401
- 'logo': 'https://user-images.githubusercontent.com/51840849/87295553-1160ec00-c50e-11ea-8ea0-df79276a9646.jpg',
44402
- 'api': {
44403
- 'rest': 'https://api.bitforex.com',
44404
- },
44405
- 'www': 'https://www.bitforex.com',
44406
- 'doc': 'https://github.com/githubdev2020/API_Doc_en/wiki',
44407
- 'fees': 'https://help.bitforex.com/en_us/?cat=13',
44408
- 'referral': 'https://www.bitforex.com/en/invitationRegister?inviterId=1867438',
44409
- },
44410
- 'api': {
44411
- 'public': {
44412
- 'get': {
44413
- '/api/v1/ping': 0.2,
44414
- '/api/v1/time': 0.2,
44415
- 'api/v1/market/symbols': 20,
44416
- 'api/v1/market/ticker': 4,
44417
- 'api/v1/market/ticker-all': 4,
44418
- 'api/v1/market/depth': 4,
44419
- 'api/v1/market/depth-all': 4,
44420
- 'api/v1/market/trades': 20,
44421
- 'api/v1/market/kline': 20,
44422
- },
44423
- },
44424
- 'private': {
44425
- 'post': {
44426
- 'api/v1/fund/mainAccount': 1,
44427
- 'api/v1/fund/allAccount': 30,
44428
- 'api/v1/trade/placeOrder': 1,
44429
- 'api/v1/trade/placeMultiOrder': 10,
44430
- 'api/v1/trade/cancelOrder': 1,
44431
- 'api/v1/trade/cancelMultiOrder': 6.67,
44432
- 'api/v1/trade/cancelAllOrder': 20,
44433
- 'api/v1/trade/orderInfo': 1,
44434
- 'api/v1/trade/multiOrderInfo': 10,
44435
- 'api/v1/trade/orderInfos': 20,
44436
- 'api/v1/trade/myTrades': 2,
44437
- },
44438
- },
44439
- },
44440
- 'fees': {
44441
- 'trading': {
44442
- 'tierBased': false,
44443
- 'percentage': true,
44444
- 'maker': this.parseNumber('0.001'),
44445
- 'taker': this.parseNumber('0.001'),
44446
- },
44447
- 'funding': {
44448
- 'tierBased': false,
44449
- 'percentage': true,
44450
- 'deposit': {},
44451
- 'withdraw': {},
44452
- },
44453
- },
44454
- 'commonCurrencies': {
44455
- 'BKC': 'Bank Coin',
44456
- 'CAPP': 'Crypto Application Token',
44457
- 'CREDIT': 'TerraCredit',
44458
- 'CTC': 'Culture Ticket Chain',
44459
- 'EWT': 'EcoWatt Token',
44460
- 'IQ': 'IQ.Cash',
44461
- 'MIR': 'MIR COIN',
44462
- 'NOIA': 'METANOIA',
44463
- 'TON': 'To The Moon',
44464
- },
44465
- 'precisionMode': _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__/* .TICK_SIZE */ .sh,
44466
- 'exceptions': {
44467
- '1000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
44468
- '1003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
44469
- '1013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
44470
- '1016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
44471
- '1017': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
44472
- '1019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
44473
- '3002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
44474
- '4002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
44475
- '4003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
44476
- '4004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
44477
- '10204': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.DDoSProtection,
44478
- },
44479
- });
44480
- }
44481
- async fetchMarkets(params = {}) {
44482
- /**
44483
- * @method
44484
- * @name bitforex#fetchMarkets
44485
- * @description retrieves data on all markets for bitforex
44486
- * @see https://apidoc.bitforex.com/#exchange-information
44487
- * @param {object} [params] extra parameters specific to the exchange API endpoint
44488
- * @returns {object[]} an array of objects representing market data
44489
- */
44490
- const response = await this.publicGetApiV1MarketSymbols(params);
44491
- //
44492
- // {
44493
- // "data": [
44494
- // {
44495
- // "amountPrecision":4,
44496
- // "minOrderAmount":3.0E-4,
44497
- // "pricePrecision":2,
44498
- // "symbol":"coin-usdt-btc"
44499
- // },
44500
- // ...
44501
- // ]
44502
- // }
44503
- //
44504
- const data = response['data'];
44505
- const result = [];
44506
- for (let i = 0; i < data.length; i++) {
44507
- const market = data[i];
44508
- const id = this.safeString(market, 'symbol');
44509
- const symbolParts = id.split('-');
44510
- const baseId = symbolParts[2];
44511
- const quoteId = symbolParts[1];
44512
- const base = this.safeCurrencyCode(baseId);
44513
- const quote = this.safeCurrencyCode(quoteId);
44514
- result.push({
44515
- 'id': id,
44516
- 'symbol': base + '/' + quote,
44517
- 'base': base,
44518
- 'quote': quote,
44519
- 'settle': undefined,
44520
- 'baseId': baseId,
44521
- 'quoteId': quoteId,
44522
- 'settleId': undefined,
44523
- 'type': 'spot',
44524
- 'spot': true,
44525
- 'margin': false,
44526
- 'swap': false,
44527
- 'future': false,
44528
- 'option': false,
44529
- 'active': true,
44530
- 'contract': false,
44531
- 'linear': undefined,
44532
- 'inverse': undefined,
44533
- 'contractSize': undefined,
44534
- 'expiry': undefined,
44535
- 'expiryDateTime': undefined,
44536
- 'strike': undefined,
44537
- 'optionType': undefined,
44538
- 'precision': {
44539
- 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'amountPrecision'))),
44540
- 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'pricePrecision'))),
44541
- },
44542
- 'limits': {
44543
- 'leverage': {
44544
- 'min': undefined,
44545
- 'max': undefined,
44546
- },
44547
- 'amount': {
44548
- 'min': this.safeNumber(market, 'minOrderAmount'),
44549
- 'max': undefined,
44550
- },
44551
- 'price': {
44552
- 'min': undefined,
44553
- 'max': undefined,
44554
- },
44555
- 'cost': {
44556
- 'min': undefined,
44557
- 'max': undefined,
44558
- },
44559
- },
44560
- 'created': undefined,
44561
- 'info': market,
44562
- });
44563
- }
44564
- return result;
44565
- }
44566
- parseTrade(trade, market = undefined) {
44567
- //
44568
- // fetchTrades (public) v1
44569
- //
44570
- // {
44571
- // "price":57594.53,
44572
- // "amount":0.3172,
44573
- // "time":1637329685322,
44574
- // "direction":1,
44575
- // "tid":"1131019666"
44576
- // }
44577
- //
44578
- // fetchMyTrades (private)
44579
- //
44580
- // {
44581
- // "symbol": "coin-usdt-babydoge",
44582
- // "tid": 7289,
44583
- // "orderId": "b6fe2b61-e5cb-4970-9bdc-8c7cd1fcb4d8",
44584
- // "price": "0.000007",
44585
- // "amount": "50000000",
44586
- // "tradeFee": "50000",
44587
- // "tradeFeeCurrency": "babydoge",
44588
- // "time": "1684750536460",
44589
- // "isBuyer": true,
44590
- // "isMaker": true,
44591
- // "isSelfTrade": true
44592
- // }
44593
- //
44594
- const marketId = this.safeString(trade, 'symbol');
44595
- market = this.safeMarket(marketId, market);
44596
- const timestamp = this.safeInteger(trade, 'time');
44597
- const id = this.safeString(trade, 'tid');
44598
- const orderId = this.safeString(trade, 'orderId');
44599
- const priceString = this.safeString(trade, 'price');
44600
- const amountString = this.safeString(trade, 'amount');
44601
- const sideId = this.safeInteger(trade, 'direction');
44602
- let side = this.parseSide(sideId);
44603
- if (side === undefined) {
44604
- const isBuyer = this.safeValue(trade, 'isBuyer');
44605
- side = isBuyer ? 'buy' : 'sell';
44606
- }
44607
- let takerOrMaker = undefined;
44608
- const isMaker = this.safeValue(trade, 'isMaker');
44609
- if (isMaker !== undefined) {
44610
- takerOrMaker = (isMaker) ? 'maker' : 'taker';
44611
- }
44612
- let fee = undefined;
44613
- const feeCostString = this.safeString(trade, 'tradeFee');
44614
- if (feeCostString !== undefined) {
44615
- const feeCurrencyId = this.safeString(trade, 'tradeFeeCurrency');
44616
- const feeCurrencyCode = this.safeCurrencyCode(feeCurrencyId);
44617
- fee = {
44618
- 'cost': feeCostString,
44619
- 'currency': feeCurrencyCode,
44620
- };
44621
- }
44622
- return this.safeTrade({
44623
- 'info': trade,
44624
- 'id': id,
44625
- 'timestamp': timestamp,
44626
- 'datetime': this.iso8601(timestamp),
44627
- 'symbol': market['symbol'],
44628
- 'type': undefined,
44629
- 'side': side,
44630
- 'price': priceString,
44631
- 'amount': amountString,
44632
- 'cost': undefined,
44633
- 'order': orderId,
44634
- 'fee': fee,
44635
- 'takerOrMaker': takerOrMaker,
44636
- }, market);
44637
- }
44638
- async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
44639
- /**
44640
- * @method
44641
- * @name bitforex#fetchTrades
44642
- * @description get the list of most recent trades for a particular symbol
44643
- * @see https://apidoc.bitforex.com/#recent-trades-list
44644
- * @param {string} symbol unified symbol of the market to fetch trades for
44645
- * @param {int} [since] timestamp in ms of the earliest trade to fetch
44646
- * @param {int} [limit] the maximum amount of trades to fetch
44647
- * @param {object} [params] extra parameters specific to the exchange API endpoint
44648
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
44649
- */
44650
- await this.loadMarkets();
44651
- const request = {
44652
- 'symbol': this.marketId(symbol),
44653
- };
44654
- if (limit !== undefined) {
44655
- request['size'] = limit;
44656
- }
44657
- const market = this.market(symbol);
44658
- const response = await this.publicGetApiV1MarketTrades(this.extend(request, params));
44659
- //
44660
- // {
44661
- // "data":
44662
- // [
44663
- // {
44664
- // "price":57594.53,
44665
- // "amount":0.3172,
44666
- // "time":1637329685322,
44667
- // "direction":1,
44668
- // "tid":"1131019666"
44669
- // }
44670
- // ],
44671
- // "success": true,
44672
- // "time": 1637329688475
44673
- // }
44674
- //
44675
- return this.parseTrades(response['data'], market, since, limit);
44676
- }
44677
- async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
44678
- /**
44679
- * @method
44680
- * @name bitforex#fetchMyTrades
44681
- * @description fetch all trades made by the user
44682
- * @see https://apidoc.bitforex.com/#spot-account-trade
44683
- * @param {string} symbol unified market symbol
44684
- * @param {int} [since] the earliest time in ms to fetch trades for
44685
- * @param {int} [limit] the maximum number of trades structures to retrieve
44686
- * @param {object} [params] extra parameters specific to the exchange API endpoint
44687
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
44688
- */
44689
- if (symbol === undefined) {
44690
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
44691
- }
44692
- await this.loadMarkets();
44693
- const request = {
44694
- // 'symbol': market['id'],
44695
- // 'orderId': orderId,
44696
- // 'startTime': timestamp,
44697
- // 'endTime': timestamp,
44698
- // 'limit': limit, // default 500, max 1000
44699
- };
44700
- const market = this.market(symbol);
44701
- request['symbol'] = market['id'];
44702
- if (limit !== undefined) {
44703
- request['limit'] = limit;
44704
- }
44705
- if (since !== undefined) {
44706
- request['startTime'] = Math.max(since - 1, 0);
44707
- }
44708
- const endTime = this.safeInteger2(params, 'until', 'endTime');
44709
- if (endTime !== undefined) {
44710
- request['endTime'] = endTime;
44711
- }
44712
- params = this.omit(params, ['until']);
44713
- const response = await this.privatePostApiV1TradeMyTrades(this.extend(request, params));
44714
- //
44715
- // {
44716
- // "data": [
44717
- // {
44718
- // "symbol": "coin-usdt-babydoge",
44719
- // "tid": 7289,
44720
- // "orderId": "a262d030-11a5-40fd-a07c-7ba84aa68752",
44721
- // "price": "0.000007",
44722
- // "amount": "50000000",
44723
- // "tradeFee": "0.35",
44724
- // "tradeFeeCurrency": "usdt",
44725
- // "time": "1684750536460",
44726
- // "isBuyer": false,
44727
- // "isMaker": false,
44728
- // "isSelfTrade": true
44729
- // }
44730
- // ],
44731
- // "success": true,
44732
- // "time": 1685009320042
44733
- // }
44734
- //
44735
- const data = this.safeValue(response, 'data', []);
44736
- return this.parseTrades(data, market, since, limit);
44737
- }
44738
- parseBalance(response) {
44739
- const data = response['data'];
44740
- const result = { 'info': response };
44741
- for (let i = 0; i < data.length; i++) {
44742
- const balance = data[i];
44743
- const currencyId = this.safeString(balance, 'currency');
44744
- const code = this.safeCurrencyCode(currencyId);
44745
- const account = this.account();
44746
- account['used'] = this.safeString(balance, 'frozen');
44747
- account['free'] = this.safeString(balance, 'active');
44748
- account['total'] = this.safeString(balance, 'fix');
44749
- result[code] = account;
44750
- }
44751
- return this.safeBalance(result);
44752
- }
44753
- async fetchBalance(params = {}) {
44754
- /**
44755
- * @method
44756
- * @name bitforex#fetchBalance
44757
- * @description query for balance and get the amount of funds available for trading or funds locked in orders
44758
- * @see https://apidoc.bitforex.com/#user-all-asset-information-user_data
44759
- * @param {object} [params] extra parameters specific to the exchange API endpoint
44760
- * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
44761
- */
44762
- await this.loadMarkets();
44763
- const response = await this.privatePostApiV1FundAllAccount(params);
44764
- return this.parseBalance(response);
44765
- }
44766
- parseTicker(ticker, market = undefined) {
44767
- //
44768
- // {
44769
- // "buy":7.04E-7,
44770
- // "date":1643371198598,
44771
- // "high":7.48E-7,
44772
- // "last":7.28E-7,
44773
- // "low":7.10E-7,
44774
- // "sell":7.54E-7,
44775
- // "vol":9877287.2874
44776
- // }
44777
- //
44778
- const symbol = this.safeSymbol(undefined, market);
44779
- const timestamp = this.safeInteger(ticker, 'date');
44780
- return this.safeTicker({
44781
- 'symbol': symbol,
44782
- 'timestamp': timestamp,
44783
- 'datetime': this.iso8601(timestamp),
44784
- 'high': this.safeString(ticker, 'high'),
44785
- 'low': this.safeString(ticker, 'low'),
44786
- 'bid': this.safeString(ticker, 'buy'),
44787
- 'bidVolume': undefined,
44788
- 'ask': this.safeString(ticker, 'sell'),
44789
- 'askVolume': undefined,
44790
- 'vwap': undefined,
44791
- 'open': undefined,
44792
- 'close': this.safeString(ticker, 'last'),
44793
- 'last': this.safeString(ticker, 'last'),
44794
- 'previousClose': undefined,
44795
- 'change': undefined,
44796
- 'percentage': undefined,
44797
- 'average': undefined,
44798
- 'baseVolume': this.safeString(ticker, 'vol'),
44799
- 'quoteVolume': undefined,
44800
- 'info': ticker,
44801
- }, market);
44802
- }
44803
- async fetchTicker(symbol, params = {}) {
44804
- /**
44805
- * @method
44806
- * @name bitforex#fetchTicker
44807
- * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
44808
- * @see https://apidoc.bitforex.com/#exchange-information
44809
- * @param {string} symbol unified symbol of the market to fetch the ticker for
44810
- * @param {object} [params] extra parameters specific to the exchange API endpoint
44811
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
44812
- */
44813
- await this.loadMarkets();
44814
- const market = this.markets[symbol];
44815
- const request = {
44816
- 'symbol': market['id'],
44817
- };
44818
- const response = await this.publicGetApiV1MarketTickerAll(this.extend(request, params));
44819
- const ticker = this.safeValue(response, 'data');
44820
- //
44821
- // {
44822
- // "data":{
44823
- // "buy":37082.83,
44824
- // "date":1643388686660,
44825
- // "high":37487.83,
44826
- // "last":37086.79,
44827
- // "low":35544.44,
44828
- // "sell":37090.52,
44829
- // "vol":690.9776
44830
- // },
44831
- // "success":true,
44832
- // "time":1643388686660
44833
- // }
44834
- //
44835
- return this.parseTicker(ticker, market);
44836
- }
44837
- parseOHLCV(ohlcv, market = undefined) {
44838
- //
44839
- // {
44840
- // "close":0.02505143,
44841
- // "currencyVol":0,
44842
- // "high":0.02506422,
44843
- // "low":0.02505143,
44844
- // "open":0.02506095,
44845
- // "time":1591508940000,
44846
- // "vol":51.1869
44847
- // }
44848
- //
44849
- return [
44850
- this.safeInteger(ohlcv, 'time'),
44851
- this.safeNumber(ohlcv, 'open'),
44852
- this.safeNumber(ohlcv, 'high'),
44853
- this.safeNumber(ohlcv, 'low'),
44854
- this.safeNumber(ohlcv, 'close'),
44855
- this.safeNumber(ohlcv, 'vol'),
44856
- ];
44857
- }
44858
- async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
44859
- /**
44860
- * @method
44861
- * @name bitforex#fetchOHLCV
44862
- * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
44863
- * @see https://apidoc.bitforex.com/#kline
44864
- * @param {string} symbol unified symbol of the market to fetch OHLCV data for
44865
- * @param {string} timeframe the length of time each candle represents
44866
- * @param {int} [since] timestamp in ms of the earliest candle to fetch
44867
- * @param {int} [limit] the maximum amount of candles to fetch
44868
- * @param {object} [params] extra parameters specific to the exchange API endpoint
44869
- * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
44870
- */
44871
- await this.loadMarkets();
44872
- const market = this.market(symbol);
44873
- const request = {
44874
- 'symbol': market['id'],
44875
- 'ktype': this.safeString(this.timeframes, timeframe, timeframe),
44876
- };
44877
- if (limit !== undefined) {
44878
- request['size'] = limit; // default 1, max 600
44879
- }
44880
- const response = await this.publicGetApiV1MarketKline(this.extend(request, params));
44881
- //
44882
- // {
44883
- // "data":[
44884
- // {"close":0.02505143,"currencyVol":0,"high":0.02506422,"low":0.02505143,"open":0.02506095,"time":1591508940000,"vol":51.1869},
44885
- // {"close":0.02503914,"currencyVol":0,"high":0.02506687,"low":0.02503914,"open":0.02505358,"time":1591509000000,"vol":9.1082},
44886
- // {"close":0.02505172,"currencyVol":0,"high":0.02507466,"low":0.02503895,"open":0.02506371,"time":1591509060000,"vol":63.7431},
44887
- // ],
44888
- // "success":true,
44889
- // "time":1591509427131
44890
- // }
44891
- //
44892
- const data = this.safeValue(response, 'data', []);
44893
- return this.parseOHLCVs(data, market, timeframe, since, limit);
44894
- }
44895
- async fetchOrderBook(symbol, limit = undefined, params = {}) {
44896
- /**
44897
- * @method
44898
- * @name bitforex#fetchOrderBook
44899
- * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
44900
- * @see https://apidoc.bitforex.com/#order-book
44901
- * @param {string} symbol unified symbol of the market to fetch the order book for
44902
- * @param {int} [limit] the maximum amount of order book entries to return
44903
- * @param {object} [params] extra parameters specific to the exchange API endpoint
44904
- * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
44905
- */
44906
- await this.loadMarkets();
44907
- const market = this.market(symbol);
44908
- const request = {
44909
- 'symbol': market['id'],
44910
- };
44911
- if (limit !== undefined) {
44912
- request['size'] = limit;
44913
- }
44914
- const response = await this.publicGetApiV1MarketDepthAll(this.extend(request, params));
44915
- const data = this.safeValue(response, 'data');
44916
- const timestamp = this.safeInteger(response, 'time');
44917
- return this.parseOrderBook(data, market['symbol'], timestamp, 'bids', 'asks', 'price', 'amount');
44918
- }
44919
- parseOrderStatus(status) {
44920
- const statuses = {
44921
- '0': 'open',
44922
- '1': 'open',
44923
- '2': 'closed',
44924
- '3': 'canceled',
44925
- '4': 'canceled',
44926
- };
44927
- return (status in statuses) ? statuses[status] : status;
44928
- }
44929
- parseSide(sideId) {
44930
- if (sideId === 1) {
44931
- return 'buy';
44932
- }
44933
- else if (sideId === 2) {
44934
- return 'sell';
44935
- }
44936
- else {
44937
- return undefined;
44938
- }
44939
- }
44940
- parseOrder(order, market = undefined) {
44941
- const id = this.safeString(order, 'orderId');
44942
- const timestamp = this.safeInteger(order, 'createTime');
44943
- const lastTradeTimestamp = this.safeInteger(order, 'lastTime');
44944
- const symbol = market['symbol'];
44945
- const sideId = this.safeInteger(order, 'tradeType');
44946
- const side = this.parseSide(sideId);
44947
- const type = undefined;
44948
- const price = this.safeString(order, 'orderPrice');
44949
- const average = this.safeString(order, 'avgPrice');
44950
- const amount = this.safeString(order, 'orderAmount');
44951
- const filled = this.safeString(order, 'dealAmount');
44952
- const status = this.parseOrderStatus(this.safeString(order, 'orderState'));
44953
- const feeSide = (side === 'buy') ? 'base' : 'quote';
44954
- const feeCurrency = market[feeSide];
44955
- const fee = {
44956
- 'cost': this.safeNumber(order, 'tradeFee'),
44957
- 'currency': feeCurrency,
44958
- };
44959
- return this.safeOrder({
44960
- 'info': order,
44961
- 'id': id,
44962
- 'clientOrderId': undefined,
44963
- 'timestamp': timestamp,
44964
- 'datetime': this.iso8601(timestamp),
44965
- 'lastTradeTimestamp': lastTradeTimestamp,
44966
- 'symbol': symbol,
44967
- 'type': type,
44968
- 'timeInForce': undefined,
44969
- 'postOnly': undefined,
44970
- 'side': side,
44971
- 'price': price,
44972
- 'stopPrice': undefined,
44973
- 'triggerPrice': undefined,
44974
- 'cost': undefined,
44975
- 'average': average,
44976
- 'amount': amount,
44977
- 'filled': filled,
44978
- 'remaining': undefined,
44979
- 'status': status,
44980
- 'fee': fee,
44981
- 'trades': undefined,
44982
- }, market);
44983
- }
44984
- async cancelAllOrders(symbol = undefined, params = {}) {
44985
- /**
44986
- * @method
44987
- * @name bitforex#cancelAllOrders
44988
- * @see https://github.com/githubdev2020/API_Doc_en/wiki/Cancle-all-orders
44989
- * @description cancel all open orders in a market
44990
- * @param {string} symbol unified market symbol of the market to cancel orders in
44991
- * @param {object} [params] extra parameters specific to the exchange API endpoint
44992
- * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
44993
- */
44994
- if (symbol === undefined) {
44995
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' cancelAllOrders () requires a symbol argument');
44996
- }
44997
- await this.loadMarkets();
44998
- const market = this.market(symbol);
44999
- const request = {
45000
- 'symbol': market['id'],
45001
- };
45002
- const response = await this.privatePostApiV1TradeCancelAllOrder(this.extend(request, params));
45003
- //
45004
- // {
45005
- // 'data': True,
45006
- // 'success': True,
45007
- // 'time': '1706542995252'
45008
- // }
45009
- //
45010
- return response;
45011
- }
45012
- async fetchOrder(id, symbol = undefined, params = {}) {
45013
- /**
45014
- * @method
45015
- * @name bitforex#fetchOrder
45016
- * @description fetches information on an order made by the user
45017
- * @see https://apidoc.bitforex.com/#order-information-user_data
45018
- * @param {string} symbol unified symbol of the market the order was made in
45019
- * @param {object} [params] extra parameters specific to the exchange API endpoint
45020
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
45021
- */
45022
- await this.loadMarkets();
45023
- const market = this.market(symbol);
45024
- const request = {
45025
- 'symbol': this.marketId(symbol),
45026
- 'orderId': id,
45027
- };
45028
- const response = await this.privatePostApiV1TradeOrderInfo(this.extend(request, params));
45029
- const order = this.parseOrder(response['data'], market);
45030
- return order;
45031
- }
45032
- async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
45033
- /**
45034
- * @method
45035
- * @name bitforex#fetchOpenOrders
45036
- * @description fetch all unfilled currently open orders
45037
- * @param {string} symbol unified market symbol
45038
- * @param {int} [since] the earliest time in ms to fetch open orders for
45039
- * @param {int} [limit] the maximum number of open order structures to retrieve
45040
- * @param {object} [params] extra parameters specific to the exchange API endpoint
45041
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
45042
- */
45043
- if (symbol === undefined) {
45044
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchOpenOrders() requires a symbol argument');
45045
- }
45046
- await this.loadMarkets();
45047
- const market = this.market(symbol);
45048
- const request = {
45049
- 'symbol': market['id'],
45050
- 'state': 0,
45051
- };
45052
- const response = await this.privatePostApiV1TradeOrderInfos(this.extend(request, params));
45053
- return this.parseOrders(response['data'], market, since, limit);
45054
- }
45055
- async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
45056
- /**
45057
- * @method
45058
- * @name bitforex#fetchClosedOrders
45059
- * @description fetches information on multiple closed orders made by the user
45060
- * @param {string} symbol unified market symbol of the market orders were made in
45061
- * @param {int} [since] the earliest time in ms to fetch orders for
45062
- * @param {int} [limit] the maximum number of order structures to retrieve
45063
- * @param {object} [params] extra parameters specific to the exchange API endpoint
45064
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
45065
- */
45066
- if (symbol === undefined) {
45067
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchClosedOrders() requires a symbol argument');
45068
- }
45069
- await this.loadMarkets();
45070
- const market = this.market(symbol);
45071
- const request = {
45072
- 'symbol': market['id'],
45073
- 'state': 1,
45074
- };
45075
- const response = await this.privatePostApiV1TradeOrderInfos(this.extend(request, params));
45076
- return this.parseOrders(response['data'], market, since, limit);
45077
- }
45078
- async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
45079
- /**
45080
- * @method
45081
- * @name bitforex#createOrder
45082
- * @description create a trade order
45083
- * @see https://apidoc.bitforex.com/#new-order-trade
45084
- * @param {string} symbol unified symbol of the market to create an order in
45085
- * @param {string} type 'market' or 'limit'
45086
- * @param {string} side 'buy' or 'sell'
45087
- * @param {float} amount how much of currency you want to trade in units of base currency
45088
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
45089
- * @param {object} [params] extra parameters specific to the exchange API endpoint
45090
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
45091
- */
45092
- await this.loadMarkets();
45093
- let sideId = undefined;
45094
- if (side === 'buy') {
45095
- sideId = 1;
45096
- }
45097
- else if (side === 'sell') {
45098
- sideId = 2;
45099
- }
45100
- const market = this.market(symbol);
45101
- const request = {
45102
- 'symbol': market['id'],
45103
- 'price': price,
45104
- 'amount': amount,
45105
- 'tradeType': sideId,
45106
- };
45107
- const response = await this.privatePostApiV1TradePlaceOrder(this.extend(request, params));
45108
- const data = response['data'];
45109
- return this.safeOrder({
45110
- 'info': response,
45111
- 'id': this.safeString(data, 'orderId'),
45112
- }, market);
45113
- }
45114
- async cancelOrder(id, symbol = undefined, params = {}) {
45115
- /**
45116
- * @method
45117
- * @name bitforex#cancelOrder
45118
- * @description cancels an open order
45119
- * @see https://apidoc.bitforex.com/#cancel-order-trade
45120
- * @param {string} id order id
45121
- * @param {string} symbol unified symbol of the market the order was made in
45122
- * @param {object} [params] extra parameters specific to the exchange API endpoint
45123
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
45124
- */
45125
- await this.loadMarkets();
45126
- const request = {
45127
- 'orderId': id,
45128
- };
45129
- if (symbol !== undefined) {
45130
- request['symbol'] = this.marketId(symbol);
45131
- }
45132
- const results = await this.privatePostApiV1TradeCancelOrder(this.extend(request, params));
45133
- const success = results['success'];
45134
- const returnVal = { 'info': results, 'success': success };
45135
- return returnVal;
45136
- }
45137
- sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
45138
- let url = this.urls['api']['rest'] + '/' + this.implodeParams(path, params);
45139
- const query = this.omit(params, this.extractParams(path));
45140
- if (api === 'public') {
45141
- if (Object.keys(query).length) {
45142
- url += '?' + this.urlencode(query);
45143
- }
45144
- }
45145
- else {
45146
- this.checkRequiredCredentials();
45147
- let payload = this.urlencode({ 'accessKey': this.apiKey });
45148
- query['nonce'] = this.milliseconds();
45149
- if (Object.keys(query).length) {
45150
- payload += '&' + this.urlencode(this.keysort(query));
45151
- }
45152
- // let message = '/' + 'api/' + this.version + '/' + path + '?' + payload;
45153
- const message = '/' + path + '?' + payload;
45154
- const signature = this.hmac(this.encode(message), this.encode(this.secret), _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_3__/* .sha256 */ .J);
45155
- body = payload + '&signData=' + signature;
45156
- headers = {
45157
- 'Content-Type': 'application/x-www-form-urlencoded',
45158
- };
45159
- }
45160
- return { 'url': url, 'method': method, 'body': body, 'headers': headers };
45161
- }
45162
- handleErrors(code, reason, url, method, headers, body, response, requestHeaders, requestBody) {
45163
- if (typeof body !== 'string') {
45164
- return undefined; // fallback to default error handler
45165
- }
45166
- if ((body[0] === '{') || (body[0] === '[')) {
45167
- const feedback = this.id + ' ' + body;
45168
- const success = this.safeValue(response, 'success');
45169
- if (success !== undefined) {
45170
- if (!success) {
45171
- const codeInner = this.safeString(response, 'code');
45172
- this.throwExactlyMatchedException(this.exceptions, codeInner, feedback);
45173
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError(feedback);
45174
- }
45175
- }
45176
- }
45177
- return undefined;
45178
- }
45179
- }
45180
-
45181
-
45182
44431
  /***/ }),
45183
44432
 
45184
44433
  /***/ 9051:
@@ -48783,6 +48032,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
48783
48032
  'not_trigger': 'open',
48784
48033
  'partial_fill': 'open',
48785
48034
  'partially_fill': 'open',
48035
+ 'partially_filled': 'open',
48786
48036
  'triggered': 'closed',
48787
48037
  'full_fill': 'closed',
48788
48038
  'filled': 'closed',
@@ -73965,7 +73215,7 @@ class bitvavo extends _abstract_bitvavo_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
73965
73215
  // "market":"ETH-BTC",
73966
73216
  // "open":"0.022578",
73967
73217
  // "high":"0.023019",
73968
- // "low":"0.022573",
73218
+ // "low":"0.022572",
73969
73219
  // "last":"0.023019",
73970
73220
  // "volume":"25.16366324",
73971
73221
  // "volumeQuote":"0.57333305",
@@ -92857,6 +92107,7 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
92857
92107
  'createStopLimitOrder': true,
92858
92108
  'createStopMarketOrder': false,
92859
92109
  'createStopOrder': true,
92110
+ 'deposit': true,
92860
92111
  'editOrder': true,
92861
92112
  'fetchAccounts': true,
92862
92113
  'fetchBalance': true,
@@ -92868,6 +92119,7 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
92868
92119
  'fetchCrossBorrowRate': false,
92869
92120
  'fetchCrossBorrowRates': false,
92870
92121
  'fetchCurrencies': true,
92122
+ 'fetchDeposit': true,
92871
92123
  'fetchDepositAddress': 'emulated',
92872
92124
  'fetchDepositAddresses': false,
92873
92125
  'fetchDepositAddressesByNetwork': true,
@@ -92996,6 +92248,11 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
92996
92248
  },
92997
92249
  },
92998
92250
  'v3': {
92251
+ 'public': {
92252
+ 'get': [
92253
+ 'brokerage/time',
92254
+ ],
92255
+ },
92999
92256
  'private': {
93000
92257
  'get': [
93001
92258
  'brokerage/accounts',
@@ -93013,7 +92270,6 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
93013
92270
  'brokerage/product_book',
93014
92271
  'brokerage/best_bid_ask',
93015
92272
  'brokerage/convert/trade/{trade_id}',
93016
- 'brokerage/time',
93017
92273
  'brokerage/cfm/balance_summary',
93018
92274
  'brokerage/cfm/positions',
93019
92275
  'brokerage/cfm/positions/{product_id}',
@@ -93144,6 +92400,7 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
93144
92400
  'fetchTickers': 'fetchTickersV3',
93145
92401
  'fetchAccounts': 'fetchAccountsV3',
93146
92402
  'fetchBalance': 'v2PrivateGetAccounts',
92403
+ 'fetchTime': 'v2PublicGetTime',
93147
92404
  'user_native_currency': 'USD', // needed to get fees for v3
93148
92405
  },
93149
92406
  });
@@ -93155,19 +92412,36 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
93155
92412
  * @description fetches the current integer timestamp in milliseconds from the exchange server
93156
92413
  * @see https://docs.cloud.coinbase.com/sign-in-with-coinbase/docs/api-time#http-request
93157
92414
  * @param {object} [params] extra parameters specific to the exchange API endpoint
92415
+ * @param {string} [params.method] 'v2PublicGetTime' or 'v3PublicGetBrokerageTime' default is 'v2PublicGetTime'
93158
92416
  * @returns {int} the current integer timestamp in milliseconds from the exchange server
93159
92417
  */
93160
- const response = await this.v2PublicGetTime(params);
93161
- //
93162
- // {
93163
- // "data": {
93164
- // "epoch": 1589295679,
93165
- // "iso": "2020-05-12T15:01:19Z"
93166
- // }
93167
- // }
93168
- //
93169
- const data = this.safeValue(response, 'data', {});
93170
- return this.safeTimestamp(data, 'epoch');
92418
+ const defaultMethod = this.safeString(this.options, 'fetchTime', 'v2PublicGetTime');
92419
+ const method = this.safeString(params, 'method', defaultMethod);
92420
+ params = this.omit(params, 'method');
92421
+ let response = undefined;
92422
+ if (method === 'v2PublicGetTime') {
92423
+ response = await this.v2PublicGetTime(params);
92424
+ //
92425
+ // {
92426
+ // "data": {
92427
+ // "epoch": 1589295679,
92428
+ // "iso": "2020-05-12T15:01:19Z"
92429
+ // }
92430
+ // }
92431
+ //
92432
+ response = this.safeValue(response, 'data', {});
92433
+ }
92434
+ else {
92435
+ response = await this.v3PublicGetBrokerageTime(params);
92436
+ //
92437
+ // {
92438
+ // "iso": "2024-02-27T03:37:14Z",
92439
+ // "epochSeconds": "1709005034",
92440
+ // "epochMillis": "1709005034333"
92441
+ // }
92442
+ //
92443
+ }
92444
+ return this.safeTimestamp2(response, 'epoch', 'epochSeconds');
93171
92445
  }
93172
92446
  async fetchAccounts(params = {}) {
93173
92447
  /**
@@ -94563,6 +93837,7 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
94563
93837
  response = await this.v3PrivateGetBrokerageAccounts(this.extend(request, params));
94564
93838
  }
94565
93839
  else {
93840
+ request['limit'] = 100;
94566
93841
  response = await this.v2PrivateGetAccounts(this.extend(request, params));
94567
93842
  }
94568
93843
  //
@@ -96342,6 +95617,145 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
96342
95617
  'network': this.networkIdToCode(networkId, code),
96343
95618
  };
96344
95619
  }
95620
+ async deposit(code, amount, id, params = {}) {
95621
+ /**
95622
+ * @method
95623
+ * @name coinbase#deposit
95624
+ * @description make a deposit
95625
+ * @see https://docs.cloud.coinbase.com/sign-in-with-coinbase/docs/api-deposits#deposit-funds
95626
+ * @param {string} code unified currency code
95627
+ * @param {float} amount the amount to deposit
95628
+ * @param {string} id the payment method id to be used for the deposit, can be retrieved from v2PrivateGetPaymentMethods
95629
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
95630
+ * @param {string} [params.accountId] the id of the account to deposit into
95631
+ * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
95632
+ */
95633
+ await this.loadMarkets();
95634
+ let accountId = this.safeString2(params, 'account_id', 'accountId');
95635
+ params = this.omit(params, ['account_id', 'accountId']);
95636
+ if (accountId === undefined) {
95637
+ if (code === undefined) {
95638
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' deposit() requires an account_id (or accountId) parameter OR a currency code argument');
95639
+ }
95640
+ accountId = await this.findAccountId(code);
95641
+ if (accountId === undefined) {
95642
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError(this.id + ' deposit() could not find account id for ' + code);
95643
+ }
95644
+ }
95645
+ const request = {
95646
+ 'account_id': accountId,
95647
+ 'amount': this.numberToString(amount),
95648
+ 'currency': code.toUpperCase(),
95649
+ 'payment_method': id,
95650
+ };
95651
+ const response = await this.v2PrivatePostAccountsAccountIdDeposits(this.extend(request, params));
95652
+ //
95653
+ // {
95654
+ // "data": {
95655
+ // "id": "67e0eaec-07d7-54c4-a72c-2e92826897df",
95656
+ // "status": "created",
95657
+ // "payment_method": {
95658
+ // "id": "83562370-3e5c-51db-87da-752af5ab9559",
95659
+ // "resource": "payment_method",
95660
+ // "resource_path": "/v2/payment-methods/83562370-3e5c-51db-87da-752af5ab9559"
95661
+ // },
95662
+ // "transaction": {
95663
+ // "id": "441b9494-b3f0-5b98-b9b0-4d82c21c252a",
95664
+ // "resource": "transaction",
95665
+ // "resource_path": "/v2/accounts/2bbf394c-193b-5b2a-9155-3b4732659ede/transactions/441b9494-b3f0-5b98-b9b0-4d82c21c252a"
95666
+ // },
95667
+ // "amount": {
95668
+ // "amount": "10.00",
95669
+ // "currency": "USD"
95670
+ // },
95671
+ // "subtotal": {
95672
+ // "amount": "10.00",
95673
+ // "currency": "USD"
95674
+ // },
95675
+ // "created_at": "2015-01-31T20:49:02Z",
95676
+ // "updated_at": "2015-02-11T16:54:02-08:00",
95677
+ // "resource": "deposit",
95678
+ // "resource_path": "/v2/accounts/2bbf394c-193b-5b2a-9155-3b4732659ede/deposits/67e0eaec-07d7-54c4-a72c-2e92826897df",
95679
+ // "committed": true,
95680
+ // "fee": {
95681
+ // "amount": "0.00",
95682
+ // "currency": "USD"
95683
+ // },
95684
+ // "payout_at": "2015-02-18T16:54:00-08:00"
95685
+ // }
95686
+ // }
95687
+ //
95688
+ const data = this.safeDict(response, 'data', {});
95689
+ return this.parseTransaction(data);
95690
+ }
95691
+ async fetchDeposit(id, code = undefined, params = {}) {
95692
+ /**
95693
+ * @method
95694
+ * @name coinbase#fetchDeposit
95695
+ * @description fetch information on a deposit, fiat only, for crypto transactions use fetchLedger
95696
+ * @see https://docs.cloud.coinbase.com/sign-in-with-coinbase/docs/api-deposits#show-deposit
95697
+ * @param {string} id deposit id
95698
+ * @param {string} [code] unified currency code
95699
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
95700
+ * @param {string} [params.accountId] the id of the account that the funds were deposited into
95701
+ * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
95702
+ */
95703
+ await this.loadMarkets();
95704
+ let accountId = this.safeString2(params, 'account_id', 'accountId');
95705
+ params = this.omit(params, ['account_id', 'accountId']);
95706
+ if (accountId === undefined) {
95707
+ if (code === undefined) {
95708
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchDeposit() requires an account_id (or accountId) parameter OR a currency code argument');
95709
+ }
95710
+ accountId = await this.findAccountId(code);
95711
+ if (accountId === undefined) {
95712
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError(this.id + ' fetchDeposit() could not find account id for ' + code);
95713
+ }
95714
+ }
95715
+ const request = {
95716
+ 'account_id': accountId,
95717
+ 'deposit_id': id,
95718
+ };
95719
+ const response = await this.v2PrivateGetAccountsAccountIdDepositsDepositId(this.extend(request, params));
95720
+ //
95721
+ // {
95722
+ // "data": {
95723
+ // "id": "67e0eaec-07d7-54c4-a72c-2e92826897df",
95724
+ // "status": "completed",
95725
+ // "payment_method": {
95726
+ // "id": "83562370-3e5c-51db-87da-752af5ab9559",
95727
+ // "resource": "payment_method",
95728
+ // "resource_path": "/v2/payment-methods/83562370-3e5c-51db-87da-752af5ab9559"
95729
+ // },
95730
+ // "transaction": {
95731
+ // "id": "441b9494-b3f0-5b98-b9b0-4d82c21c252a",
95732
+ // "resource": "transaction",
95733
+ // "resource_path": "/v2/accounts/2bbf394c-193b-5b2a-9155-3b4732659ede/transactions/441b9494-b3f0-5b98-b9b0-4d82c21c252a"
95734
+ // },
95735
+ // "amount": {
95736
+ // "amount": "10.00",
95737
+ // "currency": "USD"
95738
+ // },
95739
+ // "subtotal": {
95740
+ // "amount": "10.00",
95741
+ // "currency": "USD"
95742
+ // },
95743
+ // "created_at": "2015-01-31T20:49:02Z",
95744
+ // "updated_at": "2015-02-11T16:54:02-08:00",
95745
+ // "resource": "deposit",
95746
+ // "resource_path": "/v2/accounts/2bbf394c-193b-5b2a-9155-3b4732659ede/deposits/67e0eaec-07d7-54c4-a72c-2e92826897df",
95747
+ // "committed": true,
95748
+ // "fee": {
95749
+ // "amount": "0.00",
95750
+ // "currency": "USD"
95751
+ // },
95752
+ // "payout_at": "2015-02-18T16:54:00-08:00"
95753
+ // }
95754
+ // }
95755
+ //
95756
+ const data = this.safeValue(response, 'data', {});
95757
+ return this.parseTransaction(data);
95758
+ }
96345
95759
  sign(path, api = [], method = 'GET', params = {}, headers = undefined, body = undefined) {
96346
95760
  const version = api[0];
96347
95761
  const signed = api[1] === 'private';
@@ -96362,6 +95776,11 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
96362
95776
  'Authorization': authorization,
96363
95777
  'Content-Type': 'application/json',
96364
95778
  };
95779
+ if (method !== 'GET') {
95780
+ if (Object.keys(query).length) {
95781
+ body = this.json(query);
95782
+ }
95783
+ }
96365
95784
  }
96366
95785
  else if (this.token && !this.checkRequiredCredentials(false)) {
96367
95786
  headers = {
@@ -96384,6 +95803,11 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
96384
95803
  payload = body;
96385
95804
  }
96386
95805
  }
95806
+ else {
95807
+ if (Object.keys(query).length) {
95808
+ payload += '?' + this.urlencode(query);
95809
+ }
95810
+ }
96387
95811
  const auth = nonce + method + savedPath + payload;
96388
95812
  const signature = this.hmac(this.encode(auth), this.encode(this.secret), _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_4__/* .sha256 */ .J);
96389
95813
  headers = {
@@ -125079,7 +124503,7 @@ class deribit extends _abstract_deribit_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
125079
124503
  // 'tfa': '123456', // if enabled
125080
124504
  };
125081
124505
  if (this.twofa !== undefined) {
125082
- request['tfa'] = (0,_base_functions_totp_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(this.twofa);
124506
+ request['tfa'] = (0,_base_functions_totp_js__WEBPACK_IMPORTED_MODULE_4__/* .totp */ .H)(this.twofa);
125083
124507
  }
125084
124508
  const response = await this.privateGetWithdraw(this.extend(request, params));
125085
124509
  return this.parseTransaction(response, currency);
@@ -148438,9 +147862,10 @@ class htx extends _abstract_htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
148438
147862
  async fetchStatus(params = {}) {
148439
147863
  await this.loadMarkets();
148440
147864
  let marketType = undefined;
148441
- [marketType, params] = this.handleMarketTypeAndParams('fetchMyTrades', undefined, params);
147865
+ [marketType, params] = this.handleMarketTypeAndParams('fetchStatus', undefined, params);
147866
+ const enabledForContracts = this.handleOption('fetchStatus', 'enableForContracts', false); // temp fix for: https://status-linear-swap.huobigroup.com/api/v2/summary.json
148442
147867
  let response = undefined;
148443
- if (marketType !== 'spot') {
147868
+ if (marketType !== 'spot' && enabledForContracts) {
148444
147869
  const subType = this.safeString(params, 'subType', this.options['defaultSubType']);
148445
147870
  if (marketType === 'swap') {
148446
147871
  if (subType === 'linear') {
@@ -148462,7 +147887,7 @@ class htx extends _abstract_htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
148462
147887
  response = await this.contractPublicGetHeartbeat();
148463
147888
  }
148464
147889
  }
148465
- else {
147890
+ else if (marketType === 'spot') {
148466
147891
  response = await this.statusPublicSpotGetApiV2SummaryJson();
148467
147892
  }
148468
147893
  //
@@ -148631,7 +148056,12 @@ class htx extends _abstract_htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
148631
148056
  let url = undefined;
148632
148057
  if (marketType === 'contract') {
148633
148058
  const statusRaw = this.safeString(response, 'status');
148634
- status = (statusRaw === 'ok') ? 'ok' : 'maintenance'; // 'ok', 'error'
148059
+ if (statusRaw === undefined) {
148060
+ status = undefined;
148061
+ }
148062
+ else {
148063
+ status = (statusRaw === 'ok') ? 'ok' : 'maintenance'; // 'ok', 'error'
148064
+ }
148635
148065
  updated = this.safeString(response, 'ts');
148636
148066
  }
148637
148067
  else {
@@ -190687,7 +190117,7 @@ class ndax extends _abstract_ndax_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
190687
190117
  }
190688
190118
  this.options['pending2faToken'] = pending2faToken;
190689
190119
  request = {
190690
- 'Code': (0,_base_functions_totp_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)(this.twofa),
190120
+ 'Code': (0,_base_functions_totp_js__WEBPACK_IMPORTED_MODULE_3__/* .totp */ .H)(this.twofa),
190691
190121
  };
190692
190122
  const responseInner = await this.publicGetAuthenticate2FA(this.extend(request, params));
190693
190123
  //
@@ -192751,7 +192181,7 @@ class ndax extends _abstract_ndax_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
192751
192181
  };
192752
192182
  const withdrawRequest = {
192753
192183
  'TfaType': 'Google',
192754
- 'TFaCode': (0,_base_functions_totp_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)(this.twofa),
192184
+ 'TFaCode': (0,_base_functions_totp_js__WEBPACK_IMPORTED_MODULE_3__/* .totp */ .H)(this.twofa),
192755
192185
  'Payload': this.json(withdrawPayload),
192756
192186
  };
192757
192187
  const response = await this.privatePostCreateWithdrawTicket(this.deepExtend(withdrawRequest, params));
@@ -220551,9 +219981,11 @@ class binance extends _binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
220551
219981
  'fetchDepositsWs': false,
220552
219982
  'fetchMarketsWs': false,
220553
219983
  'fetchMyTradesWs': true,
219984
+ 'fetchOHLCVWs': true,
220554
219985
  'fetchOpenOrdersWs': true,
220555
219986
  'fetchOrderWs': true,
220556
219987
  'fetchOrdersWs': true,
219988
+ 'fetchTradesWs': true,
220557
219989
  'fetchTradingFeesWs': false,
220558
219990
  'fetchWithdrawalsWs': false,
220559
219991
  },
@@ -221350,6 +220782,94 @@ class binance extends _binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
221350
220782
  stored.append(parsed);
221351
220783
  client.resolve(stored, messageHash);
221352
220784
  }
220785
+ async fetchOHLCVWs(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
220786
+ /**
220787
+ * @method
220788
+ * @name binance#fetchOHLCVWs
220789
+ * @see https://binance-docs.github.io/apidocs/websocket_api/en/#klines
220790
+ * @description query historical candlestick data containing the open, high, low, and close price, and the volume of a market
220791
+ * @param {string} symbol unified symbol of the market to query OHLCV data for
220792
+ * @param {string} timeframe the length of time each candle represents
220793
+ * @param {int} since timestamp in ms of the earliest candle to fetch
220794
+ * @param {int} limit the maximum amount of candles to fetch
220795
+ * @param {object} params extra parameters specific to the exchange API endpoint
220796
+ * @param {int} params.until timestamp in ms of the earliest candle to fetch
220797
+ *
220798
+ * EXCHANGE SPECIFIC PARAMETERS
220799
+ * @param {string} params.timeZone default=0 (UTC)
220800
+ * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
220801
+ */
220802
+ await this.loadMarkets();
220803
+ this.checkIsSpot('fetchOHLCVWs', symbol, params);
220804
+ const url = this.urls['api']['ws']['ws'];
220805
+ const requestId = this.requestId(url);
220806
+ const messageHash = requestId.toString();
220807
+ let returnRateLimits = false;
220808
+ [returnRateLimits, params] = this.handleOptionAndParams(params, 'fetchOHLCVWs', 'returnRateLimits', false);
220809
+ const payload = {
220810
+ 'symbol': this.marketId(symbol),
220811
+ 'returnRateLimits': returnRateLimits,
220812
+ 'interval': this.timeframes[timeframe],
220813
+ };
220814
+ const until = this.safeInteger(params, 'until');
220815
+ params = this.omit(params, 'until');
220816
+ if (since !== undefined) {
220817
+ payload['startTime'] = since;
220818
+ }
220819
+ if (limit !== undefined) {
220820
+ payload['limit'] = limit;
220821
+ }
220822
+ if (until !== undefined) {
220823
+ payload['endTime'] = until;
220824
+ }
220825
+ const message = {
220826
+ 'id': messageHash,
220827
+ 'method': 'klines',
220828
+ 'params': this.extend(payload, params),
220829
+ };
220830
+ const subscription = {
220831
+ 'method': this.handleFetchOHLCV,
220832
+ };
220833
+ return await this.watch(url, messageHash, message, messageHash, subscription);
220834
+ }
220835
+ handleFetchOHLCV(client, message) {
220836
+ //
220837
+ // {
220838
+ // "id": "1dbbeb56-8eea-466a-8f6e-86bdcfa2fc0b",
220839
+ // "status": 200,
220840
+ // "result": [
220841
+ // [
220842
+ // 1655971200000, // Kline open time
220843
+ // "0.01086000", // Open price
220844
+ // "0.01086600", // High price
220845
+ // "0.01083600", // Low price
220846
+ // "0.01083800", // Close price
220847
+ // "2290.53800000", // Volume
220848
+ // 1655974799999, // Kline close time
220849
+ // "24.85074442", // Quote asset volume
220850
+ // 2283, // Number of trades
220851
+ // "1171.64000000", // Taker buy base asset volume
220852
+ // "12.71225884", // Taker buy quote asset volume
220853
+ // "0" // Unused field, ignore
220854
+ // ]
220855
+ // ],
220856
+ // "rateLimits": [
220857
+ // {
220858
+ // "rateLimitType": "REQUEST_WEIGHT",
220859
+ // "interval": "MINUTE",
220860
+ // "intervalNum": 1,
220861
+ // "limit": 6000,
220862
+ // "count": 2
220863
+ // }
220864
+ // ]
220865
+ // }
220866
+ //
220867
+ const result = this.safeList(message, 'result');
220868
+ const parsed = this.parseOHLCVs(result);
220869
+ // use a reverse lookup in a static map instead
220870
+ const messageHash = this.safeString(message, 'id');
220871
+ client.resolve(parsed, messageHash);
220872
+ }
221353
220873
  async watchTicker(symbol, params = {}) {
221354
220874
  /**
221355
220875
  * @method
@@ -223051,12 +222571,58 @@ class binance extends _binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
223051
222571
  const trades = await this.watch(url, messageHash, message, messageHash, subscription);
223052
222572
  return this.filterBySymbolSinceLimit(trades, symbol, since, limit);
223053
222573
  }
222574
+ async fetchTradesWs(symbol = undefined, since = undefined, limit = undefined, params = {}) {
222575
+ /**
222576
+ * @method
222577
+ * @name binance#fetchTradesWs
222578
+ * @see https://binance-docs.github.io/apidocs/websocket_api/en/#recent-trades
222579
+ * @description fetch all trades made by the user
222580
+ * @param {string} symbol unified market symbol
222581
+ * @param {int} [since] the earliest time in ms to fetch trades for
222582
+ * @param {int} [limit] the maximum number of trades structures to retrieve, default=500, max=1000
222583
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
222584
+ *
222585
+ * EXCHANGE SPECIFIC PARAMETERS
222586
+ * @param {int} [params.fromId] trade ID to begin at
222587
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
222588
+ */
222589
+ await this.loadMarkets();
222590
+ if (symbol === undefined) {
222591
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' fetchTradesWs () requires a symbol argument');
222592
+ }
222593
+ this.checkIsSpot('fetchTradesWs', symbol, params);
222594
+ const url = this.urls['api']['ws']['ws'];
222595
+ const requestId = this.requestId(url);
222596
+ const messageHash = requestId.toString();
222597
+ let returnRateLimits = false;
222598
+ [returnRateLimits, params] = this.handleOptionAndParams(params, 'fetchTradesWs', 'returnRateLimits', false);
222599
+ const payload = {
222600
+ 'symbol': this.marketId(symbol),
222601
+ 'returnRateLimits': returnRateLimits,
222602
+ };
222603
+ if (limit !== undefined) {
222604
+ payload['limit'] = limit;
222605
+ }
222606
+ const message = {
222607
+ 'id': messageHash,
222608
+ 'method': 'trades.historical',
222609
+ 'params': this.extend(payload, params),
222610
+ };
222611
+ const subscription = {
222612
+ 'method': this.handleTradesWs,
222613
+ };
222614
+ const trades = await this.watch(url, messageHash, message, messageHash, subscription);
222615
+ return this.filterBySinceLimit(trades, since, limit);
222616
+ }
223054
222617
  handleTradesWs(client, message) {
222618
+ //
222619
+ // fetchMyTradesWs
223055
222620
  //
223056
222621
  // {
223057
222622
  // "id": "f4ce6a53-a29d-4f70-823b-4ab59391d6e8",
223058
222623
  // "status": 200,
223059
- // "result": [{
222624
+ // "result": [
222625
+ // {
223060
222626
  // "symbol": "BTCUSDT",
223061
222627
  // "id": 1650422481,
223062
222628
  // "orderId": 12569099453,
@@ -223075,6 +222641,25 @@ class binance extends _binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
223075
222641
  // ],
223076
222642
  // }
223077
222643
  //
222644
+ // fetchTradesWs
222645
+ //
222646
+ // {
222647
+ // "id": "f4ce6a53-a29d-4f70-823b-4ab59391d6e8",
222648
+ // "status": 200,
222649
+ // "result": [
222650
+ // {
222651
+ // "id": 0,
222652
+ // "price": "0.00005000",
222653
+ // "qty": "40.00000000",
222654
+ // "quoteQty": "0.00200000",
222655
+ // "time": 1500004800376,
222656
+ // "isBuyerMaker": true,
222657
+ // "isBestMatch": true
222658
+ // }
222659
+ // ...
222660
+ // ],
222661
+ // }
222662
+ //
223078
222663
  const messageHash = this.safeString(message, 'id');
223079
222664
  const result = this.safeValue(message, 'result', []);
223080
222665
  const trades = this.parseTrades(result);
@@ -224526,7 +224111,7 @@ class bingx extends _bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
224526
224111
  account['free'] = this.safeString(balance, 'wb');
224527
224112
  const balanceChange = this.safeString(balance, 'bc');
224528
224113
  if (account['used'] !== undefined) {
224529
- account['used'] = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z.stringSub(this.safeString(account, 'used'), balanceChange);
224114
+ account['used'] = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise */ .O.stringSub(this.safeString(account, 'used'), balanceChange);
224530
224115
  }
224531
224116
  this.balance[type][code] = account;
224532
224117
  }
@@ -225642,7 +225227,9 @@ class bitfinex2 extends _bitfinex2_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
225642
225227
  const messageLength = message.length;
225643
225228
  if (messageLength === 2) {
225644
225229
  // initial snapshot
225645
- const trades = this.safeValue(message, 1, []);
225230
+ let trades = this.safeList(message, 1, []);
225231
+ // needs to be reversed to make chronological order
225232
+ trades = trades.reverse();
225646
225233
  for (let i = 0; i < trades.length; i++) {
225647
225234
  const parsed = this.parseWsTrade(trades[i], market);
225648
225235
  stored.append(parsed);
@@ -233099,7 +232686,7 @@ class bitvavo extends _bitvavo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
233099
232686
  // "volume": "3587.05020246",
233100
232687
  // "volumeQuote": "708030.17",
233101
232688
  // "bid": "199.56",
233102
- // "bidSize": "4.14730803",
232689
+ // "bidSize": "4.14730802",
233103
232690
  // "ask": "199.57",
233104
232691
  // "askSize": "6.13642074",
233105
232692
  // "timestamp": 1590770885217
@@ -234396,7 +233983,6 @@ class blockchaincom extends _blockchaincom_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
234396
233983
  },
234397
233984
  'noOriginHeader': false,
234398
233985
  },
234399
- 'sequenceNumbers': {},
234400
233986
  },
234401
233987
  'streaming': {},
234402
233988
  'exceptions': {},
@@ -235040,21 +234626,20 @@ class blockchaincom extends _blockchaincom_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
235040
234626
  // }
235041
234627
  //
235042
234628
  const event = this.safeString(message, 'event');
234629
+ if (event === 'subscribed') {
234630
+ return;
234631
+ }
235043
234632
  const type = this.safeString(message, 'channel');
235044
234633
  const marketId = this.safeString(message, 'symbol');
235045
234634
  const symbol = this.safeSymbol(marketId);
235046
234635
  const messageHash = 'orderbook:' + symbol + ':' + type;
235047
234636
  const datetime = this.safeString(message, 'timestamp');
235048
234637
  const timestamp = this.parse8601(datetime);
235049
- let orderbook = this.safeValue(this.orderbooks, symbol);
235050
- if (orderbook === undefined) {
235051
- orderbook = this.countedOrderBook({});
235052
- this.orderbooks[symbol] = orderbook;
235053
- }
235054
- if (event === 'subscribed') {
235055
- return;
234638
+ if (this.safeValue(this.orderbooks, symbol) === undefined) {
234639
+ this.orderbooks[symbol] = this.countedOrderBook();
235056
234640
  }
235057
- else if (event === 'snapshot') {
234641
+ const orderbook = this.orderbooks[symbol];
234642
+ if (event === 'snapshot') {
235058
234643
  const snapshot = this.parseOrderBook(message, symbol, timestamp, 'bids', 'asks', 'px', 'qty', 'num');
235059
234644
  orderbook.reset(snapshot);
235060
234645
  }
@@ -235080,23 +234665,7 @@ class blockchaincom extends _blockchaincom_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
235080
234665
  this.handleDelta(bookside, deltas[i]);
235081
234666
  }
235082
234667
  }
235083
- checkSequenceNumber(client, message) {
235084
- const seqnum = this.safeInteger(message, 'seqnum', 0);
235085
- const channel = this.safeString(message, 'channel', '');
235086
- const sequenceNumbersByChannel = this.safeValue(this.options, 'sequenceNumbers', {});
235087
- const lastSeqnum = this.safeInteger(sequenceNumbersByChannel, channel);
235088
- if (lastSeqnum === undefined) {
235089
- this.options['sequenceNumbers'][channel] = seqnum;
235090
- }
235091
- else {
235092
- if (seqnum !== lastSeqnum + 1) {
235093
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError(this.id + ' ' + channel + ' seqnum ' + seqnum + ' is not the expected ' + (lastSeqnum + 1));
235094
- }
235095
- this.options['sequenceNumbers'][channel] = seqnum;
235096
- }
235097
- }
235098
234668
  handleMessage(client, message) {
235099
- this.checkSequenceNumber(client, message);
235100
234669
  const channel = this.safeString(message, 'channel');
235101
234670
  const handlers = {
235102
234671
  'ticker': this.handleTicker,
@@ -243603,7 +243172,7 @@ class deribit extends _deribit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
243603
243172
  // "params": {
243604
243173
  // "channel": "ticker.BTC_USDC-PERPETUAL.raw",
243605
243174
  // "data": {
243606
- // "timestamp": 1655393725041,
243175
+ // "timestamp": 1655393725040,
243607
243176
  // "stats": [Object],
243608
243177
  // "state": "open",
243609
243178
  // "settlement_price": 21729.5891,
@@ -244086,7 +243655,7 @@ class deribit extends _deribit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
244086
243655
  const symbol = this.safeSymbol(marketId);
244087
243656
  const ohlcv = this.safeValue(params, 'data', {});
244088
243657
  const parsed = [
244089
- this.safeNumber(ohlcv, 'tick'),
243658
+ this.safeInteger(ohlcv, 'tick'),
244090
243659
  this.safeNumber(ohlcv, 'open'),
244091
243660
  this.safeNumber(ohlcv, 'high'),
244092
243661
  this.safeNumber(ohlcv, 'low'),
@@ -245314,8 +244883,9 @@ class gate extends _gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
245314
244883
  const parts = channel.split('.');
245315
244884
  const rawMarketType = this.safeString(parts, 0);
245316
244885
  const marketType = (rawMarketType === 'futures') ? 'contract' : 'spot';
244886
+ const result = this.safeValue(message, 'result');
245317
244887
  let results = [];
245318
- if (marketType === 'contract') {
244888
+ if (Array.isArray(result)) {
245319
244889
  results = this.safeList(message, 'result', []);
245320
244890
  }
245321
244891
  else {
@@ -246515,7 +246085,7 @@ class gemini extends _gemini_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
246515
246085
  // "time_ms": 1655323185000,
246516
246086
  // "result": "failure",
246517
246087
  // "highest_bid_price": "21661.90",
246518
- // "lowest_ask_price": "21663.79",
246088
+ // "lowest_ask_price": "21663.78",
246519
246089
  // "collar_price": "21662.845"
246520
246090
  // },
246521
246091
  // ]
@@ -262824,9 +262394,6 @@ class okx extends _okx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
262824
262394
  * @param {object} params extra parameters specific to the exchange API endpoint
262825
262395
  * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/en/latest/manual.html#position-structure}
262826
262396
  */
262827
- if (this.isEmpty(symbols)) {
262828
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ArgumentsRequired(this.id + ' watchPositions requires a list of symbols');
262829
- }
262830
262397
  await this.loadMarkets();
262831
262398
  await this.authenticate(params);
262832
262399
  symbols = this.marketSymbols(symbols);
@@ -262834,7 +262401,23 @@ class okx extends _okx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
262834
262401
  'instType': 'ANY',
262835
262402
  };
262836
262403
  const channel = 'positions';
262837
- const newPositions = await this.subscribeMultiple('private', channel, symbols, this.extend(request, params));
262404
+ let newPositions = undefined;
262405
+ if (symbols === undefined) {
262406
+ const arg = {
262407
+ 'channel': 'positions',
262408
+ 'instType': 'ANY',
262409
+ };
262410
+ const args = [arg];
262411
+ const nonSymbolRequest = {
262412
+ 'op': 'subscribe',
262413
+ 'args': args,
262414
+ };
262415
+ const url = this.getUrl(channel, 'private');
262416
+ newPositions = await this.watch(url, channel, nonSymbolRequest, channel);
262417
+ }
262418
+ else {
262419
+ newPositions = await this.subscribeMultiple('private', channel, symbols, this.extend(request, params));
262420
+ }
262838
262421
  if (this.newUpdates) {
262839
262422
  return newPositions;
262840
262423
  }
@@ -262932,6 +262515,7 @@ class okx extends _okx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
262932
262515
  client.resolve(positions, messageHash);
262933
262516
  }
262934
262517
  }
262518
+ client.resolve(newPositions, channel);
262935
262519
  }
262936
262520
  async watchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
262937
262521
  /**
@@ -295807,7 +295391,6 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
295807
295391
  '-1007': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
295808
295392
  '-1008': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
295809
295393
  '-1009': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
295810
- '-1011': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
295811
295394
  '-1012': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
295812
295395
  '-1101': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
295813
295396
  '-1102': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
@@ -295816,6 +295399,8 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
295816
295399
  '-1105': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder, // { "code": -1105, "message": "Price is X% too high or X% too low from the mid price." }
295817
295400
  },
295818
295401
  'broad': {
295402
+ 'Can not place': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
295403
+ 'maintenance': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.OnMaintenance,
295819
295404
  'symbol must not be blank': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
295820
295405
  'The token is not supported': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
295821
295406
  'Your order and symbol are not valid or already canceled': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
@@ -297892,6 +297477,7 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
297892
297477
  }
297893
297478
  //
297894
297479
  // 400 Bad Request {"success":false,"code":-1012,"message":"Amount is required for buy market orders when margin disabled."}
297480
+ // {"code":"-1011","message":"The system is under maintenance.","success":false}
297895
297481
  //
297896
297482
  const success = this.safeValue(response, 'success');
297897
297483
  const errorCode = this.safeString(response, 'code');
@@ -307535,39 +307121,39 @@ var __webpack_exports__ = {};
307535
307121
  (() => {
307536
307122
  __webpack_require__.r(__webpack_exports__);
307537
307123
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
307538
- /* harmony export */ AccountNotEnabled: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.AccountNotEnabled),
307539
- /* harmony export */ AccountSuspended: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.AccountSuspended),
307540
- /* harmony export */ AddressPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.AddressPending),
307541
- /* harmony export */ ArgumentsRequired: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.ArgumentsRequired),
307542
- /* harmony export */ AuthenticationError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.AuthenticationError),
307543
- /* harmony export */ BadRequest: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.BadRequest),
307544
- /* harmony export */ BadResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.BadResponse),
307545
- /* harmony export */ BadSymbol: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.BadSymbol),
307546
- /* harmony export */ BaseError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.BaseError),
307547
- /* harmony export */ CancelPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.CancelPending),
307548
- /* harmony export */ DDoSProtection: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.DDoSProtection),
307549
- /* harmony export */ DuplicateOrderId: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.DuplicateOrderId),
307124
+ /* harmony export */ AccountNotEnabled: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.AccountNotEnabled),
307125
+ /* harmony export */ AccountSuspended: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.AccountSuspended),
307126
+ /* harmony export */ AddressPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.AddressPending),
307127
+ /* harmony export */ ArgumentsRequired: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.ArgumentsRequired),
307128
+ /* harmony export */ AuthenticationError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.AuthenticationError),
307129
+ /* harmony export */ BadRequest: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.BadRequest),
307130
+ /* harmony export */ BadResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.BadResponse),
307131
+ /* harmony export */ BadSymbol: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.BadSymbol),
307132
+ /* harmony export */ BaseError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.BaseError),
307133
+ /* harmony export */ CancelPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.CancelPending),
307134
+ /* harmony export */ DDoSProtection: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.DDoSProtection),
307135
+ /* harmony export */ DuplicateOrderId: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.DuplicateOrderId),
307550
307136
  /* harmony export */ Exchange: () => (/* reexport safe */ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__.e),
307551
- /* harmony export */ ExchangeError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.ExchangeError),
307552
- /* harmony export */ ExchangeNotAvailable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.ExchangeNotAvailable),
307553
- /* harmony export */ InsufficientFunds: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.InsufficientFunds),
307554
- /* harmony export */ InvalidAddress: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.InvalidAddress),
307555
- /* harmony export */ InvalidNonce: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.InvalidNonce),
307556
- /* harmony export */ InvalidOrder: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.InvalidOrder),
307557
- /* harmony export */ MarginModeAlreadySet: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.MarginModeAlreadySet),
307558
- /* harmony export */ NetworkError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.NetworkError),
307559
- /* harmony export */ NoChange: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.NoChange),
307560
- /* harmony export */ NotSupported: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.NotSupported),
307561
- /* harmony export */ NullResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.NullResponse),
307562
- /* harmony export */ OnMaintenance: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.OnMaintenance),
307563
- /* harmony export */ OrderImmediatelyFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.OrderImmediatelyFillable),
307564
- /* harmony export */ OrderNotCached: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.OrderNotCached),
307565
- /* harmony export */ OrderNotFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.OrderNotFillable),
307566
- /* harmony export */ OrderNotFound: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.OrderNotFound),
307567
- /* harmony export */ PermissionDenied: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.PermissionDenied),
307568
- /* harmony export */ Precise: () => (/* reexport safe */ _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_163__.O),
307569
- /* harmony export */ RateLimitExceeded: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.RateLimitExceeded),
307570
- /* harmony export */ RequestTimeout: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.RequestTimeout),
307137
+ /* harmony export */ ExchangeError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.ExchangeError),
307138
+ /* harmony export */ ExchangeNotAvailable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.ExchangeNotAvailable),
307139
+ /* harmony export */ InsufficientFunds: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.InsufficientFunds),
307140
+ /* harmony export */ InvalidAddress: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.InvalidAddress),
307141
+ /* harmony export */ InvalidNonce: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.InvalidNonce),
307142
+ /* harmony export */ InvalidOrder: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.InvalidOrder),
307143
+ /* harmony export */ MarginModeAlreadySet: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.MarginModeAlreadySet),
307144
+ /* harmony export */ NetworkError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.NetworkError),
307145
+ /* harmony export */ NoChange: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.NoChange),
307146
+ /* harmony export */ NotSupported: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.NotSupported),
307147
+ /* harmony export */ NullResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.NullResponse),
307148
+ /* harmony export */ OnMaintenance: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.OnMaintenance),
307149
+ /* harmony export */ OrderImmediatelyFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.OrderImmediatelyFillable),
307150
+ /* harmony export */ OrderNotCached: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.OrderNotCached),
307151
+ /* harmony export */ OrderNotFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.OrderNotFillable),
307152
+ /* harmony export */ OrderNotFound: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.OrderNotFound),
307153
+ /* harmony export */ PermissionDenied: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.PermissionDenied),
307154
+ /* harmony export */ Precise: () => (/* reexport safe */ _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_162__.O),
307155
+ /* harmony export */ RateLimitExceeded: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.RateLimitExceeded),
307156
+ /* harmony export */ RequestTimeout: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.RequestTimeout),
307571
307157
  /* harmony export */ ace: () => (/* reexport safe */ _src_ace_js__WEBPACK_IMPORTED_MODULE_1__.Z),
307572
307158
  /* harmony export */ alpaca: () => (/* reexport safe */ _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__.Z),
307573
307159
  /* harmony export */ ascendex: () => (/* reexport safe */ _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__.Z),
@@ -307586,100 +307172,99 @@ __webpack_require__.r(__webpack_exports__);
307586
307172
  /* harmony export */ bitfinex: () => (/* reexport safe */ _src_bitfinex_js__WEBPACK_IMPORTED_MODULE_16__.Z),
307587
307173
  /* harmony export */ bitfinex2: () => (/* reexport safe */ _src_bitfinex2_js__WEBPACK_IMPORTED_MODULE_17__.Z),
307588
307174
  /* harmony export */ bitflyer: () => (/* reexport safe */ _src_bitflyer_js__WEBPACK_IMPORTED_MODULE_18__.Z),
307589
- /* harmony export */ bitforex: () => (/* reexport safe */ _src_bitforex_js__WEBPACK_IMPORTED_MODULE_19__.Z),
307590
- /* harmony export */ bitget: () => (/* reexport safe */ _src_bitget_js__WEBPACK_IMPORTED_MODULE_20__.Z),
307591
- /* harmony export */ bithumb: () => (/* reexport safe */ _src_bithumb_js__WEBPACK_IMPORTED_MODULE_21__.Z),
307592
- /* harmony export */ bitmart: () => (/* reexport safe */ _src_bitmart_js__WEBPACK_IMPORTED_MODULE_22__.Z),
307593
- /* harmony export */ bitmex: () => (/* reexport safe */ _src_bitmex_js__WEBPACK_IMPORTED_MODULE_23__.Z),
307594
- /* harmony export */ bitopro: () => (/* reexport safe */ _src_bitopro_js__WEBPACK_IMPORTED_MODULE_24__.Z),
307595
- /* harmony export */ bitpanda: () => (/* reexport safe */ _src_bitpanda_js__WEBPACK_IMPORTED_MODULE_25__.Z),
307596
- /* harmony export */ bitrue: () => (/* reexport safe */ _src_bitrue_js__WEBPACK_IMPORTED_MODULE_26__.Z),
307597
- /* harmony export */ bitso: () => (/* reexport safe */ _src_bitso_js__WEBPACK_IMPORTED_MODULE_27__.Z),
307598
- /* harmony export */ bitstamp: () => (/* reexport safe */ _src_bitstamp_js__WEBPACK_IMPORTED_MODULE_28__.Z),
307599
- /* harmony export */ bitteam: () => (/* reexport safe */ _src_bitteam_js__WEBPACK_IMPORTED_MODULE_29__.Z),
307600
- /* harmony export */ bitvavo: () => (/* reexport safe */ _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_30__.Z),
307601
- /* harmony export */ bl3p: () => (/* reexport safe */ _src_bl3p_js__WEBPACK_IMPORTED_MODULE_31__.Z),
307602
- /* harmony export */ blockchaincom: () => (/* reexport safe */ _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_32__.Z),
307603
- /* harmony export */ blofin: () => (/* reexport safe */ _src_blofin_js__WEBPACK_IMPORTED_MODULE_33__.Z),
307604
- /* harmony export */ btcalpha: () => (/* reexport safe */ _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_34__.Z),
307605
- /* harmony export */ btcbox: () => (/* reexport safe */ _src_btcbox_js__WEBPACK_IMPORTED_MODULE_35__.Z),
307606
- /* harmony export */ btcmarkets: () => (/* reexport safe */ _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_36__.Z),
307607
- /* harmony export */ btcturk: () => (/* reexport safe */ _src_btcturk_js__WEBPACK_IMPORTED_MODULE_37__.Z),
307608
- /* harmony export */ bybit: () => (/* reexport safe */ _src_bybit_js__WEBPACK_IMPORTED_MODULE_38__.Z),
307609
- /* harmony export */ cex: () => (/* reexport safe */ _src_cex_js__WEBPACK_IMPORTED_MODULE_39__.Z),
307610
- /* harmony export */ coinbase: () => (/* reexport safe */ _src_coinbase_js__WEBPACK_IMPORTED_MODULE_40__.Z),
307611
- /* harmony export */ coinbasepro: () => (/* reexport safe */ _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_41__.Z),
307612
- /* harmony export */ coincheck: () => (/* reexport safe */ _src_coincheck_js__WEBPACK_IMPORTED_MODULE_42__.Z),
307613
- /* harmony export */ coinex: () => (/* reexport safe */ _src_coinex_js__WEBPACK_IMPORTED_MODULE_43__.Z),
307614
- /* harmony export */ coinlist: () => (/* reexport safe */ _src_coinlist_js__WEBPACK_IMPORTED_MODULE_44__.Z),
307615
- /* harmony export */ coinmate: () => (/* reexport safe */ _src_coinmate_js__WEBPACK_IMPORTED_MODULE_45__.Z),
307616
- /* harmony export */ coinmetro: () => (/* reexport safe */ _src_coinmetro_js__WEBPACK_IMPORTED_MODULE_46__.Z),
307617
- /* harmony export */ coinone: () => (/* reexport safe */ _src_coinone_js__WEBPACK_IMPORTED_MODULE_47__.Z),
307618
- /* harmony export */ coinsph: () => (/* reexport safe */ _src_coinsph_js__WEBPACK_IMPORTED_MODULE_48__.Z),
307619
- /* harmony export */ coinspot: () => (/* reexport safe */ _src_coinspot_js__WEBPACK_IMPORTED_MODULE_49__.Z),
307620
- /* harmony export */ cryptocom: () => (/* reexport safe */ _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_50__.Z),
307621
- /* harmony export */ currencycom: () => (/* reexport safe */ _src_currencycom_js__WEBPACK_IMPORTED_MODULE_51__.Z),
307175
+ /* harmony export */ bitget: () => (/* reexport safe */ _src_bitget_js__WEBPACK_IMPORTED_MODULE_19__.Z),
307176
+ /* harmony export */ bithumb: () => (/* reexport safe */ _src_bithumb_js__WEBPACK_IMPORTED_MODULE_20__.Z),
307177
+ /* harmony export */ bitmart: () => (/* reexport safe */ _src_bitmart_js__WEBPACK_IMPORTED_MODULE_21__.Z),
307178
+ /* harmony export */ bitmex: () => (/* reexport safe */ _src_bitmex_js__WEBPACK_IMPORTED_MODULE_22__.Z),
307179
+ /* harmony export */ bitopro: () => (/* reexport safe */ _src_bitopro_js__WEBPACK_IMPORTED_MODULE_23__.Z),
307180
+ /* harmony export */ bitpanda: () => (/* reexport safe */ _src_bitpanda_js__WEBPACK_IMPORTED_MODULE_24__.Z),
307181
+ /* harmony export */ bitrue: () => (/* reexport safe */ _src_bitrue_js__WEBPACK_IMPORTED_MODULE_25__.Z),
307182
+ /* harmony export */ bitso: () => (/* reexport safe */ _src_bitso_js__WEBPACK_IMPORTED_MODULE_26__.Z),
307183
+ /* harmony export */ bitstamp: () => (/* reexport safe */ _src_bitstamp_js__WEBPACK_IMPORTED_MODULE_27__.Z),
307184
+ /* harmony export */ bitteam: () => (/* reexport safe */ _src_bitteam_js__WEBPACK_IMPORTED_MODULE_28__.Z),
307185
+ /* harmony export */ bitvavo: () => (/* reexport safe */ _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_29__.Z),
307186
+ /* harmony export */ bl3p: () => (/* reexport safe */ _src_bl3p_js__WEBPACK_IMPORTED_MODULE_30__.Z),
307187
+ /* harmony export */ blockchaincom: () => (/* reexport safe */ _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_31__.Z),
307188
+ /* harmony export */ blofin: () => (/* reexport safe */ _src_blofin_js__WEBPACK_IMPORTED_MODULE_32__.Z),
307189
+ /* harmony export */ btcalpha: () => (/* reexport safe */ _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_33__.Z),
307190
+ /* harmony export */ btcbox: () => (/* reexport safe */ _src_btcbox_js__WEBPACK_IMPORTED_MODULE_34__.Z),
307191
+ /* harmony export */ btcmarkets: () => (/* reexport safe */ _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_35__.Z),
307192
+ /* harmony export */ btcturk: () => (/* reexport safe */ _src_btcturk_js__WEBPACK_IMPORTED_MODULE_36__.Z),
307193
+ /* harmony export */ bybit: () => (/* reexport safe */ _src_bybit_js__WEBPACK_IMPORTED_MODULE_37__.Z),
307194
+ /* harmony export */ cex: () => (/* reexport safe */ _src_cex_js__WEBPACK_IMPORTED_MODULE_38__.Z),
307195
+ /* harmony export */ coinbase: () => (/* reexport safe */ _src_coinbase_js__WEBPACK_IMPORTED_MODULE_39__.Z),
307196
+ /* harmony export */ coinbasepro: () => (/* reexport safe */ _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_40__.Z),
307197
+ /* harmony export */ coincheck: () => (/* reexport safe */ _src_coincheck_js__WEBPACK_IMPORTED_MODULE_41__.Z),
307198
+ /* harmony export */ coinex: () => (/* reexport safe */ _src_coinex_js__WEBPACK_IMPORTED_MODULE_42__.Z),
307199
+ /* harmony export */ coinlist: () => (/* reexport safe */ _src_coinlist_js__WEBPACK_IMPORTED_MODULE_43__.Z),
307200
+ /* harmony export */ coinmate: () => (/* reexport safe */ _src_coinmate_js__WEBPACK_IMPORTED_MODULE_44__.Z),
307201
+ /* harmony export */ coinmetro: () => (/* reexport safe */ _src_coinmetro_js__WEBPACK_IMPORTED_MODULE_45__.Z),
307202
+ /* harmony export */ coinone: () => (/* reexport safe */ _src_coinone_js__WEBPACK_IMPORTED_MODULE_46__.Z),
307203
+ /* harmony export */ coinsph: () => (/* reexport safe */ _src_coinsph_js__WEBPACK_IMPORTED_MODULE_47__.Z),
307204
+ /* harmony export */ coinspot: () => (/* reexport safe */ _src_coinspot_js__WEBPACK_IMPORTED_MODULE_48__.Z),
307205
+ /* harmony export */ cryptocom: () => (/* reexport safe */ _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_49__.Z),
307206
+ /* harmony export */ currencycom: () => (/* reexport safe */ _src_currencycom_js__WEBPACK_IMPORTED_MODULE_50__.Z),
307622
307207
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
307623
- /* harmony export */ delta: () => (/* reexport safe */ _src_delta_js__WEBPACK_IMPORTED_MODULE_52__.Z),
307624
- /* harmony export */ deribit: () => (/* reexport safe */ _src_deribit_js__WEBPACK_IMPORTED_MODULE_53__.Z),
307625
- /* harmony export */ digifinex: () => (/* reexport safe */ _src_digifinex_js__WEBPACK_IMPORTED_MODULE_54__.Z),
307626
- /* harmony export */ errors: () => (/* reexport module object */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__),
307208
+ /* harmony export */ delta: () => (/* reexport safe */ _src_delta_js__WEBPACK_IMPORTED_MODULE_51__.Z),
307209
+ /* harmony export */ deribit: () => (/* reexport safe */ _src_deribit_js__WEBPACK_IMPORTED_MODULE_52__.Z),
307210
+ /* harmony export */ digifinex: () => (/* reexport safe */ _src_digifinex_js__WEBPACK_IMPORTED_MODULE_53__.Z),
307211
+ /* harmony export */ errors: () => (/* reexport module object */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__),
307627
307212
  /* harmony export */ exchanges: () => (/* binding */ exchanges),
307628
- /* harmony export */ exmo: () => (/* reexport safe */ _src_exmo_js__WEBPACK_IMPORTED_MODULE_55__.Z),
307629
- /* harmony export */ fmfwio: () => (/* reexport safe */ _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_56__.Z),
307630
- /* harmony export */ functions: () => (/* reexport module object */ _src_base_functions_js__WEBPACK_IMPORTED_MODULE_164__),
307631
- /* harmony export */ gate: () => (/* reexport safe */ _src_gate_js__WEBPACK_IMPORTED_MODULE_57__.Z),
307632
- /* harmony export */ gateio: () => (/* reexport safe */ _src_gateio_js__WEBPACK_IMPORTED_MODULE_58__.Z),
307633
- /* harmony export */ gemini: () => (/* reexport safe */ _src_gemini_js__WEBPACK_IMPORTED_MODULE_59__.Z),
307634
- /* harmony export */ hitbtc: () => (/* reexport safe */ _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_60__.Z),
307635
- /* harmony export */ hitbtc3: () => (/* reexport safe */ _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_61__.Z),
307636
- /* harmony export */ hollaex: () => (/* reexport safe */ _src_hollaex_js__WEBPACK_IMPORTED_MODULE_62__.Z),
307637
- /* harmony export */ htx: () => (/* reexport safe */ _src_htx_js__WEBPACK_IMPORTED_MODULE_63__.Z),
307638
- /* harmony export */ huobi: () => (/* reexport safe */ _src_huobi_js__WEBPACK_IMPORTED_MODULE_64__.Z),
307639
- /* harmony export */ huobijp: () => (/* reexport safe */ _src_huobijp_js__WEBPACK_IMPORTED_MODULE_65__.Z),
307640
- /* harmony export */ idex: () => (/* reexport safe */ _src_idex_js__WEBPACK_IMPORTED_MODULE_66__.Z),
307641
- /* harmony export */ independentreserve: () => (/* reexport safe */ _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_67__.Z),
307642
- /* harmony export */ indodax: () => (/* reexport safe */ _src_indodax_js__WEBPACK_IMPORTED_MODULE_68__.Z),
307643
- /* harmony export */ kraken: () => (/* reexport safe */ _src_kraken_js__WEBPACK_IMPORTED_MODULE_69__.Z),
307644
- /* harmony export */ krakenfutures: () => (/* reexport safe */ _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_70__.Z),
307645
- /* harmony export */ kucoin: () => (/* reexport safe */ _src_kucoin_js__WEBPACK_IMPORTED_MODULE_71__.Z),
307646
- /* harmony export */ kucoinfutures: () => (/* reexport safe */ _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_72__.Z),
307647
- /* harmony export */ kuna: () => (/* reexport safe */ _src_kuna_js__WEBPACK_IMPORTED_MODULE_73__.Z),
307648
- /* harmony export */ latoken: () => (/* reexport safe */ _src_latoken_js__WEBPACK_IMPORTED_MODULE_74__.Z),
307649
- /* harmony export */ lbank: () => (/* reexport safe */ _src_lbank_js__WEBPACK_IMPORTED_MODULE_75__.Z),
307650
- /* harmony export */ luno: () => (/* reexport safe */ _src_luno_js__WEBPACK_IMPORTED_MODULE_76__.Z),
307651
- /* harmony export */ lykke: () => (/* reexport safe */ _src_lykke_js__WEBPACK_IMPORTED_MODULE_77__.Z),
307652
- /* harmony export */ mercado: () => (/* reexport safe */ _src_mercado_js__WEBPACK_IMPORTED_MODULE_78__.Z),
307653
- /* harmony export */ mexc: () => (/* reexport safe */ _src_mexc_js__WEBPACK_IMPORTED_MODULE_79__.Z),
307654
- /* harmony export */ ndax: () => (/* reexport safe */ _src_ndax_js__WEBPACK_IMPORTED_MODULE_80__.Z),
307655
- /* harmony export */ novadax: () => (/* reexport safe */ _src_novadax_js__WEBPACK_IMPORTED_MODULE_81__.Z),
307656
- /* harmony export */ oceanex: () => (/* reexport safe */ _src_oceanex_js__WEBPACK_IMPORTED_MODULE_82__.Z),
307657
- /* harmony export */ okcoin: () => (/* reexport safe */ _src_okcoin_js__WEBPACK_IMPORTED_MODULE_83__.Z),
307658
- /* harmony export */ okx: () => (/* reexport safe */ _src_okx_js__WEBPACK_IMPORTED_MODULE_84__.Z),
307659
- /* harmony export */ onetrading: () => (/* reexport safe */ _src_onetrading_js__WEBPACK_IMPORTED_MODULE_85__.Z),
307660
- /* harmony export */ p2b: () => (/* reexport safe */ _src_p2b_js__WEBPACK_IMPORTED_MODULE_86__.Z),
307661
- /* harmony export */ paymium: () => (/* reexport safe */ _src_paymium_js__WEBPACK_IMPORTED_MODULE_87__.Z),
307662
- /* harmony export */ phemex: () => (/* reexport safe */ _src_phemex_js__WEBPACK_IMPORTED_MODULE_88__.Z),
307663
- /* harmony export */ poloniex: () => (/* reexport safe */ _src_poloniex_js__WEBPACK_IMPORTED_MODULE_89__.Z),
307664
- /* harmony export */ poloniexfutures: () => (/* reexport safe */ _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_90__.Z),
307213
+ /* harmony export */ exmo: () => (/* reexport safe */ _src_exmo_js__WEBPACK_IMPORTED_MODULE_54__.Z),
307214
+ /* harmony export */ fmfwio: () => (/* reexport safe */ _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_55__.Z),
307215
+ /* harmony export */ functions: () => (/* reexport module object */ _src_base_functions_js__WEBPACK_IMPORTED_MODULE_163__),
307216
+ /* harmony export */ gate: () => (/* reexport safe */ _src_gate_js__WEBPACK_IMPORTED_MODULE_56__.Z),
307217
+ /* harmony export */ gateio: () => (/* reexport safe */ _src_gateio_js__WEBPACK_IMPORTED_MODULE_57__.Z),
307218
+ /* harmony export */ gemini: () => (/* reexport safe */ _src_gemini_js__WEBPACK_IMPORTED_MODULE_58__.Z),
307219
+ /* harmony export */ hitbtc: () => (/* reexport safe */ _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_59__.Z),
307220
+ /* harmony export */ hitbtc3: () => (/* reexport safe */ _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_60__.Z),
307221
+ /* harmony export */ hollaex: () => (/* reexport safe */ _src_hollaex_js__WEBPACK_IMPORTED_MODULE_61__.Z),
307222
+ /* harmony export */ htx: () => (/* reexport safe */ _src_htx_js__WEBPACK_IMPORTED_MODULE_62__.Z),
307223
+ /* harmony export */ huobi: () => (/* reexport safe */ _src_huobi_js__WEBPACK_IMPORTED_MODULE_63__.Z),
307224
+ /* harmony export */ huobijp: () => (/* reexport safe */ _src_huobijp_js__WEBPACK_IMPORTED_MODULE_64__.Z),
307225
+ /* harmony export */ idex: () => (/* reexport safe */ _src_idex_js__WEBPACK_IMPORTED_MODULE_65__.Z),
307226
+ /* harmony export */ independentreserve: () => (/* reexport safe */ _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_66__.Z),
307227
+ /* harmony export */ indodax: () => (/* reexport safe */ _src_indodax_js__WEBPACK_IMPORTED_MODULE_67__.Z),
307228
+ /* harmony export */ kraken: () => (/* reexport safe */ _src_kraken_js__WEBPACK_IMPORTED_MODULE_68__.Z),
307229
+ /* harmony export */ krakenfutures: () => (/* reexport safe */ _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_69__.Z),
307230
+ /* harmony export */ kucoin: () => (/* reexport safe */ _src_kucoin_js__WEBPACK_IMPORTED_MODULE_70__.Z),
307231
+ /* harmony export */ kucoinfutures: () => (/* reexport safe */ _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_71__.Z),
307232
+ /* harmony export */ kuna: () => (/* reexport safe */ _src_kuna_js__WEBPACK_IMPORTED_MODULE_72__.Z),
307233
+ /* harmony export */ latoken: () => (/* reexport safe */ _src_latoken_js__WEBPACK_IMPORTED_MODULE_73__.Z),
307234
+ /* harmony export */ lbank: () => (/* reexport safe */ _src_lbank_js__WEBPACK_IMPORTED_MODULE_74__.Z),
307235
+ /* harmony export */ luno: () => (/* reexport safe */ _src_luno_js__WEBPACK_IMPORTED_MODULE_75__.Z),
307236
+ /* harmony export */ lykke: () => (/* reexport safe */ _src_lykke_js__WEBPACK_IMPORTED_MODULE_76__.Z),
307237
+ /* harmony export */ mercado: () => (/* reexport safe */ _src_mercado_js__WEBPACK_IMPORTED_MODULE_77__.Z),
307238
+ /* harmony export */ mexc: () => (/* reexport safe */ _src_mexc_js__WEBPACK_IMPORTED_MODULE_78__.Z),
307239
+ /* harmony export */ ndax: () => (/* reexport safe */ _src_ndax_js__WEBPACK_IMPORTED_MODULE_79__.Z),
307240
+ /* harmony export */ novadax: () => (/* reexport safe */ _src_novadax_js__WEBPACK_IMPORTED_MODULE_80__.Z),
307241
+ /* harmony export */ oceanex: () => (/* reexport safe */ _src_oceanex_js__WEBPACK_IMPORTED_MODULE_81__.Z),
307242
+ /* harmony export */ okcoin: () => (/* reexport safe */ _src_okcoin_js__WEBPACK_IMPORTED_MODULE_82__.Z),
307243
+ /* harmony export */ okx: () => (/* reexport safe */ _src_okx_js__WEBPACK_IMPORTED_MODULE_83__.Z),
307244
+ /* harmony export */ onetrading: () => (/* reexport safe */ _src_onetrading_js__WEBPACK_IMPORTED_MODULE_84__.Z),
307245
+ /* harmony export */ p2b: () => (/* reexport safe */ _src_p2b_js__WEBPACK_IMPORTED_MODULE_85__.Z),
307246
+ /* harmony export */ paymium: () => (/* reexport safe */ _src_paymium_js__WEBPACK_IMPORTED_MODULE_86__.Z),
307247
+ /* harmony export */ phemex: () => (/* reexport safe */ _src_phemex_js__WEBPACK_IMPORTED_MODULE_87__.Z),
307248
+ /* harmony export */ poloniex: () => (/* reexport safe */ _src_poloniex_js__WEBPACK_IMPORTED_MODULE_88__.Z),
307249
+ /* harmony export */ poloniexfutures: () => (/* reexport safe */ _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_89__.Z),
307665
307250
  /* harmony export */ pro: () => (/* binding */ pro),
307666
- /* harmony export */ probit: () => (/* reexport safe */ _src_probit_js__WEBPACK_IMPORTED_MODULE_91__.Z),
307667
- /* harmony export */ timex: () => (/* reexport safe */ _src_timex_js__WEBPACK_IMPORTED_MODULE_92__.Z),
307668
- /* harmony export */ tokocrypto: () => (/* reexport safe */ _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_93__.Z),
307669
- /* harmony export */ upbit: () => (/* reexport safe */ _src_upbit_js__WEBPACK_IMPORTED_MODULE_94__.Z),
307251
+ /* harmony export */ probit: () => (/* reexport safe */ _src_probit_js__WEBPACK_IMPORTED_MODULE_90__.Z),
307252
+ /* harmony export */ timex: () => (/* reexport safe */ _src_timex_js__WEBPACK_IMPORTED_MODULE_91__.Z),
307253
+ /* harmony export */ tokocrypto: () => (/* reexport safe */ _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_92__.Z),
307254
+ /* harmony export */ upbit: () => (/* reexport safe */ _src_upbit_js__WEBPACK_IMPORTED_MODULE_93__.Z),
307670
307255
  /* harmony export */ version: () => (/* binding */ version),
307671
- /* harmony export */ wavesexchange: () => (/* reexport safe */ _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_95__.Z),
307672
- /* harmony export */ wazirx: () => (/* reexport safe */ _src_wazirx_js__WEBPACK_IMPORTED_MODULE_96__.Z),
307673
- /* harmony export */ whitebit: () => (/* reexport safe */ _src_whitebit_js__WEBPACK_IMPORTED_MODULE_97__.Z),
307674
- /* harmony export */ woo: () => (/* reexport safe */ _src_woo_js__WEBPACK_IMPORTED_MODULE_98__.Z),
307675
- /* harmony export */ yobit: () => (/* reexport safe */ _src_yobit_js__WEBPACK_IMPORTED_MODULE_99__.Z),
307676
- /* harmony export */ zaif: () => (/* reexport safe */ _src_zaif_js__WEBPACK_IMPORTED_MODULE_100__.Z),
307677
- /* harmony export */ zonda: () => (/* reexport safe */ _src_zonda_js__WEBPACK_IMPORTED_MODULE_101__.Z)
307256
+ /* harmony export */ wavesexchange: () => (/* reexport safe */ _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_94__.Z),
307257
+ /* harmony export */ wazirx: () => (/* reexport safe */ _src_wazirx_js__WEBPACK_IMPORTED_MODULE_95__.Z),
307258
+ /* harmony export */ whitebit: () => (/* reexport safe */ _src_whitebit_js__WEBPACK_IMPORTED_MODULE_96__.Z),
307259
+ /* harmony export */ woo: () => (/* reexport safe */ _src_woo_js__WEBPACK_IMPORTED_MODULE_97__.Z),
307260
+ /* harmony export */ yobit: () => (/* reexport safe */ _src_yobit_js__WEBPACK_IMPORTED_MODULE_98__.Z),
307261
+ /* harmony export */ zaif: () => (/* reexport safe */ _src_zaif_js__WEBPACK_IMPORTED_MODULE_99__.Z),
307262
+ /* harmony export */ zonda: () => (/* reexport safe */ _src_zonda_js__WEBPACK_IMPORTED_MODULE_100__.Z)
307678
307263
  /* harmony export */ });
307679
307264
  /* harmony import */ var _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3043);
307680
- /* harmony import */ var _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(2194);
307681
- /* harmony import */ var _src_base_functions_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(7100);
307682
- /* harmony import */ var _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(6689);
307265
+ /* harmony import */ var _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(2194);
307266
+ /* harmony import */ var _src_base_functions_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(7100);
307267
+ /* harmony import */ var _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(6689);
307683
307268
  /* harmony import */ var _src_ace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9869);
307684
307269
  /* harmony import */ var _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5660);
307685
307270
  /* harmony import */ var _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9612);
@@ -307698,150 +307283,149 @@ __webpack_require__.r(__webpack_exports__);
307698
307283
  /* harmony import */ var _src_bitfinex_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(6537);
307699
307284
  /* harmony import */ var _src_bitfinex2_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(730);
307700
307285
  /* harmony import */ var _src_bitflyer_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(8429);
307701
- /* harmony import */ var _src_bitforex_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(2035);
307702
- /* harmony import */ var _src_bitget_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(9051);
307703
- /* harmony import */ var _src_bithumb_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(5305);
307704
- /* harmony import */ var _src_bitmart_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(3718);
307705
- /* harmony import */ var _src_bitmex_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(7077);
307706
- /* harmony import */ var _src_bitopro_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(172);
307707
- /* harmony import */ var _src_bitpanda_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(2737);
307708
- /* harmony import */ var _src_bitrue_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(854);
307709
- /* harmony import */ var _src_bitso_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(4388);
307710
- /* harmony import */ var _src_bitstamp_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(4667);
307711
- /* harmony import */ var _src_bitteam_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(8994);
307712
- /* harmony import */ var _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(9943);
307713
- /* harmony import */ var _src_bl3p_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(9476);
307714
- /* harmony import */ var _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(182);
307715
- /* harmony import */ var _src_blofin_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(687);
307716
- /* harmony import */ var _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(6246);
307717
- /* harmony import */ var _src_btcbox_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(7796);
307718
- /* harmony import */ var _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(1776);
307719
- /* harmony import */ var _src_btcturk_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(6304);
307720
- /* harmony import */ var _src_bybit_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(3527);
307721
- /* harmony import */ var _src_cex_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(6445);
307722
- /* harmony import */ var _src_coinbase_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(437);
307723
- /* harmony import */ var _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(8856);
307724
- /* harmony import */ var _src_coincheck_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(2117);
307725
- /* harmony import */ var _src_coinex_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(332);
307726
- /* harmony import */ var _src_coinlist_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(3623);
307727
- /* harmony import */ var _src_coinmate_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(9816);
307728
- /* harmony import */ var _src_coinmetro_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(4759);
307729
- /* harmony import */ var _src_coinone_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(7811);
307730
- /* harmony import */ var _src_coinsph_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(5782);
307731
- /* harmony import */ var _src_coinspot_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(7794);
307732
- /* harmony import */ var _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(9129);
307733
- /* harmony import */ var _src_currencycom_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(3214);
307734
- /* harmony import */ var _src_delta_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(1753);
307735
- /* harmony import */ var _src_deribit_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(24);
307736
- /* harmony import */ var _src_digifinex_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(8846);
307737
- /* harmony import */ var _src_exmo_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(1729);
307738
- /* harmony import */ var _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(5788);
307739
- /* harmony import */ var _src_gate_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(7290);
307740
- /* harmony import */ var _src_gateio_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(7036);
307741
- /* harmony import */ var _src_gemini_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(6743);
307742
- /* harmony import */ var _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(4714);
307743
- /* harmony import */ var _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(4815);
307744
- /* harmony import */ var _src_hollaex_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(8422);
307745
- /* harmony import */ var _src_htx_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(5939);
307746
- /* harmony import */ var _src_huobi_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(8146);
307747
- /* harmony import */ var _src_huobijp_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(7034);
307748
- /* harmony import */ var _src_idex_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(8232);
307749
- /* harmony import */ var _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(9570);
307750
- /* harmony import */ var _src_indodax_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(1605);
307751
- /* harmony import */ var _src_kraken_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(9922);
307752
- /* harmony import */ var _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(4470);
307753
- /* harmony import */ var _src_kucoin_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(3583);
307754
- /* harmony import */ var _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(1924);
307755
- /* harmony import */ var _src_kuna_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(7732);
307756
- /* harmony import */ var _src_latoken_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(2545);
307757
- /* harmony import */ var _src_lbank_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(3944);
307758
- /* harmony import */ var _src_luno_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(1758);
307759
- /* harmony import */ var _src_lykke_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(3803);
307760
- /* harmony import */ var _src_mercado_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(9013);
307761
- /* harmony import */ var _src_mexc_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(6641);
307762
- /* harmony import */ var _src_ndax_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(4531);
307763
- /* harmony import */ var _src_novadax_js__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(2449);
307764
- /* harmony import */ var _src_oceanex_js__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(6749);
307765
- /* harmony import */ var _src_okcoin_js__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(3007);
307766
- /* harmony import */ var _src_okx_js__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(4042);
307767
- /* harmony import */ var _src_onetrading_js__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(6481);
307768
- /* harmony import */ var _src_p2b_js__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(2466);
307769
- /* harmony import */ var _src_paymium_js__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(7082);
307770
- /* harmony import */ var _src_phemex_js__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(79);
307771
- /* harmony import */ var _src_poloniex_js__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(8891);
307772
- /* harmony import */ var _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(6877);
307773
- /* harmony import */ var _src_probit_js__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(3657);
307774
- /* harmony import */ var _src_timex_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(1067);
307775
- /* harmony import */ var _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(5261);
307776
- /* harmony import */ var _src_upbit_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(7584);
307777
- /* harmony import */ var _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(3853);
307778
- /* harmony import */ var _src_wazirx_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(6536);
307779
- /* harmony import */ var _src_whitebit_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(5467);
307780
- /* harmony import */ var _src_woo_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(517);
307781
- /* harmony import */ var _src_yobit_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(3850);
307782
- /* harmony import */ var _src_zaif_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(5934);
307783
- /* harmony import */ var _src_zonda_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(5140);
307784
- /* harmony import */ var _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(2467);
307785
- /* harmony import */ var _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(2383);
307786
- /* harmony import */ var _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(8848);
307787
- /* harmony import */ var _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(8764);
307788
- /* harmony import */ var _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(5078);
307789
- /* harmony import */ var _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(1326);
307790
- /* harmony import */ var _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(1230);
307791
- /* harmony import */ var _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(6955);
307792
- /* harmony import */ var _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(453);
307793
- /* harmony import */ var _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(9772);
307794
- /* harmony import */ var _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(588);
307795
- /* harmony import */ var _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(1885);
307796
- /* harmony import */ var _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(7504);
307797
- /* harmony import */ var _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(2302);
307798
- /* harmony import */ var _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(2191);
307799
- /* harmony import */ var _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(1297);
307800
- /* harmony import */ var _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(3005);
307801
- /* harmony import */ var _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(2317);
307802
- /* harmony import */ var _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(6977);
307803
- /* harmony import */ var _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(2519);
307804
- /* harmony import */ var _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(5030);
307805
- /* harmony import */ var _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(5272);
307806
- /* harmony import */ var _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(3414);
307807
- /* harmony import */ var _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(8368);
307808
- /* harmony import */ var _src_pro_coincheck_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(7891);
307809
- /* harmony import */ var _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(204);
307810
- /* harmony import */ var _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(5208);
307811
- /* harmony import */ var _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(6820);
307812
- /* harmony import */ var _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(2952);
307813
- /* harmony import */ var _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(1788);
307814
- /* harmony import */ var _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(9004);
307815
- /* harmony import */ var _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(8335);
307816
- /* harmony import */ var _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(1465);
307817
- /* harmony import */ var _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(9488);
307818
- /* harmony import */ var _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(5189);
307819
- /* harmony import */ var _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(8559);
307820
- /* harmony import */ var _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(7474);
307821
- /* harmony import */ var _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(8384);
307822
- /* harmony import */ var _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(9021);
307823
- /* harmony import */ var _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(3484);
307824
- /* harmony import */ var _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(1311);
307825
- /* harmony import */ var _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(736);
307826
- /* harmony import */ var _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(449);
307827
- /* harmony import */ var _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(2387);
307828
- /* harmony import */ var _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(7181);
307829
- /* harmony import */ var _src_pro_lbank_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(1267);
307830
- /* harmony import */ var _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(627);
307831
- /* harmony import */ var _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(6484);
307832
- /* harmony import */ var _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(8080);
307833
- /* harmony import */ var _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(7105);
307834
- /* harmony import */ var _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(2214);
307835
- /* harmony import */ var _src_pro_onetrading_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(9419);
307836
- /* harmony import */ var _src_pro_p2b_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(8516);
307837
- /* harmony import */ var _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(4360);
307838
- /* harmony import */ var _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(7924);
307839
- /* harmony import */ var _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(3541);
307840
- /* harmony import */ var _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(9782);
307841
- /* harmony import */ var _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(7614);
307842
- /* harmony import */ var _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(4828);
307843
- /* harmony import */ var _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(5630);
307844
- /* harmony import */ var _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(3910);
307286
+ /* harmony import */ var _src_bitget_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(9051);
307287
+ /* harmony import */ var _src_bithumb_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(5305);
307288
+ /* harmony import */ var _src_bitmart_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(3718);
307289
+ /* harmony import */ var _src_bitmex_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(7077);
307290
+ /* harmony import */ var _src_bitopro_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(172);
307291
+ /* harmony import */ var _src_bitpanda_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(2737);
307292
+ /* harmony import */ var _src_bitrue_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(854);
307293
+ /* harmony import */ var _src_bitso_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(4388);
307294
+ /* harmony import */ var _src_bitstamp_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(4667);
307295
+ /* harmony import */ var _src_bitteam_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(8994);
307296
+ /* harmony import */ var _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(9943);
307297
+ /* harmony import */ var _src_bl3p_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(9476);
307298
+ /* harmony import */ var _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(182);
307299
+ /* harmony import */ var _src_blofin_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(687);
307300
+ /* harmony import */ var _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(6246);
307301
+ /* harmony import */ var _src_btcbox_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(7796);
307302
+ /* harmony import */ var _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(1776);
307303
+ /* harmony import */ var _src_btcturk_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(6304);
307304
+ /* harmony import */ var _src_bybit_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(3527);
307305
+ /* harmony import */ var _src_cex_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(6445);
307306
+ /* harmony import */ var _src_coinbase_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(437);
307307
+ /* harmony import */ var _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(8856);
307308
+ /* harmony import */ var _src_coincheck_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(2117);
307309
+ /* harmony import */ var _src_coinex_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(332);
307310
+ /* harmony import */ var _src_coinlist_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(3623);
307311
+ /* harmony import */ var _src_coinmate_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(9816);
307312
+ /* harmony import */ var _src_coinmetro_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(4759);
307313
+ /* harmony import */ var _src_coinone_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(7811);
307314
+ /* harmony import */ var _src_coinsph_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(5782);
307315
+ /* harmony import */ var _src_coinspot_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(7794);
307316
+ /* harmony import */ var _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(9129);
307317
+ /* harmony import */ var _src_currencycom_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(3214);
307318
+ /* harmony import */ var _src_delta_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(1753);
307319
+ /* harmony import */ var _src_deribit_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(24);
307320
+ /* harmony import */ var _src_digifinex_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(8846);
307321
+ /* harmony import */ var _src_exmo_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(1729);
307322
+ /* harmony import */ var _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(5788);
307323
+ /* harmony import */ var _src_gate_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(7290);
307324
+ /* harmony import */ var _src_gateio_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(7036);
307325
+ /* harmony import */ var _src_gemini_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(6743);
307326
+ /* harmony import */ var _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(4714);
307327
+ /* harmony import */ var _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(4815);
307328
+ /* harmony import */ var _src_hollaex_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(8422);
307329
+ /* harmony import */ var _src_htx_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(5939);
307330
+ /* harmony import */ var _src_huobi_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(8146);
307331
+ /* harmony import */ var _src_huobijp_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(7034);
307332
+ /* harmony import */ var _src_idex_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(8232);
307333
+ /* harmony import */ var _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(9570);
307334
+ /* harmony import */ var _src_indodax_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(1605);
307335
+ /* harmony import */ var _src_kraken_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(9922);
307336
+ /* harmony import */ var _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(4470);
307337
+ /* harmony import */ var _src_kucoin_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(3583);
307338
+ /* harmony import */ var _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(1924);
307339
+ /* harmony import */ var _src_kuna_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(7732);
307340
+ /* harmony import */ var _src_latoken_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(2545);
307341
+ /* harmony import */ var _src_lbank_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(3944);
307342
+ /* harmony import */ var _src_luno_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(1758);
307343
+ /* harmony import */ var _src_lykke_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(3803);
307344
+ /* harmony import */ var _src_mercado_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(9013);
307345
+ /* harmony import */ var _src_mexc_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(6641);
307346
+ /* harmony import */ var _src_ndax_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(4531);
307347
+ /* harmony import */ var _src_novadax_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(2449);
307348
+ /* harmony import */ var _src_oceanex_js__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(6749);
307349
+ /* harmony import */ var _src_okcoin_js__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(3007);
307350
+ /* harmony import */ var _src_okx_js__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(4042);
307351
+ /* harmony import */ var _src_onetrading_js__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(6481);
307352
+ /* harmony import */ var _src_p2b_js__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(2466);
307353
+ /* harmony import */ var _src_paymium_js__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(7082);
307354
+ /* harmony import */ var _src_phemex_js__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(79);
307355
+ /* harmony import */ var _src_poloniex_js__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(8891);
307356
+ /* harmony import */ var _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(6877);
307357
+ /* harmony import */ var _src_probit_js__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(3657);
307358
+ /* harmony import */ var _src_timex_js__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(1067);
307359
+ /* harmony import */ var _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(5261);
307360
+ /* harmony import */ var _src_upbit_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(7584);
307361
+ /* harmony import */ var _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(3853);
307362
+ /* harmony import */ var _src_wazirx_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(6536);
307363
+ /* harmony import */ var _src_whitebit_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(5467);
307364
+ /* harmony import */ var _src_woo_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(517);
307365
+ /* harmony import */ var _src_yobit_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(3850);
307366
+ /* harmony import */ var _src_zaif_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(5934);
307367
+ /* harmony import */ var _src_zonda_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(5140);
307368
+ /* harmony import */ var _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(2467);
307369
+ /* harmony import */ var _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(2383);
307370
+ /* harmony import */ var _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(8848);
307371
+ /* harmony import */ var _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(8764);
307372
+ /* harmony import */ var _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(5078);
307373
+ /* harmony import */ var _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(1326);
307374
+ /* harmony import */ var _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(1230);
307375
+ /* harmony import */ var _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(6955);
307376
+ /* harmony import */ var _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(453);
307377
+ /* harmony import */ var _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(9772);
307378
+ /* harmony import */ var _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(588);
307379
+ /* harmony import */ var _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(1885);
307380
+ /* harmony import */ var _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(7504);
307381
+ /* harmony import */ var _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(2302);
307382
+ /* harmony import */ var _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(2191);
307383
+ /* harmony import */ var _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(1297);
307384
+ /* harmony import */ var _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(3005);
307385
+ /* harmony import */ var _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(2317);
307386
+ /* harmony import */ var _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(6977);
307387
+ /* harmony import */ var _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(2519);
307388
+ /* harmony import */ var _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(5030);
307389
+ /* harmony import */ var _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(5272);
307390
+ /* harmony import */ var _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(3414);
307391
+ /* harmony import */ var _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(8368);
307392
+ /* harmony import */ var _src_pro_coincheck_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(7891);
307393
+ /* harmony import */ var _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(204);
307394
+ /* harmony import */ var _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(5208);
307395
+ /* harmony import */ var _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(6820);
307396
+ /* harmony import */ var _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(2952);
307397
+ /* harmony import */ var _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(1788);
307398
+ /* harmony import */ var _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(9004);
307399
+ /* harmony import */ var _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(8335);
307400
+ /* harmony import */ var _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(1465);
307401
+ /* harmony import */ var _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(9488);
307402
+ /* harmony import */ var _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(5189);
307403
+ /* harmony import */ var _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(8559);
307404
+ /* harmony import */ var _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(7474);
307405
+ /* harmony import */ var _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(8384);
307406
+ /* harmony import */ var _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(9021);
307407
+ /* harmony import */ var _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(3484);
307408
+ /* harmony import */ var _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(1311);
307409
+ /* harmony import */ var _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(736);
307410
+ /* harmony import */ var _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(449);
307411
+ /* harmony import */ var _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(2387);
307412
+ /* harmony import */ var _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(7181);
307413
+ /* harmony import */ var _src_pro_lbank_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(1267);
307414
+ /* harmony import */ var _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(627);
307415
+ /* harmony import */ var _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(6484);
307416
+ /* harmony import */ var _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(8080);
307417
+ /* harmony import */ var _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(7105);
307418
+ /* harmony import */ var _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(2214);
307419
+ /* harmony import */ var _src_pro_onetrading_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(9419);
307420
+ /* harmony import */ var _src_pro_p2b_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(8516);
307421
+ /* harmony import */ var _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(4360);
307422
+ /* harmony import */ var _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(7924);
307423
+ /* harmony import */ var _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(3541);
307424
+ /* harmony import */ var _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(9782);
307425
+ /* harmony import */ var _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(7614);
307426
+ /* harmony import */ var _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(4828);
307427
+ /* harmony import */ var _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(5630);
307428
+ /* harmony import */ var _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(3910);
307845
307429
  /*
307846
307430
 
307847
307431
  MIT License
@@ -307876,7 +307460,7 @@ SOFTWARE.
307876
307460
 
307877
307461
  //-----------------------------------------------------------------------------
307878
307462
  // this is updated by vss.js when building
307879
- const version = '4.2.51';
307463
+ const version = '4.2.53';
307880
307464
  _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion = version;
307881
307465
  //-----------------------------------------------------------------------------
307882
307466
 
@@ -307977,7 +307561,6 @@ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion
307977
307561
 
307978
307562
 
307979
307563
 
307980
-
307981
307564
 
307982
307565
 
307983
307566
  // pro exchanges
@@ -308061,152 +307644,151 @@ const exchanges = {
308061
307644
  'bitfinex': _src_bitfinex_js__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z,
308062
307645
  'bitfinex2': _src_bitfinex2_js__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z,
308063
307646
  'bitflyer': _src_bitflyer_js__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .Z,
308064
- 'bitforex': _src_bitforex_js__WEBPACK_IMPORTED_MODULE_19__/* ["default"] */ .Z,
308065
- 'bitget': _src_bitget_js__WEBPACK_IMPORTED_MODULE_20__/* ["default"] */ .Z,
308066
- 'bithumb': _src_bithumb_js__WEBPACK_IMPORTED_MODULE_21__/* ["default"] */ .Z,
308067
- 'bitmart': _src_bitmart_js__WEBPACK_IMPORTED_MODULE_22__/* ["default"] */ .Z,
308068
- 'bitmex': _src_bitmex_js__WEBPACK_IMPORTED_MODULE_23__/* ["default"] */ .Z,
308069
- 'bitopro': _src_bitopro_js__WEBPACK_IMPORTED_MODULE_24__/* ["default"] */ .Z,
308070
- 'bitpanda': _src_bitpanda_js__WEBPACK_IMPORTED_MODULE_25__/* ["default"] */ .Z,
308071
- 'bitrue': _src_bitrue_js__WEBPACK_IMPORTED_MODULE_26__/* ["default"] */ .Z,
308072
- 'bitso': _src_bitso_js__WEBPACK_IMPORTED_MODULE_27__/* ["default"] */ .Z,
308073
- 'bitstamp': _src_bitstamp_js__WEBPACK_IMPORTED_MODULE_28__/* ["default"] */ .Z,
308074
- 'bitteam': _src_bitteam_js__WEBPACK_IMPORTED_MODULE_29__/* ["default"] */ .Z,
308075
- 'bitvavo': _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_30__/* ["default"] */ .Z,
308076
- 'bl3p': _src_bl3p_js__WEBPACK_IMPORTED_MODULE_31__/* ["default"] */ .Z,
308077
- 'blockchaincom': _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_32__/* ["default"] */ .Z,
308078
- 'blofin': _src_blofin_js__WEBPACK_IMPORTED_MODULE_33__/* ["default"] */ .Z,
308079
- 'btcalpha': _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_34__/* ["default"] */ .Z,
308080
- 'btcbox': _src_btcbox_js__WEBPACK_IMPORTED_MODULE_35__/* ["default"] */ .Z,
308081
- 'btcmarkets': _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_36__/* ["default"] */ .Z,
308082
- 'btcturk': _src_btcturk_js__WEBPACK_IMPORTED_MODULE_37__/* ["default"] */ .Z,
308083
- 'bybit': _src_bybit_js__WEBPACK_IMPORTED_MODULE_38__/* ["default"] */ .Z,
308084
- 'cex': _src_cex_js__WEBPACK_IMPORTED_MODULE_39__/* ["default"] */ .Z,
308085
- 'coinbase': _src_coinbase_js__WEBPACK_IMPORTED_MODULE_40__/* ["default"] */ .Z,
308086
- 'coinbasepro': _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_41__/* ["default"] */ .Z,
308087
- 'coincheck': _src_coincheck_js__WEBPACK_IMPORTED_MODULE_42__/* ["default"] */ .Z,
308088
- 'coinex': _src_coinex_js__WEBPACK_IMPORTED_MODULE_43__/* ["default"] */ .Z,
308089
- 'coinlist': _src_coinlist_js__WEBPACK_IMPORTED_MODULE_44__/* ["default"] */ .Z,
308090
- 'coinmate': _src_coinmate_js__WEBPACK_IMPORTED_MODULE_45__/* ["default"] */ .Z,
308091
- 'coinmetro': _src_coinmetro_js__WEBPACK_IMPORTED_MODULE_46__/* ["default"] */ .Z,
308092
- 'coinone': _src_coinone_js__WEBPACK_IMPORTED_MODULE_47__/* ["default"] */ .Z,
308093
- 'coinsph': _src_coinsph_js__WEBPACK_IMPORTED_MODULE_48__/* ["default"] */ .Z,
308094
- 'coinspot': _src_coinspot_js__WEBPACK_IMPORTED_MODULE_49__/* ["default"] */ .Z,
308095
- 'cryptocom': _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_50__/* ["default"] */ .Z,
308096
- 'currencycom': _src_currencycom_js__WEBPACK_IMPORTED_MODULE_51__/* ["default"] */ .Z,
308097
- 'delta': _src_delta_js__WEBPACK_IMPORTED_MODULE_52__/* ["default"] */ .Z,
308098
- 'deribit': _src_deribit_js__WEBPACK_IMPORTED_MODULE_53__/* ["default"] */ .Z,
308099
- 'digifinex': _src_digifinex_js__WEBPACK_IMPORTED_MODULE_54__/* ["default"] */ .Z,
308100
- 'exmo': _src_exmo_js__WEBPACK_IMPORTED_MODULE_55__/* ["default"] */ .Z,
308101
- 'fmfwio': _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_56__/* ["default"] */ .Z,
308102
- 'gate': _src_gate_js__WEBPACK_IMPORTED_MODULE_57__/* ["default"] */ .Z,
308103
- 'gateio': _src_gateio_js__WEBPACK_IMPORTED_MODULE_58__/* ["default"] */ .Z,
308104
- 'gemini': _src_gemini_js__WEBPACK_IMPORTED_MODULE_59__/* ["default"] */ .Z,
308105
- 'hitbtc': _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_60__/* ["default"] */ .Z,
308106
- 'hitbtc3': _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_61__/* ["default"] */ .Z,
308107
- 'hollaex': _src_hollaex_js__WEBPACK_IMPORTED_MODULE_62__/* ["default"] */ .Z,
308108
- 'htx': _src_htx_js__WEBPACK_IMPORTED_MODULE_63__/* ["default"] */ .Z,
308109
- 'huobi': _src_huobi_js__WEBPACK_IMPORTED_MODULE_64__/* ["default"] */ .Z,
308110
- 'huobijp': _src_huobijp_js__WEBPACK_IMPORTED_MODULE_65__/* ["default"] */ .Z,
308111
- 'idex': _src_idex_js__WEBPACK_IMPORTED_MODULE_66__/* ["default"] */ .Z,
308112
- 'independentreserve': _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_67__/* ["default"] */ .Z,
308113
- 'indodax': _src_indodax_js__WEBPACK_IMPORTED_MODULE_68__/* ["default"] */ .Z,
308114
- 'kraken': _src_kraken_js__WEBPACK_IMPORTED_MODULE_69__/* ["default"] */ .Z,
308115
- 'krakenfutures': _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_70__/* ["default"] */ .Z,
308116
- 'kucoin': _src_kucoin_js__WEBPACK_IMPORTED_MODULE_71__/* ["default"] */ .Z,
308117
- 'kucoinfutures': _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_72__/* ["default"] */ .Z,
308118
- 'kuna': _src_kuna_js__WEBPACK_IMPORTED_MODULE_73__/* ["default"] */ .Z,
308119
- 'latoken': _src_latoken_js__WEBPACK_IMPORTED_MODULE_74__/* ["default"] */ .Z,
308120
- 'lbank': _src_lbank_js__WEBPACK_IMPORTED_MODULE_75__/* ["default"] */ .Z,
308121
- 'luno': _src_luno_js__WEBPACK_IMPORTED_MODULE_76__/* ["default"] */ .Z,
308122
- 'lykke': _src_lykke_js__WEBPACK_IMPORTED_MODULE_77__/* ["default"] */ .Z,
308123
- 'mercado': _src_mercado_js__WEBPACK_IMPORTED_MODULE_78__/* ["default"] */ .Z,
308124
- 'mexc': _src_mexc_js__WEBPACK_IMPORTED_MODULE_79__/* ["default"] */ .Z,
308125
- 'ndax': _src_ndax_js__WEBPACK_IMPORTED_MODULE_80__/* ["default"] */ .Z,
308126
- 'novadax': _src_novadax_js__WEBPACK_IMPORTED_MODULE_81__/* ["default"] */ .Z,
308127
- 'oceanex': _src_oceanex_js__WEBPACK_IMPORTED_MODULE_82__/* ["default"] */ .Z,
308128
- 'okcoin': _src_okcoin_js__WEBPACK_IMPORTED_MODULE_83__/* ["default"] */ .Z,
308129
- 'okx': _src_okx_js__WEBPACK_IMPORTED_MODULE_84__/* ["default"] */ .Z,
308130
- 'onetrading': _src_onetrading_js__WEBPACK_IMPORTED_MODULE_85__/* ["default"] */ .Z,
308131
- 'p2b': _src_p2b_js__WEBPACK_IMPORTED_MODULE_86__/* ["default"] */ .Z,
308132
- 'paymium': _src_paymium_js__WEBPACK_IMPORTED_MODULE_87__/* ["default"] */ .Z,
308133
- 'phemex': _src_phemex_js__WEBPACK_IMPORTED_MODULE_88__/* ["default"] */ .Z,
308134
- 'poloniex': _src_poloniex_js__WEBPACK_IMPORTED_MODULE_89__/* ["default"] */ .Z,
308135
- 'poloniexfutures': _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_90__/* ["default"] */ .Z,
308136
- 'probit': _src_probit_js__WEBPACK_IMPORTED_MODULE_91__/* ["default"] */ .Z,
308137
- 'timex': _src_timex_js__WEBPACK_IMPORTED_MODULE_92__/* ["default"] */ .Z,
308138
- 'tokocrypto': _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_93__/* ["default"] */ .Z,
308139
- 'upbit': _src_upbit_js__WEBPACK_IMPORTED_MODULE_94__/* ["default"] */ .Z,
308140
- 'wavesexchange': _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_95__/* ["default"] */ .Z,
308141
- 'wazirx': _src_wazirx_js__WEBPACK_IMPORTED_MODULE_96__/* ["default"] */ .Z,
308142
- 'whitebit': _src_whitebit_js__WEBPACK_IMPORTED_MODULE_97__/* ["default"] */ .Z,
308143
- 'woo': _src_woo_js__WEBPACK_IMPORTED_MODULE_98__/* ["default"] */ .Z,
308144
- 'yobit': _src_yobit_js__WEBPACK_IMPORTED_MODULE_99__/* ["default"] */ .Z,
308145
- 'zaif': _src_zaif_js__WEBPACK_IMPORTED_MODULE_100__/* ["default"] */ .Z,
308146
- 'zonda': _src_zonda_js__WEBPACK_IMPORTED_MODULE_101__/* ["default"] */ .Z,
307647
+ 'bitget': _src_bitget_js__WEBPACK_IMPORTED_MODULE_19__/* ["default"] */ .Z,
307648
+ 'bithumb': _src_bithumb_js__WEBPACK_IMPORTED_MODULE_20__/* ["default"] */ .Z,
307649
+ 'bitmart': _src_bitmart_js__WEBPACK_IMPORTED_MODULE_21__/* ["default"] */ .Z,
307650
+ 'bitmex': _src_bitmex_js__WEBPACK_IMPORTED_MODULE_22__/* ["default"] */ .Z,
307651
+ 'bitopro': _src_bitopro_js__WEBPACK_IMPORTED_MODULE_23__/* ["default"] */ .Z,
307652
+ 'bitpanda': _src_bitpanda_js__WEBPACK_IMPORTED_MODULE_24__/* ["default"] */ .Z,
307653
+ 'bitrue': _src_bitrue_js__WEBPACK_IMPORTED_MODULE_25__/* ["default"] */ .Z,
307654
+ 'bitso': _src_bitso_js__WEBPACK_IMPORTED_MODULE_26__/* ["default"] */ .Z,
307655
+ 'bitstamp': _src_bitstamp_js__WEBPACK_IMPORTED_MODULE_27__/* ["default"] */ .Z,
307656
+ 'bitteam': _src_bitteam_js__WEBPACK_IMPORTED_MODULE_28__/* ["default"] */ .Z,
307657
+ 'bitvavo': _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_29__/* ["default"] */ .Z,
307658
+ 'bl3p': _src_bl3p_js__WEBPACK_IMPORTED_MODULE_30__/* ["default"] */ .Z,
307659
+ 'blockchaincom': _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_31__/* ["default"] */ .Z,
307660
+ 'blofin': _src_blofin_js__WEBPACK_IMPORTED_MODULE_32__/* ["default"] */ .Z,
307661
+ 'btcalpha': _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_33__/* ["default"] */ .Z,
307662
+ 'btcbox': _src_btcbox_js__WEBPACK_IMPORTED_MODULE_34__/* ["default"] */ .Z,
307663
+ 'btcmarkets': _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_35__/* ["default"] */ .Z,
307664
+ 'btcturk': _src_btcturk_js__WEBPACK_IMPORTED_MODULE_36__/* ["default"] */ .Z,
307665
+ 'bybit': _src_bybit_js__WEBPACK_IMPORTED_MODULE_37__/* ["default"] */ .Z,
307666
+ 'cex': _src_cex_js__WEBPACK_IMPORTED_MODULE_38__/* ["default"] */ .Z,
307667
+ 'coinbase': _src_coinbase_js__WEBPACK_IMPORTED_MODULE_39__/* ["default"] */ .Z,
307668
+ 'coinbasepro': _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_40__/* ["default"] */ .Z,
307669
+ 'coincheck': _src_coincheck_js__WEBPACK_IMPORTED_MODULE_41__/* ["default"] */ .Z,
307670
+ 'coinex': _src_coinex_js__WEBPACK_IMPORTED_MODULE_42__/* ["default"] */ .Z,
307671
+ 'coinlist': _src_coinlist_js__WEBPACK_IMPORTED_MODULE_43__/* ["default"] */ .Z,
307672
+ 'coinmate': _src_coinmate_js__WEBPACK_IMPORTED_MODULE_44__/* ["default"] */ .Z,
307673
+ 'coinmetro': _src_coinmetro_js__WEBPACK_IMPORTED_MODULE_45__/* ["default"] */ .Z,
307674
+ 'coinone': _src_coinone_js__WEBPACK_IMPORTED_MODULE_46__/* ["default"] */ .Z,
307675
+ 'coinsph': _src_coinsph_js__WEBPACK_IMPORTED_MODULE_47__/* ["default"] */ .Z,
307676
+ 'coinspot': _src_coinspot_js__WEBPACK_IMPORTED_MODULE_48__/* ["default"] */ .Z,
307677
+ 'cryptocom': _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_49__/* ["default"] */ .Z,
307678
+ 'currencycom': _src_currencycom_js__WEBPACK_IMPORTED_MODULE_50__/* ["default"] */ .Z,
307679
+ 'delta': _src_delta_js__WEBPACK_IMPORTED_MODULE_51__/* ["default"] */ .Z,
307680
+ 'deribit': _src_deribit_js__WEBPACK_IMPORTED_MODULE_52__/* ["default"] */ .Z,
307681
+ 'digifinex': _src_digifinex_js__WEBPACK_IMPORTED_MODULE_53__/* ["default"] */ .Z,
307682
+ 'exmo': _src_exmo_js__WEBPACK_IMPORTED_MODULE_54__/* ["default"] */ .Z,
307683
+ 'fmfwio': _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_55__/* ["default"] */ .Z,
307684
+ 'gate': _src_gate_js__WEBPACK_IMPORTED_MODULE_56__/* ["default"] */ .Z,
307685
+ 'gateio': _src_gateio_js__WEBPACK_IMPORTED_MODULE_57__/* ["default"] */ .Z,
307686
+ 'gemini': _src_gemini_js__WEBPACK_IMPORTED_MODULE_58__/* ["default"] */ .Z,
307687
+ 'hitbtc': _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_59__/* ["default"] */ .Z,
307688
+ 'hitbtc3': _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_60__/* ["default"] */ .Z,
307689
+ 'hollaex': _src_hollaex_js__WEBPACK_IMPORTED_MODULE_61__/* ["default"] */ .Z,
307690
+ 'htx': _src_htx_js__WEBPACK_IMPORTED_MODULE_62__/* ["default"] */ .Z,
307691
+ 'huobi': _src_huobi_js__WEBPACK_IMPORTED_MODULE_63__/* ["default"] */ .Z,
307692
+ 'huobijp': _src_huobijp_js__WEBPACK_IMPORTED_MODULE_64__/* ["default"] */ .Z,
307693
+ 'idex': _src_idex_js__WEBPACK_IMPORTED_MODULE_65__/* ["default"] */ .Z,
307694
+ 'independentreserve': _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_66__/* ["default"] */ .Z,
307695
+ 'indodax': _src_indodax_js__WEBPACK_IMPORTED_MODULE_67__/* ["default"] */ .Z,
307696
+ 'kraken': _src_kraken_js__WEBPACK_IMPORTED_MODULE_68__/* ["default"] */ .Z,
307697
+ 'krakenfutures': _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_69__/* ["default"] */ .Z,
307698
+ 'kucoin': _src_kucoin_js__WEBPACK_IMPORTED_MODULE_70__/* ["default"] */ .Z,
307699
+ 'kucoinfutures': _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_71__/* ["default"] */ .Z,
307700
+ 'kuna': _src_kuna_js__WEBPACK_IMPORTED_MODULE_72__/* ["default"] */ .Z,
307701
+ 'latoken': _src_latoken_js__WEBPACK_IMPORTED_MODULE_73__/* ["default"] */ .Z,
307702
+ 'lbank': _src_lbank_js__WEBPACK_IMPORTED_MODULE_74__/* ["default"] */ .Z,
307703
+ 'luno': _src_luno_js__WEBPACK_IMPORTED_MODULE_75__/* ["default"] */ .Z,
307704
+ 'lykke': _src_lykke_js__WEBPACK_IMPORTED_MODULE_76__/* ["default"] */ .Z,
307705
+ 'mercado': _src_mercado_js__WEBPACK_IMPORTED_MODULE_77__/* ["default"] */ .Z,
307706
+ 'mexc': _src_mexc_js__WEBPACK_IMPORTED_MODULE_78__/* ["default"] */ .Z,
307707
+ 'ndax': _src_ndax_js__WEBPACK_IMPORTED_MODULE_79__/* ["default"] */ .Z,
307708
+ 'novadax': _src_novadax_js__WEBPACK_IMPORTED_MODULE_80__/* ["default"] */ .Z,
307709
+ 'oceanex': _src_oceanex_js__WEBPACK_IMPORTED_MODULE_81__/* ["default"] */ .Z,
307710
+ 'okcoin': _src_okcoin_js__WEBPACK_IMPORTED_MODULE_82__/* ["default"] */ .Z,
307711
+ 'okx': _src_okx_js__WEBPACK_IMPORTED_MODULE_83__/* ["default"] */ .Z,
307712
+ 'onetrading': _src_onetrading_js__WEBPACK_IMPORTED_MODULE_84__/* ["default"] */ .Z,
307713
+ 'p2b': _src_p2b_js__WEBPACK_IMPORTED_MODULE_85__/* ["default"] */ .Z,
307714
+ 'paymium': _src_paymium_js__WEBPACK_IMPORTED_MODULE_86__/* ["default"] */ .Z,
307715
+ 'phemex': _src_phemex_js__WEBPACK_IMPORTED_MODULE_87__/* ["default"] */ .Z,
307716
+ 'poloniex': _src_poloniex_js__WEBPACK_IMPORTED_MODULE_88__/* ["default"] */ .Z,
307717
+ 'poloniexfutures': _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_89__/* ["default"] */ .Z,
307718
+ 'probit': _src_probit_js__WEBPACK_IMPORTED_MODULE_90__/* ["default"] */ .Z,
307719
+ 'timex': _src_timex_js__WEBPACK_IMPORTED_MODULE_91__/* ["default"] */ .Z,
307720
+ 'tokocrypto': _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_92__/* ["default"] */ .Z,
307721
+ 'upbit': _src_upbit_js__WEBPACK_IMPORTED_MODULE_93__/* ["default"] */ .Z,
307722
+ 'wavesexchange': _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_94__/* ["default"] */ .Z,
307723
+ 'wazirx': _src_wazirx_js__WEBPACK_IMPORTED_MODULE_95__/* ["default"] */ .Z,
307724
+ 'whitebit': _src_whitebit_js__WEBPACK_IMPORTED_MODULE_96__/* ["default"] */ .Z,
307725
+ 'woo': _src_woo_js__WEBPACK_IMPORTED_MODULE_97__/* ["default"] */ .Z,
307726
+ 'yobit': _src_yobit_js__WEBPACK_IMPORTED_MODULE_98__/* ["default"] */ .Z,
307727
+ 'zaif': _src_zaif_js__WEBPACK_IMPORTED_MODULE_99__/* ["default"] */ .Z,
307728
+ 'zonda': _src_zonda_js__WEBPACK_IMPORTED_MODULE_100__/* ["default"] */ .Z,
308147
307729
  };
308148
307730
  const pro = {
308149
- 'alpaca': _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_102__/* ["default"] */ .Z,
308150
- 'ascendex': _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_103__/* ["default"] */ .Z,
308151
- 'bequant': _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_104__/* ["default"] */ .Z,
308152
- 'binance': _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_105__/* ["default"] */ .Z,
308153
- 'binancecoinm': _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_106__/* ["default"] */ .Z,
308154
- 'binanceus': _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_107__/* ["default"] */ .Z,
308155
- 'binanceusdm': _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_108__/* ["default"] */ .Z,
308156
- 'bingx': _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_109__/* ["default"] */ .Z,
308157
- 'bitcoincom': _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_110__/* ["default"] */ .Z,
308158
- 'bitfinex': _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_111__/* ["default"] */ .Z,
308159
- 'bitfinex2': _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_112__/* ["default"] */ .Z,
308160
- 'bitget': _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_113__/* ["default"] */ .Z,
308161
- 'bitmart': _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_114__/* ["default"] */ .Z,
308162
- 'bitmex': _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_115__/* ["default"] */ .Z,
308163
- 'bitopro': _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_116__/* ["default"] */ .Z,
308164
- 'bitpanda': _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_117__/* ["default"] */ .Z,
308165
- 'bitrue': _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_118__/* ["default"] */ .Z,
308166
- 'bitstamp': _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_119__/* ["default"] */ .Z,
308167
- 'bitvavo': _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_120__/* ["default"] */ .Z,
308168
- 'blockchaincom': _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_121__/* ["default"] */ .Z,
308169
- 'bybit': _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_122__/* ["default"] */ .Z,
308170
- 'cex': _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_123__/* ["default"] */ .Z,
308171
- 'coinbase': _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_124__/* ["default"] */ .Z,
308172
- 'coinbasepro': _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_125__/* ["default"] */ .Z,
308173
- 'coincheck': _src_pro_coincheck_js__WEBPACK_IMPORTED_MODULE_126__/* ["default"] */ .Z,
308174
- 'coinex': _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_127__/* ["default"] */ .Z,
308175
- 'coinone': _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_128__/* ["default"] */ .Z,
308176
- 'cryptocom': _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_129__/* ["default"] */ .Z,
308177
- 'currencycom': _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_130__/* ["default"] */ .Z,
308178
- 'deribit': _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_131__/* ["default"] */ .Z,
308179
- 'exmo': _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_132__/* ["default"] */ .Z,
308180
- 'gate': _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_133__/* ["default"] */ .Z,
308181
- 'gateio': _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_134__/* ["default"] */ .Z,
308182
- 'gemini': _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_135__/* ["default"] */ .Z,
308183
- 'hitbtc': _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_136__/* ["default"] */ .Z,
308184
- 'hollaex': _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_137__/* ["default"] */ .Z,
308185
- 'htx': _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_138__/* ["default"] */ .Z,
308186
- 'huobi': _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_139__/* ["default"] */ .Z,
308187
- 'huobijp': _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_140__/* ["default"] */ .Z,
308188
- 'idex': _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_141__/* ["default"] */ .Z,
308189
- 'independentreserve': _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_142__/* ["default"] */ .Z,
308190
- 'kraken': _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_143__/* ["default"] */ .Z,
308191
- 'krakenfutures': _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_144__/* ["default"] */ .Z,
308192
- 'kucoin': _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_145__/* ["default"] */ .Z,
308193
- 'kucoinfutures': _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_146__/* ["default"] */ .Z,
308194
- 'lbank': _src_pro_lbank_js__WEBPACK_IMPORTED_MODULE_147__/* ["default"] */ .Z,
308195
- 'luno': _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_148__/* ["default"] */ .Z,
308196
- 'mexc': _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_149__/* ["default"] */ .Z,
308197
- 'ndax': _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_150__/* ["default"] */ .Z,
308198
- 'okcoin': _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_151__/* ["default"] */ .Z,
308199
- 'okx': _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_152__/* ["default"] */ .Z,
308200
- 'onetrading': _src_pro_onetrading_js__WEBPACK_IMPORTED_MODULE_153__/* ["default"] */ .Z,
308201
- 'p2b': _src_pro_p2b_js__WEBPACK_IMPORTED_MODULE_154__/* ["default"] */ .Z,
308202
- 'phemex': _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_155__/* ["default"] */ .Z,
308203
- 'poloniex': _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_156__/* ["default"] */ .Z,
308204
- 'poloniexfutures': _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_157__/* ["default"] */ .Z,
308205
- 'probit': _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_158__/* ["default"] */ .Z,
308206
- 'upbit': _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_159__/* ["default"] */ .Z,
308207
- 'wazirx': _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_160__/* ["default"] */ .Z,
308208
- 'whitebit': _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_161__/* ["default"] */ .Z,
308209
- 'woo': _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_162__/* ["default"] */ .Z,
307731
+ 'alpaca': _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_101__/* ["default"] */ .Z,
307732
+ 'ascendex': _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_102__/* ["default"] */ .Z,
307733
+ 'bequant': _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_103__/* ["default"] */ .Z,
307734
+ 'binance': _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_104__/* ["default"] */ .Z,
307735
+ 'binancecoinm': _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_105__/* ["default"] */ .Z,
307736
+ 'binanceus': _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_106__/* ["default"] */ .Z,
307737
+ 'binanceusdm': _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_107__/* ["default"] */ .Z,
307738
+ 'bingx': _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_108__/* ["default"] */ .Z,
307739
+ 'bitcoincom': _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_109__/* ["default"] */ .Z,
307740
+ 'bitfinex': _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_110__/* ["default"] */ .Z,
307741
+ 'bitfinex2': _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_111__/* ["default"] */ .Z,
307742
+ 'bitget': _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_112__/* ["default"] */ .Z,
307743
+ 'bitmart': _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_113__/* ["default"] */ .Z,
307744
+ 'bitmex': _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_114__/* ["default"] */ .Z,
307745
+ 'bitopro': _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_115__/* ["default"] */ .Z,
307746
+ 'bitpanda': _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_116__/* ["default"] */ .Z,
307747
+ 'bitrue': _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_117__/* ["default"] */ .Z,
307748
+ 'bitstamp': _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_118__/* ["default"] */ .Z,
307749
+ 'bitvavo': _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_119__/* ["default"] */ .Z,
307750
+ 'blockchaincom': _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_120__/* ["default"] */ .Z,
307751
+ 'bybit': _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_121__/* ["default"] */ .Z,
307752
+ 'cex': _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_122__/* ["default"] */ .Z,
307753
+ 'coinbase': _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_123__/* ["default"] */ .Z,
307754
+ 'coinbasepro': _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_124__/* ["default"] */ .Z,
307755
+ 'coincheck': _src_pro_coincheck_js__WEBPACK_IMPORTED_MODULE_125__/* ["default"] */ .Z,
307756
+ 'coinex': _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_126__/* ["default"] */ .Z,
307757
+ 'coinone': _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_127__/* ["default"] */ .Z,
307758
+ 'cryptocom': _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_128__/* ["default"] */ .Z,
307759
+ 'currencycom': _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_129__/* ["default"] */ .Z,
307760
+ 'deribit': _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_130__/* ["default"] */ .Z,
307761
+ 'exmo': _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_131__/* ["default"] */ .Z,
307762
+ 'gate': _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_132__/* ["default"] */ .Z,
307763
+ 'gateio': _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_133__/* ["default"] */ .Z,
307764
+ 'gemini': _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_134__/* ["default"] */ .Z,
307765
+ 'hitbtc': _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_135__/* ["default"] */ .Z,
307766
+ 'hollaex': _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_136__/* ["default"] */ .Z,
307767
+ 'htx': _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_137__/* ["default"] */ .Z,
307768
+ 'huobi': _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_138__/* ["default"] */ .Z,
307769
+ 'huobijp': _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_139__/* ["default"] */ .Z,
307770
+ 'idex': _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_140__/* ["default"] */ .Z,
307771
+ 'independentreserve': _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_141__/* ["default"] */ .Z,
307772
+ 'kraken': _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_142__/* ["default"] */ .Z,
307773
+ 'krakenfutures': _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_143__/* ["default"] */ .Z,
307774
+ 'kucoin': _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_144__/* ["default"] */ .Z,
307775
+ 'kucoinfutures': _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_145__/* ["default"] */ .Z,
307776
+ 'lbank': _src_pro_lbank_js__WEBPACK_IMPORTED_MODULE_146__/* ["default"] */ .Z,
307777
+ 'luno': _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_147__/* ["default"] */ .Z,
307778
+ 'mexc': _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_148__/* ["default"] */ .Z,
307779
+ 'ndax': _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_149__/* ["default"] */ .Z,
307780
+ 'okcoin': _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_150__/* ["default"] */ .Z,
307781
+ 'okx': _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_151__/* ["default"] */ .Z,
307782
+ 'onetrading': _src_pro_onetrading_js__WEBPACK_IMPORTED_MODULE_152__/* ["default"] */ .Z,
307783
+ 'p2b': _src_pro_p2b_js__WEBPACK_IMPORTED_MODULE_153__/* ["default"] */ .Z,
307784
+ 'phemex': _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_154__/* ["default"] */ .Z,
307785
+ 'poloniex': _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_155__/* ["default"] */ .Z,
307786
+ 'poloniexfutures': _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_156__/* ["default"] */ .Z,
307787
+ 'probit': _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_157__/* ["default"] */ .Z,
307788
+ 'upbit': _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_158__/* ["default"] */ .Z,
307789
+ 'wazirx': _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_159__/* ["default"] */ .Z,
307790
+ 'whitebit': _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_160__/* ["default"] */ .Z,
307791
+ 'woo': _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_161__/* ["default"] */ .Z,
308210
307792
  };
308211
307793
  for (const exchange in pro) {
308212
307794
  // const ccxtExchange = exchanges[exchange]
@@ -308219,7 +307801,7 @@ for (const exchange in pro) {
308219
307801
  pro.exchanges = Object.keys(pro);
308220
307802
  pro['Exchange'] = _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e; // now the same for rest and ts
308221
307803
  //-----------------------------------------------------------------------------
308222
- const ccxt = Object.assign({ version, Exchange: _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e, Precise: _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_163__/* .Precise */ .O, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, _src_base_functions_js__WEBPACK_IMPORTED_MODULE_164__, _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__);
307804
+ const ccxt = Object.assign({ version, Exchange: _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e, Precise: _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_162__/* .Precise */ .O, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, _src_base_functions_js__WEBPACK_IMPORTED_MODULE_163__, _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__);
308223
307805
 
308224
307806
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ccxt);
308225
307807
  //-----------------------------------------------------------------------------