ccxt 4.2.50 → 4.2.52

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 (44) hide show
  1. package/CHANGELOG.md +76 -16
  2. package/README.md +5 -6
  3. package/dist/ccxt.browser.js +703 -1367
  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 +52 -2
  8. package/dist/cjs/src/mexc.js +2 -1
  9. package/dist/cjs/src/okx.js +1 -1
  10. package/dist/cjs/src/pro/binance.js +156 -1
  11. package/dist/cjs/src/pro/bitcoincom.js +4 -5
  12. package/dist/cjs/src/pro/bitfinex2.js +3 -1
  13. package/dist/cjs/src/pro/gate.js +2 -1
  14. package/dist/cjs/src/woo.js +3 -1
  15. package/js/ccxt.d.ts +2 -5
  16. package/js/ccxt.js +2 -4
  17. package/js/src/abstract/binance.d.ts +5 -0
  18. package/js/src/abstract/binancecoinm.d.ts +5 -0
  19. package/js/src/abstract/binanceus.d.ts +5 -0
  20. package/js/src/abstract/binanceusdm.d.ts +5 -0
  21. package/js/src/base/Exchange.d.ts +65 -26
  22. package/js/src/base/Exchange.js +65 -26
  23. package/js/src/binance.d.ts +4 -0
  24. package/js/src/binance.js +52 -2
  25. package/js/src/deribit.js +1 -1
  26. package/js/src/mexc.js +2 -1
  27. package/js/src/ndax.js +1 -1
  28. package/js/src/okx.js +1 -1
  29. package/js/src/pro/binance.d.ts +3 -0
  30. package/js/src/pro/binance.js +156 -1
  31. package/js/src/pro/bingx.js +1 -1
  32. package/js/src/pro/bitcoincom.js +4 -5
  33. package/js/src/pro/bitfinex2.js +3 -1
  34. package/js/src/pro/gate.js +2 -1
  35. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  36. package/js/src/woo.js +4 -2
  37. package/package.json +2 -2
  38. package/skip-tests.json +5 -5
  39. package/dist/cjs/src/abstract/bitforex.js +0 -9
  40. package/dist/cjs/src/bitforex.js +0 -884
  41. package/js/src/abstract/bitforex.d.ts +0 -27
  42. package/js/src/abstract/bitforex.js +0 -11
  43. package/js/src/bitforex.d.ts +0 -39
  44. 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);
@@ -18108,6 +18130,10 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
18108
18130
  'createMarketBuyOrderWithCost': true,
18109
18131
  'createMarketOrderWithCost': true,
18110
18132
  'createMarketSellOrderWithCost': true,
18133
+ 'createLimitBuyOrder': true,
18134
+ 'createLimitSellOrder': true,
18135
+ 'createMarketBuyOrder': true,
18136
+ 'createMarketSellOrder': true,
18111
18137
  'createOrder': true,
18112
18138
  'createOrders': true,
18113
18139
  'createOrderWithTakeProfitAndStopLoss': true,
@@ -18172,6 +18198,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
18172
18198
  'fetchOrders': true,
18173
18199
  'fetchOrderTrades': true,
18174
18200
  'fetchPosition': true,
18201
+ 'fetchPositionMode': true,
18175
18202
  'fetchPositions': true,
18176
18203
  'fetchPositionsRisk': true,
18177
18204
  'fetchPremiumIndexOHLCV': false,
@@ -18187,6 +18214,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
18187
18214
  'fetchTransactionFee': 'emulated',
18188
18215
  'fetchTransactionFees': true,
18189
18216
  'fetchTransactions': false,
18217
+ 'fetchTransfer': false,
18190
18218
  'fetchTransfers': true,
18191
18219
  'fetchUnderlyingAssets': false,
18192
18220
  'fetchVolatilityHistory': false,
@@ -18536,6 +18564,10 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
18536
18564
  'simple-earn/flexible/history/rewardsRecord': 15,
18537
18565
  'simple-earn/locked/history/rewardsRecord': 15,
18538
18566
  'simple-earn/flexible/history/collateralRecord': 0.1,
18567
+ // Convert
18568
+ 'dci/product/list': 0.1,
18569
+ 'dci/product/positions': 0.1,
18570
+ 'dci/product/accounts': 0.1,
18539
18571
  },
18540
18572
  'post': {
18541
18573
  'asset/dust': 0.06667,
@@ -18664,6 +18696,9 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
18664
18696
  'simple-earn/locked/redeem': 0.1,
18665
18697
  'simple-earn/flexible/setAutoSubscribe': 15,
18666
18698
  'simple-earn/locked/setAutoSubscribe': 15,
18699
+ // convert
18700
+ 'dci/product/subscribe': 0.1,
18701
+ 'dci/product/auto_compound/edit': 0.1,
18667
18702
  },
18668
18703
  'put': {
18669
18704
  'userDataStream': 0.1,
@@ -22170,7 +22205,8 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
22170
22205
  // "closeTime": 1677097200000
22171
22206
  // }
22172
22207
  //
22173
- const volumeIndex = (market['inverse']) ? 7 : 5;
22208
+ const inverse = this.safeBool(market, 'inverse');
22209
+ const volumeIndex = inverse ? 7 : 5;
22174
22210
  return [
22175
22211
  this.safeInteger2(ohlcv, 0, 'closeTime'),
22176
22212
  this.safeNumber2(ohlcv, 1, 'open'),
@@ -26156,7 +26192,6 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
26156
26192
  /**
26157
26193
  * @method
26158
26194
  * @name binance#fetchTransfers
26159
- * @see https://binance-docs.github.io/apidocs/spot/en/#user-universal-transfer-user_data
26160
26195
  * @description fetch a history of internal transfers made on an account
26161
26196
  * @see https://binance-docs.github.io/apidocs/spot/en/#query-user-universal-transfer-history-user_data
26162
26197
  * @param {string} code unified currency code of the currency transferred
@@ -30045,6 +30080,43 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
30045
30080
  'info': greeks,
30046
30081
  };
30047
30082
  }
30083
+ async fetchPositionMode(symbol = undefined, params = {}) {
30084
+ /**
30085
+ * @method
30086
+ * @name binance#fetchPositionMode
30087
+ * @description fetchs the position mode, hedged or one way, hedged for binance is set identically for all linear markets or all inverse markets
30088
+ * @param {string} symbol unified symbol of the market to fetch the order book for
30089
+ * @param {object} params extra parameters specific to the exchange API endpoint
30090
+ * @param {string} params.subType "linear" or "inverse"
30091
+ * @returns {object} an object detailing whether the market is in hedged or one-way mode
30092
+ */
30093
+ let market = undefined;
30094
+ if (symbol !== undefined) {
30095
+ market = this.market(symbol);
30096
+ }
30097
+ let subType = undefined;
30098
+ [subType, params] = this.handleSubTypeAndParams('fetchPositionMode', market, params);
30099
+ let response = undefined;
30100
+ if (subType === 'linear') {
30101
+ response = await this.fapiPrivateGetPositionSideDual(params);
30102
+ }
30103
+ else if (subType === 'inverse') {
30104
+ response = await this.dapiPrivateGetPositionSideDual(params);
30105
+ }
30106
+ else {
30107
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' fetchPositionMode requires either a symbol argument or params["subType"]');
30108
+ }
30109
+ //
30110
+ // {
30111
+ // dualSidePosition: false
30112
+ // }
30113
+ //
30114
+ const dualSidePosition = this.safeBool(response, 'dualSidePosition');
30115
+ return {
30116
+ 'info': response,
30117
+ 'hedged': dualSidePosition,
30118
+ };
30119
+ }
30048
30120
  }
30049
30121
 
30050
30122
 
@@ -44279,899 +44351,6 @@ class bitflyer extends _abstract_bitflyer_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
44279
44351
  }
44280
44352
 
44281
44353
 
44282
- /***/ }),
44283
-
44284
- /***/ 2035:
44285
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
44286
-
44287
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
44288
- /* harmony export */ Z: () => (/* binding */ bitforex)
44289
- /* harmony export */ });
44290
- /* harmony import */ var _abstract_bitforex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(491);
44291
- /* harmony import */ var _base_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6689);
44292
- /* harmony import */ var _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9292);
44293
- /* harmony import */ var _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1372);
44294
- // ---------------------------------------------------------------------------
44295
-
44296
-
44297
-
44298
-
44299
- // ---------------------------------------------------------------------------
44300
- /**
44301
- * @class bitforex
44302
- * @augments Exchange
44303
- */
44304
- class bitforex extends _abstract_bitforex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
44305
- describe() {
44306
- return this.deepExtend(super.describe(), {
44307
- 'id': 'bitforex',
44308
- 'name': 'Bitforex',
44309
- 'countries': ['CN'],
44310
- 'rateLimit': 500,
44311
- 'version': 'v1',
44312
- 'has': {
44313
- 'CORS': undefined,
44314
- 'spot': true,
44315
- 'margin': false,
44316
- 'swap': false,
44317
- 'future': false,
44318
- 'option': false,
44319
- 'addMargin': false,
44320
- 'cancelAllOrders': true,
44321
- 'cancelOrder': true,
44322
- 'createOrder': true,
44323
- 'createReduceOnlyOrder': false,
44324
- 'createStopLimitOrder': false,
44325
- 'createStopMarketOrder': false,
44326
- 'createStopOrder': false,
44327
- 'fetchBalance': true,
44328
- 'fetchBorrowInterest': false,
44329
- 'fetchBorrowRateHistories': false,
44330
- 'fetchBorrowRateHistory': false,
44331
- 'fetchClosedOrders': true,
44332
- 'fetchCrossBorrowRate': false,
44333
- 'fetchCrossBorrowRates': false,
44334
- 'fetchDepositAddress': false,
44335
- 'fetchDepositAddresses': false,
44336
- 'fetchDepositAddressesByNetwork': false,
44337
- 'fetchFundingHistory': false,
44338
- 'fetchFundingRate': false,
44339
- 'fetchFundingRateHistory': false,
44340
- 'fetchFundingRates': false,
44341
- 'fetchIndexOHLCV': false,
44342
- 'fetchIsolatedBorrowRate': false,
44343
- 'fetchIsolatedBorrowRates': false,
44344
- 'fetchIsolatedPositions': false,
44345
- 'fetchLeverage': false,
44346
- 'fetchLeverageTiers': false,
44347
- 'fetchMarginMode': false,
44348
- 'fetchMarketLeverageTiers': false,
44349
- 'fetchMarkets': true,
44350
- 'fetchMarkOHLCV': false,
44351
- 'fetchMyTrades': true,
44352
- 'fetchOHLCV': true,
44353
- 'fetchOpenInterestHistory': false,
44354
- 'fetchOpenOrders': true,
44355
- 'fetchOrder': true,
44356
- 'fetchOrderBook': true,
44357
- 'fetchPosition': false,
44358
- 'fetchPositionMode': false,
44359
- 'fetchPositions': false,
44360
- 'fetchPositionsRisk': false,
44361
- 'fetchPremiumIndexOHLCV': false,
44362
- 'fetchTicker': true,
44363
- 'fetchTickers': false,
44364
- 'fetchTrades': true,
44365
- 'fetchTransactionFees': false,
44366
- 'fetchTransfer': false,
44367
- 'fetchTransfers': false,
44368
- 'fetchWithdrawal': false,
44369
- 'fetchWithdrawals': false,
44370
- 'reduceMargin': false,
44371
- 'repayCrossMargin': false,
44372
- 'repayIsolatedMargin': false,
44373
- 'setLeverage': false,
44374
- 'setMargin': false,
44375
- 'setMarginMode': false,
44376
- 'setPositionMode': false,
44377
- 'transfer': false,
44378
- 'withdraw': false,
44379
- },
44380
- 'timeframes': {
44381
- '1m': '1min',
44382
- '5m': '5min',
44383
- '15m': '15min',
44384
- '30m': '30min',
44385
- '1h': '1hour',
44386
- '2h': '2hour',
44387
- '4h': '4hour',
44388
- '12h': '12hour',
44389
- '1d': '1day',
44390
- '1w': '1week',
44391
- '1M': '1month',
44392
- },
44393
- 'urls': {
44394
- 'logo': 'https://user-images.githubusercontent.com/51840849/87295553-1160ec00-c50e-11ea-8ea0-df79276a9646.jpg',
44395
- 'api': {
44396
- 'rest': 'https://api.bitforex.com',
44397
- },
44398
- 'www': 'https://www.bitforex.com',
44399
- 'doc': 'https://github.com/githubdev2020/API_Doc_en/wiki',
44400
- 'fees': 'https://help.bitforex.com/en_us/?cat=13',
44401
- 'referral': 'https://www.bitforex.com/en/invitationRegister?inviterId=1867438',
44402
- },
44403
- 'api': {
44404
- 'public': {
44405
- 'get': {
44406
- '/api/v1/ping': 0.2,
44407
- '/api/v1/time': 0.2,
44408
- 'api/v1/market/symbols': 20,
44409
- 'api/v1/market/ticker': 4,
44410
- 'api/v1/market/ticker-all': 4,
44411
- 'api/v1/market/depth': 4,
44412
- 'api/v1/market/depth-all': 4,
44413
- 'api/v1/market/trades': 20,
44414
- 'api/v1/market/kline': 20,
44415
- },
44416
- },
44417
- 'private': {
44418
- 'post': {
44419
- 'api/v1/fund/mainAccount': 1,
44420
- 'api/v1/fund/allAccount': 30,
44421
- 'api/v1/trade/placeOrder': 1,
44422
- 'api/v1/trade/placeMultiOrder': 10,
44423
- 'api/v1/trade/cancelOrder': 1,
44424
- 'api/v1/trade/cancelMultiOrder': 6.67,
44425
- 'api/v1/trade/cancelAllOrder': 20,
44426
- 'api/v1/trade/orderInfo': 1,
44427
- 'api/v1/trade/multiOrderInfo': 10,
44428
- 'api/v1/trade/orderInfos': 20,
44429
- 'api/v1/trade/myTrades': 2,
44430
- },
44431
- },
44432
- },
44433
- 'fees': {
44434
- 'trading': {
44435
- 'tierBased': false,
44436
- 'percentage': true,
44437
- 'maker': this.parseNumber('0.001'),
44438
- 'taker': this.parseNumber('0.001'),
44439
- },
44440
- 'funding': {
44441
- 'tierBased': false,
44442
- 'percentage': true,
44443
- 'deposit': {},
44444
- 'withdraw': {},
44445
- },
44446
- },
44447
- 'commonCurrencies': {
44448
- 'BKC': 'Bank Coin',
44449
- 'CAPP': 'Crypto Application Token',
44450
- 'CREDIT': 'TerraCredit',
44451
- 'CTC': 'Culture Ticket Chain',
44452
- 'EWT': 'EcoWatt Token',
44453
- 'IQ': 'IQ.Cash',
44454
- 'MIR': 'MIR COIN',
44455
- 'NOIA': 'METANOIA',
44456
- 'TON': 'To The Moon',
44457
- },
44458
- 'precisionMode': _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__/* .TICK_SIZE */ .sh,
44459
- 'exceptions': {
44460
- '1000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
44461
- '1003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
44462
- '1013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
44463
- '1016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
44464
- '1017': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
44465
- '1019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
44466
- '3002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
44467
- '4002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
44468
- '4003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
44469
- '4004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
44470
- '10204': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.DDoSProtection,
44471
- },
44472
- });
44473
- }
44474
- async fetchMarkets(params = {}) {
44475
- /**
44476
- * @method
44477
- * @name bitforex#fetchMarkets
44478
- * @description retrieves data on all markets for bitforex
44479
- * @see https://apidoc.bitforex.com/#exchange-information
44480
- * @param {object} [params] extra parameters specific to the exchange API endpoint
44481
- * @returns {object[]} an array of objects representing market data
44482
- */
44483
- const response = await this.publicGetApiV1MarketSymbols(params);
44484
- //
44485
- // {
44486
- // "data": [
44487
- // {
44488
- // "amountPrecision":4,
44489
- // "minOrderAmount":3.0E-4,
44490
- // "pricePrecision":2,
44491
- // "symbol":"coin-usdt-btc"
44492
- // },
44493
- // ...
44494
- // ]
44495
- // }
44496
- //
44497
- const data = response['data'];
44498
- const result = [];
44499
- for (let i = 0; i < data.length; i++) {
44500
- const market = data[i];
44501
- const id = this.safeString(market, 'symbol');
44502
- const symbolParts = id.split('-');
44503
- const baseId = symbolParts[2];
44504
- const quoteId = symbolParts[1];
44505
- const base = this.safeCurrencyCode(baseId);
44506
- const quote = this.safeCurrencyCode(quoteId);
44507
- result.push({
44508
- 'id': id,
44509
- 'symbol': base + '/' + quote,
44510
- 'base': base,
44511
- 'quote': quote,
44512
- 'settle': undefined,
44513
- 'baseId': baseId,
44514
- 'quoteId': quoteId,
44515
- 'settleId': undefined,
44516
- 'type': 'spot',
44517
- 'spot': true,
44518
- 'margin': false,
44519
- 'swap': false,
44520
- 'future': false,
44521
- 'option': false,
44522
- 'active': true,
44523
- 'contract': false,
44524
- 'linear': undefined,
44525
- 'inverse': undefined,
44526
- 'contractSize': undefined,
44527
- 'expiry': undefined,
44528
- 'expiryDateTime': undefined,
44529
- 'strike': undefined,
44530
- 'optionType': undefined,
44531
- 'precision': {
44532
- 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'amountPrecision'))),
44533
- 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'pricePrecision'))),
44534
- },
44535
- 'limits': {
44536
- 'leverage': {
44537
- 'min': undefined,
44538
- 'max': undefined,
44539
- },
44540
- 'amount': {
44541
- 'min': this.safeNumber(market, 'minOrderAmount'),
44542
- 'max': undefined,
44543
- },
44544
- 'price': {
44545
- 'min': undefined,
44546
- 'max': undefined,
44547
- },
44548
- 'cost': {
44549
- 'min': undefined,
44550
- 'max': undefined,
44551
- },
44552
- },
44553
- 'created': undefined,
44554
- 'info': market,
44555
- });
44556
- }
44557
- return result;
44558
- }
44559
- parseTrade(trade, market = undefined) {
44560
- //
44561
- // fetchTrades (public) v1
44562
- //
44563
- // {
44564
- // "price":57594.53,
44565
- // "amount":0.3172,
44566
- // "time":1637329685322,
44567
- // "direction":1,
44568
- // "tid":"1131019666"
44569
- // }
44570
- //
44571
- // fetchMyTrades (private)
44572
- //
44573
- // {
44574
- // "symbol": "coin-usdt-babydoge",
44575
- // "tid": 7289,
44576
- // "orderId": "b6fe2b61-e5cb-4970-9bdc-8c7cd1fcb4d8",
44577
- // "price": "0.000007",
44578
- // "amount": "50000000",
44579
- // "tradeFee": "50000",
44580
- // "tradeFeeCurrency": "babydoge",
44581
- // "time": "1684750536460",
44582
- // "isBuyer": true,
44583
- // "isMaker": true,
44584
- // "isSelfTrade": true
44585
- // }
44586
- //
44587
- const marketId = this.safeString(trade, 'symbol');
44588
- market = this.safeMarket(marketId, market);
44589
- const timestamp = this.safeInteger(trade, 'time');
44590
- const id = this.safeString(trade, 'tid');
44591
- const orderId = this.safeString(trade, 'orderId');
44592
- const priceString = this.safeString(trade, 'price');
44593
- const amountString = this.safeString(trade, 'amount');
44594
- const sideId = this.safeInteger(trade, 'direction');
44595
- let side = this.parseSide(sideId);
44596
- if (side === undefined) {
44597
- const isBuyer = this.safeValue(trade, 'isBuyer');
44598
- side = isBuyer ? 'buy' : 'sell';
44599
- }
44600
- let takerOrMaker = undefined;
44601
- const isMaker = this.safeValue(trade, 'isMaker');
44602
- if (isMaker !== undefined) {
44603
- takerOrMaker = (isMaker) ? 'maker' : 'taker';
44604
- }
44605
- let fee = undefined;
44606
- const feeCostString = this.safeString(trade, 'tradeFee');
44607
- if (feeCostString !== undefined) {
44608
- const feeCurrencyId = this.safeString(trade, 'tradeFeeCurrency');
44609
- const feeCurrencyCode = this.safeCurrencyCode(feeCurrencyId);
44610
- fee = {
44611
- 'cost': feeCostString,
44612
- 'currency': feeCurrencyCode,
44613
- };
44614
- }
44615
- return this.safeTrade({
44616
- 'info': trade,
44617
- 'id': id,
44618
- 'timestamp': timestamp,
44619
- 'datetime': this.iso8601(timestamp),
44620
- 'symbol': market['symbol'],
44621
- 'type': undefined,
44622
- 'side': side,
44623
- 'price': priceString,
44624
- 'amount': amountString,
44625
- 'cost': undefined,
44626
- 'order': orderId,
44627
- 'fee': fee,
44628
- 'takerOrMaker': takerOrMaker,
44629
- }, market);
44630
- }
44631
- async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
44632
- /**
44633
- * @method
44634
- * @name bitforex#fetchTrades
44635
- * @description get the list of most recent trades for a particular symbol
44636
- * @see https://apidoc.bitforex.com/#recent-trades-list
44637
- * @param {string} symbol unified symbol of the market to fetch trades for
44638
- * @param {int} [since] timestamp in ms of the earliest trade to fetch
44639
- * @param {int} [limit] the maximum amount of trades to fetch
44640
- * @param {object} [params] extra parameters specific to the exchange API endpoint
44641
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
44642
- */
44643
- await this.loadMarkets();
44644
- const request = {
44645
- 'symbol': this.marketId(symbol),
44646
- };
44647
- if (limit !== undefined) {
44648
- request['size'] = limit;
44649
- }
44650
- const market = this.market(symbol);
44651
- const response = await this.publicGetApiV1MarketTrades(this.extend(request, params));
44652
- //
44653
- // {
44654
- // "data":
44655
- // [
44656
- // {
44657
- // "price":57594.53,
44658
- // "amount":0.3172,
44659
- // "time":1637329685322,
44660
- // "direction":1,
44661
- // "tid":"1131019666"
44662
- // }
44663
- // ],
44664
- // "success": true,
44665
- // "time": 1637329688475
44666
- // }
44667
- //
44668
- return this.parseTrades(response['data'], market, since, limit);
44669
- }
44670
- async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
44671
- /**
44672
- * @method
44673
- * @name bitforex#fetchMyTrades
44674
- * @description fetch all trades made by the user
44675
- * @see https://apidoc.bitforex.com/#spot-account-trade
44676
- * @param {string} symbol unified market symbol
44677
- * @param {int} [since] the earliest time in ms to fetch trades for
44678
- * @param {int} [limit] the maximum number of trades structures to retrieve
44679
- * @param {object} [params] extra parameters specific to the exchange API endpoint
44680
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
44681
- */
44682
- if (symbol === undefined) {
44683
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
44684
- }
44685
- await this.loadMarkets();
44686
- const request = {
44687
- // 'symbol': market['id'],
44688
- // 'orderId': orderId,
44689
- // 'startTime': timestamp,
44690
- // 'endTime': timestamp,
44691
- // 'limit': limit, // default 500, max 1000
44692
- };
44693
- const market = this.market(symbol);
44694
- request['symbol'] = market['id'];
44695
- if (limit !== undefined) {
44696
- request['limit'] = limit;
44697
- }
44698
- if (since !== undefined) {
44699
- request['startTime'] = Math.max(since - 1, 0);
44700
- }
44701
- const endTime = this.safeInteger2(params, 'until', 'endTime');
44702
- if (endTime !== undefined) {
44703
- request['endTime'] = endTime;
44704
- }
44705
- params = this.omit(params, ['until']);
44706
- const response = await this.privatePostApiV1TradeMyTrades(this.extend(request, params));
44707
- //
44708
- // {
44709
- // "data": [
44710
- // {
44711
- // "symbol": "coin-usdt-babydoge",
44712
- // "tid": 7289,
44713
- // "orderId": "a262d030-11a5-40fd-a07c-7ba84aa68752",
44714
- // "price": "0.000007",
44715
- // "amount": "50000000",
44716
- // "tradeFee": "0.35",
44717
- // "tradeFeeCurrency": "usdt",
44718
- // "time": "1684750536460",
44719
- // "isBuyer": false,
44720
- // "isMaker": false,
44721
- // "isSelfTrade": true
44722
- // }
44723
- // ],
44724
- // "success": true,
44725
- // "time": 1685009320042
44726
- // }
44727
- //
44728
- const data = this.safeValue(response, 'data', []);
44729
- return this.parseTrades(data, market, since, limit);
44730
- }
44731
- parseBalance(response) {
44732
- const data = response['data'];
44733
- const result = { 'info': response };
44734
- for (let i = 0; i < data.length; i++) {
44735
- const balance = data[i];
44736
- const currencyId = this.safeString(balance, 'currency');
44737
- const code = this.safeCurrencyCode(currencyId);
44738
- const account = this.account();
44739
- account['used'] = this.safeString(balance, 'frozen');
44740
- account['free'] = this.safeString(balance, 'active');
44741
- account['total'] = this.safeString(balance, 'fix');
44742
- result[code] = account;
44743
- }
44744
- return this.safeBalance(result);
44745
- }
44746
- async fetchBalance(params = {}) {
44747
- /**
44748
- * @method
44749
- * @name bitforex#fetchBalance
44750
- * @description query for balance and get the amount of funds available for trading or funds locked in orders
44751
- * @see https://apidoc.bitforex.com/#user-all-asset-information-user_data
44752
- * @param {object} [params] extra parameters specific to the exchange API endpoint
44753
- * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
44754
- */
44755
- await this.loadMarkets();
44756
- const response = await this.privatePostApiV1FundAllAccount(params);
44757
- return this.parseBalance(response);
44758
- }
44759
- parseTicker(ticker, market = undefined) {
44760
- //
44761
- // {
44762
- // "buy":7.04E-7,
44763
- // "date":1643371198598,
44764
- // "high":7.48E-7,
44765
- // "last":7.28E-7,
44766
- // "low":7.10E-7,
44767
- // "sell":7.54E-7,
44768
- // "vol":9877287.2874
44769
- // }
44770
- //
44771
- const symbol = this.safeSymbol(undefined, market);
44772
- const timestamp = this.safeInteger(ticker, 'date');
44773
- return this.safeTicker({
44774
- 'symbol': symbol,
44775
- 'timestamp': timestamp,
44776
- 'datetime': this.iso8601(timestamp),
44777
- 'high': this.safeString(ticker, 'high'),
44778
- 'low': this.safeString(ticker, 'low'),
44779
- 'bid': this.safeString(ticker, 'buy'),
44780
- 'bidVolume': undefined,
44781
- 'ask': this.safeString(ticker, 'sell'),
44782
- 'askVolume': undefined,
44783
- 'vwap': undefined,
44784
- 'open': undefined,
44785
- 'close': this.safeString(ticker, 'last'),
44786
- 'last': this.safeString(ticker, 'last'),
44787
- 'previousClose': undefined,
44788
- 'change': undefined,
44789
- 'percentage': undefined,
44790
- 'average': undefined,
44791
- 'baseVolume': this.safeString(ticker, 'vol'),
44792
- 'quoteVolume': undefined,
44793
- 'info': ticker,
44794
- }, market);
44795
- }
44796
- async fetchTicker(symbol, params = {}) {
44797
- /**
44798
- * @method
44799
- * @name bitforex#fetchTicker
44800
- * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
44801
- * @see https://apidoc.bitforex.com/#exchange-information
44802
- * @param {string} symbol unified symbol of the market to fetch the ticker for
44803
- * @param {object} [params] extra parameters specific to the exchange API endpoint
44804
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
44805
- */
44806
- await this.loadMarkets();
44807
- const market = this.markets[symbol];
44808
- const request = {
44809
- 'symbol': market['id'],
44810
- };
44811
- const response = await this.publicGetApiV1MarketTickerAll(this.extend(request, params));
44812
- const ticker = this.safeValue(response, 'data');
44813
- //
44814
- // {
44815
- // "data":{
44816
- // "buy":37082.83,
44817
- // "date":1643388686660,
44818
- // "high":37487.83,
44819
- // "last":37086.79,
44820
- // "low":35544.44,
44821
- // "sell":37090.52,
44822
- // "vol":690.9776
44823
- // },
44824
- // "success":true,
44825
- // "time":1643388686660
44826
- // }
44827
- //
44828
- return this.parseTicker(ticker, market);
44829
- }
44830
- parseOHLCV(ohlcv, market = undefined) {
44831
- //
44832
- // {
44833
- // "close":0.02505143,
44834
- // "currencyVol":0,
44835
- // "high":0.02506422,
44836
- // "low":0.02505143,
44837
- // "open":0.02506095,
44838
- // "time":1591508940000,
44839
- // "vol":51.1869
44840
- // }
44841
- //
44842
- return [
44843
- this.safeInteger(ohlcv, 'time'),
44844
- this.safeNumber(ohlcv, 'open'),
44845
- this.safeNumber(ohlcv, 'high'),
44846
- this.safeNumber(ohlcv, 'low'),
44847
- this.safeNumber(ohlcv, 'close'),
44848
- this.safeNumber(ohlcv, 'vol'),
44849
- ];
44850
- }
44851
- async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
44852
- /**
44853
- * @method
44854
- * @name bitforex#fetchOHLCV
44855
- * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
44856
- * @see https://apidoc.bitforex.com/#kline
44857
- * @param {string} symbol unified symbol of the market to fetch OHLCV data for
44858
- * @param {string} timeframe the length of time each candle represents
44859
- * @param {int} [since] timestamp in ms of the earliest candle to fetch
44860
- * @param {int} [limit] the maximum amount of candles to fetch
44861
- * @param {object} [params] extra parameters specific to the exchange API endpoint
44862
- * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
44863
- */
44864
- await this.loadMarkets();
44865
- const market = this.market(symbol);
44866
- const request = {
44867
- 'symbol': market['id'],
44868
- 'ktype': this.safeString(this.timeframes, timeframe, timeframe),
44869
- };
44870
- if (limit !== undefined) {
44871
- request['size'] = limit; // default 1, max 600
44872
- }
44873
- const response = await this.publicGetApiV1MarketKline(this.extend(request, params));
44874
- //
44875
- // {
44876
- // "data":[
44877
- // {"close":0.02505143,"currencyVol":0,"high":0.02506422,"low":0.02505143,"open":0.02506095,"time":1591508940000,"vol":51.1869},
44878
- // {"close":0.02503914,"currencyVol":0,"high":0.02506687,"low":0.02503914,"open":0.02505358,"time":1591509000000,"vol":9.1082},
44879
- // {"close":0.02505172,"currencyVol":0,"high":0.02507466,"low":0.02503895,"open":0.02506371,"time":1591509060000,"vol":63.7431},
44880
- // ],
44881
- // "success":true,
44882
- // "time":1591509427131
44883
- // }
44884
- //
44885
- const data = this.safeValue(response, 'data', []);
44886
- return this.parseOHLCVs(data, market, timeframe, since, limit);
44887
- }
44888
- async fetchOrderBook(symbol, limit = undefined, params = {}) {
44889
- /**
44890
- * @method
44891
- * @name bitforex#fetchOrderBook
44892
- * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
44893
- * @see https://apidoc.bitforex.com/#order-book
44894
- * @param {string} symbol unified symbol of the market to fetch the order book for
44895
- * @param {int} [limit] the maximum amount of order book entries to return
44896
- * @param {object} [params] extra parameters specific to the exchange API endpoint
44897
- * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
44898
- */
44899
- await this.loadMarkets();
44900
- const market = this.market(symbol);
44901
- const request = {
44902
- 'symbol': market['id'],
44903
- };
44904
- if (limit !== undefined) {
44905
- request['size'] = limit;
44906
- }
44907
- const response = await this.publicGetApiV1MarketDepthAll(this.extend(request, params));
44908
- const data = this.safeValue(response, 'data');
44909
- const timestamp = this.safeInteger(response, 'time');
44910
- return this.parseOrderBook(data, market['symbol'], timestamp, 'bids', 'asks', 'price', 'amount');
44911
- }
44912
- parseOrderStatus(status) {
44913
- const statuses = {
44914
- '0': 'open',
44915
- '1': 'open',
44916
- '2': 'closed',
44917
- '3': 'canceled',
44918
- '4': 'canceled',
44919
- };
44920
- return (status in statuses) ? statuses[status] : status;
44921
- }
44922
- parseSide(sideId) {
44923
- if (sideId === 1) {
44924
- return 'buy';
44925
- }
44926
- else if (sideId === 2) {
44927
- return 'sell';
44928
- }
44929
- else {
44930
- return undefined;
44931
- }
44932
- }
44933
- parseOrder(order, market = undefined) {
44934
- const id = this.safeString(order, 'orderId');
44935
- const timestamp = this.safeInteger(order, 'createTime');
44936
- const lastTradeTimestamp = this.safeInteger(order, 'lastTime');
44937
- const symbol = market['symbol'];
44938
- const sideId = this.safeInteger(order, 'tradeType');
44939
- const side = this.parseSide(sideId);
44940
- const type = undefined;
44941
- const price = this.safeString(order, 'orderPrice');
44942
- const average = this.safeString(order, 'avgPrice');
44943
- const amount = this.safeString(order, 'orderAmount');
44944
- const filled = this.safeString(order, 'dealAmount');
44945
- const status = this.parseOrderStatus(this.safeString(order, 'orderState'));
44946
- const feeSide = (side === 'buy') ? 'base' : 'quote';
44947
- const feeCurrency = market[feeSide];
44948
- const fee = {
44949
- 'cost': this.safeNumber(order, 'tradeFee'),
44950
- 'currency': feeCurrency,
44951
- };
44952
- return this.safeOrder({
44953
- 'info': order,
44954
- 'id': id,
44955
- 'clientOrderId': undefined,
44956
- 'timestamp': timestamp,
44957
- 'datetime': this.iso8601(timestamp),
44958
- 'lastTradeTimestamp': lastTradeTimestamp,
44959
- 'symbol': symbol,
44960
- 'type': type,
44961
- 'timeInForce': undefined,
44962
- 'postOnly': undefined,
44963
- 'side': side,
44964
- 'price': price,
44965
- 'stopPrice': undefined,
44966
- 'triggerPrice': undefined,
44967
- 'cost': undefined,
44968
- 'average': average,
44969
- 'amount': amount,
44970
- 'filled': filled,
44971
- 'remaining': undefined,
44972
- 'status': status,
44973
- 'fee': fee,
44974
- 'trades': undefined,
44975
- }, market);
44976
- }
44977
- async cancelAllOrders(symbol = undefined, params = {}) {
44978
- /**
44979
- * @method
44980
- * @name bitforex#cancelAllOrders
44981
- * @see https://github.com/githubdev2020/API_Doc_en/wiki/Cancle-all-orders
44982
- * @description cancel all open orders in a market
44983
- * @param {string} symbol unified market symbol of the market to cancel orders in
44984
- * @param {object} [params] extra parameters specific to the exchange API endpoint
44985
- * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
44986
- */
44987
- if (symbol === undefined) {
44988
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' cancelAllOrders () requires a symbol argument');
44989
- }
44990
- await this.loadMarkets();
44991
- const market = this.market(symbol);
44992
- const request = {
44993
- 'symbol': market['id'],
44994
- };
44995
- const response = await this.privatePostApiV1TradeCancelAllOrder(this.extend(request, params));
44996
- //
44997
- // {
44998
- // 'data': True,
44999
- // 'success': True,
45000
- // 'time': '1706542995252'
45001
- // }
45002
- //
45003
- return response;
45004
- }
45005
- async fetchOrder(id, symbol = undefined, params = {}) {
45006
- /**
45007
- * @method
45008
- * @name bitforex#fetchOrder
45009
- * @description fetches information on an order made by the user
45010
- * @see https://apidoc.bitforex.com/#order-information-user_data
45011
- * @param {string} symbol unified symbol of the market the order was made in
45012
- * @param {object} [params] extra parameters specific to the exchange API endpoint
45013
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
45014
- */
45015
- await this.loadMarkets();
45016
- const market = this.market(symbol);
45017
- const request = {
45018
- 'symbol': this.marketId(symbol),
45019
- 'orderId': id,
45020
- };
45021
- const response = await this.privatePostApiV1TradeOrderInfo(this.extend(request, params));
45022
- const order = this.parseOrder(response['data'], market);
45023
- return order;
45024
- }
45025
- async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
45026
- /**
45027
- * @method
45028
- * @name bitforex#fetchOpenOrders
45029
- * @description fetch all unfilled currently open orders
45030
- * @param {string} symbol unified market symbol
45031
- * @param {int} [since] the earliest time in ms to fetch open orders for
45032
- * @param {int} [limit] the maximum number of open order structures to retrieve
45033
- * @param {object} [params] extra parameters specific to the exchange API endpoint
45034
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
45035
- */
45036
- if (symbol === undefined) {
45037
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchOpenOrders() requires a symbol argument');
45038
- }
45039
- await this.loadMarkets();
45040
- const market = this.market(symbol);
45041
- const request = {
45042
- 'symbol': market['id'],
45043
- 'state': 0,
45044
- };
45045
- const response = await this.privatePostApiV1TradeOrderInfos(this.extend(request, params));
45046
- return this.parseOrders(response['data'], market, since, limit);
45047
- }
45048
- async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
45049
- /**
45050
- * @method
45051
- * @name bitforex#fetchClosedOrders
45052
- * @description fetches information on multiple closed orders made by the user
45053
- * @param {string} symbol unified market symbol of the market orders were made in
45054
- * @param {int} [since] the earliest time in ms to fetch orders for
45055
- * @param {int} [limit] the maximum number of order structures to retrieve
45056
- * @param {object} [params] extra parameters specific to the exchange API endpoint
45057
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
45058
- */
45059
- if (symbol === undefined) {
45060
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchClosedOrders() requires a symbol argument');
45061
- }
45062
- await this.loadMarkets();
45063
- const market = this.market(symbol);
45064
- const request = {
45065
- 'symbol': market['id'],
45066
- 'state': 1,
45067
- };
45068
- const response = await this.privatePostApiV1TradeOrderInfos(this.extend(request, params));
45069
- return this.parseOrders(response['data'], market, since, limit);
45070
- }
45071
- async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
45072
- /**
45073
- * @method
45074
- * @name bitforex#createOrder
45075
- * @description create a trade order
45076
- * @see https://apidoc.bitforex.com/#new-order-trade
45077
- * @param {string} symbol unified symbol of the market to create an order in
45078
- * @param {string} type 'market' or 'limit'
45079
- * @param {string} side 'buy' or 'sell'
45080
- * @param {float} amount how much of currency you want to trade in units of base currency
45081
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
45082
- * @param {object} [params] extra parameters specific to the exchange API endpoint
45083
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
45084
- */
45085
- await this.loadMarkets();
45086
- let sideId = undefined;
45087
- if (side === 'buy') {
45088
- sideId = 1;
45089
- }
45090
- else if (side === 'sell') {
45091
- sideId = 2;
45092
- }
45093
- const market = this.market(symbol);
45094
- const request = {
45095
- 'symbol': market['id'],
45096
- 'price': price,
45097
- 'amount': amount,
45098
- 'tradeType': sideId,
45099
- };
45100
- const response = await this.privatePostApiV1TradePlaceOrder(this.extend(request, params));
45101
- const data = response['data'];
45102
- return this.safeOrder({
45103
- 'info': response,
45104
- 'id': this.safeString(data, 'orderId'),
45105
- }, market);
45106
- }
45107
- async cancelOrder(id, symbol = undefined, params = {}) {
45108
- /**
45109
- * @method
45110
- * @name bitforex#cancelOrder
45111
- * @description cancels an open order
45112
- * @see https://apidoc.bitforex.com/#cancel-order-trade
45113
- * @param {string} id order id
45114
- * @param {string} symbol unified symbol of the market the order was made in
45115
- * @param {object} [params] extra parameters specific to the exchange API endpoint
45116
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
45117
- */
45118
- await this.loadMarkets();
45119
- const request = {
45120
- 'orderId': id,
45121
- };
45122
- if (symbol !== undefined) {
45123
- request['symbol'] = this.marketId(symbol);
45124
- }
45125
- const results = await this.privatePostApiV1TradeCancelOrder(this.extend(request, params));
45126
- const success = results['success'];
45127
- const returnVal = { 'info': results, 'success': success };
45128
- return returnVal;
45129
- }
45130
- sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
45131
- let url = this.urls['api']['rest'] + '/' + this.implodeParams(path, params);
45132
- const query = this.omit(params, this.extractParams(path));
45133
- if (api === 'public') {
45134
- if (Object.keys(query).length) {
45135
- url += '?' + this.urlencode(query);
45136
- }
45137
- }
45138
- else {
45139
- this.checkRequiredCredentials();
45140
- let payload = this.urlencode({ 'accessKey': this.apiKey });
45141
- query['nonce'] = this.milliseconds();
45142
- if (Object.keys(query).length) {
45143
- payload += '&' + this.urlencode(this.keysort(query));
45144
- }
45145
- // let message = '/' + 'api/' + this.version + '/' + path + '?' + payload;
45146
- const message = '/' + path + '?' + payload;
45147
- const signature = this.hmac(this.encode(message), this.encode(this.secret), _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_3__/* .sha256 */ .J);
45148
- body = payload + '&signData=' + signature;
45149
- headers = {
45150
- 'Content-Type': 'application/x-www-form-urlencoded',
45151
- };
45152
- }
45153
- return { 'url': url, 'method': method, 'body': body, 'headers': headers };
45154
- }
45155
- handleErrors(code, reason, url, method, headers, body, response, requestHeaders, requestBody) {
45156
- if (typeof body !== 'string') {
45157
- return undefined; // fallback to default error handler
45158
- }
45159
- if ((body[0] === '{') || (body[0] === '[')) {
45160
- const feedback = this.id + ' ' + body;
45161
- const success = this.safeValue(response, 'success');
45162
- if (success !== undefined) {
45163
- if (!success) {
45164
- const codeInner = this.safeString(response, 'code');
45165
- this.throwExactlyMatchedException(this.exceptions, codeInner, feedback);
45166
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError(feedback);
45167
- }
45168
- }
45169
- }
45170
- return undefined;
45171
- }
45172
- }
45173
-
45174
-
45175
44354
  /***/ }),
45176
44355
 
45177
44356
  /***/ 9051:
@@ -125072,7 +124251,7 @@ class deribit extends _abstract_deribit_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
125072
124251
  // 'tfa': '123456', // if enabled
125073
124252
  };
125074
124253
  if (this.twofa !== undefined) {
125075
- request['tfa'] = (0,_base_functions_totp_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(this.twofa);
124254
+ request['tfa'] = (0,_base_functions_totp_js__WEBPACK_IMPORTED_MODULE_4__/* .totp */ .H)(this.twofa);
125076
124255
  }
125077
124256
  const response = await this.privateGetWithdraw(this.extend(request, params));
125078
124257
  return this.parseTransaction(response, currency);
@@ -185751,6 +184930,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
185751
184930
  '700006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
185752
184931
  '700007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
185753
184932
  '700008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
184933
+ '700013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
185754
184934
  '730001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
185755
184935
  '730002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
185756
184936
  '730000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
@@ -190283,7 +189463,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
190283
189463
  'source': this.safeString(this.options, 'broker', 'CCXT'),
190284
189464
  };
190285
189465
  }
190286
- if (method === 'POST') {
189466
+ if ((method === 'POST') || (method === 'PUT')) {
190287
189467
  headers['Content-Type'] = 'application/json';
190288
189468
  }
190289
189469
  }
@@ -190679,7 +189859,7 @@ class ndax extends _abstract_ndax_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
190679
189859
  }
190680
189860
  this.options['pending2faToken'] = pending2faToken;
190681
189861
  request = {
190682
- 'Code': (0,_base_functions_totp_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)(this.twofa),
189862
+ 'Code': (0,_base_functions_totp_js__WEBPACK_IMPORTED_MODULE_3__/* .totp */ .H)(this.twofa),
190683
189863
  };
190684
189864
  const responseInner = await this.publicGetAuthenticate2FA(this.extend(request, params));
190685
189865
  //
@@ -192743,7 +191923,7 @@ class ndax extends _abstract_ndax_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
192743
191923
  };
192744
191924
  const withdrawRequest = {
192745
191925
  'TfaType': 'Google',
192746
- 'TFaCode': (0,_base_functions_totp_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)(this.twofa),
191926
+ 'TFaCode': (0,_base_functions_totp_js__WEBPACK_IMPORTED_MODULE_3__/* .totp */ .H)(this.twofa),
192747
191927
  'Payload': this.json(withdrawPayload),
192748
191928
  };
192749
191929
  const response = await this.privatePostCreateWithdrawTicket(this.deepExtend(withdrawRequest, params));
@@ -203988,7 +203168,7 @@ class okx extends _abstract_okx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
203988
203168
  const liquidationPrice = this.safeNumber(position, 'liqPx');
203989
203169
  const percentageString = this.safeString(position, 'uplRatio');
203990
203170
  const percentage = this.parseNumber(_base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise */ .O.stringMul(percentageString, '100'));
203991
- const timestamp = this.safeInteger(position, 'uTime');
203171
+ const timestamp = this.safeInteger(position, 'cTime');
203992
203172
  const marginRatio = this.parseNumber(_base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise */ .O.stringDiv(maintenanceMarginString, collateralString, 4));
203993
203173
  return this.safePosition({
203994
203174
  'info': position,
@@ -220543,9 +219723,11 @@ class binance extends _binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
220543
219723
  'fetchDepositsWs': false,
220544
219724
  'fetchMarketsWs': false,
220545
219725
  'fetchMyTradesWs': true,
219726
+ 'fetchOHLCVWs': true,
220546
219727
  'fetchOpenOrdersWs': true,
220547
219728
  'fetchOrderWs': true,
220548
219729
  'fetchOrdersWs': true,
219730
+ 'fetchTradesWs': true,
220549
219731
  'fetchTradingFeesWs': false,
220550
219732
  'fetchWithdrawalsWs': false,
220551
219733
  },
@@ -221342,6 +220524,94 @@ class binance extends _binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
221342
220524
  stored.append(parsed);
221343
220525
  client.resolve(stored, messageHash);
221344
220526
  }
220527
+ async fetchOHLCVWs(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
220528
+ /**
220529
+ * @method
220530
+ * @name binance#fetchOHLCVWs
220531
+ * @see https://binance-docs.github.io/apidocs/websocket_api/en/#klines
220532
+ * @description query historical candlestick data containing the open, high, low, and close price, and the volume of a market
220533
+ * @param {string} symbol unified symbol of the market to query OHLCV data for
220534
+ * @param {string} timeframe the length of time each candle represents
220535
+ * @param {int} since timestamp in ms of the earliest candle to fetch
220536
+ * @param {int} limit the maximum amount of candles to fetch
220537
+ * @param {object} params extra parameters specific to the exchange API endpoint
220538
+ * @param {int} params.until timestamp in ms of the earliest candle to fetch
220539
+ *
220540
+ * EXCHANGE SPECIFIC PARAMETERS
220541
+ * @param {string} params.timeZone default=0 (UTC)
220542
+ * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
220543
+ */
220544
+ await this.loadMarkets();
220545
+ this.checkIsSpot('fetchOHLCVWs', symbol, params);
220546
+ const url = this.urls['api']['ws']['ws'];
220547
+ const requestId = this.requestId(url);
220548
+ const messageHash = requestId.toString();
220549
+ let returnRateLimits = false;
220550
+ [returnRateLimits, params] = this.handleOptionAndParams(params, 'fetchOHLCVWs', 'returnRateLimits', false);
220551
+ const payload = {
220552
+ 'symbol': this.marketId(symbol),
220553
+ 'returnRateLimits': returnRateLimits,
220554
+ 'interval': this.timeframes[timeframe],
220555
+ };
220556
+ const until = this.safeInteger(params, 'until');
220557
+ params = this.omit(params, 'until');
220558
+ if (since !== undefined) {
220559
+ payload['startTime'] = since;
220560
+ }
220561
+ if (limit !== undefined) {
220562
+ payload['limit'] = limit;
220563
+ }
220564
+ if (until !== undefined) {
220565
+ payload['endTime'] = until;
220566
+ }
220567
+ const message = {
220568
+ 'id': messageHash,
220569
+ 'method': 'klines',
220570
+ 'params': this.extend(payload, params),
220571
+ };
220572
+ const subscription = {
220573
+ 'method': this.handleFetchOHLCV,
220574
+ };
220575
+ return await this.watch(url, messageHash, message, messageHash, subscription);
220576
+ }
220577
+ handleFetchOHLCV(client, message) {
220578
+ //
220579
+ // {
220580
+ // "id": "1dbbeb56-8eea-466a-8f6e-86bdcfa2fc0b",
220581
+ // "status": 200,
220582
+ // "result": [
220583
+ // [
220584
+ // 1655971200000, // Kline open time
220585
+ // "0.01086000", // Open price
220586
+ // "0.01086600", // High price
220587
+ // "0.01083600", // Low price
220588
+ // "0.01083800", // Close price
220589
+ // "2290.53800000", // Volume
220590
+ // 1655974799999, // Kline close time
220591
+ // "24.85074442", // Quote asset volume
220592
+ // 2283, // Number of trades
220593
+ // "1171.64000000", // Taker buy base asset volume
220594
+ // "12.71225884", // Taker buy quote asset volume
220595
+ // "0" // Unused field, ignore
220596
+ // ]
220597
+ // ],
220598
+ // "rateLimits": [
220599
+ // {
220600
+ // "rateLimitType": "REQUEST_WEIGHT",
220601
+ // "interval": "MINUTE",
220602
+ // "intervalNum": 1,
220603
+ // "limit": 6000,
220604
+ // "count": 2
220605
+ // }
220606
+ // ]
220607
+ // }
220608
+ //
220609
+ const result = this.safeList(message, 'result');
220610
+ const parsed = this.parseOHLCVs(result);
220611
+ // use a reverse lookup in a static map instead
220612
+ const messageHash = this.safeString(message, 'id');
220613
+ client.resolve(parsed, messageHash);
220614
+ }
221345
220615
  async watchTicker(symbol, params = {}) {
221346
220616
  /**
221347
220617
  * @method
@@ -223043,12 +222313,58 @@ class binance extends _binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
223043
222313
  const trades = await this.watch(url, messageHash, message, messageHash, subscription);
223044
222314
  return this.filterBySymbolSinceLimit(trades, symbol, since, limit);
223045
222315
  }
222316
+ async fetchTradesWs(symbol = undefined, since = undefined, limit = undefined, params = {}) {
222317
+ /**
222318
+ * @method
222319
+ * @name binance#fetchTradesWs
222320
+ * @see https://binance-docs.github.io/apidocs/websocket_api/en/#recent-trades
222321
+ * @description fetch all trades made by the user
222322
+ * @param {string} symbol unified market symbol
222323
+ * @param {int} [since] the earliest time in ms to fetch trades for
222324
+ * @param {int} [limit] the maximum number of trades structures to retrieve, default=500, max=1000
222325
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
222326
+ *
222327
+ * EXCHANGE SPECIFIC PARAMETERS
222328
+ * @param {int} [params.fromId] trade ID to begin at
222329
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
222330
+ */
222331
+ await this.loadMarkets();
222332
+ if (symbol === undefined) {
222333
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' fetchTradesWs () requires a symbol argument');
222334
+ }
222335
+ this.checkIsSpot('fetchTradesWs', symbol, params);
222336
+ const url = this.urls['api']['ws']['ws'];
222337
+ const requestId = this.requestId(url);
222338
+ const messageHash = requestId.toString();
222339
+ let returnRateLimits = false;
222340
+ [returnRateLimits, params] = this.handleOptionAndParams(params, 'fetchTradesWs', 'returnRateLimits', false);
222341
+ const payload = {
222342
+ 'symbol': this.marketId(symbol),
222343
+ 'returnRateLimits': returnRateLimits,
222344
+ };
222345
+ if (limit !== undefined) {
222346
+ payload['limit'] = limit;
222347
+ }
222348
+ const message = {
222349
+ 'id': messageHash,
222350
+ 'method': 'trades.historical',
222351
+ 'params': this.extend(payload, params),
222352
+ };
222353
+ const subscription = {
222354
+ 'method': this.handleTradesWs,
222355
+ };
222356
+ const trades = await this.watch(url, messageHash, message, messageHash, subscription);
222357
+ return this.filterBySinceLimit(trades, since, limit);
222358
+ }
223046
222359
  handleTradesWs(client, message) {
222360
+ //
222361
+ // fetchMyTradesWs
223047
222362
  //
223048
222363
  // {
223049
222364
  // "id": "f4ce6a53-a29d-4f70-823b-4ab59391d6e8",
223050
222365
  // "status": 200,
223051
- // "result": [{
222366
+ // "result": [
222367
+ // {
223052
222368
  // "symbol": "BTCUSDT",
223053
222369
  // "id": 1650422481,
223054
222370
  // "orderId": 12569099453,
@@ -223067,6 +222383,25 @@ class binance extends _binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
223067
222383
  // ],
223068
222384
  // }
223069
222385
  //
222386
+ // fetchTradesWs
222387
+ //
222388
+ // {
222389
+ // "id": "f4ce6a53-a29d-4f70-823b-4ab59391d6e8",
222390
+ // "status": 200,
222391
+ // "result": [
222392
+ // {
222393
+ // "id": 0,
222394
+ // "price": "0.00005000",
222395
+ // "qty": "40.00000000",
222396
+ // "quoteQty": "0.00200000",
222397
+ // "time": 1500004800376,
222398
+ // "isBuyerMaker": true,
222399
+ // "isBestMatch": true
222400
+ // }
222401
+ // ...
222402
+ // ],
222403
+ // }
222404
+ //
223070
222405
  const messageHash = this.safeString(message, 'id');
223071
222406
  const result = this.safeValue(message, 'result', []);
223072
222407
  const trades = this.parseTrades(result);
@@ -224518,7 +223853,7 @@ class bingx extends _bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
224518
223853
  account['free'] = this.safeString(balance, 'wb');
224519
223854
  const balanceChange = this.safeString(balance, 'bc');
224520
223855
  if (account['used'] !== undefined) {
224521
- account['used'] = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z.stringSub(this.safeString(account, 'used'), balanceChange);
223856
+ account['used'] = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise */ .O.stringSub(this.safeString(account, 'used'), balanceChange);
224522
223857
  }
224523
223858
  this.balance[type][code] = account;
224524
223859
  }
@@ -224591,18 +223926,18 @@ class bingx extends _bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
224591
223926
  /* harmony export */ Z: () => (/* binding */ bitcoincom)
224592
223927
  /* harmony export */ });
224593
223928
  /* harmony import */ var _hitbtc_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5189);
224594
- /* harmony import */ var _bequant_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2049);
223929
+ /* harmony import */ var _hitbtc_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4714);
223930
+ /* harmony import */ var _bitcoincom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1819);
224595
223931
  // ---------------------------------------------------------------------------
224596
223932
 
224597
223933
 
223934
+
224598
223935
  // ---------------------------------------------------------------------------
224599
223936
  class bitcoincom extends _hitbtc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
224600
223937
  describe() {
224601
223938
  // eslint-disable-next-line new-cap
224602
- const restInstance = new _bequant_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z();
224603
- const restDescribe = restInstance.describe();
224604
- const extended = this.deepExtend(super.describe(), restDescribe);
224605
- return this.deepExtend(extended, {
223939
+ const describeExtended = this.getDescribeForExtendedWsExchange(new _bitcoincom_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z(), new _hitbtc_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z(), super.describe());
223940
+ return this.deepExtend(describeExtended, {
224606
223941
  'id': 'bitcoincom',
224607
223942
  'name': 'bitcoin.com',
224608
223943
  'countries': ['KN'],
@@ -225634,7 +224969,9 @@ class bitfinex2 extends _bitfinex2_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
225634
224969
  const messageLength = message.length;
225635
224970
  if (messageLength === 2) {
225636
224971
  // initial snapshot
225637
- const trades = this.safeValue(message, 1, []);
224972
+ let trades = this.safeList(message, 1, []);
224973
+ // needs to be reversed to make chronological order
224974
+ trades = trades.reverse();
225638
224975
  for (let i = 0; i < trades.length; i++) {
225639
224976
  const parsed = this.parseWsTrade(trades[i], market);
225640
224977
  stored.append(parsed);
@@ -245306,8 +244643,9 @@ class gate extends _gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
245306
244643
  const parts = channel.split('.');
245307
244644
  const rawMarketType = this.safeString(parts, 0);
245308
244645
  const marketType = (rawMarketType === 'futures') ? 'contract' : 'spot';
244646
+ const result = this.safeValue(message, 'result');
245309
244647
  let results = [];
245310
- if (marketType === 'contract') {
244648
+ if (Array.isArray(result)) {
245311
244649
  results = this.safeList(message, 'result', []);
245312
244650
  }
245313
244651
  else {
@@ -295799,7 +295137,6 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
295799
295137
  '-1007': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
295800
295138
  '-1008': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
295801
295139
  '-1009': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
295802
- '-1011': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
295803
295140
  '-1012': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
295804
295141
  '-1101': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
295805
295142
  '-1102': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
@@ -295808,6 +295145,8 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
295808
295145
  '-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." }
295809
295146
  },
295810
295147
  'broad': {
295148
+ 'Can not place': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
295149
+ 'maintenance': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.OnMaintenance,
295811
295150
  'symbol must not be blank': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
295812
295151
  'The token is not supported': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
295813
295152
  'Your order and symbol are not valid or already canceled': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
@@ -297884,6 +297223,7 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
297884
297223
  }
297885
297224
  //
297886
297225
  // 400 Bad Request {"success":false,"code":-1012,"message":"Amount is required for buy market orders when margin disabled."}
297226
+ // {"code":"-1011","message":"The system is under maintenance.","success":false}
297887
297227
  //
297888
297228
  const success = this.safeValue(response, 'success');
297889
297229
  const errorCode = this.safeString(response, 'code');
@@ -307527,39 +306867,39 @@ var __webpack_exports__ = {};
307527
306867
  (() => {
307528
306868
  __webpack_require__.r(__webpack_exports__);
307529
306869
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
307530
- /* harmony export */ AccountNotEnabled: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.AccountNotEnabled),
307531
- /* harmony export */ AccountSuspended: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.AccountSuspended),
307532
- /* harmony export */ AddressPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.AddressPending),
307533
- /* harmony export */ ArgumentsRequired: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.ArgumentsRequired),
307534
- /* harmony export */ AuthenticationError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.AuthenticationError),
307535
- /* harmony export */ BadRequest: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.BadRequest),
307536
- /* harmony export */ BadResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.BadResponse),
307537
- /* harmony export */ BadSymbol: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.BadSymbol),
307538
- /* harmony export */ BaseError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.BaseError),
307539
- /* harmony export */ CancelPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.CancelPending),
307540
- /* harmony export */ DDoSProtection: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.DDoSProtection),
307541
- /* harmony export */ DuplicateOrderId: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.DuplicateOrderId),
306870
+ /* harmony export */ AccountNotEnabled: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.AccountNotEnabled),
306871
+ /* harmony export */ AccountSuspended: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.AccountSuspended),
306872
+ /* harmony export */ AddressPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.AddressPending),
306873
+ /* harmony export */ ArgumentsRequired: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.ArgumentsRequired),
306874
+ /* harmony export */ AuthenticationError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.AuthenticationError),
306875
+ /* harmony export */ BadRequest: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.BadRequest),
306876
+ /* harmony export */ BadResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.BadResponse),
306877
+ /* harmony export */ BadSymbol: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.BadSymbol),
306878
+ /* harmony export */ BaseError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.BaseError),
306879
+ /* harmony export */ CancelPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.CancelPending),
306880
+ /* harmony export */ DDoSProtection: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.DDoSProtection),
306881
+ /* harmony export */ DuplicateOrderId: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.DuplicateOrderId),
307542
306882
  /* harmony export */ Exchange: () => (/* reexport safe */ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__.e),
307543
- /* harmony export */ ExchangeError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.ExchangeError),
307544
- /* harmony export */ ExchangeNotAvailable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.ExchangeNotAvailable),
307545
- /* harmony export */ InsufficientFunds: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.InsufficientFunds),
307546
- /* harmony export */ InvalidAddress: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.InvalidAddress),
307547
- /* harmony export */ InvalidNonce: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.InvalidNonce),
307548
- /* harmony export */ InvalidOrder: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.InvalidOrder),
307549
- /* harmony export */ MarginModeAlreadySet: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.MarginModeAlreadySet),
307550
- /* harmony export */ NetworkError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.NetworkError),
307551
- /* harmony export */ NoChange: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.NoChange),
307552
- /* harmony export */ NotSupported: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.NotSupported),
307553
- /* harmony export */ NullResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.NullResponse),
307554
- /* harmony export */ OnMaintenance: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.OnMaintenance),
307555
- /* harmony export */ OrderImmediatelyFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.OrderImmediatelyFillable),
307556
- /* harmony export */ OrderNotCached: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.OrderNotCached),
307557
- /* harmony export */ OrderNotFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.OrderNotFillable),
307558
- /* harmony export */ OrderNotFound: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.OrderNotFound),
307559
- /* harmony export */ PermissionDenied: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.PermissionDenied),
307560
- /* harmony export */ Precise: () => (/* reexport safe */ _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_163__.O),
307561
- /* harmony export */ RateLimitExceeded: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.RateLimitExceeded),
307562
- /* harmony export */ RequestTimeout: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__.RequestTimeout),
306883
+ /* harmony export */ ExchangeError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.ExchangeError),
306884
+ /* harmony export */ ExchangeNotAvailable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.ExchangeNotAvailable),
306885
+ /* harmony export */ InsufficientFunds: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.InsufficientFunds),
306886
+ /* harmony export */ InvalidAddress: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.InvalidAddress),
306887
+ /* harmony export */ InvalidNonce: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.InvalidNonce),
306888
+ /* harmony export */ InvalidOrder: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.InvalidOrder),
306889
+ /* harmony export */ MarginModeAlreadySet: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.MarginModeAlreadySet),
306890
+ /* harmony export */ NetworkError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.NetworkError),
306891
+ /* harmony export */ NoChange: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.NoChange),
306892
+ /* harmony export */ NotSupported: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.NotSupported),
306893
+ /* harmony export */ NullResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.NullResponse),
306894
+ /* harmony export */ OnMaintenance: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.OnMaintenance),
306895
+ /* harmony export */ OrderImmediatelyFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.OrderImmediatelyFillable),
306896
+ /* harmony export */ OrderNotCached: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.OrderNotCached),
306897
+ /* harmony export */ OrderNotFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.OrderNotFillable),
306898
+ /* harmony export */ OrderNotFound: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.OrderNotFound),
306899
+ /* harmony export */ PermissionDenied: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.PermissionDenied),
306900
+ /* harmony export */ Precise: () => (/* reexport safe */ _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_162__.O),
306901
+ /* harmony export */ RateLimitExceeded: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.RateLimitExceeded),
306902
+ /* harmony export */ RequestTimeout: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__.RequestTimeout),
307563
306903
  /* harmony export */ ace: () => (/* reexport safe */ _src_ace_js__WEBPACK_IMPORTED_MODULE_1__.Z),
307564
306904
  /* harmony export */ alpaca: () => (/* reexport safe */ _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__.Z),
307565
306905
  /* harmony export */ ascendex: () => (/* reexport safe */ _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__.Z),
@@ -307578,100 +306918,99 @@ __webpack_require__.r(__webpack_exports__);
307578
306918
  /* harmony export */ bitfinex: () => (/* reexport safe */ _src_bitfinex_js__WEBPACK_IMPORTED_MODULE_16__.Z),
307579
306919
  /* harmony export */ bitfinex2: () => (/* reexport safe */ _src_bitfinex2_js__WEBPACK_IMPORTED_MODULE_17__.Z),
307580
306920
  /* harmony export */ bitflyer: () => (/* reexport safe */ _src_bitflyer_js__WEBPACK_IMPORTED_MODULE_18__.Z),
307581
- /* harmony export */ bitforex: () => (/* reexport safe */ _src_bitforex_js__WEBPACK_IMPORTED_MODULE_19__.Z),
307582
- /* harmony export */ bitget: () => (/* reexport safe */ _src_bitget_js__WEBPACK_IMPORTED_MODULE_20__.Z),
307583
- /* harmony export */ bithumb: () => (/* reexport safe */ _src_bithumb_js__WEBPACK_IMPORTED_MODULE_21__.Z),
307584
- /* harmony export */ bitmart: () => (/* reexport safe */ _src_bitmart_js__WEBPACK_IMPORTED_MODULE_22__.Z),
307585
- /* harmony export */ bitmex: () => (/* reexport safe */ _src_bitmex_js__WEBPACK_IMPORTED_MODULE_23__.Z),
307586
- /* harmony export */ bitopro: () => (/* reexport safe */ _src_bitopro_js__WEBPACK_IMPORTED_MODULE_24__.Z),
307587
- /* harmony export */ bitpanda: () => (/* reexport safe */ _src_bitpanda_js__WEBPACK_IMPORTED_MODULE_25__.Z),
307588
- /* harmony export */ bitrue: () => (/* reexport safe */ _src_bitrue_js__WEBPACK_IMPORTED_MODULE_26__.Z),
307589
- /* harmony export */ bitso: () => (/* reexport safe */ _src_bitso_js__WEBPACK_IMPORTED_MODULE_27__.Z),
307590
- /* harmony export */ bitstamp: () => (/* reexport safe */ _src_bitstamp_js__WEBPACK_IMPORTED_MODULE_28__.Z),
307591
- /* harmony export */ bitteam: () => (/* reexport safe */ _src_bitteam_js__WEBPACK_IMPORTED_MODULE_29__.Z),
307592
- /* harmony export */ bitvavo: () => (/* reexport safe */ _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_30__.Z),
307593
- /* harmony export */ bl3p: () => (/* reexport safe */ _src_bl3p_js__WEBPACK_IMPORTED_MODULE_31__.Z),
307594
- /* harmony export */ blockchaincom: () => (/* reexport safe */ _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_32__.Z),
307595
- /* harmony export */ blofin: () => (/* reexport safe */ _src_blofin_js__WEBPACK_IMPORTED_MODULE_33__.Z),
307596
- /* harmony export */ btcalpha: () => (/* reexport safe */ _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_34__.Z),
307597
- /* harmony export */ btcbox: () => (/* reexport safe */ _src_btcbox_js__WEBPACK_IMPORTED_MODULE_35__.Z),
307598
- /* harmony export */ btcmarkets: () => (/* reexport safe */ _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_36__.Z),
307599
- /* harmony export */ btcturk: () => (/* reexport safe */ _src_btcturk_js__WEBPACK_IMPORTED_MODULE_37__.Z),
307600
- /* harmony export */ bybit: () => (/* reexport safe */ _src_bybit_js__WEBPACK_IMPORTED_MODULE_38__.Z),
307601
- /* harmony export */ cex: () => (/* reexport safe */ _src_cex_js__WEBPACK_IMPORTED_MODULE_39__.Z),
307602
- /* harmony export */ coinbase: () => (/* reexport safe */ _src_coinbase_js__WEBPACK_IMPORTED_MODULE_40__.Z),
307603
- /* harmony export */ coinbasepro: () => (/* reexport safe */ _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_41__.Z),
307604
- /* harmony export */ coincheck: () => (/* reexport safe */ _src_coincheck_js__WEBPACK_IMPORTED_MODULE_42__.Z),
307605
- /* harmony export */ coinex: () => (/* reexport safe */ _src_coinex_js__WEBPACK_IMPORTED_MODULE_43__.Z),
307606
- /* harmony export */ coinlist: () => (/* reexport safe */ _src_coinlist_js__WEBPACK_IMPORTED_MODULE_44__.Z),
307607
- /* harmony export */ coinmate: () => (/* reexport safe */ _src_coinmate_js__WEBPACK_IMPORTED_MODULE_45__.Z),
307608
- /* harmony export */ coinmetro: () => (/* reexport safe */ _src_coinmetro_js__WEBPACK_IMPORTED_MODULE_46__.Z),
307609
- /* harmony export */ coinone: () => (/* reexport safe */ _src_coinone_js__WEBPACK_IMPORTED_MODULE_47__.Z),
307610
- /* harmony export */ coinsph: () => (/* reexport safe */ _src_coinsph_js__WEBPACK_IMPORTED_MODULE_48__.Z),
307611
- /* harmony export */ coinspot: () => (/* reexport safe */ _src_coinspot_js__WEBPACK_IMPORTED_MODULE_49__.Z),
307612
- /* harmony export */ cryptocom: () => (/* reexport safe */ _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_50__.Z),
307613
- /* harmony export */ currencycom: () => (/* reexport safe */ _src_currencycom_js__WEBPACK_IMPORTED_MODULE_51__.Z),
306921
+ /* harmony export */ bitget: () => (/* reexport safe */ _src_bitget_js__WEBPACK_IMPORTED_MODULE_19__.Z),
306922
+ /* harmony export */ bithumb: () => (/* reexport safe */ _src_bithumb_js__WEBPACK_IMPORTED_MODULE_20__.Z),
306923
+ /* harmony export */ bitmart: () => (/* reexport safe */ _src_bitmart_js__WEBPACK_IMPORTED_MODULE_21__.Z),
306924
+ /* harmony export */ bitmex: () => (/* reexport safe */ _src_bitmex_js__WEBPACK_IMPORTED_MODULE_22__.Z),
306925
+ /* harmony export */ bitopro: () => (/* reexport safe */ _src_bitopro_js__WEBPACK_IMPORTED_MODULE_23__.Z),
306926
+ /* harmony export */ bitpanda: () => (/* reexport safe */ _src_bitpanda_js__WEBPACK_IMPORTED_MODULE_24__.Z),
306927
+ /* harmony export */ bitrue: () => (/* reexport safe */ _src_bitrue_js__WEBPACK_IMPORTED_MODULE_25__.Z),
306928
+ /* harmony export */ bitso: () => (/* reexport safe */ _src_bitso_js__WEBPACK_IMPORTED_MODULE_26__.Z),
306929
+ /* harmony export */ bitstamp: () => (/* reexport safe */ _src_bitstamp_js__WEBPACK_IMPORTED_MODULE_27__.Z),
306930
+ /* harmony export */ bitteam: () => (/* reexport safe */ _src_bitteam_js__WEBPACK_IMPORTED_MODULE_28__.Z),
306931
+ /* harmony export */ bitvavo: () => (/* reexport safe */ _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_29__.Z),
306932
+ /* harmony export */ bl3p: () => (/* reexport safe */ _src_bl3p_js__WEBPACK_IMPORTED_MODULE_30__.Z),
306933
+ /* harmony export */ blockchaincom: () => (/* reexport safe */ _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_31__.Z),
306934
+ /* harmony export */ blofin: () => (/* reexport safe */ _src_blofin_js__WEBPACK_IMPORTED_MODULE_32__.Z),
306935
+ /* harmony export */ btcalpha: () => (/* reexport safe */ _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_33__.Z),
306936
+ /* harmony export */ btcbox: () => (/* reexport safe */ _src_btcbox_js__WEBPACK_IMPORTED_MODULE_34__.Z),
306937
+ /* harmony export */ btcmarkets: () => (/* reexport safe */ _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_35__.Z),
306938
+ /* harmony export */ btcturk: () => (/* reexport safe */ _src_btcturk_js__WEBPACK_IMPORTED_MODULE_36__.Z),
306939
+ /* harmony export */ bybit: () => (/* reexport safe */ _src_bybit_js__WEBPACK_IMPORTED_MODULE_37__.Z),
306940
+ /* harmony export */ cex: () => (/* reexport safe */ _src_cex_js__WEBPACK_IMPORTED_MODULE_38__.Z),
306941
+ /* harmony export */ coinbase: () => (/* reexport safe */ _src_coinbase_js__WEBPACK_IMPORTED_MODULE_39__.Z),
306942
+ /* harmony export */ coinbasepro: () => (/* reexport safe */ _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_40__.Z),
306943
+ /* harmony export */ coincheck: () => (/* reexport safe */ _src_coincheck_js__WEBPACK_IMPORTED_MODULE_41__.Z),
306944
+ /* harmony export */ coinex: () => (/* reexport safe */ _src_coinex_js__WEBPACK_IMPORTED_MODULE_42__.Z),
306945
+ /* harmony export */ coinlist: () => (/* reexport safe */ _src_coinlist_js__WEBPACK_IMPORTED_MODULE_43__.Z),
306946
+ /* harmony export */ coinmate: () => (/* reexport safe */ _src_coinmate_js__WEBPACK_IMPORTED_MODULE_44__.Z),
306947
+ /* harmony export */ coinmetro: () => (/* reexport safe */ _src_coinmetro_js__WEBPACK_IMPORTED_MODULE_45__.Z),
306948
+ /* harmony export */ coinone: () => (/* reexport safe */ _src_coinone_js__WEBPACK_IMPORTED_MODULE_46__.Z),
306949
+ /* harmony export */ coinsph: () => (/* reexport safe */ _src_coinsph_js__WEBPACK_IMPORTED_MODULE_47__.Z),
306950
+ /* harmony export */ coinspot: () => (/* reexport safe */ _src_coinspot_js__WEBPACK_IMPORTED_MODULE_48__.Z),
306951
+ /* harmony export */ cryptocom: () => (/* reexport safe */ _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_49__.Z),
306952
+ /* harmony export */ currencycom: () => (/* reexport safe */ _src_currencycom_js__WEBPACK_IMPORTED_MODULE_50__.Z),
307614
306953
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
307615
- /* harmony export */ delta: () => (/* reexport safe */ _src_delta_js__WEBPACK_IMPORTED_MODULE_52__.Z),
307616
- /* harmony export */ deribit: () => (/* reexport safe */ _src_deribit_js__WEBPACK_IMPORTED_MODULE_53__.Z),
307617
- /* harmony export */ digifinex: () => (/* reexport safe */ _src_digifinex_js__WEBPACK_IMPORTED_MODULE_54__.Z),
307618
- /* harmony export */ errors: () => (/* reexport module object */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__),
306954
+ /* harmony export */ delta: () => (/* reexport safe */ _src_delta_js__WEBPACK_IMPORTED_MODULE_51__.Z),
306955
+ /* harmony export */ deribit: () => (/* reexport safe */ _src_deribit_js__WEBPACK_IMPORTED_MODULE_52__.Z),
306956
+ /* harmony export */ digifinex: () => (/* reexport safe */ _src_digifinex_js__WEBPACK_IMPORTED_MODULE_53__.Z),
306957
+ /* harmony export */ errors: () => (/* reexport module object */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__),
307619
306958
  /* harmony export */ exchanges: () => (/* binding */ exchanges),
307620
- /* harmony export */ exmo: () => (/* reexport safe */ _src_exmo_js__WEBPACK_IMPORTED_MODULE_55__.Z),
307621
- /* harmony export */ fmfwio: () => (/* reexport safe */ _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_56__.Z),
307622
- /* harmony export */ functions: () => (/* reexport module object */ _src_base_functions_js__WEBPACK_IMPORTED_MODULE_164__),
307623
- /* harmony export */ gate: () => (/* reexport safe */ _src_gate_js__WEBPACK_IMPORTED_MODULE_57__.Z),
307624
- /* harmony export */ gateio: () => (/* reexport safe */ _src_gateio_js__WEBPACK_IMPORTED_MODULE_58__.Z),
307625
- /* harmony export */ gemini: () => (/* reexport safe */ _src_gemini_js__WEBPACK_IMPORTED_MODULE_59__.Z),
307626
- /* harmony export */ hitbtc: () => (/* reexport safe */ _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_60__.Z),
307627
- /* harmony export */ hitbtc3: () => (/* reexport safe */ _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_61__.Z),
307628
- /* harmony export */ hollaex: () => (/* reexport safe */ _src_hollaex_js__WEBPACK_IMPORTED_MODULE_62__.Z),
307629
- /* harmony export */ htx: () => (/* reexport safe */ _src_htx_js__WEBPACK_IMPORTED_MODULE_63__.Z),
307630
- /* harmony export */ huobi: () => (/* reexport safe */ _src_huobi_js__WEBPACK_IMPORTED_MODULE_64__.Z),
307631
- /* harmony export */ huobijp: () => (/* reexport safe */ _src_huobijp_js__WEBPACK_IMPORTED_MODULE_65__.Z),
307632
- /* harmony export */ idex: () => (/* reexport safe */ _src_idex_js__WEBPACK_IMPORTED_MODULE_66__.Z),
307633
- /* harmony export */ independentreserve: () => (/* reexport safe */ _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_67__.Z),
307634
- /* harmony export */ indodax: () => (/* reexport safe */ _src_indodax_js__WEBPACK_IMPORTED_MODULE_68__.Z),
307635
- /* harmony export */ kraken: () => (/* reexport safe */ _src_kraken_js__WEBPACK_IMPORTED_MODULE_69__.Z),
307636
- /* harmony export */ krakenfutures: () => (/* reexport safe */ _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_70__.Z),
307637
- /* harmony export */ kucoin: () => (/* reexport safe */ _src_kucoin_js__WEBPACK_IMPORTED_MODULE_71__.Z),
307638
- /* harmony export */ kucoinfutures: () => (/* reexport safe */ _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_72__.Z),
307639
- /* harmony export */ kuna: () => (/* reexport safe */ _src_kuna_js__WEBPACK_IMPORTED_MODULE_73__.Z),
307640
- /* harmony export */ latoken: () => (/* reexport safe */ _src_latoken_js__WEBPACK_IMPORTED_MODULE_74__.Z),
307641
- /* harmony export */ lbank: () => (/* reexport safe */ _src_lbank_js__WEBPACK_IMPORTED_MODULE_75__.Z),
307642
- /* harmony export */ luno: () => (/* reexport safe */ _src_luno_js__WEBPACK_IMPORTED_MODULE_76__.Z),
307643
- /* harmony export */ lykke: () => (/* reexport safe */ _src_lykke_js__WEBPACK_IMPORTED_MODULE_77__.Z),
307644
- /* harmony export */ mercado: () => (/* reexport safe */ _src_mercado_js__WEBPACK_IMPORTED_MODULE_78__.Z),
307645
- /* harmony export */ mexc: () => (/* reexport safe */ _src_mexc_js__WEBPACK_IMPORTED_MODULE_79__.Z),
307646
- /* harmony export */ ndax: () => (/* reexport safe */ _src_ndax_js__WEBPACK_IMPORTED_MODULE_80__.Z),
307647
- /* harmony export */ novadax: () => (/* reexport safe */ _src_novadax_js__WEBPACK_IMPORTED_MODULE_81__.Z),
307648
- /* harmony export */ oceanex: () => (/* reexport safe */ _src_oceanex_js__WEBPACK_IMPORTED_MODULE_82__.Z),
307649
- /* harmony export */ okcoin: () => (/* reexport safe */ _src_okcoin_js__WEBPACK_IMPORTED_MODULE_83__.Z),
307650
- /* harmony export */ okx: () => (/* reexport safe */ _src_okx_js__WEBPACK_IMPORTED_MODULE_84__.Z),
307651
- /* harmony export */ onetrading: () => (/* reexport safe */ _src_onetrading_js__WEBPACK_IMPORTED_MODULE_85__.Z),
307652
- /* harmony export */ p2b: () => (/* reexport safe */ _src_p2b_js__WEBPACK_IMPORTED_MODULE_86__.Z),
307653
- /* harmony export */ paymium: () => (/* reexport safe */ _src_paymium_js__WEBPACK_IMPORTED_MODULE_87__.Z),
307654
- /* harmony export */ phemex: () => (/* reexport safe */ _src_phemex_js__WEBPACK_IMPORTED_MODULE_88__.Z),
307655
- /* harmony export */ poloniex: () => (/* reexport safe */ _src_poloniex_js__WEBPACK_IMPORTED_MODULE_89__.Z),
307656
- /* harmony export */ poloniexfutures: () => (/* reexport safe */ _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_90__.Z),
306959
+ /* harmony export */ exmo: () => (/* reexport safe */ _src_exmo_js__WEBPACK_IMPORTED_MODULE_54__.Z),
306960
+ /* harmony export */ fmfwio: () => (/* reexport safe */ _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_55__.Z),
306961
+ /* harmony export */ functions: () => (/* reexport module object */ _src_base_functions_js__WEBPACK_IMPORTED_MODULE_163__),
306962
+ /* harmony export */ gate: () => (/* reexport safe */ _src_gate_js__WEBPACK_IMPORTED_MODULE_56__.Z),
306963
+ /* harmony export */ gateio: () => (/* reexport safe */ _src_gateio_js__WEBPACK_IMPORTED_MODULE_57__.Z),
306964
+ /* harmony export */ gemini: () => (/* reexport safe */ _src_gemini_js__WEBPACK_IMPORTED_MODULE_58__.Z),
306965
+ /* harmony export */ hitbtc: () => (/* reexport safe */ _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_59__.Z),
306966
+ /* harmony export */ hitbtc3: () => (/* reexport safe */ _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_60__.Z),
306967
+ /* harmony export */ hollaex: () => (/* reexport safe */ _src_hollaex_js__WEBPACK_IMPORTED_MODULE_61__.Z),
306968
+ /* harmony export */ htx: () => (/* reexport safe */ _src_htx_js__WEBPACK_IMPORTED_MODULE_62__.Z),
306969
+ /* harmony export */ huobi: () => (/* reexport safe */ _src_huobi_js__WEBPACK_IMPORTED_MODULE_63__.Z),
306970
+ /* harmony export */ huobijp: () => (/* reexport safe */ _src_huobijp_js__WEBPACK_IMPORTED_MODULE_64__.Z),
306971
+ /* harmony export */ idex: () => (/* reexport safe */ _src_idex_js__WEBPACK_IMPORTED_MODULE_65__.Z),
306972
+ /* harmony export */ independentreserve: () => (/* reexport safe */ _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_66__.Z),
306973
+ /* harmony export */ indodax: () => (/* reexport safe */ _src_indodax_js__WEBPACK_IMPORTED_MODULE_67__.Z),
306974
+ /* harmony export */ kraken: () => (/* reexport safe */ _src_kraken_js__WEBPACK_IMPORTED_MODULE_68__.Z),
306975
+ /* harmony export */ krakenfutures: () => (/* reexport safe */ _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_69__.Z),
306976
+ /* harmony export */ kucoin: () => (/* reexport safe */ _src_kucoin_js__WEBPACK_IMPORTED_MODULE_70__.Z),
306977
+ /* harmony export */ kucoinfutures: () => (/* reexport safe */ _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_71__.Z),
306978
+ /* harmony export */ kuna: () => (/* reexport safe */ _src_kuna_js__WEBPACK_IMPORTED_MODULE_72__.Z),
306979
+ /* harmony export */ latoken: () => (/* reexport safe */ _src_latoken_js__WEBPACK_IMPORTED_MODULE_73__.Z),
306980
+ /* harmony export */ lbank: () => (/* reexport safe */ _src_lbank_js__WEBPACK_IMPORTED_MODULE_74__.Z),
306981
+ /* harmony export */ luno: () => (/* reexport safe */ _src_luno_js__WEBPACK_IMPORTED_MODULE_75__.Z),
306982
+ /* harmony export */ lykke: () => (/* reexport safe */ _src_lykke_js__WEBPACK_IMPORTED_MODULE_76__.Z),
306983
+ /* harmony export */ mercado: () => (/* reexport safe */ _src_mercado_js__WEBPACK_IMPORTED_MODULE_77__.Z),
306984
+ /* harmony export */ mexc: () => (/* reexport safe */ _src_mexc_js__WEBPACK_IMPORTED_MODULE_78__.Z),
306985
+ /* harmony export */ ndax: () => (/* reexport safe */ _src_ndax_js__WEBPACK_IMPORTED_MODULE_79__.Z),
306986
+ /* harmony export */ novadax: () => (/* reexport safe */ _src_novadax_js__WEBPACK_IMPORTED_MODULE_80__.Z),
306987
+ /* harmony export */ oceanex: () => (/* reexport safe */ _src_oceanex_js__WEBPACK_IMPORTED_MODULE_81__.Z),
306988
+ /* harmony export */ okcoin: () => (/* reexport safe */ _src_okcoin_js__WEBPACK_IMPORTED_MODULE_82__.Z),
306989
+ /* harmony export */ okx: () => (/* reexport safe */ _src_okx_js__WEBPACK_IMPORTED_MODULE_83__.Z),
306990
+ /* harmony export */ onetrading: () => (/* reexport safe */ _src_onetrading_js__WEBPACK_IMPORTED_MODULE_84__.Z),
306991
+ /* harmony export */ p2b: () => (/* reexport safe */ _src_p2b_js__WEBPACK_IMPORTED_MODULE_85__.Z),
306992
+ /* harmony export */ paymium: () => (/* reexport safe */ _src_paymium_js__WEBPACK_IMPORTED_MODULE_86__.Z),
306993
+ /* harmony export */ phemex: () => (/* reexport safe */ _src_phemex_js__WEBPACK_IMPORTED_MODULE_87__.Z),
306994
+ /* harmony export */ poloniex: () => (/* reexport safe */ _src_poloniex_js__WEBPACK_IMPORTED_MODULE_88__.Z),
306995
+ /* harmony export */ poloniexfutures: () => (/* reexport safe */ _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_89__.Z),
307657
306996
  /* harmony export */ pro: () => (/* binding */ pro),
307658
- /* harmony export */ probit: () => (/* reexport safe */ _src_probit_js__WEBPACK_IMPORTED_MODULE_91__.Z),
307659
- /* harmony export */ timex: () => (/* reexport safe */ _src_timex_js__WEBPACK_IMPORTED_MODULE_92__.Z),
307660
- /* harmony export */ tokocrypto: () => (/* reexport safe */ _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_93__.Z),
307661
- /* harmony export */ upbit: () => (/* reexport safe */ _src_upbit_js__WEBPACK_IMPORTED_MODULE_94__.Z),
306997
+ /* harmony export */ probit: () => (/* reexport safe */ _src_probit_js__WEBPACK_IMPORTED_MODULE_90__.Z),
306998
+ /* harmony export */ timex: () => (/* reexport safe */ _src_timex_js__WEBPACK_IMPORTED_MODULE_91__.Z),
306999
+ /* harmony export */ tokocrypto: () => (/* reexport safe */ _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_92__.Z),
307000
+ /* harmony export */ upbit: () => (/* reexport safe */ _src_upbit_js__WEBPACK_IMPORTED_MODULE_93__.Z),
307662
307001
  /* harmony export */ version: () => (/* binding */ version),
307663
- /* harmony export */ wavesexchange: () => (/* reexport safe */ _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_95__.Z),
307664
- /* harmony export */ wazirx: () => (/* reexport safe */ _src_wazirx_js__WEBPACK_IMPORTED_MODULE_96__.Z),
307665
- /* harmony export */ whitebit: () => (/* reexport safe */ _src_whitebit_js__WEBPACK_IMPORTED_MODULE_97__.Z),
307666
- /* harmony export */ woo: () => (/* reexport safe */ _src_woo_js__WEBPACK_IMPORTED_MODULE_98__.Z),
307667
- /* harmony export */ yobit: () => (/* reexport safe */ _src_yobit_js__WEBPACK_IMPORTED_MODULE_99__.Z),
307668
- /* harmony export */ zaif: () => (/* reexport safe */ _src_zaif_js__WEBPACK_IMPORTED_MODULE_100__.Z),
307669
- /* harmony export */ zonda: () => (/* reexport safe */ _src_zonda_js__WEBPACK_IMPORTED_MODULE_101__.Z)
307002
+ /* harmony export */ wavesexchange: () => (/* reexport safe */ _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_94__.Z),
307003
+ /* harmony export */ wazirx: () => (/* reexport safe */ _src_wazirx_js__WEBPACK_IMPORTED_MODULE_95__.Z),
307004
+ /* harmony export */ whitebit: () => (/* reexport safe */ _src_whitebit_js__WEBPACK_IMPORTED_MODULE_96__.Z),
307005
+ /* harmony export */ woo: () => (/* reexport safe */ _src_woo_js__WEBPACK_IMPORTED_MODULE_97__.Z),
307006
+ /* harmony export */ yobit: () => (/* reexport safe */ _src_yobit_js__WEBPACK_IMPORTED_MODULE_98__.Z),
307007
+ /* harmony export */ zaif: () => (/* reexport safe */ _src_zaif_js__WEBPACK_IMPORTED_MODULE_99__.Z),
307008
+ /* harmony export */ zonda: () => (/* reexport safe */ _src_zonda_js__WEBPACK_IMPORTED_MODULE_100__.Z)
307670
307009
  /* harmony export */ });
307671
307010
  /* harmony import */ var _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3043);
307672
- /* harmony import */ var _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(2194);
307673
- /* harmony import */ var _src_base_functions_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(7100);
307674
- /* harmony import */ var _src_base_errors_js__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(6689);
307011
+ /* harmony import */ var _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(2194);
307012
+ /* harmony import */ var _src_base_functions_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(7100);
307013
+ /* harmony import */ var _src_base_errors_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(6689);
307675
307014
  /* harmony import */ var _src_ace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9869);
307676
307015
  /* harmony import */ var _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5660);
307677
307016
  /* harmony import */ var _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9612);
@@ -307690,150 +307029,149 @@ __webpack_require__.r(__webpack_exports__);
307690
307029
  /* harmony import */ var _src_bitfinex_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(6537);
307691
307030
  /* harmony import */ var _src_bitfinex2_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(730);
307692
307031
  /* harmony import */ var _src_bitflyer_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(8429);
307693
- /* harmony import */ var _src_bitforex_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(2035);
307694
- /* harmony import */ var _src_bitget_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(9051);
307695
- /* harmony import */ var _src_bithumb_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(5305);
307696
- /* harmony import */ var _src_bitmart_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(3718);
307697
- /* harmony import */ var _src_bitmex_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(7077);
307698
- /* harmony import */ var _src_bitopro_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(172);
307699
- /* harmony import */ var _src_bitpanda_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(2737);
307700
- /* harmony import */ var _src_bitrue_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(854);
307701
- /* harmony import */ var _src_bitso_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(4388);
307702
- /* harmony import */ var _src_bitstamp_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(4667);
307703
- /* harmony import */ var _src_bitteam_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(8994);
307704
- /* harmony import */ var _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(9943);
307705
- /* harmony import */ var _src_bl3p_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(9476);
307706
- /* harmony import */ var _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(182);
307707
- /* harmony import */ var _src_blofin_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(687);
307708
- /* harmony import */ var _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(6246);
307709
- /* harmony import */ var _src_btcbox_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(7796);
307710
- /* harmony import */ var _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(1776);
307711
- /* harmony import */ var _src_btcturk_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(6304);
307712
- /* harmony import */ var _src_bybit_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(3527);
307713
- /* harmony import */ var _src_cex_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(6445);
307714
- /* harmony import */ var _src_coinbase_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(437);
307715
- /* harmony import */ var _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(8856);
307716
- /* harmony import */ var _src_coincheck_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(2117);
307717
- /* harmony import */ var _src_coinex_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(332);
307718
- /* harmony import */ var _src_coinlist_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(3623);
307719
- /* harmony import */ var _src_coinmate_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(9816);
307720
- /* harmony import */ var _src_coinmetro_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(4759);
307721
- /* harmony import */ var _src_coinone_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(7811);
307722
- /* harmony import */ var _src_coinsph_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(5782);
307723
- /* harmony import */ var _src_coinspot_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(7794);
307724
- /* harmony import */ var _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(9129);
307725
- /* harmony import */ var _src_currencycom_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(3214);
307726
- /* harmony import */ var _src_delta_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(1753);
307727
- /* harmony import */ var _src_deribit_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(24);
307728
- /* harmony import */ var _src_digifinex_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(8846);
307729
- /* harmony import */ var _src_exmo_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(1729);
307730
- /* harmony import */ var _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(5788);
307731
- /* harmony import */ var _src_gate_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(7290);
307732
- /* harmony import */ var _src_gateio_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(7036);
307733
- /* harmony import */ var _src_gemini_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(6743);
307734
- /* harmony import */ var _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(4714);
307735
- /* harmony import */ var _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(4815);
307736
- /* harmony import */ var _src_hollaex_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(8422);
307737
- /* harmony import */ var _src_htx_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(5939);
307738
- /* harmony import */ var _src_huobi_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(8146);
307739
- /* harmony import */ var _src_huobijp_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(7034);
307740
- /* harmony import */ var _src_idex_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(8232);
307741
- /* harmony import */ var _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(9570);
307742
- /* harmony import */ var _src_indodax_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(1605);
307743
- /* harmony import */ var _src_kraken_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(9922);
307744
- /* harmony import */ var _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(4470);
307745
- /* harmony import */ var _src_kucoin_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(3583);
307746
- /* harmony import */ var _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(1924);
307747
- /* harmony import */ var _src_kuna_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(7732);
307748
- /* harmony import */ var _src_latoken_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(2545);
307749
- /* harmony import */ var _src_lbank_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(3944);
307750
- /* harmony import */ var _src_luno_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(1758);
307751
- /* harmony import */ var _src_lykke_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(3803);
307752
- /* harmony import */ var _src_mercado_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(9013);
307753
- /* harmony import */ var _src_mexc_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(6641);
307754
- /* harmony import */ var _src_ndax_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(4531);
307755
- /* harmony import */ var _src_novadax_js__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(2449);
307756
- /* harmony import */ var _src_oceanex_js__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(6749);
307757
- /* harmony import */ var _src_okcoin_js__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(3007);
307758
- /* harmony import */ var _src_okx_js__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(4042);
307759
- /* harmony import */ var _src_onetrading_js__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(6481);
307760
- /* harmony import */ var _src_p2b_js__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(2466);
307761
- /* harmony import */ var _src_paymium_js__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(7082);
307762
- /* harmony import */ var _src_phemex_js__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(79);
307763
- /* harmony import */ var _src_poloniex_js__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(8891);
307764
- /* harmony import */ var _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(6877);
307765
- /* harmony import */ var _src_probit_js__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(3657);
307766
- /* harmony import */ var _src_timex_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(1067);
307767
- /* harmony import */ var _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(5261);
307768
- /* harmony import */ var _src_upbit_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(7584);
307769
- /* harmony import */ var _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(3853);
307770
- /* harmony import */ var _src_wazirx_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(6536);
307771
- /* harmony import */ var _src_whitebit_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(5467);
307772
- /* harmony import */ var _src_woo_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(517);
307773
- /* harmony import */ var _src_yobit_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(3850);
307774
- /* harmony import */ var _src_zaif_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(5934);
307775
- /* harmony import */ var _src_zonda_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(5140);
307776
- /* harmony import */ var _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(2467);
307777
- /* harmony import */ var _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(2383);
307778
- /* harmony import */ var _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(8848);
307779
- /* harmony import */ var _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(8764);
307780
- /* harmony import */ var _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(5078);
307781
- /* harmony import */ var _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(1326);
307782
- /* harmony import */ var _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(1230);
307783
- /* harmony import */ var _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(6955);
307784
- /* harmony import */ var _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(453);
307785
- /* harmony import */ var _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(9772);
307786
- /* harmony import */ var _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(588);
307787
- /* harmony import */ var _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(1885);
307788
- /* harmony import */ var _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(7504);
307789
- /* harmony import */ var _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(2302);
307790
- /* harmony import */ var _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(2191);
307791
- /* harmony import */ var _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(1297);
307792
- /* harmony import */ var _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(3005);
307793
- /* harmony import */ var _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(2317);
307794
- /* harmony import */ var _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(6977);
307795
- /* harmony import */ var _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(2519);
307796
- /* harmony import */ var _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(5030);
307797
- /* harmony import */ var _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(5272);
307798
- /* harmony import */ var _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(3414);
307799
- /* harmony import */ var _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(8368);
307800
- /* harmony import */ var _src_pro_coincheck_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(7891);
307801
- /* harmony import */ var _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(204);
307802
- /* harmony import */ var _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(5208);
307803
- /* harmony import */ var _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(6820);
307804
- /* harmony import */ var _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(2952);
307805
- /* harmony import */ var _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(1788);
307806
- /* harmony import */ var _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(9004);
307807
- /* harmony import */ var _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(8335);
307808
- /* harmony import */ var _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(1465);
307809
- /* harmony import */ var _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(9488);
307810
- /* harmony import */ var _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(5189);
307811
- /* harmony import */ var _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(8559);
307812
- /* harmony import */ var _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(7474);
307813
- /* harmony import */ var _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(8384);
307814
- /* harmony import */ var _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(9021);
307815
- /* harmony import */ var _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(3484);
307816
- /* harmony import */ var _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(1311);
307817
- /* harmony import */ var _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(736);
307818
- /* harmony import */ var _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(449);
307819
- /* harmony import */ var _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(2387);
307820
- /* harmony import */ var _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(7181);
307821
- /* harmony import */ var _src_pro_lbank_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(1267);
307822
- /* harmony import */ var _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(627);
307823
- /* harmony import */ var _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(6484);
307824
- /* harmony import */ var _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(8080);
307825
- /* harmony import */ var _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(7105);
307826
- /* harmony import */ var _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(2214);
307827
- /* harmony import */ var _src_pro_onetrading_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(9419);
307828
- /* harmony import */ var _src_pro_p2b_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(8516);
307829
- /* harmony import */ var _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(4360);
307830
- /* harmony import */ var _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(7924);
307831
- /* harmony import */ var _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(3541);
307832
- /* harmony import */ var _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(9782);
307833
- /* harmony import */ var _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(7614);
307834
- /* harmony import */ var _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(4828);
307835
- /* harmony import */ var _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(5630);
307836
- /* harmony import */ var _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(3910);
307032
+ /* harmony import */ var _src_bitget_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(9051);
307033
+ /* harmony import */ var _src_bithumb_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(5305);
307034
+ /* harmony import */ var _src_bitmart_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(3718);
307035
+ /* harmony import */ var _src_bitmex_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(7077);
307036
+ /* harmony import */ var _src_bitopro_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(172);
307037
+ /* harmony import */ var _src_bitpanda_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(2737);
307038
+ /* harmony import */ var _src_bitrue_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(854);
307039
+ /* harmony import */ var _src_bitso_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(4388);
307040
+ /* harmony import */ var _src_bitstamp_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(4667);
307041
+ /* harmony import */ var _src_bitteam_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(8994);
307042
+ /* harmony import */ var _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(9943);
307043
+ /* harmony import */ var _src_bl3p_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(9476);
307044
+ /* harmony import */ var _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(182);
307045
+ /* harmony import */ var _src_blofin_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(687);
307046
+ /* harmony import */ var _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(6246);
307047
+ /* harmony import */ var _src_btcbox_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(7796);
307048
+ /* harmony import */ var _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(1776);
307049
+ /* harmony import */ var _src_btcturk_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(6304);
307050
+ /* harmony import */ var _src_bybit_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(3527);
307051
+ /* harmony import */ var _src_cex_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(6445);
307052
+ /* harmony import */ var _src_coinbase_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(437);
307053
+ /* harmony import */ var _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(8856);
307054
+ /* harmony import */ var _src_coincheck_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(2117);
307055
+ /* harmony import */ var _src_coinex_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(332);
307056
+ /* harmony import */ var _src_coinlist_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(3623);
307057
+ /* harmony import */ var _src_coinmate_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(9816);
307058
+ /* harmony import */ var _src_coinmetro_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(4759);
307059
+ /* harmony import */ var _src_coinone_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(7811);
307060
+ /* harmony import */ var _src_coinsph_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(5782);
307061
+ /* harmony import */ var _src_coinspot_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(7794);
307062
+ /* harmony import */ var _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(9129);
307063
+ /* harmony import */ var _src_currencycom_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(3214);
307064
+ /* harmony import */ var _src_delta_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(1753);
307065
+ /* harmony import */ var _src_deribit_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(24);
307066
+ /* harmony import */ var _src_digifinex_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(8846);
307067
+ /* harmony import */ var _src_exmo_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(1729);
307068
+ /* harmony import */ var _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(5788);
307069
+ /* harmony import */ var _src_gate_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(7290);
307070
+ /* harmony import */ var _src_gateio_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(7036);
307071
+ /* harmony import */ var _src_gemini_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(6743);
307072
+ /* harmony import */ var _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(4714);
307073
+ /* harmony import */ var _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(4815);
307074
+ /* harmony import */ var _src_hollaex_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(8422);
307075
+ /* harmony import */ var _src_htx_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(5939);
307076
+ /* harmony import */ var _src_huobi_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(8146);
307077
+ /* harmony import */ var _src_huobijp_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(7034);
307078
+ /* harmony import */ var _src_idex_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(8232);
307079
+ /* harmony import */ var _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(9570);
307080
+ /* harmony import */ var _src_indodax_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(1605);
307081
+ /* harmony import */ var _src_kraken_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(9922);
307082
+ /* harmony import */ var _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(4470);
307083
+ /* harmony import */ var _src_kucoin_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(3583);
307084
+ /* harmony import */ var _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(1924);
307085
+ /* harmony import */ var _src_kuna_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(7732);
307086
+ /* harmony import */ var _src_latoken_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(2545);
307087
+ /* harmony import */ var _src_lbank_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(3944);
307088
+ /* harmony import */ var _src_luno_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(1758);
307089
+ /* harmony import */ var _src_lykke_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(3803);
307090
+ /* harmony import */ var _src_mercado_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(9013);
307091
+ /* harmony import */ var _src_mexc_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(6641);
307092
+ /* harmony import */ var _src_ndax_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(4531);
307093
+ /* harmony import */ var _src_novadax_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(2449);
307094
+ /* harmony import */ var _src_oceanex_js__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(6749);
307095
+ /* harmony import */ var _src_okcoin_js__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(3007);
307096
+ /* harmony import */ var _src_okx_js__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(4042);
307097
+ /* harmony import */ var _src_onetrading_js__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(6481);
307098
+ /* harmony import */ var _src_p2b_js__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(2466);
307099
+ /* harmony import */ var _src_paymium_js__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(7082);
307100
+ /* harmony import */ var _src_phemex_js__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(79);
307101
+ /* harmony import */ var _src_poloniex_js__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(8891);
307102
+ /* harmony import */ var _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(6877);
307103
+ /* harmony import */ var _src_probit_js__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(3657);
307104
+ /* harmony import */ var _src_timex_js__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(1067);
307105
+ /* harmony import */ var _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(5261);
307106
+ /* harmony import */ var _src_upbit_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(7584);
307107
+ /* harmony import */ var _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(3853);
307108
+ /* harmony import */ var _src_wazirx_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(6536);
307109
+ /* harmony import */ var _src_whitebit_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(5467);
307110
+ /* harmony import */ var _src_woo_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(517);
307111
+ /* harmony import */ var _src_yobit_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(3850);
307112
+ /* harmony import */ var _src_zaif_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(5934);
307113
+ /* harmony import */ var _src_zonda_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(5140);
307114
+ /* harmony import */ var _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(2467);
307115
+ /* harmony import */ var _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(2383);
307116
+ /* harmony import */ var _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(8848);
307117
+ /* harmony import */ var _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(8764);
307118
+ /* harmony import */ var _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(5078);
307119
+ /* harmony import */ var _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(1326);
307120
+ /* harmony import */ var _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(1230);
307121
+ /* harmony import */ var _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(6955);
307122
+ /* harmony import */ var _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(453);
307123
+ /* harmony import */ var _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(9772);
307124
+ /* harmony import */ var _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(588);
307125
+ /* harmony import */ var _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(1885);
307126
+ /* harmony import */ var _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(7504);
307127
+ /* harmony import */ var _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(2302);
307128
+ /* harmony import */ var _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(2191);
307129
+ /* harmony import */ var _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(1297);
307130
+ /* harmony import */ var _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(3005);
307131
+ /* harmony import */ var _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(2317);
307132
+ /* harmony import */ var _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(6977);
307133
+ /* harmony import */ var _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(2519);
307134
+ /* harmony import */ var _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(5030);
307135
+ /* harmony import */ var _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(5272);
307136
+ /* harmony import */ var _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(3414);
307137
+ /* harmony import */ var _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(8368);
307138
+ /* harmony import */ var _src_pro_coincheck_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(7891);
307139
+ /* harmony import */ var _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(204);
307140
+ /* harmony import */ var _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(5208);
307141
+ /* harmony import */ var _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(6820);
307142
+ /* harmony import */ var _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(2952);
307143
+ /* harmony import */ var _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(1788);
307144
+ /* harmony import */ var _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(9004);
307145
+ /* harmony import */ var _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(8335);
307146
+ /* harmony import */ var _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(1465);
307147
+ /* harmony import */ var _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(9488);
307148
+ /* harmony import */ var _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(5189);
307149
+ /* harmony import */ var _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(8559);
307150
+ /* harmony import */ var _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(7474);
307151
+ /* harmony import */ var _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(8384);
307152
+ /* harmony import */ var _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(9021);
307153
+ /* harmony import */ var _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(3484);
307154
+ /* harmony import */ var _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(1311);
307155
+ /* harmony import */ var _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(736);
307156
+ /* harmony import */ var _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(449);
307157
+ /* harmony import */ var _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(2387);
307158
+ /* harmony import */ var _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(7181);
307159
+ /* harmony import */ var _src_pro_lbank_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(1267);
307160
+ /* harmony import */ var _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(627);
307161
+ /* harmony import */ var _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(6484);
307162
+ /* harmony import */ var _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(8080);
307163
+ /* harmony import */ var _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(7105);
307164
+ /* harmony import */ var _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(2214);
307165
+ /* harmony import */ var _src_pro_onetrading_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(9419);
307166
+ /* harmony import */ var _src_pro_p2b_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(8516);
307167
+ /* harmony import */ var _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(4360);
307168
+ /* harmony import */ var _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(7924);
307169
+ /* harmony import */ var _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(3541);
307170
+ /* harmony import */ var _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(9782);
307171
+ /* harmony import */ var _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(7614);
307172
+ /* harmony import */ var _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(4828);
307173
+ /* harmony import */ var _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(5630);
307174
+ /* harmony import */ var _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(3910);
307837
307175
  /*
307838
307176
 
307839
307177
  MIT License
@@ -307868,7 +307206,7 @@ SOFTWARE.
307868
307206
 
307869
307207
  //-----------------------------------------------------------------------------
307870
307208
  // this is updated by vss.js when building
307871
- const version = '4.2.50';
307209
+ const version = '4.2.52';
307872
307210
  _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion = version;
307873
307211
  //-----------------------------------------------------------------------------
307874
307212
 
@@ -307969,7 +307307,6 @@ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion
307969
307307
 
307970
307308
 
307971
307309
 
307972
-
307973
307310
 
307974
307311
 
307975
307312
  // pro exchanges
@@ -308053,152 +307390,151 @@ const exchanges = {
308053
307390
  'bitfinex': _src_bitfinex_js__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z,
308054
307391
  'bitfinex2': _src_bitfinex2_js__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z,
308055
307392
  'bitflyer': _src_bitflyer_js__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .Z,
308056
- 'bitforex': _src_bitforex_js__WEBPACK_IMPORTED_MODULE_19__/* ["default"] */ .Z,
308057
- 'bitget': _src_bitget_js__WEBPACK_IMPORTED_MODULE_20__/* ["default"] */ .Z,
308058
- 'bithumb': _src_bithumb_js__WEBPACK_IMPORTED_MODULE_21__/* ["default"] */ .Z,
308059
- 'bitmart': _src_bitmart_js__WEBPACK_IMPORTED_MODULE_22__/* ["default"] */ .Z,
308060
- 'bitmex': _src_bitmex_js__WEBPACK_IMPORTED_MODULE_23__/* ["default"] */ .Z,
308061
- 'bitopro': _src_bitopro_js__WEBPACK_IMPORTED_MODULE_24__/* ["default"] */ .Z,
308062
- 'bitpanda': _src_bitpanda_js__WEBPACK_IMPORTED_MODULE_25__/* ["default"] */ .Z,
308063
- 'bitrue': _src_bitrue_js__WEBPACK_IMPORTED_MODULE_26__/* ["default"] */ .Z,
308064
- 'bitso': _src_bitso_js__WEBPACK_IMPORTED_MODULE_27__/* ["default"] */ .Z,
308065
- 'bitstamp': _src_bitstamp_js__WEBPACK_IMPORTED_MODULE_28__/* ["default"] */ .Z,
308066
- 'bitteam': _src_bitteam_js__WEBPACK_IMPORTED_MODULE_29__/* ["default"] */ .Z,
308067
- 'bitvavo': _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_30__/* ["default"] */ .Z,
308068
- 'bl3p': _src_bl3p_js__WEBPACK_IMPORTED_MODULE_31__/* ["default"] */ .Z,
308069
- 'blockchaincom': _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_32__/* ["default"] */ .Z,
308070
- 'blofin': _src_blofin_js__WEBPACK_IMPORTED_MODULE_33__/* ["default"] */ .Z,
308071
- 'btcalpha': _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_34__/* ["default"] */ .Z,
308072
- 'btcbox': _src_btcbox_js__WEBPACK_IMPORTED_MODULE_35__/* ["default"] */ .Z,
308073
- 'btcmarkets': _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_36__/* ["default"] */ .Z,
308074
- 'btcturk': _src_btcturk_js__WEBPACK_IMPORTED_MODULE_37__/* ["default"] */ .Z,
308075
- 'bybit': _src_bybit_js__WEBPACK_IMPORTED_MODULE_38__/* ["default"] */ .Z,
308076
- 'cex': _src_cex_js__WEBPACK_IMPORTED_MODULE_39__/* ["default"] */ .Z,
308077
- 'coinbase': _src_coinbase_js__WEBPACK_IMPORTED_MODULE_40__/* ["default"] */ .Z,
308078
- 'coinbasepro': _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_41__/* ["default"] */ .Z,
308079
- 'coincheck': _src_coincheck_js__WEBPACK_IMPORTED_MODULE_42__/* ["default"] */ .Z,
308080
- 'coinex': _src_coinex_js__WEBPACK_IMPORTED_MODULE_43__/* ["default"] */ .Z,
308081
- 'coinlist': _src_coinlist_js__WEBPACK_IMPORTED_MODULE_44__/* ["default"] */ .Z,
308082
- 'coinmate': _src_coinmate_js__WEBPACK_IMPORTED_MODULE_45__/* ["default"] */ .Z,
308083
- 'coinmetro': _src_coinmetro_js__WEBPACK_IMPORTED_MODULE_46__/* ["default"] */ .Z,
308084
- 'coinone': _src_coinone_js__WEBPACK_IMPORTED_MODULE_47__/* ["default"] */ .Z,
308085
- 'coinsph': _src_coinsph_js__WEBPACK_IMPORTED_MODULE_48__/* ["default"] */ .Z,
308086
- 'coinspot': _src_coinspot_js__WEBPACK_IMPORTED_MODULE_49__/* ["default"] */ .Z,
308087
- 'cryptocom': _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_50__/* ["default"] */ .Z,
308088
- 'currencycom': _src_currencycom_js__WEBPACK_IMPORTED_MODULE_51__/* ["default"] */ .Z,
308089
- 'delta': _src_delta_js__WEBPACK_IMPORTED_MODULE_52__/* ["default"] */ .Z,
308090
- 'deribit': _src_deribit_js__WEBPACK_IMPORTED_MODULE_53__/* ["default"] */ .Z,
308091
- 'digifinex': _src_digifinex_js__WEBPACK_IMPORTED_MODULE_54__/* ["default"] */ .Z,
308092
- 'exmo': _src_exmo_js__WEBPACK_IMPORTED_MODULE_55__/* ["default"] */ .Z,
308093
- 'fmfwio': _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_56__/* ["default"] */ .Z,
308094
- 'gate': _src_gate_js__WEBPACK_IMPORTED_MODULE_57__/* ["default"] */ .Z,
308095
- 'gateio': _src_gateio_js__WEBPACK_IMPORTED_MODULE_58__/* ["default"] */ .Z,
308096
- 'gemini': _src_gemini_js__WEBPACK_IMPORTED_MODULE_59__/* ["default"] */ .Z,
308097
- 'hitbtc': _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_60__/* ["default"] */ .Z,
308098
- 'hitbtc3': _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_61__/* ["default"] */ .Z,
308099
- 'hollaex': _src_hollaex_js__WEBPACK_IMPORTED_MODULE_62__/* ["default"] */ .Z,
308100
- 'htx': _src_htx_js__WEBPACK_IMPORTED_MODULE_63__/* ["default"] */ .Z,
308101
- 'huobi': _src_huobi_js__WEBPACK_IMPORTED_MODULE_64__/* ["default"] */ .Z,
308102
- 'huobijp': _src_huobijp_js__WEBPACK_IMPORTED_MODULE_65__/* ["default"] */ .Z,
308103
- 'idex': _src_idex_js__WEBPACK_IMPORTED_MODULE_66__/* ["default"] */ .Z,
308104
- 'independentreserve': _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_67__/* ["default"] */ .Z,
308105
- 'indodax': _src_indodax_js__WEBPACK_IMPORTED_MODULE_68__/* ["default"] */ .Z,
308106
- 'kraken': _src_kraken_js__WEBPACK_IMPORTED_MODULE_69__/* ["default"] */ .Z,
308107
- 'krakenfutures': _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_70__/* ["default"] */ .Z,
308108
- 'kucoin': _src_kucoin_js__WEBPACK_IMPORTED_MODULE_71__/* ["default"] */ .Z,
308109
- 'kucoinfutures': _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_72__/* ["default"] */ .Z,
308110
- 'kuna': _src_kuna_js__WEBPACK_IMPORTED_MODULE_73__/* ["default"] */ .Z,
308111
- 'latoken': _src_latoken_js__WEBPACK_IMPORTED_MODULE_74__/* ["default"] */ .Z,
308112
- 'lbank': _src_lbank_js__WEBPACK_IMPORTED_MODULE_75__/* ["default"] */ .Z,
308113
- 'luno': _src_luno_js__WEBPACK_IMPORTED_MODULE_76__/* ["default"] */ .Z,
308114
- 'lykke': _src_lykke_js__WEBPACK_IMPORTED_MODULE_77__/* ["default"] */ .Z,
308115
- 'mercado': _src_mercado_js__WEBPACK_IMPORTED_MODULE_78__/* ["default"] */ .Z,
308116
- 'mexc': _src_mexc_js__WEBPACK_IMPORTED_MODULE_79__/* ["default"] */ .Z,
308117
- 'ndax': _src_ndax_js__WEBPACK_IMPORTED_MODULE_80__/* ["default"] */ .Z,
308118
- 'novadax': _src_novadax_js__WEBPACK_IMPORTED_MODULE_81__/* ["default"] */ .Z,
308119
- 'oceanex': _src_oceanex_js__WEBPACK_IMPORTED_MODULE_82__/* ["default"] */ .Z,
308120
- 'okcoin': _src_okcoin_js__WEBPACK_IMPORTED_MODULE_83__/* ["default"] */ .Z,
308121
- 'okx': _src_okx_js__WEBPACK_IMPORTED_MODULE_84__/* ["default"] */ .Z,
308122
- 'onetrading': _src_onetrading_js__WEBPACK_IMPORTED_MODULE_85__/* ["default"] */ .Z,
308123
- 'p2b': _src_p2b_js__WEBPACK_IMPORTED_MODULE_86__/* ["default"] */ .Z,
308124
- 'paymium': _src_paymium_js__WEBPACK_IMPORTED_MODULE_87__/* ["default"] */ .Z,
308125
- 'phemex': _src_phemex_js__WEBPACK_IMPORTED_MODULE_88__/* ["default"] */ .Z,
308126
- 'poloniex': _src_poloniex_js__WEBPACK_IMPORTED_MODULE_89__/* ["default"] */ .Z,
308127
- 'poloniexfutures': _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_90__/* ["default"] */ .Z,
308128
- 'probit': _src_probit_js__WEBPACK_IMPORTED_MODULE_91__/* ["default"] */ .Z,
308129
- 'timex': _src_timex_js__WEBPACK_IMPORTED_MODULE_92__/* ["default"] */ .Z,
308130
- 'tokocrypto': _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_93__/* ["default"] */ .Z,
308131
- 'upbit': _src_upbit_js__WEBPACK_IMPORTED_MODULE_94__/* ["default"] */ .Z,
308132
- 'wavesexchange': _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_95__/* ["default"] */ .Z,
308133
- 'wazirx': _src_wazirx_js__WEBPACK_IMPORTED_MODULE_96__/* ["default"] */ .Z,
308134
- 'whitebit': _src_whitebit_js__WEBPACK_IMPORTED_MODULE_97__/* ["default"] */ .Z,
308135
- 'woo': _src_woo_js__WEBPACK_IMPORTED_MODULE_98__/* ["default"] */ .Z,
308136
- 'yobit': _src_yobit_js__WEBPACK_IMPORTED_MODULE_99__/* ["default"] */ .Z,
308137
- 'zaif': _src_zaif_js__WEBPACK_IMPORTED_MODULE_100__/* ["default"] */ .Z,
308138
- 'zonda': _src_zonda_js__WEBPACK_IMPORTED_MODULE_101__/* ["default"] */ .Z,
307393
+ 'bitget': _src_bitget_js__WEBPACK_IMPORTED_MODULE_19__/* ["default"] */ .Z,
307394
+ 'bithumb': _src_bithumb_js__WEBPACK_IMPORTED_MODULE_20__/* ["default"] */ .Z,
307395
+ 'bitmart': _src_bitmart_js__WEBPACK_IMPORTED_MODULE_21__/* ["default"] */ .Z,
307396
+ 'bitmex': _src_bitmex_js__WEBPACK_IMPORTED_MODULE_22__/* ["default"] */ .Z,
307397
+ 'bitopro': _src_bitopro_js__WEBPACK_IMPORTED_MODULE_23__/* ["default"] */ .Z,
307398
+ 'bitpanda': _src_bitpanda_js__WEBPACK_IMPORTED_MODULE_24__/* ["default"] */ .Z,
307399
+ 'bitrue': _src_bitrue_js__WEBPACK_IMPORTED_MODULE_25__/* ["default"] */ .Z,
307400
+ 'bitso': _src_bitso_js__WEBPACK_IMPORTED_MODULE_26__/* ["default"] */ .Z,
307401
+ 'bitstamp': _src_bitstamp_js__WEBPACK_IMPORTED_MODULE_27__/* ["default"] */ .Z,
307402
+ 'bitteam': _src_bitteam_js__WEBPACK_IMPORTED_MODULE_28__/* ["default"] */ .Z,
307403
+ 'bitvavo': _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_29__/* ["default"] */ .Z,
307404
+ 'bl3p': _src_bl3p_js__WEBPACK_IMPORTED_MODULE_30__/* ["default"] */ .Z,
307405
+ 'blockchaincom': _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_31__/* ["default"] */ .Z,
307406
+ 'blofin': _src_blofin_js__WEBPACK_IMPORTED_MODULE_32__/* ["default"] */ .Z,
307407
+ 'btcalpha': _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_33__/* ["default"] */ .Z,
307408
+ 'btcbox': _src_btcbox_js__WEBPACK_IMPORTED_MODULE_34__/* ["default"] */ .Z,
307409
+ 'btcmarkets': _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_35__/* ["default"] */ .Z,
307410
+ 'btcturk': _src_btcturk_js__WEBPACK_IMPORTED_MODULE_36__/* ["default"] */ .Z,
307411
+ 'bybit': _src_bybit_js__WEBPACK_IMPORTED_MODULE_37__/* ["default"] */ .Z,
307412
+ 'cex': _src_cex_js__WEBPACK_IMPORTED_MODULE_38__/* ["default"] */ .Z,
307413
+ 'coinbase': _src_coinbase_js__WEBPACK_IMPORTED_MODULE_39__/* ["default"] */ .Z,
307414
+ 'coinbasepro': _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_40__/* ["default"] */ .Z,
307415
+ 'coincheck': _src_coincheck_js__WEBPACK_IMPORTED_MODULE_41__/* ["default"] */ .Z,
307416
+ 'coinex': _src_coinex_js__WEBPACK_IMPORTED_MODULE_42__/* ["default"] */ .Z,
307417
+ 'coinlist': _src_coinlist_js__WEBPACK_IMPORTED_MODULE_43__/* ["default"] */ .Z,
307418
+ 'coinmate': _src_coinmate_js__WEBPACK_IMPORTED_MODULE_44__/* ["default"] */ .Z,
307419
+ 'coinmetro': _src_coinmetro_js__WEBPACK_IMPORTED_MODULE_45__/* ["default"] */ .Z,
307420
+ 'coinone': _src_coinone_js__WEBPACK_IMPORTED_MODULE_46__/* ["default"] */ .Z,
307421
+ 'coinsph': _src_coinsph_js__WEBPACK_IMPORTED_MODULE_47__/* ["default"] */ .Z,
307422
+ 'coinspot': _src_coinspot_js__WEBPACK_IMPORTED_MODULE_48__/* ["default"] */ .Z,
307423
+ 'cryptocom': _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_49__/* ["default"] */ .Z,
307424
+ 'currencycom': _src_currencycom_js__WEBPACK_IMPORTED_MODULE_50__/* ["default"] */ .Z,
307425
+ 'delta': _src_delta_js__WEBPACK_IMPORTED_MODULE_51__/* ["default"] */ .Z,
307426
+ 'deribit': _src_deribit_js__WEBPACK_IMPORTED_MODULE_52__/* ["default"] */ .Z,
307427
+ 'digifinex': _src_digifinex_js__WEBPACK_IMPORTED_MODULE_53__/* ["default"] */ .Z,
307428
+ 'exmo': _src_exmo_js__WEBPACK_IMPORTED_MODULE_54__/* ["default"] */ .Z,
307429
+ 'fmfwio': _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_55__/* ["default"] */ .Z,
307430
+ 'gate': _src_gate_js__WEBPACK_IMPORTED_MODULE_56__/* ["default"] */ .Z,
307431
+ 'gateio': _src_gateio_js__WEBPACK_IMPORTED_MODULE_57__/* ["default"] */ .Z,
307432
+ 'gemini': _src_gemini_js__WEBPACK_IMPORTED_MODULE_58__/* ["default"] */ .Z,
307433
+ 'hitbtc': _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_59__/* ["default"] */ .Z,
307434
+ 'hitbtc3': _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_60__/* ["default"] */ .Z,
307435
+ 'hollaex': _src_hollaex_js__WEBPACK_IMPORTED_MODULE_61__/* ["default"] */ .Z,
307436
+ 'htx': _src_htx_js__WEBPACK_IMPORTED_MODULE_62__/* ["default"] */ .Z,
307437
+ 'huobi': _src_huobi_js__WEBPACK_IMPORTED_MODULE_63__/* ["default"] */ .Z,
307438
+ 'huobijp': _src_huobijp_js__WEBPACK_IMPORTED_MODULE_64__/* ["default"] */ .Z,
307439
+ 'idex': _src_idex_js__WEBPACK_IMPORTED_MODULE_65__/* ["default"] */ .Z,
307440
+ 'independentreserve': _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_66__/* ["default"] */ .Z,
307441
+ 'indodax': _src_indodax_js__WEBPACK_IMPORTED_MODULE_67__/* ["default"] */ .Z,
307442
+ 'kraken': _src_kraken_js__WEBPACK_IMPORTED_MODULE_68__/* ["default"] */ .Z,
307443
+ 'krakenfutures': _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_69__/* ["default"] */ .Z,
307444
+ 'kucoin': _src_kucoin_js__WEBPACK_IMPORTED_MODULE_70__/* ["default"] */ .Z,
307445
+ 'kucoinfutures': _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_71__/* ["default"] */ .Z,
307446
+ 'kuna': _src_kuna_js__WEBPACK_IMPORTED_MODULE_72__/* ["default"] */ .Z,
307447
+ 'latoken': _src_latoken_js__WEBPACK_IMPORTED_MODULE_73__/* ["default"] */ .Z,
307448
+ 'lbank': _src_lbank_js__WEBPACK_IMPORTED_MODULE_74__/* ["default"] */ .Z,
307449
+ 'luno': _src_luno_js__WEBPACK_IMPORTED_MODULE_75__/* ["default"] */ .Z,
307450
+ 'lykke': _src_lykke_js__WEBPACK_IMPORTED_MODULE_76__/* ["default"] */ .Z,
307451
+ 'mercado': _src_mercado_js__WEBPACK_IMPORTED_MODULE_77__/* ["default"] */ .Z,
307452
+ 'mexc': _src_mexc_js__WEBPACK_IMPORTED_MODULE_78__/* ["default"] */ .Z,
307453
+ 'ndax': _src_ndax_js__WEBPACK_IMPORTED_MODULE_79__/* ["default"] */ .Z,
307454
+ 'novadax': _src_novadax_js__WEBPACK_IMPORTED_MODULE_80__/* ["default"] */ .Z,
307455
+ 'oceanex': _src_oceanex_js__WEBPACK_IMPORTED_MODULE_81__/* ["default"] */ .Z,
307456
+ 'okcoin': _src_okcoin_js__WEBPACK_IMPORTED_MODULE_82__/* ["default"] */ .Z,
307457
+ 'okx': _src_okx_js__WEBPACK_IMPORTED_MODULE_83__/* ["default"] */ .Z,
307458
+ 'onetrading': _src_onetrading_js__WEBPACK_IMPORTED_MODULE_84__/* ["default"] */ .Z,
307459
+ 'p2b': _src_p2b_js__WEBPACK_IMPORTED_MODULE_85__/* ["default"] */ .Z,
307460
+ 'paymium': _src_paymium_js__WEBPACK_IMPORTED_MODULE_86__/* ["default"] */ .Z,
307461
+ 'phemex': _src_phemex_js__WEBPACK_IMPORTED_MODULE_87__/* ["default"] */ .Z,
307462
+ 'poloniex': _src_poloniex_js__WEBPACK_IMPORTED_MODULE_88__/* ["default"] */ .Z,
307463
+ 'poloniexfutures': _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_89__/* ["default"] */ .Z,
307464
+ 'probit': _src_probit_js__WEBPACK_IMPORTED_MODULE_90__/* ["default"] */ .Z,
307465
+ 'timex': _src_timex_js__WEBPACK_IMPORTED_MODULE_91__/* ["default"] */ .Z,
307466
+ 'tokocrypto': _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_92__/* ["default"] */ .Z,
307467
+ 'upbit': _src_upbit_js__WEBPACK_IMPORTED_MODULE_93__/* ["default"] */ .Z,
307468
+ 'wavesexchange': _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_94__/* ["default"] */ .Z,
307469
+ 'wazirx': _src_wazirx_js__WEBPACK_IMPORTED_MODULE_95__/* ["default"] */ .Z,
307470
+ 'whitebit': _src_whitebit_js__WEBPACK_IMPORTED_MODULE_96__/* ["default"] */ .Z,
307471
+ 'woo': _src_woo_js__WEBPACK_IMPORTED_MODULE_97__/* ["default"] */ .Z,
307472
+ 'yobit': _src_yobit_js__WEBPACK_IMPORTED_MODULE_98__/* ["default"] */ .Z,
307473
+ 'zaif': _src_zaif_js__WEBPACK_IMPORTED_MODULE_99__/* ["default"] */ .Z,
307474
+ 'zonda': _src_zonda_js__WEBPACK_IMPORTED_MODULE_100__/* ["default"] */ .Z,
308139
307475
  };
308140
307476
  const pro = {
308141
- 'alpaca': _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_102__/* ["default"] */ .Z,
308142
- 'ascendex': _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_103__/* ["default"] */ .Z,
308143
- 'bequant': _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_104__/* ["default"] */ .Z,
308144
- 'binance': _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_105__/* ["default"] */ .Z,
308145
- 'binancecoinm': _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_106__/* ["default"] */ .Z,
308146
- 'binanceus': _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_107__/* ["default"] */ .Z,
308147
- 'binanceusdm': _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_108__/* ["default"] */ .Z,
308148
- 'bingx': _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_109__/* ["default"] */ .Z,
308149
- 'bitcoincom': _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_110__/* ["default"] */ .Z,
308150
- 'bitfinex': _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_111__/* ["default"] */ .Z,
308151
- 'bitfinex2': _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_112__/* ["default"] */ .Z,
308152
- 'bitget': _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_113__/* ["default"] */ .Z,
308153
- 'bitmart': _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_114__/* ["default"] */ .Z,
308154
- 'bitmex': _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_115__/* ["default"] */ .Z,
308155
- 'bitopro': _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_116__/* ["default"] */ .Z,
308156
- 'bitpanda': _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_117__/* ["default"] */ .Z,
308157
- 'bitrue': _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_118__/* ["default"] */ .Z,
308158
- 'bitstamp': _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_119__/* ["default"] */ .Z,
308159
- 'bitvavo': _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_120__/* ["default"] */ .Z,
308160
- 'blockchaincom': _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_121__/* ["default"] */ .Z,
308161
- 'bybit': _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_122__/* ["default"] */ .Z,
308162
- 'cex': _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_123__/* ["default"] */ .Z,
308163
- 'coinbase': _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_124__/* ["default"] */ .Z,
308164
- 'coinbasepro': _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_125__/* ["default"] */ .Z,
308165
- 'coincheck': _src_pro_coincheck_js__WEBPACK_IMPORTED_MODULE_126__/* ["default"] */ .Z,
308166
- 'coinex': _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_127__/* ["default"] */ .Z,
308167
- 'coinone': _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_128__/* ["default"] */ .Z,
308168
- 'cryptocom': _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_129__/* ["default"] */ .Z,
308169
- 'currencycom': _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_130__/* ["default"] */ .Z,
308170
- 'deribit': _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_131__/* ["default"] */ .Z,
308171
- 'exmo': _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_132__/* ["default"] */ .Z,
308172
- 'gate': _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_133__/* ["default"] */ .Z,
308173
- 'gateio': _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_134__/* ["default"] */ .Z,
308174
- 'gemini': _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_135__/* ["default"] */ .Z,
308175
- 'hitbtc': _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_136__/* ["default"] */ .Z,
308176
- 'hollaex': _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_137__/* ["default"] */ .Z,
308177
- 'htx': _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_138__/* ["default"] */ .Z,
308178
- 'huobi': _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_139__/* ["default"] */ .Z,
308179
- 'huobijp': _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_140__/* ["default"] */ .Z,
308180
- 'idex': _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_141__/* ["default"] */ .Z,
308181
- 'independentreserve': _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_142__/* ["default"] */ .Z,
308182
- 'kraken': _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_143__/* ["default"] */ .Z,
308183
- 'krakenfutures': _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_144__/* ["default"] */ .Z,
308184
- 'kucoin': _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_145__/* ["default"] */ .Z,
308185
- 'kucoinfutures': _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_146__/* ["default"] */ .Z,
308186
- 'lbank': _src_pro_lbank_js__WEBPACK_IMPORTED_MODULE_147__/* ["default"] */ .Z,
308187
- 'luno': _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_148__/* ["default"] */ .Z,
308188
- 'mexc': _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_149__/* ["default"] */ .Z,
308189
- 'ndax': _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_150__/* ["default"] */ .Z,
308190
- 'okcoin': _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_151__/* ["default"] */ .Z,
308191
- 'okx': _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_152__/* ["default"] */ .Z,
308192
- 'onetrading': _src_pro_onetrading_js__WEBPACK_IMPORTED_MODULE_153__/* ["default"] */ .Z,
308193
- 'p2b': _src_pro_p2b_js__WEBPACK_IMPORTED_MODULE_154__/* ["default"] */ .Z,
308194
- 'phemex': _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_155__/* ["default"] */ .Z,
308195
- 'poloniex': _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_156__/* ["default"] */ .Z,
308196
- 'poloniexfutures': _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_157__/* ["default"] */ .Z,
308197
- 'probit': _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_158__/* ["default"] */ .Z,
308198
- 'upbit': _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_159__/* ["default"] */ .Z,
308199
- 'wazirx': _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_160__/* ["default"] */ .Z,
308200
- 'whitebit': _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_161__/* ["default"] */ .Z,
308201
- 'woo': _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_162__/* ["default"] */ .Z,
307477
+ 'alpaca': _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_101__/* ["default"] */ .Z,
307478
+ 'ascendex': _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_102__/* ["default"] */ .Z,
307479
+ 'bequant': _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_103__/* ["default"] */ .Z,
307480
+ 'binance': _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_104__/* ["default"] */ .Z,
307481
+ 'binancecoinm': _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_105__/* ["default"] */ .Z,
307482
+ 'binanceus': _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_106__/* ["default"] */ .Z,
307483
+ 'binanceusdm': _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_107__/* ["default"] */ .Z,
307484
+ 'bingx': _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_108__/* ["default"] */ .Z,
307485
+ 'bitcoincom': _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_109__/* ["default"] */ .Z,
307486
+ 'bitfinex': _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_110__/* ["default"] */ .Z,
307487
+ 'bitfinex2': _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_111__/* ["default"] */ .Z,
307488
+ 'bitget': _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_112__/* ["default"] */ .Z,
307489
+ 'bitmart': _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_113__/* ["default"] */ .Z,
307490
+ 'bitmex': _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_114__/* ["default"] */ .Z,
307491
+ 'bitopro': _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_115__/* ["default"] */ .Z,
307492
+ 'bitpanda': _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_116__/* ["default"] */ .Z,
307493
+ 'bitrue': _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_117__/* ["default"] */ .Z,
307494
+ 'bitstamp': _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_118__/* ["default"] */ .Z,
307495
+ 'bitvavo': _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_119__/* ["default"] */ .Z,
307496
+ 'blockchaincom': _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_120__/* ["default"] */ .Z,
307497
+ 'bybit': _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_121__/* ["default"] */ .Z,
307498
+ 'cex': _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_122__/* ["default"] */ .Z,
307499
+ 'coinbase': _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_123__/* ["default"] */ .Z,
307500
+ 'coinbasepro': _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_124__/* ["default"] */ .Z,
307501
+ 'coincheck': _src_pro_coincheck_js__WEBPACK_IMPORTED_MODULE_125__/* ["default"] */ .Z,
307502
+ 'coinex': _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_126__/* ["default"] */ .Z,
307503
+ 'coinone': _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_127__/* ["default"] */ .Z,
307504
+ 'cryptocom': _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_128__/* ["default"] */ .Z,
307505
+ 'currencycom': _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_129__/* ["default"] */ .Z,
307506
+ 'deribit': _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_130__/* ["default"] */ .Z,
307507
+ 'exmo': _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_131__/* ["default"] */ .Z,
307508
+ 'gate': _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_132__/* ["default"] */ .Z,
307509
+ 'gateio': _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_133__/* ["default"] */ .Z,
307510
+ 'gemini': _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_134__/* ["default"] */ .Z,
307511
+ 'hitbtc': _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_135__/* ["default"] */ .Z,
307512
+ 'hollaex': _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_136__/* ["default"] */ .Z,
307513
+ 'htx': _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_137__/* ["default"] */ .Z,
307514
+ 'huobi': _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_138__/* ["default"] */ .Z,
307515
+ 'huobijp': _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_139__/* ["default"] */ .Z,
307516
+ 'idex': _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_140__/* ["default"] */ .Z,
307517
+ 'independentreserve': _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_141__/* ["default"] */ .Z,
307518
+ 'kraken': _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_142__/* ["default"] */ .Z,
307519
+ 'krakenfutures': _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_143__/* ["default"] */ .Z,
307520
+ 'kucoin': _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_144__/* ["default"] */ .Z,
307521
+ 'kucoinfutures': _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_145__/* ["default"] */ .Z,
307522
+ 'lbank': _src_pro_lbank_js__WEBPACK_IMPORTED_MODULE_146__/* ["default"] */ .Z,
307523
+ 'luno': _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_147__/* ["default"] */ .Z,
307524
+ 'mexc': _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_148__/* ["default"] */ .Z,
307525
+ 'ndax': _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_149__/* ["default"] */ .Z,
307526
+ 'okcoin': _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_150__/* ["default"] */ .Z,
307527
+ 'okx': _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_151__/* ["default"] */ .Z,
307528
+ 'onetrading': _src_pro_onetrading_js__WEBPACK_IMPORTED_MODULE_152__/* ["default"] */ .Z,
307529
+ 'p2b': _src_pro_p2b_js__WEBPACK_IMPORTED_MODULE_153__/* ["default"] */ .Z,
307530
+ 'phemex': _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_154__/* ["default"] */ .Z,
307531
+ 'poloniex': _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_155__/* ["default"] */ .Z,
307532
+ 'poloniexfutures': _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_156__/* ["default"] */ .Z,
307533
+ 'probit': _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_157__/* ["default"] */ .Z,
307534
+ 'upbit': _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_158__/* ["default"] */ .Z,
307535
+ 'wazirx': _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_159__/* ["default"] */ .Z,
307536
+ 'whitebit': _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_160__/* ["default"] */ .Z,
307537
+ 'woo': _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_161__/* ["default"] */ .Z,
308202
307538
  };
308203
307539
  for (const exchange in pro) {
308204
307540
  // const ccxtExchange = exchanges[exchange]
@@ -308211,7 +307547,7 @@ for (const exchange in pro) {
308211
307547
  pro.exchanges = Object.keys(pro);
308212
307548
  pro['Exchange'] = _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e; // now the same for rest and ts
308213
307549
  //-----------------------------------------------------------------------------
308214
- 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__);
307550
+ 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__);
308215
307551
 
308216
307552
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ccxt);
308217
307553
  //-----------------------------------------------------------------------------