ccxt 4.1.52 → 4.1.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/README.md +6 -8
  2. package/dist/ccxt.browser.js +1311 -2712
  3. package/dist/ccxt.browser.min.js +7 -7
  4. package/dist/cjs/ccxt.js +1 -7
  5. package/dist/cjs/src/ace.js +56 -59
  6. package/dist/cjs/src/ascendex.js +1 -2
  7. package/dist/cjs/src/base/Exchange.js +1 -11
  8. package/dist/cjs/src/bingx.js +48 -8
  9. package/dist/cjs/src/bybit.js +2 -11
  10. package/dist/cjs/src/cryptocom.js +1 -0
  11. package/dist/cjs/src/digifinex.js +9 -6
  12. package/dist/cjs/src/lbank.js +2333 -443
  13. package/dist/cjs/src/ndax.js +59 -61
  14. package/dist/cjs/src/novadax.js +57 -59
  15. package/dist/cjs/src/oceanex.js +58 -60
  16. package/dist/cjs/src/okcoin.js +1 -9
  17. package/dist/cjs/src/okx.js +0 -7
  18. package/dist/cjs/src/poloniex.js +55 -57
  19. package/dist/cjs/src/poloniexfutures.js +67 -70
  20. package/dist/cjs/src/pro/bingx.js +18 -11
  21. package/dist/cjs/src/pro/poloniexfutures.js +9 -0
  22. package/dist/cjs/src/probit.js +62 -65
  23. package/dist/cjs/src/timex.js +1 -5
  24. package/dist/cjs/src/upbit.js +56 -58
  25. package/dist/cjs/src/wazirx.js +72 -74
  26. package/dist/cjs/src/whitebit.js +88 -91
  27. package/dist/cjs/src/woo.js +75 -77
  28. package/dist/cjs/src/zaif.js +57 -71
  29. package/dist/cjs/src/zonda.js +67 -70
  30. package/js/ccxt.d.ts +2 -8
  31. package/js/ccxt.js +2 -6
  32. package/js/src/abstract/bybit.d.ts +1 -0
  33. package/js/src/abstract/lbank.d.ts +57 -15
  34. package/js/src/ace.d.ts +8 -7
  35. package/js/src/ace.js +56 -59
  36. package/js/src/alpaca.d.ts +4 -4
  37. package/js/src/ascendex.d.ts +12 -12
  38. package/js/src/ascendex.js +1 -2
  39. package/js/src/base/Exchange.js +1 -11
  40. package/js/src/base/types.d.ts +73 -71
  41. package/js/src/bigone.d.ts +10 -10
  42. package/js/src/binance.d.ts +27 -27
  43. package/js/src/bingx.d.ts +15 -15
  44. package/js/src/bingx.js +48 -8
  45. package/js/src/bit2c.d.ts +5 -5
  46. package/js/src/bitbank.d.ts +5 -5
  47. package/js/src/bitbns.d.ts +7 -7
  48. package/js/src/bitfinex.d.ts +8 -8
  49. package/js/src/bitfinex2.d.ts +12 -12
  50. package/js/src/bitflyer.d.ts +9 -9
  51. package/js/src/bitforex.d.ts +6 -6
  52. package/js/src/bitget.d.ts +24 -24
  53. package/js/src/bithumb.d.ts +4 -4
  54. package/js/src/bitmart.d.ts +21 -21
  55. package/js/src/bitmex.d.ts +14 -14
  56. package/js/src/bitopro.d.ts +12 -12
  57. package/js/src/bitpanda.d.ts +11 -11
  58. package/js/src/bitrue.d.ts +8 -8
  59. package/js/src/bitso.d.ts +11 -11
  60. package/js/src/bitstamp.d.ts +10 -10
  61. package/js/src/bitstamp1.d.ts +4 -4
  62. package/js/src/bittrex.d.ts +14 -14
  63. package/js/src/bitvavo.d.ts +9 -9
  64. package/js/src/bl3p.d.ts +2 -2
  65. package/js/src/blockchaincom.d.ts +13 -13
  66. package/js/src/btcalpha.d.ts +9 -9
  67. package/js/src/btcbox.d.ts +6 -6
  68. package/js/src/btcmarkets.d.ts +12 -12
  69. package/js/src/btcturk.d.ts +5 -5
  70. package/js/src/bybit.d.ts +28 -28
  71. package/js/src/bybit.js +2 -11
  72. package/js/src/cex.d.ts +6 -6
  73. package/js/src/coinbase.d.ts +17 -17
  74. package/js/src/coinbasepro.d.ts +13 -13
  75. package/js/src/coincheck.d.ts +6 -6
  76. package/js/src/coinex.d.ts +18 -18
  77. package/js/src/coinlist.d.ts +14 -14
  78. package/js/src/coinmate.d.ts +7 -7
  79. package/js/src/coinone.d.ts +5 -5
  80. package/js/src/coinsph.d.ts +10 -10
  81. package/js/src/coinspot.d.ts +3 -3
  82. package/js/src/cryptocom.d.ts +16 -16
  83. package/js/src/cryptocom.js +1 -0
  84. package/js/src/currencycom.d.ts +10 -10
  85. package/js/src/delta.d.ts +10 -10
  86. package/js/src/deribit.d.ts +13 -13
  87. package/js/src/digifinex.d.ts +17 -17
  88. package/js/src/digifinex.js +9 -6
  89. package/js/src/exmo.d.ts +12 -12
  90. package/js/src/gate.d.ts +20 -20
  91. package/js/src/gemini.d.ts +6 -6
  92. package/js/src/hitbtc.d.ts +15 -15
  93. package/js/src/hollaex.d.ts +12 -12
  94. package/js/src/htx.d.ts +27 -27
  95. package/js/src/huobijp.d.ts +16 -16
  96. package/js/src/idex.d.ts +13 -13
  97. package/js/src/independentreserve.d.ts +6 -6
  98. package/js/src/indodax.d.ts +6 -6
  99. package/js/src/kraken.d.ts +16 -16
  100. package/js/src/krakenfutures.d.ts +9 -9
  101. package/js/src/kucoin.d.ts +15 -15
  102. package/js/src/kucoinfutures.d.ts +11 -11
  103. package/js/src/kuna.d.ts +12 -12
  104. package/js/src/latoken.d.ts +9 -9
  105. package/js/src/lbank.d.ts +65 -12
  106. package/js/src/lbank.js +2334 -444
  107. package/js/src/lbank2.d.ts +11 -11
  108. package/js/src/luno.d.ts +10 -10
  109. package/js/src/lykke.d.ts +8 -8
  110. package/js/src/mercado.d.ts +6 -6
  111. package/js/src/mexc.d.ts +23 -23
  112. package/js/src/ndax.d.ts +13 -12
  113. package/js/src/ndax.js +59 -61
  114. package/js/src/novadax.d.ts +13 -12
  115. package/js/src/novadax.js +57 -59
  116. package/js/src/oceanex.d.ts +10 -9
  117. package/js/src/oceanex.js +58 -60
  118. package/js/src/okcoin.d.ts +12 -13
  119. package/js/src/okcoin.js +1 -9
  120. package/js/src/okx.d.ts +26 -27
  121. package/js/src/okx.js +0 -7
  122. package/js/src/paymium.d.ts +2 -2
  123. package/js/src/phemex.d.ts +16 -16
  124. package/js/src/poloniex.d.ts +15 -14
  125. package/js/src/poloniex.js +55 -57
  126. package/js/src/poloniexfutures.d.ts +11 -10
  127. package/js/src/poloniexfutures.js +67 -70
  128. package/js/src/pro/alpaca.d.ts +3 -3
  129. package/js/src/pro/ascendex.d.ts +2 -2
  130. package/js/src/pro/binance.d.ts +9 -9
  131. package/js/src/pro/bingx.d.ts +3 -3
  132. package/js/src/pro/bingx.js +19 -12
  133. package/js/src/pro/bitfinex.d.ts +3 -3
  134. package/js/src/pro/bitfinex2.d.ts +3 -3
  135. package/js/src/pro/bitget.d.ts +3 -3
  136. package/js/src/pro/bitmart.d.ts +2 -2
  137. package/js/src/pro/bitmex.d.ts +3 -3
  138. package/js/src/pro/bitpanda.d.ts +3 -3
  139. package/js/src/pro/bitrue.d.ts +2 -2
  140. package/js/src/pro/bitstamp.d.ts +2 -2
  141. package/js/src/pro/bittrex.d.ts +3 -3
  142. package/js/src/pro/bitvavo.d.ts +3 -3
  143. package/js/src/pro/blockchaincom.d.ts +2 -2
  144. package/js/src/pro/bybit.d.ts +4 -4
  145. package/js/src/pro/cex.d.ts +3 -3
  146. package/js/src/pro/coinbasepro.d.ts +3 -3
  147. package/js/src/pro/coinex.d.ts +2 -2
  148. package/js/src/pro/cryptocom.d.ts +5 -5
  149. package/js/src/pro/deribit.d.ts +3 -3
  150. package/js/src/pro/exmo.d.ts +2 -2
  151. package/js/src/pro/gate.d.ts +3 -3
  152. package/js/src/pro/gemini.d.ts +2 -2
  153. package/js/src/pro/hitbtc.d.ts +3 -3
  154. package/js/src/pro/hollaex.d.ts +3 -3
  155. package/js/src/pro/htx.d.ts +3 -3
  156. package/js/src/pro/idex.d.ts +3 -3
  157. package/js/src/pro/kraken.d.ts +7 -7
  158. package/js/src/pro/krakenfutures.d.ts +4 -4
  159. package/js/src/pro/kucoin.d.ts +3 -3
  160. package/js/src/pro/kucoinfutures.d.ts +3 -3
  161. package/js/src/pro/mexc.d.ts +3 -3
  162. package/js/src/pro/okcoin.d.ts +2 -2
  163. package/js/src/pro/okx.d.ts +6 -6
  164. package/js/src/pro/phemex.d.ts +3 -3
  165. package/js/src/pro/poloniex.d.ts +3 -3
  166. package/js/src/pro/poloniexfutures.d.ts +3 -3
  167. package/js/src/pro/poloniexfutures.js +9 -0
  168. package/js/src/pro/probit.d.ts +3 -3
  169. package/js/src/pro/wazirx.d.ts +3 -3
  170. package/js/src/pro/whitebit.d.ts +3 -3
  171. package/js/src/pro/woo.d.ts +2 -2
  172. package/js/src/probit.d.ts +11 -10
  173. package/js/src/probit.js +62 -65
  174. package/js/src/tidex.d.ts +5 -5
  175. package/js/src/timex.d.ts +10 -10
  176. package/js/src/timex.js +1 -5
  177. package/js/src/tokocrypto.d.ts +9 -9
  178. package/js/src/upbit.d.ts +11 -10
  179. package/js/src/upbit.js +56 -58
  180. package/js/src/wavesexchange.d.ts +7 -7
  181. package/js/src/wazirx.d.ts +7 -6
  182. package/js/src/wazirx.js +72 -74
  183. package/js/src/whitebit.d.ts +12 -11
  184. package/js/src/whitebit.js +88 -91
  185. package/js/src/woo.d.ts +20 -19
  186. package/js/src/woo.js +75 -77
  187. package/js/src/yobit.d.ts +5 -5
  188. package/js/src/zaif.d.ts +6 -5
  189. package/js/src/zaif.js +57 -71
  190. package/js/src/zonda.d.ts +7 -6
  191. package/js/src/zonda.js +67 -70
  192. package/package.json +1 -1
  193. package/skip-tests.json +0 -15
  194. package/test.ts +0 -0
  195. package/js/src/abstract/bitstamp1.d.ts +0 -26
  196. package/js/src/abstract/bitstamp1.js +0 -11
  197. package/js/src/abstract/lbank2.d.ts +0 -64
  198. package/js/src/abstract/lbank2.js +0 -11
@@ -352,22 +352,6 @@ class Exchange extends _base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchang
352
352
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Exchange);
353
353
 
354
354
 
355
- /***/ }),
356
-
357
- /***/ 3768:
358
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
359
-
360
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
361
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
362
- /* harmony export */ });
363
- /* harmony import */ var _base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3043);
364
- // -------------------------------------------------------------------------------
365
-
366
- class Exchange extends _base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e {
367
- }
368
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Exchange);
369
-
370
-
371
355
  /***/ }),
372
356
 
373
357
  /***/ 5414:
@@ -1024,22 +1008,6 @@ class Exchange extends _base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchang
1024
1008
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Exchange);
1025
1009
 
1026
1010
 
1027
- /***/ }),
1028
-
1029
- /***/ 7767:
1030
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1031
-
1032
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1033
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1034
- /* harmony export */ });
1035
- /* harmony import */ var _base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3043);
1036
- // -------------------------------------------------------------------------------
1037
-
1038
- class Exchange extends _base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e {
1039
- }
1040
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Exchange);
1041
-
1042
-
1043
1011
  /***/ }),
1044
1012
 
1045
1013
  /***/ 3148:
@@ -1638,67 +1606,64 @@ class ace extends _abstract_ace_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
1638
1606
  // }
1639
1607
  // ]
1640
1608
  //
1641
- const result = [];
1642
- for (let i = 0; i < response.length; i++) {
1643
- const market = response[i];
1644
- const base = this.safeString(market, 'base');
1645
- const baseCode = this.safeCurrencyCode(base);
1646
- const quote = this.safeString(market, 'quote');
1647
- const quoteCode = this.safeCurrencyCode(quote);
1648
- const symbol = base + '/' + quote;
1649
- result.push({
1650
- 'id': this.safeString(market, 'symbol'),
1651
- 'uppercaseId': undefined,
1652
- 'symbol': symbol,
1653
- 'base': baseCode,
1654
- 'baseId': this.safeInteger(market, 'baseCurrencyId'),
1655
- 'quote': quoteCode,
1656
- 'quoteId': this.safeInteger(market, 'quoteCurrencyId'),
1657
- 'settle': undefined,
1658
- 'settleId': undefined,
1659
- 'type': 'spot',
1660
- 'spot': true,
1661
- 'margin': false,
1662
- 'swap': false,
1663
- 'future': false,
1664
- 'option': false,
1665
- 'derivative': false,
1666
- 'contract': false,
1667
- 'linear': undefined,
1668
- 'inverse': undefined,
1669
- 'contractSize': undefined,
1670
- 'expiry': undefined,
1671
- 'expiryDatetime': undefined,
1672
- 'strike': undefined,
1673
- 'optionType': undefined,
1674
- 'limits': {
1675
- 'amount': {
1676
- 'min': this.safeNumber(market, 'minLimitBaseAmount'),
1677
- 'max': this.safeNumber(market, 'maxLimitBaseAmount'),
1678
- },
1679
- 'price': {
1680
- 'min': undefined,
1681
- 'max': undefined,
1682
- },
1683
- 'cost': {
1684
- 'min': undefined,
1685
- 'max': undefined,
1686
- },
1687
- 'leverage': {
1688
- 'min': undefined,
1689
- 'max': undefined,
1690
- },
1609
+ return this.parseMarkets(response);
1610
+ }
1611
+ parseMarket(market) {
1612
+ const baseId = this.safeString(market, 'base');
1613
+ const base = this.safeCurrencyCode(baseId);
1614
+ const quoteId = this.safeString(market, 'quote');
1615
+ const quote = this.safeCurrencyCode(quoteId);
1616
+ const symbol = base + '/' + quote;
1617
+ return {
1618
+ 'id': this.safeString(market, 'symbol'),
1619
+ 'uppercaseId': undefined,
1620
+ 'symbol': symbol,
1621
+ 'base': base,
1622
+ 'baseId': baseId,
1623
+ 'quote': quote,
1624
+ 'quoteId': quoteId,
1625
+ 'settle': undefined,
1626
+ 'settleId': undefined,
1627
+ 'type': 'spot',
1628
+ 'spot': true,
1629
+ 'margin': false,
1630
+ 'swap': false,
1631
+ 'future': false,
1632
+ 'option': false,
1633
+ 'contract': false,
1634
+ 'linear': undefined,
1635
+ 'inverse': undefined,
1636
+ 'contractSize': undefined,
1637
+ 'expiry': undefined,
1638
+ 'expiryDatetime': undefined,
1639
+ 'strike': undefined,
1640
+ 'optionType': undefined,
1641
+ 'limits': {
1642
+ 'amount': {
1643
+ 'min': this.safeNumber(market, 'minLimitBaseAmount'),
1644
+ 'max': this.safeNumber(market, 'maxLimitBaseAmount'),
1691
1645
  },
1692
- 'precision': {
1693
- 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'quotePrecision'))),
1694
- 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'basePrecision'))),
1646
+ 'price': {
1647
+ 'min': undefined,
1648
+ 'max': undefined,
1695
1649
  },
1696
- 'active': undefined,
1697
- 'created': undefined,
1698
- 'info': market,
1699
- });
1700
- }
1701
- return result;
1650
+ 'cost': {
1651
+ 'min': undefined,
1652
+ 'max': undefined,
1653
+ },
1654
+ 'leverage': {
1655
+ 'min': undefined,
1656
+ 'max': undefined,
1657
+ },
1658
+ },
1659
+ 'precision': {
1660
+ 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'quotePrecision'))),
1661
+ 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'basePrecision'))),
1662
+ },
1663
+ 'active': undefined,
1664
+ 'created': undefined,
1665
+ 'info': market,
1666
+ };
1702
1667
  }
1703
1668
  parseTicker(ticker, market = undefined) {
1704
1669
  //
@@ -5057,8 +5022,7 @@ class ascendex extends _abstract_ascendex_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
5057
5022
  }
5058
5023
  }
5059
5024
  }
5060
- let orderRequest = this.createOrderRequest(marketId, type, side, amount, price, orderParams);
5061
- orderRequest = this.omit(orderRequest, 'marginMode');
5025
+ const orderRequest = this.createOrderRequest(marketId, type, side, amount, price, orderParams);
5062
5026
  ordersRequests.push(orderRequest);
5063
5027
  }
5064
5028
  const market = this.market(symbol);
@@ -9884,17 +9848,7 @@ class Exchange {
9884
9848
  return await this.fetchPartialBalance('total', params);
9885
9849
  }
9886
9850
  async fetchStatus(params = {}) {
9887
- if (this.has['fetchTime']) {
9888
- const time = await this.fetchTime(params);
9889
- this.status = this.extend(this.status, {
9890
- 'updated': time,
9891
- 'info': time,
9892
- });
9893
- }
9894
- if (!('info' in this.status)) {
9895
- this.status['info'] = undefined;
9896
- }
9897
- return this.status;
9851
+ throw new _errors_js__WEBPACK_IMPORTED_MODULE_3__.NotSupported(this.id + ' fetchStatus() is not supported yet');
9898
9852
  }
9899
9853
  async fetchFundingFee(code, params = {}) {
9900
9854
  const warnOnFetchFundingFee = this.safeValue(this.options, 'warnOnFetchFundingFee', true);
@@ -27517,7 +27471,16 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
27517
27471
  // "quoteVolume": "4151395117.73",
27518
27472
  // "openPrice": "16832.0",
27519
27473
  // "openTime": 1672026667803,
27520
- // "closeTime": 1672026648425
27474
+ // "closeTime": 1672026648425,
27475
+ // added some time ago:
27476
+ // "firstId": 12345,
27477
+ // "lastId": 12349,
27478
+ // "count": 5,
27479
+ // added 2023-11-10:
27480
+ // "bidPrice": 16726.0,
27481
+ // "bidQty": 0.05,
27482
+ // "askPrice": 16726.0,
27483
+ // "askQty": 0.05,
27521
27484
  // }
27522
27485
  // }
27523
27486
  //
@@ -27568,7 +27531,16 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
27568
27531
  // "quoteVolume": "4151395117.73",
27569
27532
  // "openPrice": "16832.0",
27570
27533
  // "openTime": 1672026667803,
27571
- // "closeTime": 1672026648425
27534
+ // "closeTime": 1672026648425,
27535
+ // added some time ago:
27536
+ // "firstId": 12345,
27537
+ // "lastId": 12349,
27538
+ // "count": 5,
27539
+ // added 2023-11-10:
27540
+ // "bidPrice": 16726.0,
27541
+ // "bidQty": 0.05,
27542
+ // "askPrice": 16726.0,
27543
+ // "askQty": 0.05,
27572
27544
  // },
27573
27545
  // ]
27574
27546
  // }
@@ -27588,7 +27560,16 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
27588
27560
  // "volume": "1161.79",
27589
27561
  // "quoteVolume": "30288466.44",
27590
27562
  // "openTime": "1693081020762",
27591
- // "closeTime": "1693167420762"
27563
+ // "closeTime": "1693167420762",
27564
+ // added some time ago:
27565
+ // "firstId": 12345,
27566
+ // "lastId": 12349,
27567
+ // "count": 5,
27568
+ // added 2023-11-10:
27569
+ // "bidPrice": 16726.0,
27570
+ // "bidQty": 0.05,
27571
+ // "askPrice": 16726.0,
27572
+ // "askQty": 0.05,
27592
27573
  // }
27593
27574
  // swap
27594
27575
  //
@@ -27604,7 +27585,16 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
27604
27585
  // "quoteVolume": "4151395117.73",
27605
27586
  // "openPrice": "16832.0",
27606
27587
  // "openTime": 1672026667803,
27607
- // "closeTime": 1672026648425
27588
+ // "closeTime": 1672026648425,
27589
+ // added some time ago:
27590
+ // "firstId": 12345,
27591
+ // "lastId": 12349,
27592
+ // "count": 5,
27593
+ // added 2023-11-10:
27594
+ // "bidPrice": 16726.0,
27595
+ // "bidQty": 0.05,
27596
+ // "askPrice": 16726.0,
27597
+ // "askQty": 0.05,
27608
27598
  // }
27609
27599
  //
27610
27600
  const marketId = this.safeString(ticker, 'symbol');
@@ -27620,16 +27610,20 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
27620
27610
  const percentage = this.safeString(ticker, 'priceChangePercent');
27621
27611
  const ts = this.safeInteger(ticker, 'closeTime');
27622
27612
  const datetime = this.iso8601(ts);
27613
+ const bid = this.safeString(ticker, 'bidPrice');
27614
+ const bidVolume = this.safeString(ticker, 'bidQty');
27615
+ const ask = this.safeString(ticker, 'askPrice');
27616
+ const askVolume = this.safeString(ticker, 'askQty');
27623
27617
  return this.safeTicker({
27624
27618
  'symbol': symbol,
27625
27619
  'timestamp': ts,
27626
27620
  'datetime': datetime,
27627
27621
  'high': high,
27628
27622
  'low': low,
27629
- 'bid': undefined,
27630
- 'bidVolume': undefined,
27631
- 'ask': undefined,
27632
- 'askVolume': undefined,
27623
+ 'bid': bid,
27624
+ 'bidVolume': bidVolume,
27625
+ 'ask': ask,
27626
+ 'askVolume': askVolume,
27633
27627
  'vwap': undefined,
27634
27628
  'open': open,
27635
27629
  'close': close,
@@ -64055,445 +64049,6 @@ class bitstamp extends _abstract_bitstamp_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
64055
64049
  }
64056
64050
 
64057
64051
 
64058
- /***/ }),
64059
-
64060
- /***/ 1242:
64061
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
64062
-
64063
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
64064
- /* harmony export */ "Z": () => (/* binding */ bitstamp1)
64065
- /* harmony export */ });
64066
- /* harmony import */ var _abstract_bitstamp1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3768);
64067
- /* harmony import */ var _base_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6689);
64068
- /* harmony import */ var _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2194);
64069
- /* harmony import */ var _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9292);
64070
- /* harmony import */ var _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1372);
64071
- // ---------------------------------------------------------------------------
64072
-
64073
-
64074
-
64075
-
64076
-
64077
- // ---------------------------------------------------------------------------
64078
- /**
64079
- * @class bitstamp1
64080
- * @extends Exchange
64081
- */
64082
- class bitstamp1 extends _abstract_bitstamp1_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
64083
- describe() {
64084
- return this.deepExtend(super.describe(), {
64085
- 'id': 'bitstamp1',
64086
- 'name': 'Bitstamp',
64087
- 'countries': ['GB'],
64088
- 'rateLimit': 1000,
64089
- 'version': 'v1',
64090
- 'has': {
64091
- 'CORS': true,
64092
- 'spot': true,
64093
- 'margin': false,
64094
- 'swap': false,
64095
- 'future': false,
64096
- 'option': false,
64097
- 'addMargin': false,
64098
- 'cancelOrder': true,
64099
- 'createOrder': true,
64100
- 'createReduceOnlyOrder': false,
64101
- 'createStopLimitOrder': false,
64102
- 'createStopMarketOrder': false,
64103
- 'createStopOrder': false,
64104
- 'fetchBalance': true,
64105
- 'fetchBorrowRate': false,
64106
- 'fetchBorrowRateHistories': false,
64107
- 'fetchBorrowRateHistory': false,
64108
- 'fetchBorrowRates': false,
64109
- 'fetchBorrowRatesPerSymbol': false,
64110
- 'fetchFundingHistory': false,
64111
- 'fetchFundingRate': false,
64112
- 'fetchFundingRateHistory': false,
64113
- 'fetchFundingRates': false,
64114
- 'fetchIndexOHLCV': false,
64115
- 'fetchLeverage': false,
64116
- 'fetchMarginMode': false,
64117
- 'fetchMarkOHLCV': false,
64118
- 'fetchMyTrades': true,
64119
- 'fetchOpenInterestHistory': false,
64120
- 'fetchOrder': false,
64121
- 'fetchOrderBook': true,
64122
- 'fetchPosition': false,
64123
- 'fetchPositionMode': false,
64124
- 'fetchPositions': false,
64125
- 'fetchPositionsRisk': false,
64126
- 'fetchPremiumIndexOHLCV': false,
64127
- 'fetchTicker': true,
64128
- 'fetchTrades': true,
64129
- 'reduceMargin': false,
64130
- 'setLeverage': false,
64131
- 'setMarginMode': false,
64132
- 'setPositionMode': false,
64133
- },
64134
- 'urls': {
64135
- 'logo': 'https://user-images.githubusercontent.com/1294454/27786377-8c8ab57e-5fe9-11e7-8ea4-2b05b6bcceec.jpg',
64136
- 'api': {
64137
- 'rest': 'https://www.bitstamp.net/api',
64138
- },
64139
- 'www': 'https://www.bitstamp.net',
64140
- 'doc': 'https://www.bitstamp.net/api',
64141
- },
64142
- 'requiredCredentials': {
64143
- 'apiKey': true,
64144
- 'secret': true,
64145
- 'uid': true,
64146
- },
64147
- 'api': {
64148
- 'public': {
64149
- 'get': [
64150
- 'ticker',
64151
- 'ticker_hour',
64152
- 'order_book',
64153
- 'transactions',
64154
- 'eur_usd',
64155
- ],
64156
- },
64157
- 'private': {
64158
- 'post': [
64159
- 'balance',
64160
- 'user_transactions',
64161
- 'open_orders',
64162
- 'order_status',
64163
- 'cancel_order',
64164
- 'cancel_all_orders',
64165
- 'buy',
64166
- 'sell',
64167
- 'bitcoin_deposit_address',
64168
- 'unconfirmed_btc',
64169
- 'ripple_withdrawal',
64170
- 'ripple_address',
64171
- 'withdrawal_requests',
64172
- 'bitcoin_withdrawal',
64173
- ],
64174
- },
64175
- },
64176
- 'precisionMode': _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__/* .TICK_SIZE */ .sh,
64177
- 'markets': {
64178
- 'BTC/USD': this.safeMarketStructure({ 'id': 'btcusd', 'symbol': 'BTC/USD', 'base': 'BTC', 'quote': 'USD', 'baseId': 'btc', 'quoteId': 'usd', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
64179
- 'BTC/EUR': this.safeMarketStructure({ 'id': 'btceur', 'symbol': 'BTC/EUR', 'base': 'BTC', 'quote': 'EUR', 'baseId': 'btc', 'quoteId': 'eur', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
64180
- 'EUR/USD': this.safeMarketStructure({ 'id': 'eurusd', 'symbol': 'EUR/USD', 'base': 'EUR', 'quote': 'USD', 'baseId': 'eur', 'quoteId': 'usd', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
64181
- 'XRP/USD': this.safeMarketStructure({ 'id': 'xrpusd', 'symbol': 'XRP/USD', 'base': 'XRP', 'quote': 'USD', 'baseId': 'xrp', 'quoteId': 'usd', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
64182
- 'XRP/EUR': this.safeMarketStructure({ 'id': 'xrpeur', 'symbol': 'XRP/EUR', 'base': 'XRP', 'quote': 'EUR', 'baseId': 'xrp', 'quoteId': 'eur', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
64183
- 'XRP/BTC': this.safeMarketStructure({ 'id': 'xrpbtc', 'symbol': 'XRP/BTC', 'base': 'XRP', 'quote': 'BTC', 'baseId': 'xrp', 'quoteId': 'btc', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
64184
- 'LTC/USD': this.safeMarketStructure({ 'id': 'ltcusd', 'symbol': 'LTC/USD', 'base': 'LTC', 'quote': 'USD', 'baseId': 'ltc', 'quoteId': 'usd', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
64185
- 'LTC/EUR': this.safeMarketStructure({ 'id': 'ltceur', 'symbol': 'LTC/EUR', 'base': 'LTC', 'quote': 'EUR', 'baseId': 'ltc', 'quoteId': 'eur', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
64186
- 'LTC/BTC': this.safeMarketStructure({ 'id': 'ltcbtc', 'symbol': 'LTC/BTC', 'base': 'LTC', 'quote': 'BTC', 'baseId': 'ltc', 'quoteId': 'btc', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
64187
- 'ETH/USD': this.safeMarketStructure({ 'id': 'ethusd', 'symbol': 'ETH/USD', 'base': 'ETH', 'quote': 'USD', 'baseId': 'eth', 'quoteId': 'usd', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
64188
- 'ETH/EUR': this.safeMarketStructure({ 'id': 'etheur', 'symbol': 'ETH/EUR', 'base': 'ETH', 'quote': 'EUR', 'baseId': 'eth', 'quoteId': 'eur', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
64189
- 'ETH/BTC': this.safeMarketStructure({ 'id': 'ethbtc', 'symbol': 'ETH/BTC', 'base': 'ETH', 'quote': 'BTC', 'baseId': 'eth', 'quoteId': 'btc', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
64190
- },
64191
- });
64192
- }
64193
- async fetchOrderBook(symbol, limit = undefined, params = {}) {
64194
- /**
64195
- * @method
64196
- * @name bitstamp1#fetchOrderBook
64197
- * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
64198
- * @param {string} symbol unified symbol of the market to fetch the order book for
64199
- * @param {int} [limit] the maximum amount of order book entries to return
64200
- * @param {object} [params] extra parameters specific to the bitstamp1 api endpoint
64201
- * @returns {object} A dictionary of [order book structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-book-structure} indexed by market symbols
64202
- */
64203
- if (symbol !== 'BTC/USD') {
64204
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError(this.id + ' ' + this.version + " fetchOrderBook doesn't support " + symbol + ', use it for BTC/USD only');
64205
- }
64206
- await this.loadMarkets();
64207
- const orderbook = await this.publicGetOrderBook(params);
64208
- const timestamp = this.safeTimestamp(orderbook, 'timestamp');
64209
- return this.parseOrderBook(orderbook, symbol, timestamp);
64210
- }
64211
- parseTicker(ticker, market = undefined) {
64212
- //
64213
- // {
64214
- // "volume": "2836.47827985",
64215
- // "last": "36544.93",
64216
- // "timestamp": "1643372072",
64217
- // "bid": "36535.79",
64218
- // "vwap":"36594.20",
64219
- // "high": "37534.15",
64220
- // "low": "35511.32",
64221
- // "ask": "36548.47",
64222
- // "open": 37179.62
64223
- // }
64224
- //
64225
- const symbol = this.safeSymbol(undefined, market);
64226
- const timestamp = this.safeTimestamp(ticker, 'timestamp');
64227
- const vwap = this.safeString(ticker, 'vwap');
64228
- const baseVolume = this.safeString(ticker, 'volume');
64229
- const quoteVolume = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringMul */ .O.stringMul(baseVolume, vwap);
64230
- const last = this.safeString(ticker, 'last');
64231
- return this.safeTicker({
64232
- 'symbol': symbol,
64233
- 'timestamp': timestamp,
64234
- 'datetime': this.iso8601(timestamp),
64235
- 'high': this.safeString(ticker, 'high'),
64236
- 'low': this.safeString(ticker, 'low'),
64237
- 'bid': this.safeString(ticker, 'bid'),
64238
- 'bidVolume': undefined,
64239
- 'ask': this.safeString(ticker, 'ask'),
64240
- 'askVolume': undefined,
64241
- 'vwap': vwap,
64242
- 'open': this.safeString(ticker, 'open'),
64243
- 'close': last,
64244
- 'last': last,
64245
- 'previousClose': undefined,
64246
- 'change': undefined,
64247
- 'percentage': undefined,
64248
- 'average': undefined,
64249
- 'baseVolume': baseVolume,
64250
- 'quoteVolume': quoteVolume,
64251
- 'info': ticker,
64252
- }, market);
64253
- }
64254
- async fetchTicker(symbol, params = {}) {
64255
- /**
64256
- * @method
64257
- * @name bitstamp1#fetchTicker
64258
- * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
64259
- * @param {string} symbol unified symbol of the market to fetch the ticker for
64260
- * @param {object} [params] extra parameters specific to the bitstamp1 api endpoint
64261
- * @returns {object} a [ticker structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#ticker-structure}
64262
- */
64263
- if (symbol !== 'BTC/USD') {
64264
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError(this.id + ' ' + this.version + " fetchTicker doesn't support " + symbol + ', use it for BTC/USD only');
64265
- }
64266
- await this.loadMarkets();
64267
- const market = this.market(symbol);
64268
- const ticker = await this.publicGetTicker(params);
64269
- //
64270
- // {
64271
- // "volume": "2836.47827985",
64272
- // "last": "36544.93",
64273
- // "timestamp": "1643372072",
64274
- // "bid": "36535.79",
64275
- // "vwap":"36594.20",
64276
- // "high": "37534.15",
64277
- // "low": "35511.32",
64278
- // "ask": "36548.47",
64279
- // "open": 37179.62
64280
- // }
64281
- //
64282
- return this.parseTicker(ticker, market);
64283
- }
64284
- parseTrade(trade, market = undefined) {
64285
- //
64286
- // public trade
64287
- //
64288
- // {
64289
- // "amount": "0.00114000",
64290
- // "date": "1694287856",
64291
- // "price": "25865",
64292
- // "tid": 298730788,
64293
- // "type": 0
64294
- // }
64295
- //
64296
- const timestamp = this.safeTimestamp2(trade, 'date', 'datetime');
64297
- const side = (trade['type'] === 0) ? 'buy' : 'sell';
64298
- const orderId = this.safeString(trade, 'order_id');
64299
- const id = this.safeString(trade, 'tid');
64300
- const price = this.safeString(trade, 'price');
64301
- const amount = this.safeString(trade, 'amount');
64302
- const marketId = this.safeString(trade, 'currency_pair');
64303
- market = this.safeMarket(marketId, market);
64304
- return this.safeTrade({
64305
- 'id': id,
64306
- 'info': trade,
64307
- 'timestamp': timestamp,
64308
- 'datetime': this.iso8601(timestamp),
64309
- 'symbol': market['symbol'],
64310
- 'order': orderId,
64311
- 'type': undefined,
64312
- 'side': side,
64313
- 'takerOrMaker': undefined,
64314
- 'price': price,
64315
- 'amount': amount,
64316
- 'cost': undefined,
64317
- 'fee': undefined,
64318
- }, market);
64319
- }
64320
- async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
64321
- /**
64322
- * @method
64323
- * @name bitstamp1#fetchTrades
64324
- * @description get the list of most recent trades for a particular symbol
64325
- * @param {string} symbol unified symbol of the market to fetch trades for
64326
- * @param {int} [since] timestamp in ms of the earliest trade to fetch
64327
- * @param {int} [limit] the maximum amount of trades to fetch
64328
- * @param {object} [params] extra parameters specific to the bitstamp1 api endpoint
64329
- * @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#public-trades}
64330
- */
64331
- if (symbol !== 'BTC/USD') {
64332
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol(this.id + ' ' + this.version + " fetchTrades doesn't support " + symbol + ', use it for BTC/USD only');
64333
- }
64334
- await this.loadMarkets();
64335
- const market = this.market(symbol);
64336
- const request = {
64337
- 'time': 'minute',
64338
- };
64339
- const response = await this.publicGetTransactions(this.extend(request, params));
64340
- //
64341
- // [
64342
- // {
64343
- // "amount": "0.00114000",
64344
- // "date": "1694287856",
64345
- // "price": "25865",
64346
- // "tid": 298730788,
64347
- // "type": 0
64348
- // },
64349
- // ]
64350
- //
64351
- return this.parseTrades(response, market, since, limit);
64352
- }
64353
- parseBalance(response) {
64354
- const result = { 'info': response };
64355
- const codes = Object.keys(this.currencies);
64356
- for (let i = 0; i < codes.length; i++) {
64357
- const code = codes[i];
64358
- const currency = this.currency(code);
64359
- const currencyId = currency['id'];
64360
- const account = this.account();
64361
- account['free'] = this.safeString(response, currencyId + '_available');
64362
- account['used'] = this.safeString(response, currencyId + '_reserved');
64363
- account['total'] = this.safeString(response, currencyId + '_balance');
64364
- result[code] = account;
64365
- }
64366
- return this.safeBalance(result);
64367
- }
64368
- async fetchBalance(params = {}) {
64369
- /**
64370
- * @method
64371
- * @name bitstamp1#fetchBalance
64372
- * @description query for balance and get the amount of funds available for trading or funds locked in orders
64373
- * @param {object} [params] extra parameters specific to the bitstamp1 api endpoint
64374
- * @returns {object} a [balance structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#balance-structure}
64375
- */
64376
- const response = await this.privatePostBalance(params);
64377
- return this.parseBalance(response);
64378
- }
64379
- async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
64380
- /**
64381
- * @method
64382
- * @name bitstamp1#createOrder
64383
- * @description create a trade order
64384
- * @param {string} symbol unified symbol of the market to create an order in
64385
- * @param {string} type 'market' or 'limit'
64386
- * @param {string} side 'buy' or 'sell'
64387
- * @param {float} amount how much of currency you want to trade in units of base currency
64388
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
64389
- * @param {object} [params] extra parameters specific to the bitstamp1 api endpoint
64390
- * @returns {object} an [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
64391
- */
64392
- if (type !== 'limit') {
64393
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError(this.id + ' ' + this.version + ' accepts limit orders only');
64394
- }
64395
- if (symbol !== 'BTC/USD') {
64396
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError(this.id + ' v1 supports BTC/USD orders only');
64397
- }
64398
- await this.loadMarkets();
64399
- const method = 'privatePost' + this.capitalize(side);
64400
- const request = {
64401
- 'amount': amount,
64402
- 'price': price,
64403
- };
64404
- const response = await this[method](this.extend(request, params));
64405
- const id = this.safeString(response, 'id');
64406
- return this.safeOrder({
64407
- 'info': response,
64408
- 'id': id,
64409
- });
64410
- }
64411
- async cancelOrder(id, symbol = undefined, params = {}) {
64412
- /**
64413
- * @method
64414
- * @name bitstamp1#cancelOrder
64415
- * @description cancels an open order
64416
- * @param {string} id order id
64417
- * @param {string} symbol unified symbol of the market the order was made in
64418
- * @param {object} [params] extra parameters specific to the bitstamp1 api endpoint
64419
- * @returns {object} An [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
64420
- */
64421
- return await this.privatePostCancelOrder({ 'id': id });
64422
- }
64423
- parseOrderStatus(status) {
64424
- const statuses = {
64425
- 'In Queue': 'open',
64426
- 'Open': 'open',
64427
- 'Finished': 'closed',
64428
- 'Canceled': 'canceled',
64429
- };
64430
- return this.safeString(statuses, status, status);
64431
- }
64432
- async fetchOrderStatus(id, symbol = undefined, params = {}) {
64433
- await this.loadMarkets();
64434
- const request = {
64435
- 'id': id,
64436
- };
64437
- const response = await this.privatePostOrderStatus(this.extend(request, params));
64438
- return this.parseOrderStatus(response);
64439
- }
64440
- async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
64441
- /**
64442
- * @method
64443
- * @name bitstamp1#fetchMyTrades
64444
- * @description fetch all trades made by the user
64445
- * @param {string} symbol unified market symbol
64446
- * @param {int} [since] the earliest time in ms to fetch trades for
64447
- * @param {int} [limit] the maximum number of trades structures to retrieve
64448
- * @param {object} [params] extra parameters specific to the bitstamp1 api endpoint
64449
- * @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
64450
- */
64451
- await this.loadMarkets();
64452
- let market = undefined;
64453
- if (symbol !== undefined) {
64454
- market = this.market(symbol);
64455
- }
64456
- const response = await this.privatePostUserTransactions(params);
64457
- return this.parseTrades(response, market, since, limit);
64458
- }
64459
- sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
64460
- let url = this.urls['api']['rest'] + '/' + this.implodeParams(path, params);
64461
- let query = this.omit(params, this.extractParams(path));
64462
- if (api === 'public') {
64463
- if (Object.keys(query).length) {
64464
- url += '?' + this.urlencode(query);
64465
- }
64466
- }
64467
- else {
64468
- this.checkRequiredCredentials();
64469
- const nonce = this.nonce().toString();
64470
- const auth = nonce + this.uid + this.apiKey;
64471
- const signature = this.hmac(this.encode(auth), this.encode(this.secret), _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_4__/* .sha256 */ .J);
64472
- query = this.extend({
64473
- 'key': this.apiKey,
64474
- 'signature': signature.toUpperCase(),
64475
- 'nonce': nonce,
64476
- }, query);
64477
- body = this.urlencode(query);
64478
- headers = {
64479
- 'Content-Type': 'application/x-www-form-urlencoded',
64480
- };
64481
- }
64482
- return { 'url': url, 'method': method, 'body': body, 'headers': headers };
64483
- }
64484
- handleErrors(httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody) {
64485
- if (response === undefined) {
64486
- return undefined;
64487
- }
64488
- const status = this.safeString(response, 'status');
64489
- if (status === 'error') {
64490
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError(this.id + ' ' + this.json(response));
64491
- }
64492
- return undefined;
64493
- }
64494
- }
64495
-
64496
-
64497
64052
  /***/ }),
64498
64053
 
64499
64054
  /***/ 8963:
@@ -74417,6 +73972,7 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
74417
73972
  // user
74418
73973
  'v5/user/query-sub-members': 5,
74419
73974
  'v5/user/query-api': 5,
73975
+ 'v5/user/sub-apikeys': 5,
74420
73976
  'v5/user/get-member-type': 5,
74421
73977
  'v5/user/aff-customer-info': 5,
74422
73978
  'v5/user/del-submember': 5,
@@ -74548,7 +74104,7 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
74548
74104
  'v5/asset/transfer/save-transfer-sub-member': 150,
74549
74105
  'v5/asset/transfer/universal-transfer': 10,
74550
74106
  'v5/asset/deposit/deposit-to-account': 5,
74551
- 'v5/asset/withdraw/create': 300,
74107
+ 'v5/asset/withdraw/create': 50,
74552
74108
  'v5/asset/withdraw/cancel': 50,
74553
74109
  // user
74554
74110
  'v5/user/create-sub-member': 10,
@@ -78506,11 +78062,6 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
78506
78062
  if (endTime !== undefined) {
78507
78063
  request['endTime'] = endTime;
78508
78064
  }
78509
- else {
78510
- if (since !== undefined) {
78511
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' fetchOrders() requires until/endTime when since is provided.');
78512
- }
78513
- }
78514
78065
  const response = await this.privateGetV5OrderHistory(this.extend(request, params));
78515
78066
  //
78516
78067
  // {
@@ -78886,11 +78437,6 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
78886
78437
  if (endTime !== undefined) {
78887
78438
  request['endTime'] = endTime;
78888
78439
  }
78889
- else {
78890
- if (since !== undefined) {
78891
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' fetchOrders() requires until/endTime when since is provided.');
78892
- }
78893
- }
78894
78440
  const response = await this.privateGetV5ExecutionList(this.extend(request, params));
78895
78441
  //
78896
78442
  // {
@@ -101128,6 +100674,7 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
101128
100674
  'exceptions': {
101129
100675
  'exact': {
101130
100676
  '219': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
100677
+ '314': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
101131
100678
  '10001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
101132
100679
  '10002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
101133
100680
  '10003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
@@ -114254,8 +113801,7 @@ class digifinex extends _abstract_digifinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["
114254
113801
  }
114255
113802
  }
114256
113803
  }
114257
- let orderRequest = this.createOrderRequest(marketId, type, side, amount, price, orderParams);
114258
- orderRequest = this.omit(orderRequest, 'marginMode');
113804
+ const orderRequest = this.createOrderRequest(marketId, type, side, amount, price, orderParams);
114259
113805
  ordersRequests.push(orderRequest);
114260
113806
  }
114261
113807
  const market = this.market(symbol);
@@ -116768,7 +116314,13 @@ class digifinex extends _abstract_digifinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["
116768
116314
  const payload = pathPart + request;
116769
116315
  let url = this.urls['api']['rest'] + payload;
116770
116316
  const query = this.omit(params, this.extractParams(path));
116771
- let urlencoded = this.urlencode(this.keysort(query));
116317
+ let urlencoded = undefined;
116318
+ if (signed && (pathPart === '/swap/v2') && (method === 'POST')) {
116319
+ urlencoded = JSON.stringify(params);
116320
+ }
116321
+ else {
116322
+ urlencoded = this.urlencode(this.keysort(query));
116323
+ }
116772
116324
  if (signed) {
116773
116325
  let auth = undefined;
116774
116326
  let nonce = undefined;
@@ -116781,9 +116333,7 @@ class digifinex extends _abstract_digifinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["
116781
116333
  }
116782
116334
  }
116783
116335
  else if (method === 'POST') {
116784
- const swapPostParams = JSON.stringify(params);
116785
- urlencoded = swapPostParams;
116786
- auth += swapPostParams;
116336
+ auth += urlencoded;
116787
116337
  }
116788
116338
  }
116789
116339
  else {
@@ -163269,906 +162819,6 @@ class latoken extends _abstract_latoken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
163269
162819
  /* harmony export */ "Z": () => (/* binding */ lbank)
163270
162820
  /* harmony export */ });
163271
162821
  /* harmony import */ var _abstract_lbank_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6168);
163272
- /* harmony import */ var _base_errors_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6689);
163273
- /* harmony import */ var _base_Precise_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2194);
163274
- /* harmony import */ var _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9292);
163275
- /* harmony import */ var _static_dependencies_noble_hashes_md5_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7311);
163276
- /* harmony import */ var _base_functions_rsa_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5981);
163277
- /* harmony import */ var _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1372);
163278
- // ---------------------------------------------------------------------------
163279
-
163280
-
163281
-
163282
-
163283
-
163284
-
163285
-
163286
- // ---------------------------------------------------------------------------
163287
- /**
163288
- * @class lbank
163289
- * @extends Exchange
163290
- */
163291
- class lbank extends _abstract_lbank_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
163292
- describe() {
163293
- return this.deepExtend(super.describe(), {
163294
- 'id': 'lbank',
163295
- 'name': 'LBank',
163296
- 'countries': ['CN'],
163297
- 'version': 'v1',
163298
- 'has': {
163299
- 'CORS': undefined,
163300
- 'spot': true,
163301
- 'margin': false,
163302
- 'swap': false,
163303
- 'future': false,
163304
- 'option': false,
163305
- 'addMargin': false,
163306
- 'cancelOrder': true,
163307
- 'createOrder': true,
163308
- 'createReduceOnlyOrder': false,
163309
- 'createStopLimitOrder': false,
163310
- 'createStopMarketOrder': false,
163311
- 'createStopOrder': false,
163312
- 'fetchBalance': true,
163313
- 'fetchBorrowRate': false,
163314
- 'fetchBorrowRateHistories': false,
163315
- 'fetchBorrowRateHistory': false,
163316
- 'fetchBorrowRates': false,
163317
- 'fetchBorrowRatesPerSymbol': false,
163318
- 'fetchClosedOrders': true,
163319
- 'fetchFundingHistory': false,
163320
- 'fetchFundingRate': false,
163321
- 'fetchFundingRateHistory': false,
163322
- 'fetchFundingRates': false,
163323
- 'fetchIndexOHLCV': false,
163324
- 'fetchLeverage': false,
163325
- 'fetchLeverageTiers': false,
163326
- 'fetchMarginMode': false,
163327
- 'fetchMarkets': true,
163328
- 'fetchMarkOHLCV': false,
163329
- 'fetchOHLCV': true,
163330
- 'fetchOpenInterestHistory': false,
163331
- 'fetchOpenOrders': false,
163332
- 'fetchOrder': true,
163333
- 'fetchOrderBook': true,
163334
- 'fetchOrders': true,
163335
- 'fetchPosition': false,
163336
- 'fetchPositionMode': false,
163337
- 'fetchPositions': false,
163338
- 'fetchPositionsRisk': false,
163339
- 'fetchPremiumIndexOHLCV': false,
163340
- 'fetchTicker': true,
163341
- 'fetchTickers': true,
163342
- 'fetchTrades': true,
163343
- 'fetchTradingFee': false,
163344
- 'fetchTradingFees': false,
163345
- 'reduceMargin': false,
163346
- 'setLeverage': false,
163347
- 'setMarginMode': false,
163348
- 'setPositionMode': false,
163349
- 'withdraw': true,
163350
- },
163351
- 'timeframes': {
163352
- '1m': 'minute1',
163353
- '5m': 'minute5',
163354
- '15m': 'minute15',
163355
- '30m': 'minute30',
163356
- '1h': 'hour1',
163357
- '2h': 'hour2',
163358
- '4h': 'hour4',
163359
- '6h': 'hour6',
163360
- '8h': 'hour8',
163361
- '12h': 'hour12',
163362
- '1d': 'day1',
163363
- '1w': 'week1',
163364
- },
163365
- 'urls': {
163366
- 'logo': 'https://user-images.githubusercontent.com/1294454/38063602-9605e28a-3302-11e8-81be-64b1e53c4cfb.jpg',
163367
- 'api': {
163368
- 'rest': 'https://api.lbank.info',
163369
- },
163370
- 'www': 'https://www.lbank.info',
163371
- 'doc': 'https://github.com/LBank-exchange/lbank-official-api-docs',
163372
- 'fees': 'https://www.lbank.info/fees.html',
163373
- 'referral': 'https://www.lbank.info/invitevip?icode=7QCY',
163374
- },
163375
- 'api': {
163376
- 'public': {
163377
- 'get': [
163378
- 'currencyPairs',
163379
- 'ticker',
163380
- 'depth',
163381
- 'trades',
163382
- 'kline',
163383
- 'accuracy',
163384
- ],
163385
- },
163386
- 'private': {
163387
- 'post': [
163388
- 'user_info',
163389
- 'create_order',
163390
- 'cancel_order',
163391
- 'orders_info',
163392
- 'orders_info_history',
163393
- 'withdraw',
163394
- 'withdrawCancel',
163395
- 'withdraws',
163396
- 'withdrawConfigs',
163397
- ],
163398
- },
163399
- },
163400
- 'fees': {
163401
- 'trading': {
163402
- 'maker': this.parseNumber('0.001'),
163403
- 'taker': this.parseNumber('0.001'),
163404
- },
163405
- 'funding': {
163406
- 'withdraw': {},
163407
- },
163408
- },
163409
- 'commonCurrencies': {
163410
- 'GMT': 'GMT Token',
163411
- 'PNT': 'Penta',
163412
- 'SHINJA': 'SHINJA(1M)',
163413
- 'VET_ERC20': 'VEN',
163414
- },
163415
- 'options': {
163416
- 'cacheSecretAsPem': true,
163417
- },
163418
- 'precisionMode': _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__/* .TICK_SIZE */ .sh,
163419
- });
163420
- }
163421
- async fetchMarkets(params = {}) {
163422
- /**
163423
- * @method
163424
- * @name lbank#fetchMarkets
163425
- * @description retrieves data on all markets for lbank
163426
- * @param {object} [params] extra parameters specific to the exchange api endpoint
163427
- * @returns {object[]} an array of objects representing market data
163428
- */
163429
- const response = await this.publicGetAccuracy(params);
163430
- //
163431
- // [
163432
- // {
163433
- // "symbol": "btc_usdt",
163434
- // "quantityAccuracy": "4",
163435
- // "minTranQua": "0.0001",
163436
- // "priceAccuracy": "2"
163437
- // },
163438
- // ...
163439
- // ]
163440
- //
163441
- const result = [];
163442
- for (let i = 0; i < response.length; i++) {
163443
- const market = response[i];
163444
- const id = market['symbol'];
163445
- const parts = id.split('_');
163446
- let baseId = undefined;
163447
- let quoteId = undefined;
163448
- const numParts = parts.length;
163449
- // lbank will return symbols like "vet_erc20_usdt"
163450
- if (numParts > 2) {
163451
- baseId = parts[0] + '_' + parts[1];
163452
- quoteId = parts[2];
163453
- }
163454
- else {
163455
- baseId = parts[0];
163456
- quoteId = parts[1];
163457
- }
163458
- const base = this.safeCurrencyCode(baseId);
163459
- const quote = this.safeCurrencyCode(quoteId);
163460
- result.push({
163461
- 'id': id,
163462
- 'symbol': base + '/' + quote,
163463
- 'base': base,
163464
- 'quote': quote,
163465
- 'settle': undefined,
163466
- 'baseId': baseId,
163467
- 'quoteId': quoteId,
163468
- 'settleId': undefined,
163469
- 'type': 'spot',
163470
- 'spot': true,
163471
- 'margin': false,
163472
- 'swap': false,
163473
- 'future': false,
163474
- 'option': false,
163475
- 'active': true,
163476
- 'contract': false,
163477
- 'linear': undefined,
163478
- 'inverse': undefined,
163479
- 'contractSize': undefined,
163480
- 'expiry': undefined,
163481
- 'expiryDatetime': undefined,
163482
- 'strike': undefined,
163483
- 'optionType': undefined,
163484
- 'precision': {
163485
- 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'quantityAccuracy'))),
163486
- 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'priceAccuracy'))),
163487
- },
163488
- 'limits': {
163489
- 'leverage': {
163490
- 'min': undefined,
163491
- 'max': undefined,
163492
- },
163493
- 'amount': {
163494
- 'min': this.safeFloat(market, 'minTranQua'),
163495
- 'max': undefined,
163496
- },
163497
- 'price': {
163498
- 'min': undefined,
163499
- 'max': undefined,
163500
- },
163501
- 'cost': {
163502
- 'min': undefined,
163503
- 'max': undefined,
163504
- },
163505
- },
163506
- 'created': undefined,
163507
- 'info': id,
163508
- });
163509
- }
163510
- return result;
163511
- }
163512
- parseTicker(ticker, market = undefined) {
163513
- //
163514
- // {
163515
- // "symbol":"btc_usdt",
163516
- // "ticker":{
163517
- // "high":43416.06,
163518
- // "vol":7031.7427,
163519
- // "low":41804.26,
163520
- // "change":1.33,
163521
- // "turnover":300302447.81,
163522
- // "latest":43220.4
163523
- // },
163524
- // "timestamp":1642201617747
163525
- // }
163526
- //
163527
- const marketId = this.safeString(ticker, 'symbol');
163528
- market = this.safeMarket(marketId, market, '_');
163529
- const symbol = market['symbol'];
163530
- const timestamp = this.safeInteger(ticker, 'timestamp');
163531
- const info = ticker;
163532
- ticker = info['ticker'];
163533
- const last = this.safeString(ticker, 'latest');
163534
- const percentage = this.safeString(ticker, 'change');
163535
- return this.safeTicker({
163536
- 'symbol': symbol,
163537
- 'timestamp': timestamp,
163538
- 'datetime': this.iso8601(timestamp),
163539
- 'high': this.safeString(ticker, 'high'),
163540
- 'low': this.safeString(ticker, 'low'),
163541
- 'bid': undefined,
163542
- 'bidVolume': undefined,
163543
- 'ask': undefined,
163544
- 'askVolume': undefined,
163545
- 'vwap': undefined,
163546
- 'open': undefined,
163547
- 'close': last,
163548
- 'last': last,
163549
- 'previousClose': undefined,
163550
- 'change': undefined,
163551
- 'percentage': percentage,
163552
- 'average': undefined,
163553
- 'baseVolume': this.safeString(ticker, 'vol'),
163554
- 'quoteVolume': this.safeString(ticker, 'turnover'),
163555
- 'info': info,
163556
- }, market);
163557
- }
163558
- async fetchTicker(symbol, params = {}) {
163559
- /**
163560
- * @method
163561
- * @name lbank#fetchTicker
163562
- * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
163563
- * @param {string} symbol unified symbol of the market to fetch the ticker for
163564
- * @param {object} [params] extra parameters specific to the lbank api endpoint
163565
- * @returns {object} a [ticker structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#ticker-structure}
163566
- */
163567
- await this.loadMarkets();
163568
- const market = this.market(symbol);
163569
- const request = {
163570
- 'symbol': market['id'],
163571
- };
163572
- const response = await this.publicGetTicker(this.extend(request, params));
163573
- // {
163574
- // "symbol":"btc_usdt",
163575
- // "ticker":{
163576
- // "high":43416.06,
163577
- // "vol":7031.7427,
163578
- // "low":41804.26,
163579
- // "change":1.33,
163580
- // "turnover":300302447.81,
163581
- // "latest":43220.4
163582
- // },
163583
- // "timestamp":1642201617747
163584
- // }
163585
- return this.parseTicker(response, market);
163586
- }
163587
- async fetchTickers(symbols = undefined, params = {}) {
163588
- /**
163589
- * @method
163590
- * @name lbank#fetchTickers
163591
- * @description fetches price tickers for multiple markets, statistical calculations with the information calculated over the past 24 hours each market
163592
- * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
163593
- * @param {object} [params] extra parameters specific to the lbank api endpoint
163594
- * @returns {object} a dictionary of [ticker structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#ticker-structure}
163595
- */
163596
- await this.loadMarkets();
163597
- symbols = this.marketSymbols(symbols);
163598
- const request = {
163599
- 'symbol': 'all',
163600
- };
163601
- const response = await this.publicGetTicker(this.extend(request, params));
163602
- const result = {};
163603
- for (let i = 0; i < response.length; i++) {
163604
- const ticker = this.parseTicker(response[i]);
163605
- const symbol = ticker['symbol'];
163606
- result[symbol] = ticker;
163607
- }
163608
- return this.filterByArrayTickers(result, 'symbol', symbols);
163609
- }
163610
- async fetchOrderBook(symbol, limit = 60, params = {}) {
163611
- /**
163612
- * @method
163613
- * @name lbank#fetchOrderBook
163614
- * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
163615
- * @param {string} symbol unified symbol of the market to fetch the order book for
163616
- * @param {int} [limit] the maximum amount of order book entries to return
163617
- * @param {object} [params] extra parameters specific to the lbank api endpoint
163618
- * @returns {object} A dictionary of [order book structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-book-structure} indexed by market symbols
163619
- */
163620
- await this.loadMarkets();
163621
- let size = 60;
163622
- if (limit !== undefined) {
163623
- size = Math.min(limit, size);
163624
- }
163625
- const market = this.market(symbol);
163626
- const request = {
163627
- 'symbol': market['id'],
163628
- 'size': size,
163629
- };
163630
- const response = await this.publicGetDepth(this.extend(request, params));
163631
- return this.parseOrderBook(response, market['symbol']);
163632
- }
163633
- parseTrade(trade, market = undefined) {
163634
- market = this.safeMarket(undefined, market);
163635
- const timestamp = this.safeInteger(trade, 'date_ms');
163636
- const priceString = this.safeString(trade, 'price');
163637
- const amountString = this.safeString(trade, 'amount');
163638
- const price = this.parseNumber(priceString);
163639
- const amount = this.parseNumber(amountString);
163640
- const cost = this.parseNumber(_base_Precise_js__WEBPACK_IMPORTED_MODULE_2__/* .Precise.stringMul */ .O.stringMul(priceString, amountString));
163641
- const id = this.safeString(trade, 'tid');
163642
- const type = undefined;
163643
- let side = this.safeString(trade, 'type');
163644
- // remove type additions from i.e. buy_maker, sell_maker, buy_ioc, sell_ioc, buy_fok, sell_fok
163645
- const splited = side.split('_');
163646
- side = splited[0];
163647
- return {
163648
- 'id': id,
163649
- 'info': this.safeValue(trade, 'info', trade),
163650
- 'timestamp': timestamp,
163651
- 'datetime': this.iso8601(timestamp),
163652
- 'symbol': market['symbol'],
163653
- 'order': undefined,
163654
- 'type': type,
163655
- 'side': side,
163656
- 'takerOrMaker': undefined,
163657
- 'price': price,
163658
- 'amount': amount,
163659
- 'cost': cost,
163660
- 'fee': undefined,
163661
- };
163662
- }
163663
- async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
163664
- /**
163665
- * @method
163666
- * @name lbank#fetchTrades
163667
- * @description get the list of most recent trades for a particular symbol
163668
- * @param {string} symbol unified symbol of the market to fetch trades for
163669
- * @param {int} [since] timestamp in ms of the earliest trade to fetch
163670
- * @param {int} [limit] the maximum amount of trades to fetch
163671
- * @param {object} [params] extra parameters specific to the lbank api endpoint
163672
- * @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#public-trades}
163673
- */
163674
- await this.loadMarkets();
163675
- const market = this.market(symbol);
163676
- const request = {
163677
- 'symbol': market['id'],
163678
- 'size': 100,
163679
- };
163680
- if (since !== undefined) {
163681
- request['time'] = since;
163682
- }
163683
- if (limit !== undefined) {
163684
- request['size'] = Math.min(limit, 600);
163685
- }
163686
- const response = await this.publicGetTrades(this.extend(request, params));
163687
- return this.parseTrades(response, market, since, limit);
163688
- }
163689
- parseOHLCV(ohlcv, market = undefined) {
163690
- //
163691
- // [
163692
- // 1590969600,
163693
- // 0.02451657,
163694
- // 0.02452675,
163695
- // 0.02443701,
163696
- // 0.02447814,
163697
- // 238.38210000
163698
- // ]
163699
- //
163700
- return [
163701
- this.safeTimestamp(ohlcv, 0),
163702
- this.safeNumber(ohlcv, 1),
163703
- this.safeNumber(ohlcv, 2),
163704
- this.safeNumber(ohlcv, 3),
163705
- this.safeNumber(ohlcv, 4),
163706
- this.safeNumber(ohlcv, 5),
163707
- ];
163708
- }
163709
- async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = 1000, params = {}) {
163710
- /**
163711
- * @method
163712
- * @name lbank#fetchOHLCV
163713
- * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
163714
- * @param {string} symbol unified symbol of the market to fetch OHLCV data for
163715
- * @param {string} timeframe the length of time each candle represents
163716
- * @param {int} [since] timestamp in ms of the earliest candle to fetch
163717
- * @param {int} [limit] the maximum amount of candles to fetch
163718
- * @param {object} [params] extra parameters specific to the lbank api endpoint
163719
- * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
163720
- */
163721
- await this.loadMarkets();
163722
- const market = this.market(symbol);
163723
- if (limit === undefined) {
163724
- limit = 100; // it's defined in lbank2
163725
- }
163726
- if (since === undefined) {
163727
- const duration = this.parseTimeframe(timeframe);
163728
- since = this.milliseconds() - duration * 1000 * limit;
163729
- }
163730
- const request = {
163731
- 'symbol': market['id'],
163732
- 'type': this.safeString(this.timeframes, timeframe, timeframe),
163733
- 'size': limit,
163734
- 'time': this.parseToInt(since / 1000),
163735
- };
163736
- const response = await this.publicGetKline(this.extend(request, params));
163737
- //
163738
- // [
163739
- // [1590969600,0.02451657,0.02452675,0.02443701,0.02447814,238.38210000],
163740
- // [1590969660,0.02447814,0.02449883,0.02443209,0.02445973,212.40270000],
163741
- // [1590969720,0.02445973,0.02452067,0.02445909,0.02446151,266.16920000],
163742
- // ]
163743
- //
163744
- return this.parseOHLCVs(response, market, timeframe, since, limit);
163745
- }
163746
- parseBalance(response) {
163747
- const result = {
163748
- 'info': response,
163749
- 'timestamp': undefined,
163750
- 'datetime': undefined,
163751
- };
163752
- const info = this.safeValue(response, 'info', {});
163753
- const free = this.safeValue(info, 'free', {});
163754
- const freeze = this.safeValue(info, 'freeze', {});
163755
- const asset = this.safeValue(info, 'asset', {});
163756
- const currencyIds = Object.keys(free);
163757
- for (let i = 0; i < currencyIds.length; i++) {
163758
- const currencyId = currencyIds[i];
163759
- const code = this.safeCurrencyCode(currencyId);
163760
- const account = this.account();
163761
- account['free'] = this.safeString(free, currencyId);
163762
- account['used'] = this.safeString(freeze, currencyId);
163763
- account['total'] = this.safeString(asset, currencyId);
163764
- result[code] = account;
163765
- }
163766
- return this.safeBalance(result);
163767
- }
163768
- async fetchBalance(params = {}) {
163769
- /**
163770
- * @method
163771
- * @name lbank#fetchBalance
163772
- * @description query for balance and get the amount of funds available for trading or funds locked in orders
163773
- * @param {object} [params] extra parameters specific to the lbank api endpoint
163774
- * @returns {object} a [balance structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#balance-structure}
163775
- */
163776
- await this.loadMarkets();
163777
- const response = await this.privatePostUserInfo(params);
163778
- //
163779
- // {
163780
- // "result":"true",
163781
- // "info":{
163782
- // "freeze":{
163783
- // "iog":"0.00000000",
163784
- // "ssc":"0.00000000",
163785
- // "eon":"0.00000000",
163786
- // },
163787
- // "asset":{
163788
- // "iog":"0.00000000",
163789
- // "ssc":"0.00000000",
163790
- // "eon":"0.00000000",
163791
- // },
163792
- // "free":{
163793
- // "iog":"0.00000000",
163794
- // "ssc":"0.00000000",
163795
- // "eon":"0.00000000",
163796
- // },
163797
- // }
163798
- // }
163799
- //
163800
- return this.parseBalance(response);
163801
- }
163802
- parseOrderStatus(status) {
163803
- const statuses = {
163804
- '-1': 'cancelled',
163805
- '0': 'open',
163806
- '1': 'open',
163807
- '2': 'closed',
163808
- '4': 'closed', // disposal processing
163809
- };
163810
- return this.safeString(statuses, status);
163811
- }
163812
- parseOrder(order, market = undefined) {
163813
- //
163814
- // {
163815
- // "symbol":"eth_btc",
163816
- // "amount":10.000000,
163817
- // "create_time":1484289832081,
163818
- // "price":5000.000000,
163819
- // "avg_price":5277.301200,
163820
- // "type":"sell",
163821
- // "order_id":"ab704110-af0d-48fd-a083-c218f19a4a55",
163822
- // "deal_amount":10.000000,
163823
- // "status":2
163824
- // }
163825
- //
163826
- const marketId = this.safeString(order, 'symbol');
163827
- const symbol = this.safeSymbol(marketId, market, '_');
163828
- const timestamp = this.safeInteger(order, 'create_time');
163829
- // Limit Order Request Returns: Order Price
163830
- // Market Order Returns: cny amount of market order
163831
- const price = this.safeString(order, 'price');
163832
- const amount = this.safeString(order, 'amount');
163833
- const filled = this.safeString(order, 'deal_amount');
163834
- const average = this.safeString(order, 'avg_price');
163835
- const status = this.parseOrderStatus(this.safeString(order, 'status'));
163836
- const id = this.safeString(order, 'order_id');
163837
- const type = this.safeString(order, 'order_type');
163838
- const side = this.safeString(order, 'type');
163839
- return this.safeOrder({
163840
- 'id': id,
163841
- 'clientOrderId': undefined,
163842
- 'datetime': this.iso8601(timestamp),
163843
- 'timestamp': timestamp,
163844
- 'lastTradeTimestamp': undefined,
163845
- 'status': status,
163846
- 'symbol': symbol,
163847
- 'type': type,
163848
- 'timeInForce': undefined,
163849
- 'postOnly': undefined,
163850
- 'side': side,
163851
- 'price': price,
163852
- 'stopPrice': undefined,
163853
- 'triggerPrice': undefined,
163854
- 'cost': undefined,
163855
- 'amount': amount,
163856
- 'filled': filled,
163857
- 'remaining': undefined,
163858
- 'trades': undefined,
163859
- 'fee': undefined,
163860
- 'info': this.safeValue(order, 'info', order),
163861
- 'average': average,
163862
- }, market);
163863
- }
163864
- async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
163865
- /**
163866
- * @method
163867
- * @name lbank#createOrder
163868
- * @description create a trade order
163869
- * @param {string} symbol unified symbol of the market to create an order in
163870
- * @param {string} type 'market' or 'limit'
163871
- * @param {string} side 'buy' or 'sell'
163872
- * @param {float} amount how much of currency you want to trade in units of base currency
163873
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
163874
- * @param {object} [params] extra parameters specific to the lbank api endpoint
163875
- * @returns {object} an [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
163876
- */
163877
- await this.loadMarkets();
163878
- const market = this.market(symbol);
163879
- let order = {
163880
- 'symbol': market['id'],
163881
- 'type': side,
163882
- 'amount': amount,
163883
- };
163884
- if (type === 'market') {
163885
- order['type'] += '_market';
163886
- }
163887
- else {
163888
- order['price'] = price;
163889
- }
163890
- const response = await this.privatePostCreateOrder(this.extend(order, params));
163891
- order = this.omit(order, 'type');
163892
- order['order_id'] = response['order_id'];
163893
- order['type'] = side;
163894
- order['order_type'] = type;
163895
- order['create_time'] = this.milliseconds();
163896
- order['info'] = response;
163897
- return this.parseOrder(order, market);
163898
- }
163899
- async cancelOrder(id, symbol = undefined, params = {}) {
163900
- /**
163901
- * @method
163902
- * @name lbank#cancelOrder
163903
- * @description cancels an open order
163904
- * @param {string} id order id
163905
- * @param {string} symbol unified symbol of the market the order was made in
163906
- * @param {object} [params] extra parameters specific to the lbank api endpoint
163907
- * @returns {object} An [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
163908
- */
163909
- await this.loadMarkets();
163910
- const market = this.market(symbol);
163911
- const request = {
163912
- 'symbol': market['id'],
163913
- 'order_id': id,
163914
- };
163915
- const response = await this.privatePostCancelOrder(this.extend(request, params));
163916
- return response;
163917
- }
163918
- async fetchOrder(id, symbol = undefined, params = {}) {
163919
- /**
163920
- * @method
163921
- * @name lbank#fetchOrder
163922
- * @description fetches information on an order made by the user
163923
- * @param {string} symbol unified symbol of the market the order was made in
163924
- * @param {object} [params] extra parameters specific to the lbank api endpoint
163925
- * @returns {object} An [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
163926
- */
163927
- // Id can be a list of ids delimited by a comma
163928
- await this.loadMarkets();
163929
- const market = this.market(symbol);
163930
- const request = {
163931
- 'symbol': market['id'],
163932
- 'order_id': id,
163933
- };
163934
- const response = await this.privatePostOrdersInfo(this.extend(request, params));
163935
- const data = this.safeValue(response, 'orders', []);
163936
- const orders = this.parseOrders(data, market);
163937
- const numOrders = orders.length;
163938
- if (numOrders === 1) {
163939
- return orders[0];
163940
- }
163941
- else {
163942
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.BadRequest(this.id + ' fetchOrder() can only return one order at a time. Found ' + numOrders + ' orders.');
163943
- }
163944
- }
163945
- async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
163946
- /**
163947
- * @method
163948
- * @name lbank#fetchOrders
163949
- * @description fetches information on multiple orders made by the user
163950
- * @param {string} symbol unified market symbol of the market orders were made in
163951
- * @param {int} [since] the earliest time in ms to fetch orders for
163952
- * @param {int} [limit] the maximum number of orde structures to retrieve
163953
- * @param {object} [params] extra parameters specific to the lbank api endpoint
163954
- * @returns {Order[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
163955
- */
163956
- await this.loadMarkets();
163957
- if (limit === undefined) {
163958
- limit = 100;
163959
- }
163960
- const market = this.market(symbol);
163961
- const request = {
163962
- 'symbol': market['id'],
163963
- 'current_page': 1,
163964
- 'page_length': limit,
163965
- };
163966
- const response = await this.privatePostOrdersInfoHistory(this.extend(request, params));
163967
- const data = this.safeValue(response, 'orders', []);
163968
- return this.parseOrders(data, undefined, since, limit);
163969
- }
163970
- async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
163971
- /**
163972
- * @method
163973
- * @name lbank#fetchClosedOrders
163974
- * @description fetches information on multiple closed orders made by the user
163975
- * @param {string} symbol unified market symbol of the market orders were made in
163976
- * @param {int} [since] the earliest time in ms to fetch orders for
163977
- * @param {int} [limit] the maximum number of orde structures to retrieve
163978
- * @param {object} [params] extra parameters specific to the lbank api endpoint
163979
- * @returns {Order[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
163980
- */
163981
- await this.loadMarkets();
163982
- if (symbol !== undefined) {
163983
- const market = this.market(symbol);
163984
- symbol = market['symbol'];
163985
- }
163986
- const orders = await this.fetchOrders(symbol, since, limit, params);
163987
- const closed = this.filterBy(orders, 'status', 'closed');
163988
- const canceled = this.filterBy(orders, 'status', 'cancelled'); // cancelled orders may be partially filled
163989
- const allOrders = this.arrayConcat(closed, canceled);
163990
- return this.filterBySymbolSinceLimit(allOrders, symbol, since, limit);
163991
- }
163992
- async withdraw(code, amount, address, tag = undefined, params = {}) {
163993
- /**
163994
- * @method
163995
- * @name lbank#withdraw
163996
- * @description make a withdrawal
163997
- * @param {string} code unified currency code
163998
- * @param {float} amount the amount to withdraw
163999
- * @param {string} address the address to withdraw to
164000
- * @param {string} tag
164001
- * @param {object} [params] extra parameters specific to the lbank api endpoint
164002
- * @returns {object} a [transaction structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#transaction-structure}
164003
- */
164004
- [tag, params] = this.handleWithdrawTagAndParams(tag, params);
164005
- // mark and fee are optional params, mark is a note and must be less than 255 characters
164006
- this.checkAddress(address);
164007
- await this.loadMarkets();
164008
- const currency = this.currency(code);
164009
- const request = {
164010
- 'assetCode': currency['id'],
164011
- 'amount': amount,
164012
- 'account': address,
164013
- };
164014
- if (tag !== undefined) {
164015
- request['memo'] = tag;
164016
- }
164017
- const response = this.privatePostWithdraw(this.extend(request, params));
164018
- //
164019
- // {
164020
- // "result": "true",
164021
- // "withdrawId": 90082,
164022
- // "fee":0.001
164023
- // }
164024
- //
164025
- return this.parseTransaction(response, currency);
164026
- }
164027
- parseTransaction(transaction, currency = undefined) {
164028
- //
164029
- // withdraw
164030
- //
164031
- // {
164032
- // "result": "true",
164033
- // "withdrawId": 90082,
164034
- // "fee":0.001
164035
- // }
164036
- //
164037
- currency = this.safeCurrency(undefined, currency);
164038
- return {
164039
- 'id': this.safeString2(transaction, 'id', 'withdrawId'),
164040
- 'txid': undefined,
164041
- 'timestamp': undefined,
164042
- 'datetime': undefined,
164043
- 'network': undefined,
164044
- 'addressFrom': undefined,
164045
- 'address': undefined,
164046
- 'addressTo': undefined,
164047
- 'amount': undefined,
164048
- 'type': undefined,
164049
- 'currency': currency['code'],
164050
- 'status': undefined,
164051
- 'updated': undefined,
164052
- 'tagFrom': undefined,
164053
- 'tag': undefined,
164054
- 'tagTo': undefined,
164055
- 'comment': undefined,
164056
- 'internal': undefined,
164057
- 'fee': undefined,
164058
- 'info': transaction,
164059
- };
164060
- }
164061
- convertSecretToPem(secret) {
164062
- const lineLength = 64;
164063
- const secretLength = secret.length - 0;
164064
- let numLines = this.parseToInt(secretLength / lineLength);
164065
- numLines = this.sum(numLines, 1);
164066
- let pem = "-----BEGIN PRIVATE KEY-----\n"; // eslint-disable-line
164067
- for (let i = 0; i < numLines; i++) {
164068
- const start = i * lineLength;
164069
- const end = this.sum(start, lineLength);
164070
- pem += this.secret.slice(start, end) + "\n"; // eslint-disable-line
164071
- }
164072
- return pem + '-----END PRIVATE KEY-----';
164073
- }
164074
- sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
164075
- let query = this.omit(params, this.extractParams(path));
164076
- let url = this.urls['api']['rest'] + '/' + this.version + '/' + this.implodeParams(path, params);
164077
- // Every endpoint ends with ".do"
164078
- url += '.do';
164079
- if (api === 'public') {
164080
- if (Object.keys(query).length) {
164081
- url += '?' + this.urlencode(query);
164082
- }
164083
- }
164084
- else {
164085
- this.checkRequiredCredentials();
164086
- query = this.keysort(this.extend({
164087
- 'api_key': this.apiKey,
164088
- }, query));
164089
- const queryString = this.rawencode(query);
164090
- const message = this.hash(this.encode(queryString), _static_dependencies_noble_hashes_md5_js__WEBPACK_IMPORTED_MODULE_4__/* .md5 */ .F).toUpperCase();
164091
- const cacheSecretAsPem = this.safeValue(this.options, 'cacheSecretAsPem', true);
164092
- let pem = undefined;
164093
- if (cacheSecretAsPem) {
164094
- pem = this.safeValue(this.options, 'pem');
164095
- if (pem === undefined) {
164096
- pem = this.convertSecretToPem(this.secret);
164097
- this.options['pem'] = pem;
164098
- }
164099
- }
164100
- else {
164101
- pem = this.convertSecretToPem(this.secret);
164102
- }
164103
- query['sign'] = (0,_base_functions_rsa_js__WEBPACK_IMPORTED_MODULE_5__/* .rsa */ .j)(message, pem, _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_6__/* .sha256 */ .J);
164104
- body = this.urlencode(query);
164105
- headers = { 'Content-Type': 'application/x-www-form-urlencoded' };
164106
- }
164107
- return { 'url': url, 'method': method, 'body': body, 'headers': headers };
164108
- }
164109
- handleErrors(httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody) {
164110
- if (response === undefined) {
164111
- return undefined;
164112
- }
164113
- const success = this.safeString(response, 'result');
164114
- if (success === 'false') {
164115
- const errorCode = this.safeString(response, 'error_code');
164116
- const message = this.safeString({
164117
- '10000': 'Internal error',
164118
- '10001': 'The required parameters can not be empty',
164119
- '10002': 'verification failed',
164120
- '10003': 'Illegal parameters',
164121
- '10004': 'User requests are too frequent',
164122
- '10005': 'Key does not exist',
164123
- '10006': 'user does not exist',
164124
- '10007': 'Invalid signature',
164125
- '10008': 'This currency pair is not supported',
164126
- '10009': 'Limit orders can not be missing orders and the number of orders',
164127
- '10010': 'Order price or order quantity must be greater than 0',
164128
- '10011': 'Market orders can not be missing the amount of the order',
164129
- '10012': 'market sell orders can not be missing orders',
164130
- '10013': 'is less than the minimum trading position 0.001',
164131
- '10014': 'Account number is not enough',
164132
- '10015': 'The order type is wrong',
164133
- '10016': 'Account balance is not enough',
164134
- '10017': 'Abnormal server',
164135
- '10018': 'order inquiry can not be more than 50 less than one',
164136
- '10019': 'withdrawal orders can not be more than 3 less than one',
164137
- '10020': 'less than the minimum amount of the transaction limit of 0.001',
164138
- '10022': 'Insufficient key authority',
164139
- }, errorCode, this.json(response));
164140
- const ErrorClass = this.safeValue({
164141
- '10002': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.AuthenticationError,
164142
- '10004': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.DDoSProtection,
164143
- '10005': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.AuthenticationError,
164144
- '10006': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.AuthenticationError,
164145
- '10007': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.AuthenticationError,
164146
- '10009': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
164147
- '10010': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
164148
- '10011': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
164149
- '10012': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
164150
- '10013': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
164151
- '10014': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
164152
- '10015': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
164153
- '10016': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
164154
- '10022': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.AuthenticationError,
164155
- }, errorCode, _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.ExchangeError);
164156
- throw new ErrorClass(message);
164157
- }
164158
- return undefined;
164159
- }
164160
- }
164161
-
164162
-
164163
- /***/ }),
164164
-
164165
- /***/ 8601:
164166
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
164167
-
164168
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
164169
- /* harmony export */ "Z": () => (/* binding */ lbank2)
164170
- /* harmony export */ });
164171
- /* harmony import */ var _abstract_lbank2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7767);
164172
162822
  /* harmony import */ var _base_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6689);
164173
162823
  /* harmony import */ var _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9292);
164174
162824
  /* harmony import */ var _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2194);
@@ -164188,10 +162838,10 @@ class lbank extends _abstract_lbank_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
164188
162838
  * @class lbank2
164189
162839
  * @extends Exchange
164190
162840
  */
164191
- class lbank2 extends _abstract_lbank2_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
162841
+ class lbank extends _abstract_lbank_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
164192
162842
  describe() {
164193
162843
  return this.deepExtend(super.describe(), {
164194
- 'id': 'lbank2',
162844
+ 'id': 'lbank',
164195
162845
  'name': 'LBank',
164196
162846
  'countries': ['CN'],
164197
162847
  'version': 'v2',
@@ -164554,9 +163204,9 @@ class lbank2 extends _abstract_lbank2_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
164554
163204
  'symbol': symbol,
164555
163205
  'base': base,
164556
163206
  'quote': quote,
164557
- 'settle': undefined,
164558
163207
  'baseId': baseId,
164559
163208
  'quoteId': quoteId,
163209
+ 'settle': undefined,
164560
163210
  'settleId': undefined,
164561
163211
  'type': 'spot',
164562
163212
  'spot': true,
@@ -164565,7 +163215,7 @@ class lbank2 extends _abstract_lbank2_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
164565
163215
  'future': false,
164566
163216
  'option': false,
164567
163217
  'active': true,
164568
- 'contract': undefined,
163218
+ 'contract': false,
164569
163219
  'linear': undefined,
164570
163220
  'inverse': undefined,
164571
163221
  'contractSize': undefined,
@@ -176100,69 +174750,67 @@ class ndax extends _abstract_ndax_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
176100
174750
  // },
176101
174751
  // ]
176102
174752
  //
176103
- const result = [];
176104
- for (let i = 0; i < response.length; i++) {
176105
- const market = response[i];
176106
- const id = this.safeString(market, 'InstrumentId');
176107
- // const lowercaseId = this.safeStringLower (market, 'symbol');
176108
- const baseId = this.safeString(market, 'Product1');
176109
- const quoteId = this.safeString(market, 'Product2');
176110
- const base = this.safeCurrencyCode(this.safeString(market, 'Product1Symbol'));
176111
- const quote = this.safeCurrencyCode(this.safeString(market, 'Product2Symbol'));
176112
- const sessionStatus = this.safeString(market, 'SessionStatus');
176113
- const isDisable = this.safeValue(market, 'IsDisable');
176114
- const sessionRunning = (sessionStatus === 'Running');
176115
- result.push({
176116
- 'id': id,
176117
- 'symbol': base + '/' + quote,
176118
- 'base': base,
176119
- 'quote': quote,
176120
- 'settle': undefined,
176121
- 'baseId': baseId,
176122
- 'quoteId': quoteId,
176123
- 'settleId': undefined,
176124
- 'type': 'spot',
176125
- 'spot': true,
176126
- 'margin': false,
176127
- 'swap': false,
176128
- 'future': false,
176129
- 'option': false,
176130
- 'active': (sessionRunning && !isDisable),
176131
- 'contract': false,
176132
- 'linear': undefined,
176133
- 'inverse': undefined,
176134
- 'contractSize': undefined,
176135
- 'expiry': undefined,
176136
- 'expiryDatetime': undefined,
176137
- 'strike': undefined,
176138
- 'optionType': undefined,
176139
- 'precision': {
176140
- 'amount': this.safeNumber(market, 'QuantityIncrement'),
176141
- 'price': this.safeNumber(market, 'PriceIncrement'),
174753
+ return this.parseMarkets(response);
174754
+ }
174755
+ parseMarket(market) {
174756
+ const id = this.safeString(market, 'InstrumentId');
174757
+ // const lowercaseId = this.safeStringLower (market, 'symbol');
174758
+ const baseId = this.safeString(market, 'Product1');
174759
+ const quoteId = this.safeString(market, 'Product2');
174760
+ const base = this.safeCurrencyCode(this.safeString(market, 'Product1Symbol'));
174761
+ const quote = this.safeCurrencyCode(this.safeString(market, 'Product2Symbol'));
174762
+ const sessionStatus = this.safeString(market, 'SessionStatus');
174763
+ const isDisable = this.safeValue(market, 'IsDisable');
174764
+ const sessionRunning = (sessionStatus === 'Running');
174765
+ return {
174766
+ 'id': id,
174767
+ 'symbol': base + '/' + quote,
174768
+ 'base': base,
174769
+ 'quote': quote,
174770
+ 'settle': undefined,
174771
+ 'baseId': baseId,
174772
+ 'quoteId': quoteId,
174773
+ 'settleId': undefined,
174774
+ 'type': 'spot',
174775
+ 'spot': true,
174776
+ 'margin': false,
174777
+ 'swap': false,
174778
+ 'future': false,
174779
+ 'option': false,
174780
+ 'active': (sessionRunning && !isDisable),
174781
+ 'contract': false,
174782
+ 'linear': undefined,
174783
+ 'inverse': undefined,
174784
+ 'contractSize': undefined,
174785
+ 'expiry': undefined,
174786
+ 'expiryDatetime': undefined,
174787
+ 'strike': undefined,
174788
+ 'optionType': undefined,
174789
+ 'precision': {
174790
+ 'amount': this.safeNumber(market, 'QuantityIncrement'),
174791
+ 'price': this.safeNumber(market, 'PriceIncrement'),
174792
+ },
174793
+ 'limits': {
174794
+ 'leverage': {
174795
+ 'min': undefined,
174796
+ 'max': undefined,
176142
174797
  },
176143
- 'limits': {
176144
- 'leverage': {
176145
- 'min': undefined,
176146
- 'max': undefined,
176147
- },
176148
- 'amount': {
176149
- 'min': this.safeNumber(market, 'MinimumQuantity'),
176150
- 'max': undefined,
176151
- },
176152
- 'price': {
176153
- 'min': this.safeNumber(market, 'MinimumPrice'),
176154
- 'max': undefined,
176155
- },
176156
- 'cost': {
176157
- 'min': undefined,
176158
- 'max': undefined,
176159
- },
174798
+ 'amount': {
174799
+ 'min': this.safeNumber(market, 'MinimumQuantity'),
174800
+ 'max': undefined,
176160
174801
  },
176161
- 'created': undefined,
176162
- 'info': market,
176163
- });
176164
- }
176165
- return result;
174802
+ 'price': {
174803
+ 'min': this.safeNumber(market, 'MinimumPrice'),
174804
+ 'max': undefined,
174805
+ },
174806
+ 'cost': {
174807
+ 'min': undefined,
174808
+ 'max': undefined,
174809
+ },
174810
+ },
174811
+ 'created': undefined,
174812
+ 'info': market,
174813
+ };
176166
174814
  }
176167
174815
  parseOrderBook(orderbook, symbol, timestamp = undefined, bidsKey = 'bids', asksKey = 'asks', priceKey = 6, amountKey = 8) {
176168
174816
  let nonce = undefined;
@@ -178349,68 +176997,66 @@ class novadax extends _abstract_novadax_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
178349
176997
  // "message":"Success"
178350
176998
  // }
178351
176999
  //
178352
- const result = [];
178353
177000
  const data = this.safeValue(response, 'data', []);
178354
- for (let i = 0; i < data.length; i++) {
178355
- const market = data[i];
178356
- const baseId = this.safeString(market, 'baseCurrency');
178357
- const quoteId = this.safeString(market, 'quoteCurrency');
178358
- const id = this.safeString(market, 'symbol');
178359
- const base = this.safeCurrencyCode(baseId);
178360
- const quote = this.safeCurrencyCode(quoteId);
178361
- const status = this.safeString(market, 'status');
178362
- result.push({
178363
- 'id': id,
178364
- 'symbol': base + '/' + quote,
178365
- 'base': base,
178366
- 'quote': quote,
178367
- 'settle': undefined,
178368
- 'baseId': baseId,
178369
- 'quoteId': quoteId,
178370
- 'settleId': undefined,
178371
- 'type': 'spot',
178372
- 'spot': true,
178373
- 'margin': false,
178374
- 'swap': false,
178375
- 'future': false,
178376
- 'option': false,
178377
- 'active': (status === 'ONLINE'),
178378
- 'contract': false,
178379
- 'linear': undefined,
178380
- 'inverse': undefined,
178381
- 'contractSize': undefined,
178382
- 'expiry': undefined,
178383
- 'expiryDatetime': undefined,
178384
- 'strike': undefined,
178385
- 'optionType': undefined,
178386
- 'precision': {
178387
- 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'amountPrecision'))),
178388
- 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'pricePrecision'))),
178389
- 'cost': this.parseNumber(this.parsePrecision(this.safeString(market, 'valuePrecision'))),
177001
+ return this.parseMarkets(data);
177002
+ }
177003
+ parseMarket(market) {
177004
+ const baseId = this.safeString(market, 'baseCurrency');
177005
+ const quoteId = this.safeString(market, 'quoteCurrency');
177006
+ const id = this.safeString(market, 'symbol');
177007
+ const base = this.safeCurrencyCode(baseId);
177008
+ const quote = this.safeCurrencyCode(quoteId);
177009
+ const status = this.safeString(market, 'status');
177010
+ return {
177011
+ 'id': id,
177012
+ 'symbol': base + '/' + quote,
177013
+ 'base': base,
177014
+ 'quote': quote,
177015
+ 'settle': undefined,
177016
+ 'baseId': baseId,
177017
+ 'quoteId': quoteId,
177018
+ 'settleId': undefined,
177019
+ 'type': 'spot',
177020
+ 'spot': true,
177021
+ 'margin': false,
177022
+ 'swap': false,
177023
+ 'future': false,
177024
+ 'option': false,
177025
+ 'active': (status === 'ONLINE'),
177026
+ 'contract': false,
177027
+ 'linear': undefined,
177028
+ 'inverse': undefined,
177029
+ 'contractSize': undefined,
177030
+ 'expiry': undefined,
177031
+ 'expiryDatetime': undefined,
177032
+ 'strike': undefined,
177033
+ 'optionType': undefined,
177034
+ 'precision': {
177035
+ 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'amountPrecision'))),
177036
+ 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'pricePrecision'))),
177037
+ // 'cost': this.parseNumber (this.parsePrecision (this.safeString (market, 'valuePrecision'))),
177038
+ },
177039
+ 'limits': {
177040
+ 'leverage': {
177041
+ 'min': undefined,
177042
+ 'max': undefined,
178390
177043
  },
178391
- 'limits': {
178392
- 'leverage': {
178393
- 'min': undefined,
178394
- 'max': undefined,
178395
- },
178396
- 'amount': {
178397
- 'min': this.safeNumber(market, 'minOrderAmount'),
178398
- 'max': undefined,
178399
- },
178400
- 'price': {
178401
- 'min': undefined,
178402
- 'max': undefined,
178403
- },
178404
- 'cost': {
178405
- 'min': this.safeNumber(market, 'minOrderValue'),
178406
- 'max': undefined,
178407
- },
177044
+ 'amount': {
177045
+ 'min': this.safeNumber(market, 'minOrderAmount'),
177046
+ 'max': undefined,
178408
177047
  },
178409
- 'created': undefined,
178410
- 'info': market,
178411
- });
178412
- }
178413
- return result;
177048
+ 'price': {
177049
+ 'min': undefined,
177050
+ 'max': undefined,
177051
+ },
177052
+ 'cost': {
177053
+ 'min': this.safeNumber(market, 'minOrderValue'),
177054
+ 'max': undefined,
177055
+ },
177056
+ },
177057
+ 'created': undefined,
177058
+ 'info': market,
177059
+ };
178414
177060
  }
178415
177061
  parseTicker(ticker, market = undefined) {
178416
177062
  //
@@ -179828,69 +178474,67 @@ class oceanex extends _abstract_oceanex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
179828
178474
  // "minimum_trading_amount": "1.0"
179829
178475
  // },
179830
178476
  //
179831
- const result = [];
179832
178477
  const markets = this.safeValue(response, 'data', []);
179833
- for (let i = 0; i < markets.length; i++) {
179834
- const market = markets[i];
179835
- const id = this.safeValue(market, 'id');
179836
- const name = this.safeValue(market, 'name');
179837
- let [baseId, quoteId] = name.split('/');
179838
- const base = this.safeCurrencyCode(baseId);
179839
- const quote = this.safeCurrencyCode(quoteId);
179840
- baseId = baseId.toLowerCase();
179841
- quoteId = quoteId.toLowerCase();
179842
- const symbol = base + '/' + quote;
179843
- result.push({
179844
- 'id': id,
179845
- 'symbol': symbol,
179846
- 'base': base,
179847
- 'quote': quote,
179848
- 'settle': undefined,
179849
- 'baseId': baseId,
179850
- 'quoteId': quoteId,
179851
- 'settleId': undefined,
179852
- 'type': 'spot',
179853
- 'spot': true,
179854
- 'margin': false,
179855
- 'swap': false,
179856
- 'future': false,
179857
- 'option': false,
179858
- 'active': undefined,
179859
- 'contract': false,
179860
- 'linear': undefined,
179861
- 'inverse': undefined,
179862
- 'contractSize': undefined,
179863
- 'expiry': undefined,
179864
- 'expiryDatetime': undefined,
179865
- 'strike': undefined,
179866
- 'optionType': undefined,
179867
- 'precision': {
179868
- 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'amount_precision'))),
179869
- 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'price_precision'))),
178478
+ return this.parseMarkets(markets);
178479
+ }
178480
+ parseMarket(market) {
178481
+ const id = this.safeValue(market, 'id');
178482
+ const name = this.safeValue(market, 'name');
178483
+ let [baseId, quoteId] = name.split('/');
178484
+ const base = this.safeCurrencyCode(baseId);
178485
+ const quote = this.safeCurrencyCode(quoteId);
178486
+ baseId = baseId.toLowerCase();
178487
+ quoteId = quoteId.toLowerCase();
178488
+ const symbol = base + '/' + quote;
178489
+ return {
178490
+ 'id': id,
178491
+ 'symbol': symbol,
178492
+ 'base': base,
178493
+ 'quote': quote,
178494
+ 'settle': undefined,
178495
+ 'baseId': baseId,
178496
+ 'quoteId': quoteId,
178497
+ 'settleId': undefined,
178498
+ 'type': 'spot',
178499
+ 'spot': true,
178500
+ 'margin': false,
178501
+ 'swap': false,
178502
+ 'future': false,
178503
+ 'option': false,
178504
+ 'active': undefined,
178505
+ 'contract': false,
178506
+ 'linear': undefined,
178507
+ 'inverse': undefined,
178508
+ 'contractSize': undefined,
178509
+ 'expiry': undefined,
178510
+ 'expiryDatetime': undefined,
178511
+ 'strike': undefined,
178512
+ 'optionType': undefined,
178513
+ 'precision': {
178514
+ 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'amount_precision'))),
178515
+ 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'price_precision'))),
178516
+ },
178517
+ 'limits': {
178518
+ 'leverage': {
178519
+ 'min': undefined,
178520
+ 'max': undefined,
179870
178521
  },
179871
- 'limits': {
179872
- 'leverage': {
179873
- 'min': undefined,
179874
- 'max': undefined,
179875
- },
179876
- 'amount': {
179877
- 'min': undefined,
179878
- 'max': undefined,
179879
- },
179880
- 'price': {
179881
- 'min': undefined,
179882
- 'max': undefined,
179883
- },
179884
- 'cost': {
179885
- 'min': this.safeNumber(market, 'minimum_trading_amount'),
179886
- 'max': undefined,
179887
- },
178522
+ 'amount': {
178523
+ 'min': undefined,
178524
+ 'max': undefined,
179888
178525
  },
179889
- 'created': undefined,
179890
- 'info': market,
179891
- });
179892
- }
179893
- return result;
178526
+ 'price': {
178527
+ 'min': undefined,
178528
+ 'max': undefined,
178529
+ },
178530
+ 'cost': {
178531
+ 'min': this.safeNumber(market, 'minimum_trading_amount'),
178532
+ 'max': undefined,
178533
+ },
178534
+ },
178535
+ 'created': undefined,
178536
+ 'info': market,
178537
+ };
179894
178538
  }
179895
178539
  async fetchTicker(symbol, params = {}) {
179896
178540
  /**
@@ -181214,15 +179858,7 @@ class okcoin extends _abstract_okcoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
181214
179858
  };
181215
179859
  const response = await this.publicGetPublicInstruments(this.extend(request, params));
181216
179860
  const markets = this.safeValue(response, 'data', []);
181217
- const result = this.parseMarkets(markets);
181218
- return result;
181219
- }
181220
- parseMarkets(markets) {
181221
- const result = [];
181222
- for (let i = 0; i < markets.length; i++) {
181223
- result.push(this.parseMarket(markets[i]));
181224
- }
181225
- return result;
179861
+ return this.parseMarkets(markets);
181226
179862
  }
181227
179863
  parseMarket(market) {
181228
179864
  //
@@ -185032,13 +183668,6 @@ class okx extends _abstract_okx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
185032
183668
  }
185033
183669
  return result;
185034
183670
  }
185035
- parseMarkets(markets) {
185036
- const result = [];
185037
- for (let i = 0; i < markets.length; i++) {
185038
- result.push(this.parseMarket(markets[i]));
185039
- }
185040
- return result;
185041
- }
185042
183671
  parseMarket(market) {
185043
183672
  //
185044
183673
  // {
@@ -196394,65 +195023,63 @@ class poloniex extends _abstract_poloniex_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
196394
195023
  // }
196395
195024
  // ]
196396
195025
  //
196397
- const result = [];
196398
- for (let i = 0; i < markets.length; i++) {
196399
- const market = this.safeValue(markets, i);
196400
- const id = this.safeString(market, 'symbol');
196401
- const baseId = this.safeString(market, 'baseCurrencyName');
196402
- const quoteId = this.safeString(market, 'quoteCurrencyName');
196403
- const base = this.safeCurrencyCode(baseId);
196404
- const quote = this.safeCurrencyCode(quoteId);
196405
- const state = this.safeString(market, 'state');
196406
- const active = state === 'NORMAL';
196407
- const symbolTradeLimit = this.safeValue(market, 'symbolTradeLimit');
196408
- // these are known defaults
196409
- result.push({
196410
- 'id': id,
196411
- 'symbol': base + '/' + quote,
196412
- 'base': base,
196413
- 'quote': quote,
196414
- 'settle': undefined,
196415
- 'baseId': baseId,
196416
- 'quoteId': quoteId,
196417
- 'settleId': undefined,
196418
- 'type': 'spot',
196419
- 'spot': true,
196420
- 'margin': false,
196421
- 'swap': false,
196422
- 'future': false,
196423
- 'option': false,
196424
- 'active': active,
196425
- 'contract': false,
196426
- 'linear': undefined,
196427
- 'inverse': undefined,
196428
- 'contractSize': undefined,
196429
- 'expiry': undefined,
196430
- 'expiryDatetime': undefined,
196431
- 'strike': undefined,
196432
- 'optionType': undefined,
196433
- 'precision': {
196434
- 'amount': this.parseNumber(this.parsePrecision(this.safeString(symbolTradeLimit, 'quantityScale'))),
196435
- 'price': this.parseNumber(this.parsePrecision(this.safeString(symbolTradeLimit, 'priceScale'))),
195026
+ return this.parseMarkets(markets);
195027
+ }
195028
+ parseMarket(market) {
195029
+ const id = this.safeString(market, 'symbol');
195030
+ const baseId = this.safeString(market, 'baseCurrencyName');
195031
+ const quoteId = this.safeString(market, 'quoteCurrencyName');
195032
+ const base = this.safeCurrencyCode(baseId);
195033
+ const quote = this.safeCurrencyCode(quoteId);
195034
+ const state = this.safeString(market, 'state');
195035
+ const active = state === 'NORMAL';
195036
+ const symbolTradeLimit = this.safeValue(market, 'symbolTradeLimit');
195037
+ // these are known defaults
195038
+ return {
195039
+ 'id': id,
195040
+ 'symbol': base + '/' + quote,
195041
+ 'base': base,
195042
+ 'quote': quote,
195043
+ 'settle': undefined,
195044
+ 'baseId': baseId,
195045
+ 'quoteId': quoteId,
195046
+ 'settleId': undefined,
195047
+ 'type': 'spot',
195048
+ 'spot': true,
195049
+ 'margin': false,
195050
+ 'swap': false,
195051
+ 'future': false,
195052
+ 'option': false,
195053
+ 'active': active,
195054
+ 'contract': false,
195055
+ 'linear': undefined,
195056
+ 'inverse': undefined,
195057
+ 'contractSize': undefined,
195058
+ 'expiry': undefined,
195059
+ 'expiryDatetime': undefined,
195060
+ 'strike': undefined,
195061
+ 'optionType': undefined,
195062
+ 'precision': {
195063
+ 'amount': this.parseNumber(this.parsePrecision(this.safeString(symbolTradeLimit, 'quantityScale'))),
195064
+ 'price': this.parseNumber(this.parsePrecision(this.safeString(symbolTradeLimit, 'priceScale'))),
195065
+ },
195066
+ 'limits': {
195067
+ 'amount': {
195068
+ 'min': this.safeNumber(symbolTradeLimit, 'minQuantity'),
195069
+ 'max': undefined,
196436
195070
  },
196437
- 'limits': {
196438
- 'amount': {
196439
- 'min': this.safeNumber(symbolTradeLimit, 'minQuantity'),
196440
- 'max': undefined,
196441
- },
196442
- 'price': {
196443
- 'min': undefined,
196444
- 'max': undefined,
196445
- },
196446
- 'cost': {
196447
- 'min': this.safeNumber(symbolTradeLimit, 'minAmount'),
196448
- 'max': undefined,
196449
- },
195071
+ 'price': {
195072
+ 'min': undefined,
195073
+ 'max': undefined,
196450
195074
  },
196451
- 'created': this.safeInteger(market, 'tradableStartTime'),
196452
- 'info': market,
196453
- });
196454
- }
196455
- return result;
195075
+ 'cost': {
195076
+ 'min': this.safeNumber(symbolTradeLimit, 'minAmount'),
195077
+ 'max': undefined,
195078
+ },
195079
+ },
195080
+ 'created': this.safeInteger(market, 'tradableStartTime'),
195081
+ 'info': market,
195082
+ };
196456
195083
  }
196457
195084
  async fetchTime(params = {}) {
196458
195085
  /**
@@ -198506,79 +197133,76 @@ class poloniexfutures extends _abstract_poloniexfutures_js__WEBPACK_IMPORTED_MOD
198506
197133
  // ]
198507
197134
  // }
198508
197135
  //
198509
- const result = [];
198510
197136
  const data = this.safeValue(response, 'data', []);
198511
- const dataLength = data.length;
198512
- for (let i = 0; i < dataLength; i++) {
198513
- const market = data[i];
198514
- const id = this.safeString(market, 'symbol');
198515
- const baseId = this.safeString(market, 'baseCurrency');
198516
- const quoteId = this.safeString(market, 'quoteCurrency');
198517
- const settleId = this.safeString(market, 'rootSymbol');
198518
- const base = this.safeCurrencyCode(baseId);
198519
- const quote = this.safeCurrencyCode(quoteId);
198520
- const settle = this.safeCurrencyCode(settleId);
198521
- const symbol = base + '/' + quote + ':' + settle;
198522
- const inverse = this.safeValue(market, 'isInverse');
198523
- const status = this.safeString(market, 'status');
198524
- const multiplier = this.safeString(market, 'multiplier');
198525
- const tickSize = this.safeNumber(market, 'indexPriceTickSize');
198526
- const lotSize = this.safeNumber(market, 'lotSize');
198527
- const limitAmountMax = this.safeNumber(market, 'maxOrderQty');
198528
- const limitPriceMax = this.safeNumber(market, 'maxPrice');
198529
- result.push({
198530
- 'id': id,
198531
- 'symbol': symbol,
198532
- 'base': base,
198533
- 'quote': quote,
198534
- 'settle': settle,
198535
- 'baseId': baseId,
198536
- 'quoteId': quoteId,
198537
- 'settleId': settleId,
198538
- 'type': 'swap',
198539
- 'spot': false,
198540
- 'margin': false,
198541
- 'swap': true,
198542
- 'future': false,
198543
- 'option': false,
198544
- 'active': (status === 'Open'),
198545
- 'contract': true,
198546
- 'linear': !inverse,
198547
- 'inverse': inverse,
198548
- 'taker': this.safeNumber(market, 'takerFeeRate'),
198549
- 'maker': this.safeNumber(market, 'makerFeeRate'),
198550
- 'contractSize': this.parseNumber(_base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringAbs */ .O.stringAbs(multiplier)),
198551
- 'expiry': undefined,
198552
- 'expiryDatetime': undefined,
198553
- 'strike': undefined,
198554
- 'optionType': undefined,
198555
- 'precision': {
198556
- 'amount': lotSize,
198557
- 'price': tickSize,
197137
+ return this.parseMarkets(data);
197138
+ }
197139
+ parseMarket(market) {
197140
+ const id = this.safeString(market, 'symbol');
197141
+ const baseId = this.safeString(market, 'baseCurrency');
197142
+ const quoteId = this.safeString(market, 'quoteCurrency');
197143
+ const settleId = this.safeString(market, 'rootSymbol');
197144
+ const base = this.safeCurrencyCode(baseId);
197145
+ const quote = this.safeCurrencyCode(quoteId);
197146
+ const settle = this.safeCurrencyCode(settleId);
197147
+ const symbol = base + '/' + quote + ':' + settle;
197148
+ const inverse = this.safeValue(market, 'isInverse');
197149
+ const status = this.safeString(market, 'status');
197150
+ const multiplier = this.safeString(market, 'multiplier');
197151
+ const tickSize = this.safeNumber(market, 'indexPriceTickSize');
197152
+ const lotSize = this.safeNumber(market, 'lotSize');
197153
+ const limitAmountMax = this.safeNumber(market, 'maxOrderQty');
197154
+ const limitPriceMax = this.safeNumber(market, 'maxPrice');
197155
+ return {
197156
+ 'id': id,
197157
+ 'symbol': symbol,
197158
+ 'base': base,
197159
+ 'quote': quote,
197160
+ 'settle': settle,
197161
+ 'baseId': baseId,
197162
+ 'quoteId': quoteId,
197163
+ 'settleId': settleId,
197164
+ 'type': 'swap',
197165
+ 'spot': false,
197166
+ 'margin': false,
197167
+ 'swap': true,
197168
+ 'future': false,
197169
+ 'option': false,
197170
+ 'active': (status === 'Open'),
197171
+ 'contract': true,
197172
+ 'linear': !inverse,
197173
+ 'inverse': inverse,
197174
+ 'taker': this.safeNumber(market, 'takerFeeRate'),
197175
+ 'maker': this.safeNumber(market, 'makerFeeRate'),
197176
+ 'contractSize': this.parseNumber(_base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringAbs */ .O.stringAbs(multiplier)),
197177
+ 'expiry': undefined,
197178
+ 'expiryDatetime': undefined,
197179
+ 'strike': undefined,
197180
+ 'optionType': undefined,
197181
+ 'precision': {
197182
+ 'amount': lotSize,
197183
+ 'price': tickSize,
197184
+ },
197185
+ 'limits': {
197186
+ 'leverage': {
197187
+ 'min': this.parseNumber('1'),
197188
+ 'max': this.safeNumber(market, 'maxLeverage'),
198558
197189
  },
198559
- 'limits': {
198560
- 'leverage': {
198561
- 'min': this.parseNumber('1'),
198562
- 'max': this.safeNumber(market, 'maxLeverage'),
198563
- },
198564
- 'amount': {
198565
- 'min': lotSize,
198566
- 'max': limitAmountMax,
198567
- },
198568
- 'price': {
198569
- 'min': tickSize,
198570
- 'max': limitPriceMax,
198571
- },
198572
- 'cost': {
198573
- 'min': undefined,
198574
- 'max': undefined,
198575
- },
197190
+ 'amount': {
197191
+ 'min': lotSize,
197192
+ 'max': limitAmountMax,
198576
197193
  },
198577
- 'created': this.safeInteger(market, 'firstOpenDate'),
198578
- 'info': market,
198579
- });
198580
- }
198581
- return result;
197194
+ 'price': {
197195
+ 'min': tickSize,
197196
+ 'max': limitPriceMax,
197197
+ },
197198
+ 'cost': {
197199
+ 'min': undefined,
197200
+ 'max': undefined,
197201
+ },
197202
+ },
197203
+ 'created': this.safeInteger(market, 'firstOpenDate'),
197204
+ 'info': market,
197205
+ };
198582
197206
  }
198583
197207
  parseTicker(ticker, market = undefined) {
198584
197208
  //
@@ -205061,11 +203685,12 @@ class bingx extends _bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
205061
203685
  // "h": "28915.4",
205062
203686
  // "l": "28896.1",
205063
203687
  // "v": "27.6919",
205064
- // "T": 1690907580000
203688
+ // "T": 1696687499999,
203689
+ // "t": 1696687440000
205065
203690
  // }
205066
203691
  //
205067
203692
  return [
205068
- this.safeInteger(ohlcv, 'T'),
203693
+ this.safeInteger(ohlcv, 't'),
205069
203694
  this.safeNumber(ohlcv, 'o'),
205070
203695
  this.safeNumber(ohlcv, 'h'),
205071
203696
  this.safeNumber(ohlcv, 'l'),
@@ -205359,16 +203984,22 @@ class bingx extends _bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
205359
203984
  // swap
205360
203985
  // Ping
205361
203986
  //
205362
- if (message === 'Ping') {
205363
- await client.send('Pong');
203987
+ try {
203988
+ if (message === 'Ping') {
203989
+ await client.send('Pong');
203990
+ }
203991
+ else {
203992
+ const ping = this.safeString(message, 'ping');
203993
+ const time = this.safeString(message, 'time');
203994
+ await client.send({
203995
+ 'pong': ping,
203996
+ 'time': time,
203997
+ });
203998
+ }
205364
203999
  }
205365
- else {
205366
- const ping = this.safeString(message, 'ping');
205367
- const time = this.safeString(message, 'time');
205368
- await client.send({
205369
- 'pong': ping,
205370
- 'time': time,
205371
- });
204000
+ catch (e) {
204001
+ const error = new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.NetworkError(this.id + ' pong failed with error ' + this.json(e));
204002
+ client.reset(error);
205372
204003
  }
205373
204004
  }
205374
204005
  handleOrder(client, message) {
@@ -244935,6 +243566,15 @@ class poloniexfutures extends _poloniexfutures_js__WEBPACK_IMPORTED_MODULE_0__/*
244935
243566
  return this.deepExtend(super.describe(), {
244936
243567
  'has': {
244937
243568
  'ws': true,
243569
+ 'cancelAllOrdersWs': false,
243570
+ 'cancelOrdersWs': false,
243571
+ 'cancelOrderWs': false,
243572
+ 'createOrderWs': false,
243573
+ 'editOrderWs': false,
243574
+ 'fetchBalanceWs': false,
243575
+ 'fetchOpenOrdersWs': false,
243576
+ 'fetchOrderWs': false,
243577
+ 'fetchTradesWs': false,
244938
243578
  'watchOHLCV': false,
244939
243579
  'watchOrderBook': true,
244940
243580
  'watchTicker': true,
@@ -249544,73 +248184,70 @@ class probit extends _abstract_probit_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
249544
248184
  // }
249545
248185
  //
249546
248186
  const markets = this.safeValue(response, 'data', []);
249547
- const result = [];
249548
- for (let i = 0; i < markets.length; i++) {
249549
- const market = markets[i];
249550
- const id = this.safeString(market, 'id');
249551
- const baseId = this.safeString(market, 'base_currency_id');
249552
- const quoteId = this.safeString(market, 'quote_currency_id');
249553
- const base = this.safeCurrencyCode(baseId);
249554
- const quote = this.safeCurrencyCode(quoteId);
249555
- const closed = this.safeValue(market, 'closed', false);
249556
- const takerFeeRate = this.safeString(market, 'taker_fee_rate');
249557
- const taker = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringDiv */ .O.stringDiv(takerFeeRate, '100');
249558
- const makerFeeRate = this.safeString(market, 'maker_fee_rate');
249559
- const maker = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringDiv */ .O.stringDiv(makerFeeRate, '100');
249560
- result.push({
249561
- 'id': id,
249562
- 'symbol': base + '/' + quote,
249563
- 'base': base,
249564
- 'quote': quote,
249565
- 'settle': undefined,
249566
- 'baseId': baseId,
249567
- 'quoteId': quoteId,
249568
- 'settleId': undefined,
249569
- 'type': 'spot',
249570
- 'spot': true,
249571
- 'margin': false,
249572
- 'swap': false,
249573
- 'future': false,
249574
- 'option': false,
249575
- 'active': !closed,
249576
- 'contract': false,
249577
- 'linear': 'rfwf',
249578
- 'inverse': 3,
249579
- 'taker': this.parseNumber(taker),
249580
- 'maker': this.parseNumber(maker),
249581
- 'contractSize': undefined,
249582
- 'expiry': undefined,
249583
- 'expiryDatetime': undefined,
249584
- 'strike': undefined,
249585
- 'optionType': undefined,
249586
- 'precision': {
249587
- 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'quantity_precision'))),
249588
- 'price': this.safeNumber(market, 'price_increment'),
249589
- 'cost': this.parseNumber(this.parsePrecision(this.safeString(market, 'cost_precision'))),
248187
+ return this.parseMarkets(markets);
248188
+ }
248189
+ parseMarket(market) {
248190
+ const id = this.safeString(market, 'id');
248191
+ const baseId = this.safeString(market, 'base_currency_id');
248192
+ const quoteId = this.safeString(market, 'quote_currency_id');
248193
+ const base = this.safeCurrencyCode(baseId);
248194
+ const quote = this.safeCurrencyCode(quoteId);
248195
+ const closed = this.safeValue(market, 'closed', false);
248196
+ const takerFeeRate = this.safeString(market, 'taker_fee_rate');
248197
+ const taker = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringDiv */ .O.stringDiv(takerFeeRate, '100');
248198
+ const makerFeeRate = this.safeString(market, 'maker_fee_rate');
248199
+ const maker = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringDiv */ .O.stringDiv(makerFeeRate, '100');
248200
+ return {
248201
+ 'id': id,
248202
+ 'symbol': base + '/' + quote,
248203
+ 'base': base,
248204
+ 'quote': quote,
248205
+ 'settle': undefined,
248206
+ 'baseId': baseId,
248207
+ 'quoteId': quoteId,
248208
+ 'settleId': undefined,
248209
+ 'type': 'spot',
248210
+ 'spot': true,
248211
+ 'margin': false,
248212
+ 'swap': false,
248213
+ 'future': false,
248214
+ 'option': false,
248215
+ 'active': !closed,
248216
+ 'contract': false,
248217
+ 'linear': undefined,
248218
+ 'inverse': undefined,
248219
+ 'taker': this.parseNumber(taker),
248220
+ 'maker': this.parseNumber(maker),
248221
+ 'contractSize': undefined,
248222
+ 'expiry': undefined,
248223
+ 'expiryDatetime': undefined,
248224
+ 'strike': undefined,
248225
+ 'optionType': undefined,
248226
+ 'precision': {
248227
+ 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'quantity_precision'))),
248228
+ 'price': this.safeNumber(market, 'price_increment'),
248229
+ },
248230
+ 'limits': {
248231
+ 'leverage': {
248232
+ 'min': undefined,
248233
+ 'max': undefined,
249590
248234
  },
249591
- 'limits': {
249592
- 'leverage': {
249593
- 'min': undefined,
249594
- 'max': undefined,
249595
- },
249596
- 'amount': {
249597
- 'min': this.safeNumber(market, 'min_quantity'),
249598
- 'max': this.safeNumber(market, 'max_quantity'),
249599
- },
249600
- 'price': {
249601
- 'min': this.safeNumber(market, 'min_price'),
249602
- 'max': this.safeNumber(market, 'max_price'),
249603
- },
249604
- 'cost': {
249605
- 'min': this.safeNumber(market, 'min_cost'),
249606
- 'max': this.safeNumber(market, 'max_cost'),
249607
- },
248235
+ 'amount': {
248236
+ 'min': this.safeNumber(market, 'min_quantity'),
248237
+ 'max': this.safeNumber(market, 'max_quantity'),
249608
248238
  },
249609
- 'created': undefined,
249610
- 'info': market,
249611
- });
249612
- }
249613
- return result;
248239
+ 'price': {
248240
+ 'min': this.safeNumber(market, 'min_price'),
248241
+ 'max': this.safeNumber(market, 'max_price'),
248242
+ },
248243
+ 'cost': {
248244
+ 'min': this.safeNumber(market, 'min_cost'),
248245
+ 'max': this.safeNumber(market, 'max_cost'),
248246
+ },
248247
+ },
248248
+ 'created': undefined,
248249
+ 'info': market,
248250
+ };
249614
248251
  }
249615
248252
  async fetchCurrencies(params = {}) {
249616
248253
  /**
@@ -261432,11 +260069,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
261432
260069
  // }
261433
260070
  // ]
261434
260071
  //
261435
- const result = [];
261436
- for (let i = 0; i < response.length; i++) {
261437
- result.push(this.parseMarket(response[i]));
261438
- }
261439
- return result;
260072
+ return this.parseMarkets(response);
261440
260073
  }
261441
260074
  async fetchCurrencies(params = {}) {
261442
260075
  /**
@@ -265663,66 +264296,64 @@ class upbit extends _abstract_upbit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
265663
264296
  // ...,
265664
264297
  // ]
265665
264298
  //
265666
- const result = [];
265667
- for (let i = 0; i < response.length; i++) {
265668
- const market = response[i];
265669
- const id = this.safeString(market, 'market');
265670
- const [quoteId, baseId] = id.split('-');
265671
- const base = this.safeCurrencyCode(baseId);
265672
- const quote = this.safeCurrencyCode(quoteId);
265673
- result.push({
265674
- 'id': id,
265675
- 'symbol': base + '/' + quote,
265676
- 'base': base,
265677
- 'quote': quote,
265678
- 'settle': undefined,
265679
- 'baseId': baseId,
265680
- 'quoteId': quoteId,
265681
- 'settleId': undefined,
265682
- 'type': 'spot',
265683
- 'spot': true,
265684
- 'margin': false,
265685
- 'swap': false,
265686
- 'future': false,
265687
- 'option': false,
265688
- 'active': true,
265689
- 'contract': false,
265690
- 'linear': undefined,
265691
- 'inverse': undefined,
265692
- 'taker': this.safeNumber(this.options['tradingFeesByQuoteCurrency'], quote, this.fees['trading']['taker']),
265693
- 'maker': this.safeNumber(this.options['tradingFeesByQuoteCurrency'], quote, this.fees['trading']['maker']),
265694
- 'contractSize': undefined,
265695
- 'expiry': undefined,
265696
- 'expiryDatetime': undefined,
265697
- 'strike': undefined,
265698
- 'optionType': undefined,
265699
- 'precision': {
265700
- 'price': this.parseNumber('1e-8'),
265701
- 'amount': this.parseNumber('1e-8'),
264299
+ return this.parseMarkets(response);
264300
+ }
264301
+ parseMarket(market) {
264302
+ const id = this.safeString(market, 'market');
264303
+ const [quoteId, baseId] = id.split('-');
264304
+ const base = this.safeCurrencyCode(baseId);
264305
+ const quote = this.safeCurrencyCode(quoteId);
264306
+ return {
264307
+ 'id': id,
264308
+ 'symbol': base + '/' + quote,
264309
+ 'base': base,
264310
+ 'quote': quote,
264311
+ 'settle': undefined,
264312
+ 'baseId': baseId,
264313
+ 'quoteId': quoteId,
264314
+ 'settleId': undefined,
264315
+ 'type': 'spot',
264316
+ 'spot': true,
264317
+ 'margin': false,
264318
+ 'swap': false,
264319
+ 'future': false,
264320
+ 'option': false,
264321
+ 'active': true,
264322
+ 'contract': false,
264323
+ 'linear': undefined,
264324
+ 'inverse': undefined,
264325
+ 'taker': this.safeNumber(this.options['tradingFeesByQuoteCurrency'], quote, this.fees['trading']['taker']),
264326
+ 'maker': this.safeNumber(this.options['tradingFeesByQuoteCurrency'], quote, this.fees['trading']['maker']),
264327
+ 'contractSize': undefined,
264328
+ 'expiry': undefined,
264329
+ 'expiryDatetime': undefined,
264330
+ 'strike': undefined,
264331
+ 'optionType': undefined,
264332
+ 'precision': {
264333
+ 'price': this.parseNumber('1e-8'),
264334
+ 'amount': this.parseNumber('1e-8'),
264335
+ },
264336
+ 'limits': {
264337
+ 'leverage': {
264338
+ 'min': undefined,
264339
+ 'max': undefined,
265702
264340
  },
265703
- 'limits': {
265704
- 'leverage': {
265705
- 'min': undefined,
265706
- 'max': undefined,
265707
- },
265708
- 'amount': {
265709
- 'min': undefined,
265710
- 'max': undefined,
265711
- },
265712
- 'price': {
265713
- 'min': undefined,
265714
- 'max': undefined,
265715
- },
265716
- 'cost': {
265717
- 'min': undefined,
265718
- 'max': undefined,
265719
- },
264341
+ 'amount': {
264342
+ 'min': undefined,
264343
+ 'max': undefined,
265720
264344
  },
265721
- 'created': undefined,
265722
- 'info': market,
265723
- });
265724
- }
265725
- return result;
264345
+ 'price': {
264346
+ 'min': undefined,
264347
+ 'max': undefined,
264348
+ },
264349
+ 'cost': {
264350
+ 'min': undefined,
264351
+ 'max': undefined,
264352
+ },
264353
+ },
264354
+ 'created': undefined,
264355
+ 'info': market,
264356
+ };
265726
264357
  }
265727
264358
  parseBalance(response) {
265728
264359
  const result = {
@@ -269917,83 +268548,81 @@ class wazirx extends _abstract_wazirx_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
269917
268548
  // },
269918
268549
  //
269919
268550
  const markets = this.safeValue(response, 'symbols', []);
269920
- const result = [];
269921
- for (let i = 0; i < markets.length; i++) {
269922
- const market = markets[i];
269923
- const id = this.safeString(market, 'symbol');
269924
- const baseId = this.safeString(market, 'baseAsset');
269925
- const quoteId = this.safeString(market, 'quoteAsset');
269926
- const base = this.safeCurrencyCode(baseId);
269927
- const quote = this.safeCurrencyCode(quoteId);
269928
- const isSpot = this.safeValue(market, 'isSpotTradingAllowed');
269929
- const filters = this.safeValue(market, 'filters');
269930
- let minPrice = undefined;
269931
- for (let j = 0; j < filters.length; j++) {
269932
- const filter = filters[j];
269933
- const filterType = this.safeString(filter, 'filterType');
269934
- if (filterType === 'PRICE_FILTER') {
269935
- minPrice = this.safeNumber(filter, 'minPrice');
269936
- }
269937
- }
269938
- const fee = this.safeValue(this.fees, quote, {});
269939
- let takerString = this.safeString(fee, 'taker', '0.2');
269940
- takerString = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringDiv */ .O.stringDiv(takerString, '100');
269941
- let makerString = this.safeString(fee, 'maker', '0.2');
269942
- makerString = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringDiv */ .O.stringDiv(makerString, '100');
269943
- const status = this.safeString(market, 'status');
269944
- result.push({
269945
- 'id': id,
269946
- 'symbol': base + '/' + quote,
269947
- 'base': base,
269948
- 'quote': quote,
269949
- 'settle': undefined,
269950
- 'baseId': baseId,
269951
- 'quoteId': quoteId,
269952
- 'settleId': undefined,
269953
- 'type': 'spot',
269954
- 'spot': isSpot,
269955
- 'margin': false,
269956
- 'swap': false,
269957
- 'future': false,
269958
- 'option': false,
269959
- 'active': (status === 'trading'),
269960
- 'contract': false,
269961
- 'linear': undefined,
269962
- 'inverse': undefined,
269963
- 'taker': this.parseNumber(takerString),
269964
- 'maker': this.parseNumber(makerString),
269965
- 'contractSize': undefined,
269966
- 'expiry': undefined,
269967
- 'expiryDatetime': undefined,
269968
- 'strike': undefined,
269969
- 'optionType': undefined,
269970
- 'precision': {
269971
- 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'baseAssetPrecision'))),
269972
- 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'quoteAssetPrecision'))),
268551
+ return this.parseMarkets(markets);
268552
+ }
268553
+ parseMarket(market) {
268554
+ const id = this.safeString(market, 'symbol');
268555
+ const baseId = this.safeString(market, 'baseAsset');
268556
+ const quoteId = this.safeString(market, 'quoteAsset');
268557
+ const base = this.safeCurrencyCode(baseId);
268558
+ const quote = this.safeCurrencyCode(quoteId);
268559
+ const isSpot = this.safeValue(market, 'isSpotTradingAllowed');
268560
+ const filters = this.safeValue(market, 'filters');
268561
+ let minPrice = undefined;
268562
+ for (let j = 0; j < filters.length; j++) {
268563
+ const filter = filters[j];
268564
+ const filterType = this.safeString(filter, 'filterType');
268565
+ if (filterType === 'PRICE_FILTER') {
268566
+ minPrice = this.safeNumber(filter, 'minPrice');
268567
+ }
268568
+ }
268569
+ const fee = this.safeValue(this.fees, quote, {});
268570
+ let takerString = this.safeString(fee, 'taker', '0.2');
268571
+ takerString = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringDiv */ .O.stringDiv(takerString, '100');
268572
+ let makerString = this.safeString(fee, 'maker', '0.2');
268573
+ makerString = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringDiv */ .O.stringDiv(makerString, '100');
268574
+ const status = this.safeString(market, 'status');
268575
+ return {
268576
+ 'id': id,
268577
+ 'symbol': base + '/' + quote,
268578
+ 'base': base,
268579
+ 'quote': quote,
268580
+ 'settle': undefined,
268581
+ 'baseId': baseId,
268582
+ 'quoteId': quoteId,
268583
+ 'settleId': undefined,
268584
+ 'type': 'spot',
268585
+ 'spot': isSpot,
268586
+ 'margin': false,
268587
+ 'swap': false,
268588
+ 'future': false,
268589
+ 'option': false,
268590
+ 'active': (status === 'trading'),
268591
+ 'contract': false,
268592
+ 'linear': undefined,
268593
+ 'inverse': undefined,
268594
+ 'taker': this.parseNumber(takerString),
268595
+ 'maker': this.parseNumber(makerString),
268596
+ 'contractSize': undefined,
268597
+ 'expiry': undefined,
268598
+ 'expiryDatetime': undefined,
268599
+ 'strike': undefined,
268600
+ 'optionType': undefined,
268601
+ 'precision': {
268602
+ 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'baseAssetPrecision'))),
268603
+ 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'quoteAssetPrecision'))),
268604
+ },
268605
+ 'limits': {
268606
+ 'leverage': {
268607
+ 'min': undefined,
268608
+ 'max': undefined,
269973
268609
  },
269974
- 'limits': {
269975
- 'leverage': {
269976
- 'min': undefined,
269977
- 'max': undefined,
269978
- },
269979
- 'price': {
269980
- 'min': minPrice,
269981
- 'max': undefined,
269982
- },
269983
- 'amount': {
269984
- 'min': undefined,
269985
- 'max': undefined,
269986
- },
269987
- 'cost': {
269988
- 'min': undefined,
269989
- 'max': undefined,
269990
- },
268610
+ 'price': {
268611
+ 'min': minPrice,
268612
+ 'max': undefined,
269991
268613
  },
269992
- 'created': undefined,
269993
- 'info': market,
269994
- });
269995
- }
269996
- return result;
268614
+ 'amount': {
268615
+ 'min': undefined,
268616
+ 'max': undefined,
268617
+ },
268618
+ 'cost': {
268619
+ 'min': undefined,
268620
+ 'max': undefined,
268621
+ },
268622
+ },
268623
+ 'created': undefined,
268624
+ 'info': market,
268625
+ };
269997
268626
  }
269998
268627
  async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
269999
268628
  /**
@@ -270953,99 +269582,96 @@ class whitebit extends _abstract_whitebit_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
270953
269582
  // }
270954
269583
  // ]
270955
269584
  //
270956
- const result = [];
270957
- for (let i = 0; i < markets.length; i++) {
270958
- const market = markets[i];
270959
- const id = this.safeString(market, 'name');
270960
- const baseId = this.safeString(market, 'stock');
270961
- let quoteId = this.safeString(market, 'money');
270962
- quoteId = (quoteId === 'PERP') ? 'USDT' : quoteId;
270963
- const base = this.safeCurrencyCode(baseId);
270964
- const quote = this.safeCurrencyCode(quoteId);
270965
- const active = this.safeValue(market, 'tradesEnabled');
270966
- const isCollateral = this.safeValue(market, 'isCollateral');
270967
- const typeId = this.safeString(market, 'type');
270968
- let type = undefined;
270969
- let settle = undefined;
270970
- let settleId = undefined;
270971
- let symbol = base + '/' + quote;
270972
- const swap = typeId === 'futures';
270973
- const margin = isCollateral && !swap;
270974
- let contract = false;
270975
- const amountPrecision = this.parseNumber(this.parsePrecision(this.safeString(market, 'stockPrec')));
270976
- const contractSize = amountPrecision;
270977
- let linear = undefined;
270978
- let inverse = undefined;
270979
- if (swap) {
270980
- settleId = quoteId;
270981
- settle = this.safeCurrencyCode(settleId);
270982
- symbol = symbol + ':' + settle;
270983
- type = 'swap';
270984
- contract = true;
270985
- linear = true;
270986
- inverse = false;
270987
- }
270988
- else {
270989
- type = 'spot';
270990
- }
270991
- const takerFeeRate = this.safeString(market, 'takerFee');
270992
- const taker = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringDiv */ .O.stringDiv(takerFeeRate, '100');
270993
- const makerFeeRate = this.safeString(market, 'makerFee');
270994
- const maker = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringDiv */ .O.stringDiv(makerFeeRate, '100');
270995
- const entry = {
270996
- 'id': id,
270997
- 'symbol': symbol,
270998
- 'base': base,
270999
- 'quote': quote,
271000
- 'settle': settle,
271001
- 'baseId': baseId,
271002
- 'quoteId': quoteId,
271003
- 'settleId': settleId,
271004
- 'type': type,
271005
- 'spot': !swap,
271006
- 'margin': margin,
271007
- 'swap': swap,
271008
- 'future': false,
271009
- 'option': false,
271010
- 'active': active,
271011
- 'contract': contract,
271012
- 'linear': linear,
271013
- 'inverse': inverse,
271014
- 'taker': this.parseNumber(taker),
271015
- 'maker': this.parseNumber(maker),
271016
- 'contractSize': contractSize,
271017
- 'expiry': undefined,
271018
- 'expiryDatetime': undefined,
271019
- 'strike': undefined,
271020
- 'optionType': undefined,
271021
- 'precision': {
271022
- 'amount': amountPrecision,
271023
- 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'moneyPrec'))),
269585
+ return this.parseMarkets(markets);
269586
+ }
269587
+ parseMarket(market) {
269588
+ const id = this.safeString(market, 'name');
269589
+ const baseId = this.safeString(market, 'stock');
269590
+ let quoteId = this.safeString(market, 'money');
269591
+ quoteId = (quoteId === 'PERP') ? 'USDT' : quoteId;
269592
+ const base = this.safeCurrencyCode(baseId);
269593
+ const quote = this.safeCurrencyCode(quoteId);
269594
+ const active = this.safeValue(market, 'tradesEnabled');
269595
+ const isCollateral = this.safeValue(market, 'isCollateral');
269596
+ const typeId = this.safeString(market, 'type');
269597
+ let type = undefined;
269598
+ let settle = undefined;
269599
+ let settleId = undefined;
269600
+ let symbol = base + '/' + quote;
269601
+ const swap = typeId === 'futures';
269602
+ const margin = isCollateral && !swap;
269603
+ let contract = false;
269604
+ const amountPrecision = this.parseNumber(this.parsePrecision(this.safeString(market, 'stockPrec')));
269605
+ const contractSize = amountPrecision;
269606
+ let linear = undefined;
269607
+ let inverse = undefined;
269608
+ if (swap) {
269609
+ settleId = quoteId;
269610
+ settle = this.safeCurrencyCode(settleId);
269611
+ symbol = symbol + ':' + settle;
269612
+ type = 'swap';
269613
+ contract = true;
269614
+ linear = true;
269615
+ inverse = false;
269616
+ }
269617
+ else {
269618
+ type = 'spot';
269619
+ }
269620
+ const takerFeeRate = this.safeString(market, 'takerFee');
269621
+ const taker = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringDiv */ .O.stringDiv(takerFeeRate, '100');
269622
+ const makerFeeRate = this.safeString(market, 'makerFee');
269623
+ const maker = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringDiv */ .O.stringDiv(makerFeeRate, '100');
269624
+ return {
269625
+ 'id': id,
269626
+ 'symbol': symbol,
269627
+ 'base': base,
269628
+ 'quote': quote,
269629
+ 'settle': settle,
269630
+ 'baseId': baseId,
269631
+ 'quoteId': quoteId,
269632
+ 'settleId': settleId,
269633
+ 'type': type,
269634
+ 'spot': !swap,
269635
+ 'margin': margin,
269636
+ 'swap': swap,
269637
+ 'future': false,
269638
+ 'option': false,
269639
+ 'active': active,
269640
+ 'contract': contract,
269641
+ 'linear': linear,
269642
+ 'inverse': inverse,
269643
+ 'taker': this.parseNumber(taker),
269644
+ 'maker': this.parseNumber(maker),
269645
+ 'contractSize': contractSize,
269646
+ 'expiry': undefined,
269647
+ 'expiryDatetime': undefined,
269648
+ 'strike': undefined,
269649
+ 'optionType': undefined,
269650
+ 'precision': {
269651
+ 'amount': amountPrecision,
269652
+ 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'moneyPrec'))),
269653
+ },
269654
+ 'limits': {
269655
+ 'leverage': {
269656
+ 'min': undefined,
269657
+ 'max': undefined,
271024
269658
  },
271025
- 'limits': {
271026
- 'leverage': {
271027
- 'min': undefined,
271028
- 'max': undefined,
271029
- },
271030
- 'amount': {
271031
- 'min': this.safeNumber(market, 'minAmount'),
271032
- 'max': undefined,
271033
- },
271034
- 'price': {
271035
- 'min': undefined,
271036
- 'max': undefined,
271037
- },
271038
- 'cost': {
271039
- 'min': this.safeNumber(market, 'minTotal'),
271040
- 'max': this.safeNumber(market, 'maxTotal'),
271041
- },
269659
+ 'amount': {
269660
+ 'min': this.safeNumber(market, 'minAmount'),
269661
+ 'max': undefined,
271042
269662
  },
271043
- 'created': undefined,
271044
- 'info': market,
271045
- };
271046
- result.push(entry);
271047
- }
271048
- return result;
269663
+ 'price': {
269664
+ 'min': undefined,
269665
+ 'max': undefined,
269666
+ },
269667
+ 'cost': {
269668
+ 'min': this.safeNumber(market, 'minTotal'),
269669
+ 'max': this.safeNumber(market, 'maxTotal'),
269670
+ },
269671
+ },
269672
+ 'created': undefined,
269673
+ 'info': market,
269674
+ };
271049
269675
  }
271050
269676
  async fetchCurrencies(params = {}) {
271051
269677
  /**
@@ -273266,86 +271892,84 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
273266
271892
  // "success": true
273267
271893
  // }
273268
271894
  //
273269
- const result = [];
273270
271895
  const data = this.safeValue(response, 'rows', []);
273271
- for (let i = 0; i < data.length; i++) {
273272
- const market = data[i];
273273
- const marketId = this.safeString(market, 'symbol');
273274
- const parts = marketId.split('_');
273275
- let marketType = this.safeStringLower(parts, 0);
273276
- const isSpot = marketType === 'spot';
273277
- const isSwap = marketType === 'perp';
273278
- const baseId = this.safeString(parts, 1);
273279
- const quoteId = this.safeString(parts, 2);
273280
- const base = this.safeCurrencyCode(baseId);
273281
- const quote = this.safeCurrencyCode(quoteId);
273282
- let settleId = undefined;
273283
- let settle = undefined;
273284
- let symbol = base + '/' + quote;
273285
- let contractSize = undefined;
273286
- let linear = undefined;
273287
- let margin = true;
273288
- const contract = isSwap;
273289
- if (contract) {
273290
- margin = false;
273291
- settleId = this.safeString(parts, 2);
273292
- settle = this.safeCurrencyCode(settleId);
273293
- symbol = base + '/' + quote + ':' + settle;
273294
- contractSize = this.parseNumber('1');
273295
- marketType = 'swap';
273296
- linear = true;
273297
- }
273298
- result.push({
273299
- 'id': marketId,
273300
- 'symbol': symbol,
273301
- 'base': base,
273302
- 'quote': quote,
273303
- 'settle': settle,
273304
- 'baseId': baseId,
273305
- 'quoteId': quoteId,
273306
- 'settleId': settleId,
273307
- 'type': marketType,
273308
- 'spot': isSpot,
273309
- 'margin': margin,
273310
- 'swap': isSwap,
273311
- 'future': false,
273312
- 'option': false,
273313
- 'active': undefined,
273314
- 'contract': contract,
273315
- 'linear': linear,
273316
- 'inverse': undefined,
273317
- 'contractSize': contractSize,
273318
- 'expiry': undefined,
273319
- 'expiryDatetime': undefined,
273320
- 'strike': undefined,
273321
- 'optionType': undefined,
273322
- 'precision': {
273323
- 'amount': this.safeNumber(market, 'base_tick'),
273324
- 'price': this.safeNumber(market, 'quote_tick'),
271896
+ return this.parseMarkets(data);
271897
+ }
271898
+ parseMarket(market) {
271899
+ const marketId = this.safeString(market, 'symbol');
271900
+ const parts = marketId.split('_');
271901
+ let marketType = this.safeStringLower(parts, 0);
271902
+ const isSpot = marketType === 'spot';
271903
+ const isSwap = marketType === 'perp';
271904
+ const baseId = this.safeString(parts, 1);
271905
+ const quoteId = this.safeString(parts, 2);
271906
+ const base = this.safeCurrencyCode(baseId);
271907
+ const quote = this.safeCurrencyCode(quoteId);
271908
+ let settleId = undefined;
271909
+ let settle = undefined;
271910
+ let symbol = base + '/' + quote;
271911
+ let contractSize = undefined;
271912
+ let linear = undefined;
271913
+ let margin = true;
271914
+ const contract = isSwap;
271915
+ if (contract) {
271916
+ margin = false;
271917
+ settleId = this.safeString(parts, 2);
271918
+ settle = this.safeCurrencyCode(settleId);
271919
+ symbol = base + '/' + quote + ':' + settle;
271920
+ contractSize = this.parseNumber('1');
271921
+ marketType = 'swap';
271922
+ linear = true;
271923
+ }
271924
+ return {
271925
+ 'id': marketId,
271926
+ 'symbol': symbol,
271927
+ 'base': base,
271928
+ 'quote': quote,
271929
+ 'settle': settle,
271930
+ 'baseId': baseId,
271931
+ 'quoteId': quoteId,
271932
+ 'settleId': settleId,
271933
+ 'type': marketType,
271934
+ 'spot': isSpot,
271935
+ 'margin': margin,
271936
+ 'swap': isSwap,
271937
+ 'future': false,
271938
+ 'option': false,
271939
+ 'active': undefined,
271940
+ 'contract': contract,
271941
+ 'linear': linear,
271942
+ 'inverse': undefined,
271943
+ 'contractSize': contractSize,
271944
+ 'expiry': undefined,
271945
+ 'expiryDatetime': undefined,
271946
+ 'strike': undefined,
271947
+ 'optionType': undefined,
271948
+ 'precision': {
271949
+ 'amount': this.safeNumber(market, 'base_tick'),
271950
+ 'price': this.safeNumber(market, 'quote_tick'),
271951
+ },
271952
+ 'limits': {
271953
+ 'leverage': {
271954
+ 'min': undefined,
271955
+ 'max': undefined,
273325
271956
  },
273326
- 'limits': {
273327
- 'leverage': {
273328
- 'min': undefined,
273329
- 'max': undefined,
273330
- },
273331
- 'amount': {
273332
- 'min': this.safeNumber(market, 'base_min'),
273333
- 'max': this.safeNumber(market, 'base_max'),
273334
- },
273335
- 'price': {
273336
- 'min': this.safeNumber(market, 'quote_min'),
273337
- 'max': this.safeNumber(market, 'quote_max'),
273338
- },
273339
- 'cost': {
273340
- 'min': this.safeNumber(market, 'min_notional'),
273341
- 'max': undefined,
273342
- },
271957
+ 'amount': {
271958
+ 'min': this.safeNumber(market, 'base_min'),
271959
+ 'max': this.safeNumber(market, 'base_max'),
273343
271960
  },
273344
- 'created': this.safeTimestamp(market, 'created_time'),
273345
- 'info': market,
273346
- });
273347
- }
273348
- return result;
271961
+ 'price': {
271962
+ 'min': this.safeNumber(market, 'quote_min'),
271963
+ 'max': this.safeNumber(market, 'quote_max'),
271964
+ },
271965
+ 'cost': {
271966
+ 'min': this.safeNumber(market, 'min_notional'),
271967
+ 'max': undefined,
271968
+ },
271969
+ },
271970
+ 'created': this.safeTimestamp(market, 'created_time'),
271971
+ 'info': market,
271972
+ };
273349
271973
  }
273350
271974
  async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
273351
271975
  /**
@@ -277016,16 +275640,7 @@ class zaif extends _abstract_zaif_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
277016
275640
  },
277017
275641
  },
277018
275642
  },
277019
- 'options': {
277020
- // zaif schedule defines several market-specific fees
277021
- 'fees': {
277022
- 'BTC/JPY': { 'maker': this.parseNumber('0'), 'taker': this.parseNumber('0.001') },
277023
- 'BCH/JPY': { 'maker': this.parseNumber('0'), 'taker': this.parseNumber('0.003') },
277024
- 'BCH/BTC': { 'maker': this.parseNumber('0'), 'taker': this.parseNumber('0.003') },
277025
- 'PEPECASH/JPY': { 'maker': this.parseNumber('0'), 'taker': this.parseNumber('0.0001') },
277026
- 'PEPECASH/BT': { 'maker': this.parseNumber('0'), 'taker': this.parseNumber('0.0001') },
277027
- },
277028
- },
275643
+ 'options': {},
277029
275644
  'precisionMode': _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__/* .TICK_SIZE */ .sh,
277030
275645
  'exceptions': {
277031
275646
  'exact': {
@@ -277066,69 +275681,64 @@ class zaif extends _abstract_zaif_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
277066
275681
  // }
277067
275682
  // ]
277068
275683
  //
277069
- const result = [];
277070
- for (let i = 0; i < markets.length; i++) {
277071
- const market = markets[i];
277072
- const id = this.safeString(market, 'currency_pair');
277073
- const name = this.safeString(market, 'name');
277074
- const [baseId, quoteId] = name.split('/');
277075
- const base = this.safeCurrencyCode(baseId);
277076
- const quote = this.safeCurrencyCode(quoteId);
277077
- const symbol = base + '/' + quote;
277078
- const fees = this.safeValue(this.options['fees'], symbol, this.fees['trading']);
277079
- result.push({
277080
- 'id': id,
277081
- 'symbol': symbol,
277082
- 'base': base,
277083
- 'quote': quote,
277084
- 'settle': undefined,
277085
- 'baseId': baseId,
277086
- 'quoteId': quoteId,
277087
- 'settleId': undefined,
277088
- 'type': 'spot',
277089
- 'spot': true,
277090
- 'margin': undefined,
277091
- 'swap': false,
277092
- 'future': false,
277093
- 'option': false,
277094
- 'active': undefined,
277095
- 'contract': false,
277096
- 'linear': undefined,
277097
- 'inverse': undefined,
277098
- 'taker': fees['taker'],
277099
- 'maker': fees['maker'],
277100
- 'contractSize': undefined,
277101
- 'expiry': undefined,
277102
- 'expiryDatetime': undefined,
277103
- 'strike': undefined,
277104
- 'optionType': undefined,
277105
- 'precision': {
277106
- 'amount': this.safeNumber(market, 'item_unit_step'),
277107
- 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'aux_unit_point'))),
275684
+ return this.parseMarkets(markets);
275685
+ }
275686
+ parseMarket(market) {
275687
+ const id = this.safeString(market, 'currency_pair');
275688
+ const name = this.safeString(market, 'name');
275689
+ const [baseId, quoteId] = name.split('/');
275690
+ const base = this.safeCurrencyCode(baseId);
275691
+ const quote = this.safeCurrencyCode(quoteId);
275692
+ const symbol = base + '/' + quote;
275693
+ return {
275694
+ 'id': id,
275695
+ 'symbol': symbol,
275696
+ 'base': base,
275697
+ 'quote': quote,
275698
+ 'settle': undefined,
275699
+ 'baseId': baseId,
275700
+ 'quoteId': quoteId,
275701
+ 'settleId': undefined,
275702
+ 'type': 'spot',
275703
+ 'spot': true,
275704
+ 'margin': undefined,
275705
+ 'swap': false,
275706
+ 'future': false,
275707
+ 'option': false,
275708
+ 'active': undefined,
275709
+ 'contract': false,
275710
+ 'linear': undefined,
275711
+ 'inverse': undefined,
275712
+ 'contractSize': undefined,
275713
+ 'expiry': undefined,
275714
+ 'expiryDatetime': undefined,
275715
+ 'strike': undefined,
275716
+ 'optionType': undefined,
275717
+ 'precision': {
275718
+ 'amount': this.safeNumber(market, 'item_unit_step'),
275719
+ 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'aux_unit_point'))),
275720
+ },
275721
+ 'limits': {
275722
+ 'leverage': {
275723
+ 'min': undefined,
275724
+ 'max': undefined,
277108
275725
  },
277109
- 'limits': {
277110
- 'leverage': {
277111
- 'min': undefined,
277112
- 'max': undefined,
277113
- },
277114
- 'amount': {
277115
- 'min': this.safeNumber(market, 'item_unit_min'),
277116
- 'max': undefined,
277117
- },
277118
- 'price': {
277119
- 'min': this.safeNumber(market, 'aux_unit_min'),
277120
- 'max': undefined,
277121
- },
277122
- 'cost': {
277123
- 'min': undefined,
277124
- 'max': undefined,
277125
- },
275726
+ 'amount': {
275727
+ 'min': this.safeNumber(market, 'item_unit_min'),
275728
+ 'max': undefined,
277126
275729
  },
277127
- 'created': undefined,
277128
- 'info': market,
277129
- });
277130
- }
277131
- return result;
275730
+ 'price': {
275731
+ 'min': this.safeNumber(market, 'aux_unit_min'),
275732
+ 'max': undefined,
275733
+ },
275734
+ 'cost': {
275735
+ 'min': undefined,
275736
+ 'max': undefined,
275737
+ },
275738
+ },
275739
+ 'created': undefined,
275740
+ 'info': market,
275741
+ };
277132
275742
  }
277133
275743
  parseBalance(response) {
277134
275744
  const balances = this.safeValue(response, 'return', {});
@@ -277953,7 +276563,6 @@ class zonda extends _abstract_zonda_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
277953
276563
  * @returns {object[]} an array of objects representing market data
277954
276564
  */
277955
276565
  const response = await this.v1_01PublicGetTradingTicker(params);
277956
- const fiatCurrencies = this.safeValue(this.options, 'fiatCurrencies', []);
277957
276566
  //
277958
276567
  // {
277959
276568
  // "status": "Ok",
@@ -277973,78 +276582,76 @@ class zonda extends _abstract_zonda_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
277973
276582
  // },
277974
276583
  // }
277975
276584
  //
277976
- const result = [];
277977
276585
  const items = this.safeValue(response, 'items', {});
277978
- const keys = Object.keys(items);
277979
- for (let i = 0; i < keys.length; i++) {
277980
- const id = keys[i];
277981
- const item = items[id];
277982
- const market = this.safeValue(item, 'market', {});
277983
- const first = this.safeValue(market, 'first', {});
277984
- const second = this.safeValue(market, 'second', {});
277985
- const baseId = this.safeString(first, 'currency');
277986
- const quoteId = this.safeString(second, 'currency');
277987
- const base = this.safeCurrencyCode(baseId);
277988
- const quote = this.safeCurrencyCode(quoteId);
277989
- let fees = this.safeValue(this.fees, 'trading', {});
277990
- if (this.inArray(base, fiatCurrencies) || this.inArray(quote, fiatCurrencies)) {
277991
- fees = this.safeValue(this.fees, 'fiat', {});
277992
- }
277993
- // todo: check that the limits have ben interpreted correctly
277994
- // todo: parse the fees page
277995
- result.push({
277996
- 'id': id,
277997
- 'symbol': base + '/' + quote,
277998
- 'base': base,
277999
- 'quote': quote,
278000
- 'settle': undefined,
278001
- 'baseId': baseId,
278002
- 'quoteId': quoteId,
278003
- 'settleId': undefined,
278004
- 'type': 'spot',
278005
- 'spot': true,
278006
- 'margin': false,
278007
- 'swap': false,
278008
- 'future': false,
278009
- 'option': false,
278010
- 'active': undefined,
278011
- 'contract': false,
278012
- 'linear': undefined,
278013
- 'inverse': undefined,
278014
- 'taker': this.safeNumber(fees, 'taker'),
278015
- 'maker': this.safeNumber(fees, 'maker'),
278016
- 'contractSize': undefined,
278017
- 'expiry': undefined,
278018
- 'expiryDatetime': undefined,
278019
- 'optionType': undefined,
278020
- 'strike': undefined,
278021
- 'precision': {
278022
- 'amount': this.parseNumber(this.parsePrecision(this.safeString(first, 'scale'))),
278023
- 'price': this.parseNumber(this.parsePrecision(this.safeString(second, 'scale'))),
276586
+ const markets = Object.values(items);
276587
+ return this.parseMarkets(markets);
276588
+ }
276589
+ parseMarket(item) {
276590
+ const market = this.safeValue(item, 'market', {});
276591
+ const id = this.safeString(market, 'code');
276592
+ const first = this.safeValue(market, 'first', {});
276593
+ const second = this.safeValue(market, 'second', {});
276594
+ const baseId = this.safeString(first, 'currency');
276595
+ const quoteId = this.safeString(second, 'currency');
276596
+ const base = this.safeCurrencyCode(baseId);
276597
+ const quote = this.safeCurrencyCode(quoteId);
276598
+ let fees = this.safeValue(this.fees, 'trading', {});
276599
+ const fiatCurrencies = this.safeValue(this.options, 'fiatCurrencies', []);
276600
+ if (this.inArray(base, fiatCurrencies) || this.inArray(quote, fiatCurrencies)) {
276601
+ fees = this.safeValue(this.fees, 'fiat', {});
276602
+ }
276603
+ // todo: check that the limits have ben interpreted correctly
276604
+ return {
276605
+ 'id': id,
276606
+ 'symbol': base + '/' + quote,
276607
+ 'base': base,
276608
+ 'quote': quote,
276609
+ 'settle': undefined,
276610
+ 'baseId': baseId,
276611
+ 'quoteId': quoteId,
276612
+ 'settleId': undefined,
276613
+ 'type': 'spot',
276614
+ 'spot': true,
276615
+ 'margin': false,
276616
+ 'swap': false,
276617
+ 'future': false,
276618
+ 'option': false,
276619
+ 'active': undefined,
276620
+ 'contract': false,
276621
+ 'linear': undefined,
276622
+ 'inverse': undefined,
276623
+ 'taker': this.safeNumber(fees, 'taker'),
276624
+ 'maker': this.safeNumber(fees, 'maker'),
276625
+ 'contractSize': undefined,
276626
+ 'expiry': undefined,
276627
+ 'expiryDatetime': undefined,
276628
+ 'optionType': undefined,
276629
+ 'strike': undefined,
276630
+ 'precision': {
276631
+ 'amount': this.parseNumber(this.parsePrecision(this.safeString(first, 'scale'))),
276632
+ 'price': this.parseNumber(this.parsePrecision(this.safeString(second, 'scale'))),
276633
+ },
276634
+ 'limits': {
276635
+ 'leverage': {
276636
+ 'min': undefined,
276637
+ 'max': undefined,
278024
276638
  },
278025
- 'limits': {
278026
- 'leverage': {
278027
- 'min': undefined,
278028
- 'max': undefined,
278029
- },
278030
- 'amount': {
278031
- 'min': this.safeNumber(first, 'minOffer'),
278032
- 'max': undefined,
278033
- },
278034
- 'price': {
278035
- 'min': undefined,
278036
- 'max': undefined,
278037
- },
278038
- 'cost': {
278039
- 'min': this.safeNumber(second, 'minOffer'),
278040
- 'max': undefined,
278041
- },
276639
+ 'amount': {
276640
+ 'min': this.safeNumber(first, 'minOffer'),
276641
+ 'max': undefined,
278042
276642
  },
278043
- 'created': undefined,
278044
- 'info': item,
278045
- });
278046
- }
278047
- return result;
276643
+ 'price': {
276644
+ 'min': undefined,
276645
+ 'max': undefined,
276646
+ },
276647
+ 'cost': {
276648
+ 'min': undefined,
276649
+ 'max': undefined,
276650
+ },
276651
+ },
276652
+ 'created': undefined,
276653
+ 'info': item,
276654
+ };
278048
276655
  }
278049
276656
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
278050
276657
  /**
@@ -284755,39 +283362,39 @@ var __webpack_exports__ = {};
284755
283362
  (() => {
284756
283363
  __webpack_require__.r(__webpack_exports__);
284757
283364
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
284758
- /* harmony export */ "AccountNotEnabled": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.AccountNotEnabled),
284759
- /* harmony export */ "AccountSuspended": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.AccountSuspended),
284760
- /* harmony export */ "AddressPending": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.AddressPending),
284761
- /* harmony export */ "ArgumentsRequired": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.ArgumentsRequired),
284762
- /* harmony export */ "AuthenticationError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.AuthenticationError),
284763
- /* harmony export */ "BadRequest": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.BadRequest),
284764
- /* harmony export */ "BadResponse": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.BadResponse),
284765
- /* harmony export */ "BadSymbol": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.BadSymbol),
284766
- /* harmony export */ "BaseError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.BaseError),
284767
- /* harmony export */ "CancelPending": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.CancelPending),
284768
- /* harmony export */ "DDoSProtection": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.DDoSProtection),
284769
- /* harmony export */ "DuplicateOrderId": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.DuplicateOrderId),
283365
+ /* harmony export */ "AccountNotEnabled": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.AccountNotEnabled),
283366
+ /* harmony export */ "AccountSuspended": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.AccountSuspended),
283367
+ /* harmony export */ "AddressPending": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.AddressPending),
283368
+ /* harmony export */ "ArgumentsRequired": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.ArgumentsRequired),
283369
+ /* harmony export */ "AuthenticationError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.AuthenticationError),
283370
+ /* harmony export */ "BadRequest": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.BadRequest),
283371
+ /* harmony export */ "BadResponse": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.BadResponse),
283372
+ /* harmony export */ "BadSymbol": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.BadSymbol),
283373
+ /* harmony export */ "BaseError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.BaseError),
283374
+ /* harmony export */ "CancelPending": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.CancelPending),
283375
+ /* harmony export */ "DDoSProtection": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.DDoSProtection),
283376
+ /* harmony export */ "DuplicateOrderId": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.DuplicateOrderId),
284770
283377
  /* harmony export */ "Exchange": () => (/* reexport safe */ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__.e),
284771
- /* harmony export */ "ExchangeError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.ExchangeError),
284772
- /* harmony export */ "ExchangeNotAvailable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.ExchangeNotAvailable),
284773
- /* harmony export */ "InsufficientFunds": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.InsufficientFunds),
284774
- /* harmony export */ "InvalidAddress": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.InvalidAddress),
284775
- /* harmony export */ "InvalidNonce": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.InvalidNonce),
284776
- /* harmony export */ "InvalidOrder": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.InvalidOrder),
284777
- /* harmony export */ "MarginModeAlreadySet": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.MarginModeAlreadySet),
284778
- /* harmony export */ "NetworkError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.NetworkError),
284779
- /* harmony export */ "NoChange": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.NoChange),
284780
- /* harmony export */ "NotSupported": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.NotSupported),
284781
- /* harmony export */ "NullResponse": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.NullResponse),
284782
- /* harmony export */ "OnMaintenance": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OnMaintenance),
284783
- /* harmony export */ "OrderImmediatelyFillable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OrderImmediatelyFillable),
284784
- /* harmony export */ "OrderNotCached": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OrderNotCached),
284785
- /* harmony export */ "OrderNotFillable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OrderNotFillable),
284786
- /* harmony export */ "OrderNotFound": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OrderNotFound),
284787
- /* harmony export */ "PermissionDenied": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.PermissionDenied),
284788
- /* harmony export */ "Precise": () => (/* reexport safe */ _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_167__.O),
284789
- /* harmony export */ "RateLimitExceeded": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.RateLimitExceeded),
284790
- /* harmony export */ "RequestTimeout": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.RequestTimeout),
283378
+ /* harmony export */ "ExchangeError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.ExchangeError),
283379
+ /* harmony export */ "ExchangeNotAvailable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.ExchangeNotAvailable),
283380
+ /* harmony export */ "InsufficientFunds": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.InsufficientFunds),
283381
+ /* harmony export */ "InvalidAddress": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.InvalidAddress),
283382
+ /* harmony export */ "InvalidNonce": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.InvalidNonce),
283383
+ /* harmony export */ "InvalidOrder": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.InvalidOrder),
283384
+ /* harmony export */ "MarginModeAlreadySet": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.MarginModeAlreadySet),
283385
+ /* harmony export */ "NetworkError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.NetworkError),
283386
+ /* harmony export */ "NoChange": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.NoChange),
283387
+ /* harmony export */ "NotSupported": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.NotSupported),
283388
+ /* harmony export */ "NullResponse": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.NullResponse),
283389
+ /* harmony export */ "OnMaintenance": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.OnMaintenance),
283390
+ /* harmony export */ "OrderImmediatelyFillable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.OrderImmediatelyFillable),
283391
+ /* harmony export */ "OrderNotCached": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.OrderNotCached),
283392
+ /* harmony export */ "OrderNotFillable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.OrderNotFillable),
283393
+ /* harmony export */ "OrderNotFound": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.OrderNotFound),
283394
+ /* harmony export */ "PermissionDenied": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.PermissionDenied),
283395
+ /* harmony export */ "Precise": () => (/* reexport safe */ _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_165__.O),
283396
+ /* harmony export */ "RateLimitExceeded": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.RateLimitExceeded),
283397
+ /* harmony export */ "RequestTimeout": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.RequestTimeout),
284791
283398
  /* harmony export */ "ace": () => (/* reexport safe */ _src_ace_js__WEBPACK_IMPORTED_MODULE_1__.Z),
284792
283399
  /* harmony export */ "alpaca": () => (/* reexport safe */ _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__.Z),
284793
283400
  /* harmony export */ "ascendex": () => (/* reexport safe */ _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__.Z),
@@ -284816,94 +283423,92 @@ __webpack_require__.r(__webpack_exports__);
284816
283423
  /* harmony export */ "bitrue": () => (/* reexport safe */ _src_bitrue_js__WEBPACK_IMPORTED_MODULE_26__.Z),
284817
283424
  /* harmony export */ "bitso": () => (/* reexport safe */ _src_bitso_js__WEBPACK_IMPORTED_MODULE_27__.Z),
284818
283425
  /* harmony export */ "bitstamp": () => (/* reexport safe */ _src_bitstamp_js__WEBPACK_IMPORTED_MODULE_28__.Z),
284819
- /* harmony export */ "bitstamp1": () => (/* reexport safe */ _src_bitstamp1_js__WEBPACK_IMPORTED_MODULE_29__.Z),
284820
- /* harmony export */ "bittrex": () => (/* reexport safe */ _src_bittrex_js__WEBPACK_IMPORTED_MODULE_30__.Z),
284821
- /* harmony export */ "bitvavo": () => (/* reexport safe */ _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_31__.Z),
284822
- /* harmony export */ "bl3p": () => (/* reexport safe */ _src_bl3p_js__WEBPACK_IMPORTED_MODULE_32__.Z),
284823
- /* harmony export */ "blockchaincom": () => (/* reexport safe */ _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_33__.Z),
284824
- /* harmony export */ "btcalpha": () => (/* reexport safe */ _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_34__.Z),
284825
- /* harmony export */ "btcbox": () => (/* reexport safe */ _src_btcbox_js__WEBPACK_IMPORTED_MODULE_35__.Z),
284826
- /* harmony export */ "btcmarkets": () => (/* reexport safe */ _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_36__.Z),
284827
- /* harmony export */ "btcturk": () => (/* reexport safe */ _src_btcturk_js__WEBPACK_IMPORTED_MODULE_37__.Z),
284828
- /* harmony export */ "bybit": () => (/* reexport safe */ _src_bybit_js__WEBPACK_IMPORTED_MODULE_38__.Z),
284829
- /* harmony export */ "cex": () => (/* reexport safe */ _src_cex_js__WEBPACK_IMPORTED_MODULE_39__.Z),
284830
- /* harmony export */ "coinbase": () => (/* reexport safe */ _src_coinbase_js__WEBPACK_IMPORTED_MODULE_40__.Z),
284831
- /* harmony export */ "coinbaseprime": () => (/* reexport safe */ _src_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_41__.Z),
284832
- /* harmony export */ "coinbasepro": () => (/* reexport safe */ _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_42__.Z),
284833
- /* harmony export */ "coincheck": () => (/* reexport safe */ _src_coincheck_js__WEBPACK_IMPORTED_MODULE_43__.Z),
284834
- /* harmony export */ "coinex": () => (/* reexport safe */ _src_coinex_js__WEBPACK_IMPORTED_MODULE_44__.Z),
284835
- /* harmony export */ "coinlist": () => (/* reexport safe */ _src_coinlist_js__WEBPACK_IMPORTED_MODULE_45__.Z),
284836
- /* harmony export */ "coinmate": () => (/* reexport safe */ _src_coinmate_js__WEBPACK_IMPORTED_MODULE_46__.Z),
284837
- /* harmony export */ "coinone": () => (/* reexport safe */ _src_coinone_js__WEBPACK_IMPORTED_MODULE_47__.Z),
284838
- /* harmony export */ "coinsph": () => (/* reexport safe */ _src_coinsph_js__WEBPACK_IMPORTED_MODULE_48__.Z),
284839
- /* harmony export */ "coinspot": () => (/* reexport safe */ _src_coinspot_js__WEBPACK_IMPORTED_MODULE_49__.Z),
284840
- /* harmony export */ "cryptocom": () => (/* reexport safe */ _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_50__.Z),
284841
- /* harmony export */ "currencycom": () => (/* reexport safe */ _src_currencycom_js__WEBPACK_IMPORTED_MODULE_51__.Z),
283426
+ /* harmony export */ "bittrex": () => (/* reexport safe */ _src_bittrex_js__WEBPACK_IMPORTED_MODULE_29__.Z),
283427
+ /* harmony export */ "bitvavo": () => (/* reexport safe */ _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_30__.Z),
283428
+ /* harmony export */ "bl3p": () => (/* reexport safe */ _src_bl3p_js__WEBPACK_IMPORTED_MODULE_31__.Z),
283429
+ /* harmony export */ "blockchaincom": () => (/* reexport safe */ _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_32__.Z),
283430
+ /* harmony export */ "btcalpha": () => (/* reexport safe */ _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_33__.Z),
283431
+ /* harmony export */ "btcbox": () => (/* reexport safe */ _src_btcbox_js__WEBPACK_IMPORTED_MODULE_34__.Z),
283432
+ /* harmony export */ "btcmarkets": () => (/* reexport safe */ _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_35__.Z),
283433
+ /* harmony export */ "btcturk": () => (/* reexport safe */ _src_btcturk_js__WEBPACK_IMPORTED_MODULE_36__.Z),
283434
+ /* harmony export */ "bybit": () => (/* reexport safe */ _src_bybit_js__WEBPACK_IMPORTED_MODULE_37__.Z),
283435
+ /* harmony export */ "cex": () => (/* reexport safe */ _src_cex_js__WEBPACK_IMPORTED_MODULE_38__.Z),
283436
+ /* harmony export */ "coinbase": () => (/* reexport safe */ _src_coinbase_js__WEBPACK_IMPORTED_MODULE_39__.Z),
283437
+ /* harmony export */ "coinbaseprime": () => (/* reexport safe */ _src_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_40__.Z),
283438
+ /* harmony export */ "coinbasepro": () => (/* reexport safe */ _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_41__.Z),
283439
+ /* harmony export */ "coincheck": () => (/* reexport safe */ _src_coincheck_js__WEBPACK_IMPORTED_MODULE_42__.Z),
283440
+ /* harmony export */ "coinex": () => (/* reexport safe */ _src_coinex_js__WEBPACK_IMPORTED_MODULE_43__.Z),
283441
+ /* harmony export */ "coinlist": () => (/* reexport safe */ _src_coinlist_js__WEBPACK_IMPORTED_MODULE_44__.Z),
283442
+ /* harmony export */ "coinmate": () => (/* reexport safe */ _src_coinmate_js__WEBPACK_IMPORTED_MODULE_45__.Z),
283443
+ /* harmony export */ "coinone": () => (/* reexport safe */ _src_coinone_js__WEBPACK_IMPORTED_MODULE_46__.Z),
283444
+ /* harmony export */ "coinsph": () => (/* reexport safe */ _src_coinsph_js__WEBPACK_IMPORTED_MODULE_47__.Z),
283445
+ /* harmony export */ "coinspot": () => (/* reexport safe */ _src_coinspot_js__WEBPACK_IMPORTED_MODULE_48__.Z),
283446
+ /* harmony export */ "cryptocom": () => (/* reexport safe */ _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_49__.Z),
283447
+ /* harmony export */ "currencycom": () => (/* reexport safe */ _src_currencycom_js__WEBPACK_IMPORTED_MODULE_50__.Z),
284842
283448
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
284843
- /* harmony export */ "delta": () => (/* reexport safe */ _src_delta_js__WEBPACK_IMPORTED_MODULE_52__.Z),
284844
- /* harmony export */ "deribit": () => (/* reexport safe */ _src_deribit_js__WEBPACK_IMPORTED_MODULE_53__.Z),
284845
- /* harmony export */ "digifinex": () => (/* reexport safe */ _src_digifinex_js__WEBPACK_IMPORTED_MODULE_54__.Z),
284846
- /* harmony export */ "errors": () => (/* reexport module object */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__),
283449
+ /* harmony export */ "delta": () => (/* reexport safe */ _src_delta_js__WEBPACK_IMPORTED_MODULE_51__.Z),
283450
+ /* harmony export */ "deribit": () => (/* reexport safe */ _src_deribit_js__WEBPACK_IMPORTED_MODULE_52__.Z),
283451
+ /* harmony export */ "digifinex": () => (/* reexport safe */ _src_digifinex_js__WEBPACK_IMPORTED_MODULE_53__.Z),
283452
+ /* harmony export */ "errors": () => (/* reexport module object */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__),
284847
283453
  /* harmony export */ "exchanges": () => (/* binding */ exchanges),
284848
- /* harmony export */ "exmo": () => (/* reexport safe */ _src_exmo_js__WEBPACK_IMPORTED_MODULE_55__.Z),
284849
- /* harmony export */ "fmfwio": () => (/* reexport safe */ _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_56__.Z),
284850
- /* harmony export */ "functions": () => (/* reexport module object */ _src_base_functions_js__WEBPACK_IMPORTED_MODULE_168__),
284851
- /* harmony export */ "gate": () => (/* reexport safe */ _src_gate_js__WEBPACK_IMPORTED_MODULE_57__.Z),
284852
- /* harmony export */ "gateio": () => (/* reexport safe */ _src_gateio_js__WEBPACK_IMPORTED_MODULE_58__.Z),
284853
- /* harmony export */ "gemini": () => (/* reexport safe */ _src_gemini_js__WEBPACK_IMPORTED_MODULE_59__.Z),
284854
- /* harmony export */ "hitbtc": () => (/* reexport safe */ _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_60__.Z),
284855
- /* harmony export */ "hitbtc3": () => (/* reexport safe */ _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_61__.Z),
284856
- /* harmony export */ "hollaex": () => (/* reexport safe */ _src_hollaex_js__WEBPACK_IMPORTED_MODULE_62__.Z),
284857
- /* harmony export */ "htx": () => (/* reexport safe */ _src_htx_js__WEBPACK_IMPORTED_MODULE_63__.Z),
284858
- /* harmony export */ "huobi": () => (/* reexport safe */ _src_huobi_js__WEBPACK_IMPORTED_MODULE_64__.Z),
284859
- /* harmony export */ "huobijp": () => (/* reexport safe */ _src_huobijp_js__WEBPACK_IMPORTED_MODULE_65__.Z),
284860
- /* harmony export */ "huobipro": () => (/* reexport safe */ _src_huobipro_js__WEBPACK_IMPORTED_MODULE_66__.Z),
284861
- /* harmony export */ "idex": () => (/* reexport safe */ _src_idex_js__WEBPACK_IMPORTED_MODULE_67__.Z),
284862
- /* harmony export */ "independentreserve": () => (/* reexport safe */ _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_68__.Z),
284863
- /* harmony export */ "indodax": () => (/* reexport safe */ _src_indodax_js__WEBPACK_IMPORTED_MODULE_69__.Z),
284864
- /* harmony export */ "kraken": () => (/* reexport safe */ _src_kraken_js__WEBPACK_IMPORTED_MODULE_70__.Z),
284865
- /* harmony export */ "krakenfutures": () => (/* reexport safe */ _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_71__.Z),
284866
- /* harmony export */ "kucoin": () => (/* reexport safe */ _src_kucoin_js__WEBPACK_IMPORTED_MODULE_72__.Z),
284867
- /* harmony export */ "kucoinfutures": () => (/* reexport safe */ _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_73__.Z),
284868
- /* harmony export */ "kuna": () => (/* reexport safe */ _src_kuna_js__WEBPACK_IMPORTED_MODULE_74__.Z),
284869
- /* harmony export */ "latoken": () => (/* reexport safe */ _src_latoken_js__WEBPACK_IMPORTED_MODULE_75__.Z),
284870
- /* harmony export */ "lbank": () => (/* reexport safe */ _src_lbank_js__WEBPACK_IMPORTED_MODULE_76__.Z),
284871
- /* harmony export */ "lbank2": () => (/* reexport safe */ _src_lbank2_js__WEBPACK_IMPORTED_MODULE_77__.Z),
284872
- /* harmony export */ "luno": () => (/* reexport safe */ _src_luno_js__WEBPACK_IMPORTED_MODULE_78__.Z),
284873
- /* harmony export */ "lykke": () => (/* reexport safe */ _src_lykke_js__WEBPACK_IMPORTED_MODULE_79__.Z),
284874
- /* harmony export */ "mercado": () => (/* reexport safe */ _src_mercado_js__WEBPACK_IMPORTED_MODULE_80__.Z),
284875
- /* harmony export */ "mexc": () => (/* reexport safe */ _src_mexc_js__WEBPACK_IMPORTED_MODULE_81__.Z),
284876
- /* harmony export */ "mexc3": () => (/* reexport safe */ _src_mexc3_js__WEBPACK_IMPORTED_MODULE_82__.Z),
284877
- /* harmony export */ "ndax": () => (/* reexport safe */ _src_ndax_js__WEBPACK_IMPORTED_MODULE_83__.Z),
284878
- /* harmony export */ "novadax": () => (/* reexport safe */ _src_novadax_js__WEBPACK_IMPORTED_MODULE_84__.Z),
284879
- /* harmony export */ "oceanex": () => (/* reexport safe */ _src_oceanex_js__WEBPACK_IMPORTED_MODULE_85__.Z),
284880
- /* harmony export */ "okcoin": () => (/* reexport safe */ _src_okcoin_js__WEBPACK_IMPORTED_MODULE_86__.Z),
284881
- /* harmony export */ "okex": () => (/* reexport safe */ _src_okex_js__WEBPACK_IMPORTED_MODULE_87__.Z),
284882
- /* harmony export */ "okex5": () => (/* reexport safe */ _src_okex5_js__WEBPACK_IMPORTED_MODULE_88__.Z),
284883
- /* harmony export */ "okx": () => (/* reexport safe */ _src_okx_js__WEBPACK_IMPORTED_MODULE_89__.Z),
284884
- /* harmony export */ "paymium": () => (/* reexport safe */ _src_paymium_js__WEBPACK_IMPORTED_MODULE_90__.Z),
284885
- /* harmony export */ "phemex": () => (/* reexport safe */ _src_phemex_js__WEBPACK_IMPORTED_MODULE_91__.Z),
284886
- /* harmony export */ "poloniex": () => (/* reexport safe */ _src_poloniex_js__WEBPACK_IMPORTED_MODULE_92__.Z),
284887
- /* harmony export */ "poloniexfutures": () => (/* reexport safe */ _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_93__.Z),
283454
+ /* harmony export */ "exmo": () => (/* reexport safe */ _src_exmo_js__WEBPACK_IMPORTED_MODULE_54__.Z),
283455
+ /* harmony export */ "fmfwio": () => (/* reexport safe */ _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_55__.Z),
283456
+ /* harmony export */ "functions": () => (/* reexport module object */ _src_base_functions_js__WEBPACK_IMPORTED_MODULE_166__),
283457
+ /* harmony export */ "gate": () => (/* reexport safe */ _src_gate_js__WEBPACK_IMPORTED_MODULE_56__.Z),
283458
+ /* harmony export */ "gateio": () => (/* reexport safe */ _src_gateio_js__WEBPACK_IMPORTED_MODULE_57__.Z),
283459
+ /* harmony export */ "gemini": () => (/* reexport safe */ _src_gemini_js__WEBPACK_IMPORTED_MODULE_58__.Z),
283460
+ /* harmony export */ "hitbtc": () => (/* reexport safe */ _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_59__.Z),
283461
+ /* harmony export */ "hitbtc3": () => (/* reexport safe */ _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_60__.Z),
283462
+ /* harmony export */ "hollaex": () => (/* reexport safe */ _src_hollaex_js__WEBPACK_IMPORTED_MODULE_61__.Z),
283463
+ /* harmony export */ "htx": () => (/* reexport safe */ _src_htx_js__WEBPACK_IMPORTED_MODULE_62__.Z),
283464
+ /* harmony export */ "huobi": () => (/* reexport safe */ _src_huobi_js__WEBPACK_IMPORTED_MODULE_63__.Z),
283465
+ /* harmony export */ "huobijp": () => (/* reexport safe */ _src_huobijp_js__WEBPACK_IMPORTED_MODULE_64__.Z),
283466
+ /* harmony export */ "huobipro": () => (/* reexport safe */ _src_huobipro_js__WEBPACK_IMPORTED_MODULE_65__.Z),
283467
+ /* harmony export */ "idex": () => (/* reexport safe */ _src_idex_js__WEBPACK_IMPORTED_MODULE_66__.Z),
283468
+ /* harmony export */ "independentreserve": () => (/* reexport safe */ _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_67__.Z),
283469
+ /* harmony export */ "indodax": () => (/* reexport safe */ _src_indodax_js__WEBPACK_IMPORTED_MODULE_68__.Z),
283470
+ /* harmony export */ "kraken": () => (/* reexport safe */ _src_kraken_js__WEBPACK_IMPORTED_MODULE_69__.Z),
283471
+ /* harmony export */ "krakenfutures": () => (/* reexport safe */ _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_70__.Z),
283472
+ /* harmony export */ "kucoin": () => (/* reexport safe */ _src_kucoin_js__WEBPACK_IMPORTED_MODULE_71__.Z),
283473
+ /* harmony export */ "kucoinfutures": () => (/* reexport safe */ _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_72__.Z),
283474
+ /* harmony export */ "kuna": () => (/* reexport safe */ _src_kuna_js__WEBPACK_IMPORTED_MODULE_73__.Z),
283475
+ /* harmony export */ "latoken": () => (/* reexport safe */ _src_latoken_js__WEBPACK_IMPORTED_MODULE_74__.Z),
283476
+ /* harmony export */ "lbank": () => (/* reexport safe */ _src_lbank_js__WEBPACK_IMPORTED_MODULE_75__.Z),
283477
+ /* harmony export */ "luno": () => (/* reexport safe */ _src_luno_js__WEBPACK_IMPORTED_MODULE_76__.Z),
283478
+ /* harmony export */ "lykke": () => (/* reexport safe */ _src_lykke_js__WEBPACK_IMPORTED_MODULE_77__.Z),
283479
+ /* harmony export */ "mercado": () => (/* reexport safe */ _src_mercado_js__WEBPACK_IMPORTED_MODULE_78__.Z),
283480
+ /* harmony export */ "mexc": () => (/* reexport safe */ _src_mexc_js__WEBPACK_IMPORTED_MODULE_79__.Z),
283481
+ /* harmony export */ "mexc3": () => (/* reexport safe */ _src_mexc3_js__WEBPACK_IMPORTED_MODULE_80__.Z),
283482
+ /* harmony export */ "ndax": () => (/* reexport safe */ _src_ndax_js__WEBPACK_IMPORTED_MODULE_81__.Z),
283483
+ /* harmony export */ "novadax": () => (/* reexport safe */ _src_novadax_js__WEBPACK_IMPORTED_MODULE_82__.Z),
283484
+ /* harmony export */ "oceanex": () => (/* reexport safe */ _src_oceanex_js__WEBPACK_IMPORTED_MODULE_83__.Z),
283485
+ /* harmony export */ "okcoin": () => (/* reexport safe */ _src_okcoin_js__WEBPACK_IMPORTED_MODULE_84__.Z),
283486
+ /* harmony export */ "okex": () => (/* reexport safe */ _src_okex_js__WEBPACK_IMPORTED_MODULE_85__.Z),
283487
+ /* harmony export */ "okex5": () => (/* reexport safe */ _src_okex5_js__WEBPACK_IMPORTED_MODULE_86__.Z),
283488
+ /* harmony export */ "okx": () => (/* reexport safe */ _src_okx_js__WEBPACK_IMPORTED_MODULE_87__.Z),
283489
+ /* harmony export */ "paymium": () => (/* reexport safe */ _src_paymium_js__WEBPACK_IMPORTED_MODULE_88__.Z),
283490
+ /* harmony export */ "phemex": () => (/* reexport safe */ _src_phemex_js__WEBPACK_IMPORTED_MODULE_89__.Z),
283491
+ /* harmony export */ "poloniex": () => (/* reexport safe */ _src_poloniex_js__WEBPACK_IMPORTED_MODULE_90__.Z),
283492
+ /* harmony export */ "poloniexfutures": () => (/* reexport safe */ _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_91__.Z),
284888
283493
  /* harmony export */ "pro": () => (/* binding */ pro),
284889
- /* harmony export */ "probit": () => (/* reexport safe */ _src_probit_js__WEBPACK_IMPORTED_MODULE_94__.Z),
284890
- /* harmony export */ "tidex": () => (/* reexport safe */ _src_tidex_js__WEBPACK_IMPORTED_MODULE_95__.Z),
284891
- /* harmony export */ "timex": () => (/* reexport safe */ _src_timex_js__WEBPACK_IMPORTED_MODULE_96__.Z),
284892
- /* harmony export */ "tokocrypto": () => (/* reexport safe */ _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_97__.Z),
284893
- /* harmony export */ "upbit": () => (/* reexport safe */ _src_upbit_js__WEBPACK_IMPORTED_MODULE_98__.Z),
283494
+ /* harmony export */ "probit": () => (/* reexport safe */ _src_probit_js__WEBPACK_IMPORTED_MODULE_92__.Z),
283495
+ /* harmony export */ "tidex": () => (/* reexport safe */ _src_tidex_js__WEBPACK_IMPORTED_MODULE_93__.Z),
283496
+ /* harmony export */ "timex": () => (/* reexport safe */ _src_timex_js__WEBPACK_IMPORTED_MODULE_94__.Z),
283497
+ /* harmony export */ "tokocrypto": () => (/* reexport safe */ _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_95__.Z),
283498
+ /* harmony export */ "upbit": () => (/* reexport safe */ _src_upbit_js__WEBPACK_IMPORTED_MODULE_96__.Z),
284894
283499
  /* harmony export */ "version": () => (/* binding */ version),
284895
- /* harmony export */ "wavesexchange": () => (/* reexport safe */ _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_99__.Z),
284896
- /* harmony export */ "wazirx": () => (/* reexport safe */ _src_wazirx_js__WEBPACK_IMPORTED_MODULE_100__.Z),
284897
- /* harmony export */ "whitebit": () => (/* reexport safe */ _src_whitebit_js__WEBPACK_IMPORTED_MODULE_101__.Z),
284898
- /* harmony export */ "woo": () => (/* reexport safe */ _src_woo_js__WEBPACK_IMPORTED_MODULE_102__.Z),
284899
- /* harmony export */ "yobit": () => (/* reexport safe */ _src_yobit_js__WEBPACK_IMPORTED_MODULE_103__.Z),
284900
- /* harmony export */ "zaif": () => (/* reexport safe */ _src_zaif_js__WEBPACK_IMPORTED_MODULE_104__.Z),
284901
- /* harmony export */ "zonda": () => (/* reexport safe */ _src_zonda_js__WEBPACK_IMPORTED_MODULE_105__.Z)
283500
+ /* harmony export */ "wavesexchange": () => (/* reexport safe */ _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_97__.Z),
283501
+ /* harmony export */ "wazirx": () => (/* reexport safe */ _src_wazirx_js__WEBPACK_IMPORTED_MODULE_98__.Z),
283502
+ /* harmony export */ "whitebit": () => (/* reexport safe */ _src_whitebit_js__WEBPACK_IMPORTED_MODULE_99__.Z),
283503
+ /* harmony export */ "woo": () => (/* reexport safe */ _src_woo_js__WEBPACK_IMPORTED_MODULE_100__.Z),
283504
+ /* harmony export */ "yobit": () => (/* reexport safe */ _src_yobit_js__WEBPACK_IMPORTED_MODULE_101__.Z),
283505
+ /* harmony export */ "zaif": () => (/* reexport safe */ _src_zaif_js__WEBPACK_IMPORTED_MODULE_102__.Z),
283506
+ /* harmony export */ "zonda": () => (/* reexport safe */ _src_zonda_js__WEBPACK_IMPORTED_MODULE_103__.Z)
284902
283507
  /* harmony export */ });
284903
283508
  /* harmony import */ var _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3043);
284904
- /* harmony import */ var _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_167__ = __webpack_require__(2194);
284905
- /* harmony import */ var _src_base_functions_js__WEBPACK_IMPORTED_MODULE_168__ = __webpack_require__(7100);
284906
- /* harmony import */ var _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__ = __webpack_require__(6689);
283509
+ /* harmony import */ var _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(2194);
283510
+ /* harmony import */ var _src_base_functions_js__WEBPACK_IMPORTED_MODULE_166__ = __webpack_require__(7100);
283511
+ /* harmony import */ var _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__ = __webpack_require__(6689);
284907
283512
  /* harmony import */ var _src_ace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9869);
284908
283513
  /* harmony import */ var _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5660);
284909
283514
  /* harmony import */ var _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9612);
@@ -284932,144 +283537,142 @@ __webpack_require__.r(__webpack_exports__);
284932
283537
  /* harmony import */ var _src_bitrue_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(854);
284933
283538
  /* harmony import */ var _src_bitso_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(4388);
284934
283539
  /* harmony import */ var _src_bitstamp_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(4667);
284935
- /* harmony import */ var _src_bitstamp1_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(1242);
284936
- /* harmony import */ var _src_bittrex_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(8963);
284937
- /* harmony import */ var _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(9943);
284938
- /* harmony import */ var _src_bl3p_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(9476);
284939
- /* harmony import */ var _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(182);
284940
- /* harmony import */ var _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(6246);
284941
- /* harmony import */ var _src_btcbox_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(7796);
284942
- /* harmony import */ var _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(1776);
284943
- /* harmony import */ var _src_btcturk_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(6304);
284944
- /* harmony import */ var _src_bybit_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(3527);
284945
- /* harmony import */ var _src_cex_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(6445);
284946
- /* harmony import */ var _src_coinbase_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(437);
284947
- /* harmony import */ var _src_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(1741);
284948
- /* harmony import */ var _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(8856);
284949
- /* harmony import */ var _src_coincheck_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(2117);
284950
- /* harmony import */ var _src_coinex_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(332);
284951
- /* harmony import */ var _src_coinlist_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(3623);
284952
- /* harmony import */ var _src_coinmate_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(9816);
284953
- /* harmony import */ var _src_coinone_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(7811);
284954
- /* harmony import */ var _src_coinsph_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(5782);
284955
- /* harmony import */ var _src_coinspot_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(7794);
284956
- /* harmony import */ var _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(9129);
284957
- /* harmony import */ var _src_currencycom_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(3214);
284958
- /* harmony import */ var _src_delta_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(1753);
284959
- /* harmony import */ var _src_deribit_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(24);
284960
- /* harmony import */ var _src_digifinex_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(8846);
284961
- /* harmony import */ var _src_exmo_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(1729);
284962
- /* harmony import */ var _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(5788);
284963
- /* harmony import */ var _src_gate_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(7290);
284964
- /* harmony import */ var _src_gateio_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(7036);
284965
- /* harmony import */ var _src_gemini_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(6743);
284966
- /* harmony import */ var _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(4714);
284967
- /* harmony import */ var _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(4815);
284968
- /* harmony import */ var _src_hollaex_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(8422);
284969
- /* harmony import */ var _src_htx_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(5939);
284970
- /* harmony import */ var _src_huobi_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(8146);
284971
- /* harmony import */ var _src_huobijp_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(7034);
284972
- /* harmony import */ var _src_huobipro_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(5547);
284973
- /* harmony import */ var _src_idex_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(8232);
284974
- /* harmony import */ var _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(9570);
284975
- /* harmony import */ var _src_indodax_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(1605);
284976
- /* harmony import */ var _src_kraken_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(9922);
284977
- /* harmony import */ var _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(4470);
284978
- /* harmony import */ var _src_kucoin_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(3583);
284979
- /* harmony import */ var _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(1924);
284980
- /* harmony import */ var _src_kuna_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(7732);
284981
- /* harmony import */ var _src_latoken_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(2545);
284982
- /* harmony import */ var _src_lbank_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(3944);
284983
- /* harmony import */ var _src_lbank2_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(8601);
284984
- /* harmony import */ var _src_luno_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(1758);
284985
- /* harmony import */ var _src_lykke_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(3803);
284986
- /* harmony import */ var _src_mercado_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(9013);
284987
- /* harmony import */ var _src_mexc_js__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(6641);
284988
- /* harmony import */ var _src_mexc3_js__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(2305);
284989
- /* harmony import */ var _src_ndax_js__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(4531);
284990
- /* harmony import */ var _src_novadax_js__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(2449);
284991
- /* harmony import */ var _src_oceanex_js__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(6749);
284992
- /* harmony import */ var _src_okcoin_js__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(3007);
284993
- /* harmony import */ var _src_okex_js__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(5322);
284994
- /* harmony import */ var _src_okex5_js__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(7826);
284995
- /* harmony import */ var _src_okx_js__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(4042);
284996
- /* harmony import */ var _src_paymium_js__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(7082);
284997
- /* harmony import */ var _src_phemex_js__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(79);
284998
- /* harmony import */ var _src_poloniex_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(8891);
284999
- /* harmony import */ var _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(6877);
285000
- /* harmony import */ var _src_probit_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(3657);
285001
- /* harmony import */ var _src_tidex_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(4224);
285002
- /* harmony import */ var _src_timex_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(1067);
285003
- /* harmony import */ var _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(5261);
285004
- /* harmony import */ var _src_upbit_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(7584);
285005
- /* harmony import */ var _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(3853);
285006
- /* harmony import */ var _src_wazirx_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(6536);
285007
- /* harmony import */ var _src_whitebit_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(5467);
285008
- /* harmony import */ var _src_woo_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(517);
285009
- /* harmony import */ var _src_yobit_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(3850);
285010
- /* harmony import */ var _src_zaif_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(5934);
285011
- /* harmony import */ var _src_zonda_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(5140);
285012
- /* harmony import */ var _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(2467);
285013
- /* harmony import */ var _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(2383);
285014
- /* harmony import */ var _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(8848);
285015
- /* harmony import */ var _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(8764);
285016
- /* harmony import */ var _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(5078);
285017
- /* harmony import */ var _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(1326);
285018
- /* harmony import */ var _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(1230);
285019
- /* harmony import */ var _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(6955);
285020
- /* harmony import */ var _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(453);
285021
- /* harmony import */ var _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(9772);
285022
- /* harmony import */ var _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(588);
285023
- /* harmony import */ var _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(1885);
285024
- /* harmony import */ var _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(7504);
285025
- /* harmony import */ var _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(2302);
285026
- /* harmony import */ var _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(2191);
285027
- /* harmony import */ var _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(1297);
285028
- /* harmony import */ var _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(3005);
285029
- /* harmony import */ var _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(2317);
285030
- /* harmony import */ var _src_pro_bittrex_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(2883);
285031
- /* harmony import */ var _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(6977);
285032
- /* harmony import */ var _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(2519);
285033
- /* harmony import */ var _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(5030);
285034
- /* harmony import */ var _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(5272);
285035
- /* harmony import */ var _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(3414);
285036
- /* harmony import */ var _src_pro_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(3848);
285037
- /* harmony import */ var _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(8368);
285038
- /* harmony import */ var _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(204);
285039
- /* harmony import */ var _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(6820);
285040
- /* harmony import */ var _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(2952);
285041
- /* harmony import */ var _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(1788);
285042
- /* harmony import */ var _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(9004);
285043
- /* harmony import */ var _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(8335);
285044
- /* harmony import */ var _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(1465);
285045
- /* harmony import */ var _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(9488);
285046
- /* harmony import */ var _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(5189);
285047
- /* harmony import */ var _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(8559);
285048
- /* harmony import */ var _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(7474);
285049
- /* harmony import */ var _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(8384);
285050
- /* harmony import */ var _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(9021);
285051
- /* harmony import */ var _src_pro_huobipro_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(4625);
285052
- /* harmony import */ var _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(3484);
285053
- /* harmony import */ var _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(1311);
285054
- /* harmony import */ var _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(736);
285055
- /* harmony import */ var _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(449);
285056
- /* harmony import */ var _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(2387);
285057
- /* harmony import */ var _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(7181);
285058
- /* harmony import */ var _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(627);
285059
- /* harmony import */ var _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(6484);
285060
- /* harmony import */ var _src_pro_mexc3_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(5351);
285061
- /* harmony import */ var _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(8080);
285062
- /* harmony import */ var _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(7105);
285063
- /* harmony import */ var _src_pro_okex_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(1530);
285064
- /* harmony import */ var _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(2214);
285065
- /* harmony import */ var _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(4360);
285066
- /* harmony import */ var _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(7924);
285067
- /* harmony import */ var _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(3541);
285068
- /* harmony import */ var _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(9782);
285069
- /* harmony import */ var _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(7614);
285070
- /* harmony import */ var _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(4828);
285071
- /* harmony import */ var _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(5630);
285072
- /* harmony import */ var _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_166__ = __webpack_require__(3910);
283540
+ /* harmony import */ var _src_bittrex_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(8963);
283541
+ /* harmony import */ var _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(9943);
283542
+ /* harmony import */ var _src_bl3p_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(9476);
283543
+ /* harmony import */ var _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(182);
283544
+ /* harmony import */ var _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(6246);
283545
+ /* harmony import */ var _src_btcbox_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(7796);
283546
+ /* harmony import */ var _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(1776);
283547
+ /* harmony import */ var _src_btcturk_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(6304);
283548
+ /* harmony import */ var _src_bybit_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(3527);
283549
+ /* harmony import */ var _src_cex_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(6445);
283550
+ /* harmony import */ var _src_coinbase_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(437);
283551
+ /* harmony import */ var _src_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(1741);
283552
+ /* harmony import */ var _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(8856);
283553
+ /* harmony import */ var _src_coincheck_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(2117);
283554
+ /* harmony import */ var _src_coinex_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(332);
283555
+ /* harmony import */ var _src_coinlist_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(3623);
283556
+ /* harmony import */ var _src_coinmate_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(9816);
283557
+ /* harmony import */ var _src_coinone_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(7811);
283558
+ /* harmony import */ var _src_coinsph_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(5782);
283559
+ /* harmony import */ var _src_coinspot_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(7794);
283560
+ /* harmony import */ var _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(9129);
283561
+ /* harmony import */ var _src_currencycom_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(3214);
283562
+ /* harmony import */ var _src_delta_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(1753);
283563
+ /* harmony import */ var _src_deribit_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(24);
283564
+ /* harmony import */ var _src_digifinex_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(8846);
283565
+ /* harmony import */ var _src_exmo_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(1729);
283566
+ /* harmony import */ var _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(5788);
283567
+ /* harmony import */ var _src_gate_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(7290);
283568
+ /* harmony import */ var _src_gateio_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(7036);
283569
+ /* harmony import */ var _src_gemini_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(6743);
283570
+ /* harmony import */ var _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(4714);
283571
+ /* harmony import */ var _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(4815);
283572
+ /* harmony import */ var _src_hollaex_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(8422);
283573
+ /* harmony import */ var _src_htx_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(5939);
283574
+ /* harmony import */ var _src_huobi_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(8146);
283575
+ /* harmony import */ var _src_huobijp_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(7034);
283576
+ /* harmony import */ var _src_huobipro_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(5547);
283577
+ /* harmony import */ var _src_idex_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(8232);
283578
+ /* harmony import */ var _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(9570);
283579
+ /* harmony import */ var _src_indodax_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(1605);
283580
+ /* harmony import */ var _src_kraken_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(9922);
283581
+ /* harmony import */ var _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(4470);
283582
+ /* harmony import */ var _src_kucoin_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(3583);
283583
+ /* harmony import */ var _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(1924);
283584
+ /* harmony import */ var _src_kuna_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(7732);
283585
+ /* harmony import */ var _src_latoken_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(2545);
283586
+ /* harmony import */ var _src_lbank_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(3944);
283587
+ /* harmony import */ var _src_luno_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(1758);
283588
+ /* harmony import */ var _src_lykke_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(3803);
283589
+ /* harmony import */ var _src_mercado_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(9013);
283590
+ /* harmony import */ var _src_mexc_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(6641);
283591
+ /* harmony import */ var _src_mexc3_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(2305);
283592
+ /* harmony import */ var _src_ndax_js__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(4531);
283593
+ /* harmony import */ var _src_novadax_js__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(2449);
283594
+ /* harmony import */ var _src_oceanex_js__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(6749);
283595
+ /* harmony import */ var _src_okcoin_js__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(3007);
283596
+ /* harmony import */ var _src_okex_js__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(5322);
283597
+ /* harmony import */ var _src_okex5_js__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(7826);
283598
+ /* harmony import */ var _src_okx_js__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(4042);
283599
+ /* harmony import */ var _src_paymium_js__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(7082);
283600
+ /* harmony import */ var _src_phemex_js__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(79);
283601
+ /* harmony import */ var _src_poloniex_js__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(8891);
283602
+ /* harmony import */ var _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(6877);
283603
+ /* harmony import */ var _src_probit_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(3657);
283604
+ /* harmony import */ var _src_tidex_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(4224);
283605
+ /* harmony import */ var _src_timex_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(1067);
283606
+ /* harmony import */ var _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(5261);
283607
+ /* harmony import */ var _src_upbit_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(7584);
283608
+ /* harmony import */ var _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(3853);
283609
+ /* harmony import */ var _src_wazirx_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(6536);
283610
+ /* harmony import */ var _src_whitebit_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(5467);
283611
+ /* harmony import */ var _src_woo_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(517);
283612
+ /* harmony import */ var _src_yobit_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(3850);
283613
+ /* harmony import */ var _src_zaif_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(5934);
283614
+ /* harmony import */ var _src_zonda_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(5140);
283615
+ /* harmony import */ var _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(2467);
283616
+ /* harmony import */ var _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(2383);
283617
+ /* harmony import */ var _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(8848);
283618
+ /* harmony import */ var _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(8764);
283619
+ /* harmony import */ var _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(5078);
283620
+ /* harmony import */ var _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(1326);
283621
+ /* harmony import */ var _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(1230);
283622
+ /* harmony import */ var _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(6955);
283623
+ /* harmony import */ var _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(453);
283624
+ /* harmony import */ var _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(9772);
283625
+ /* harmony import */ var _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(588);
283626
+ /* harmony import */ var _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(1885);
283627
+ /* harmony import */ var _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(7504);
283628
+ /* harmony import */ var _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(2302);
283629
+ /* harmony import */ var _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(2191);
283630
+ /* harmony import */ var _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(1297);
283631
+ /* harmony import */ var _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(3005);
283632
+ /* harmony import */ var _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(2317);
283633
+ /* harmony import */ var _src_pro_bittrex_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(2883);
283634
+ /* harmony import */ var _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(6977);
283635
+ /* harmony import */ var _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(2519);
283636
+ /* harmony import */ var _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(5030);
283637
+ /* harmony import */ var _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(5272);
283638
+ /* harmony import */ var _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(3414);
283639
+ /* harmony import */ var _src_pro_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(3848);
283640
+ /* harmony import */ var _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(8368);
283641
+ /* harmony import */ var _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(204);
283642
+ /* harmony import */ var _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(6820);
283643
+ /* harmony import */ var _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(2952);
283644
+ /* harmony import */ var _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(1788);
283645
+ /* harmony import */ var _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(9004);
283646
+ /* harmony import */ var _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(8335);
283647
+ /* harmony import */ var _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(1465);
283648
+ /* harmony import */ var _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(9488);
283649
+ /* harmony import */ var _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(5189);
283650
+ /* harmony import */ var _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(8559);
283651
+ /* harmony import */ var _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(7474);
283652
+ /* harmony import */ var _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(8384);
283653
+ /* harmony import */ var _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(9021);
283654
+ /* harmony import */ var _src_pro_huobipro_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(4625);
283655
+ /* harmony import */ var _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(3484);
283656
+ /* harmony import */ var _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(1311);
283657
+ /* harmony import */ var _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(736);
283658
+ /* harmony import */ var _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(449);
283659
+ /* harmony import */ var _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(2387);
283660
+ /* harmony import */ var _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(7181);
283661
+ /* harmony import */ var _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(627);
283662
+ /* harmony import */ var _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(6484);
283663
+ /* harmony import */ var _src_pro_mexc3_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(5351);
283664
+ /* harmony import */ var _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(8080);
283665
+ /* harmony import */ var _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(7105);
283666
+ /* harmony import */ var _src_pro_okex_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(1530);
283667
+ /* harmony import */ var _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(2214);
283668
+ /* harmony import */ var _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(4360);
283669
+ /* harmony import */ var _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(7924);
283670
+ /* harmony import */ var _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(3541);
283671
+ /* harmony import */ var _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(9782);
283672
+ /* harmony import */ var _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(7614);
283673
+ /* harmony import */ var _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(4828);
283674
+ /* harmony import */ var _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(5630);
283675
+ /* harmony import */ var _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(3910);
285073
283676
  /*
285074
283677
 
285075
283678
  MIT License
@@ -285104,7 +283707,7 @@ SOFTWARE.
285104
283707
 
285105
283708
  //-----------------------------------------------------------------------------
285106
283709
  // this is updated by vss.js when building
285107
- const version = '4.1.52';
283710
+ const version = '4.1.53';
285108
283711
  _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange.ccxtVersion */ .e.ccxtVersion = version;
285109
283712
  //-----------------------------------------------------------------------------
285110
283713
 
@@ -285207,8 +283810,6 @@ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange.ccxtVersion */ .e
285207
283810
 
285208
283811
 
285209
283812
 
285210
-
285211
-
285212
283813
 
285213
283814
 
285214
283815
 
@@ -285303,146 +283904,144 @@ const exchanges = {
285303
283904
  'bitrue': _src_bitrue_js__WEBPACK_IMPORTED_MODULE_26__/* ["default"] */ .Z,
285304
283905
  'bitso': _src_bitso_js__WEBPACK_IMPORTED_MODULE_27__/* ["default"] */ .Z,
285305
283906
  'bitstamp': _src_bitstamp_js__WEBPACK_IMPORTED_MODULE_28__/* ["default"] */ .Z,
285306
- 'bitstamp1': _src_bitstamp1_js__WEBPACK_IMPORTED_MODULE_29__/* ["default"] */ .Z,
285307
- 'bittrex': _src_bittrex_js__WEBPACK_IMPORTED_MODULE_30__/* ["default"] */ .Z,
285308
- 'bitvavo': _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_31__/* ["default"] */ .Z,
285309
- 'bl3p': _src_bl3p_js__WEBPACK_IMPORTED_MODULE_32__/* ["default"] */ .Z,
285310
- 'blockchaincom': _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_33__/* ["default"] */ .Z,
285311
- 'btcalpha': _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_34__/* ["default"] */ .Z,
285312
- 'btcbox': _src_btcbox_js__WEBPACK_IMPORTED_MODULE_35__/* ["default"] */ .Z,
285313
- 'btcmarkets': _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_36__/* ["default"] */ .Z,
285314
- 'btcturk': _src_btcturk_js__WEBPACK_IMPORTED_MODULE_37__/* ["default"] */ .Z,
285315
- 'bybit': _src_bybit_js__WEBPACK_IMPORTED_MODULE_38__/* ["default"] */ .Z,
285316
- 'cex': _src_cex_js__WEBPACK_IMPORTED_MODULE_39__/* ["default"] */ .Z,
285317
- 'coinbase': _src_coinbase_js__WEBPACK_IMPORTED_MODULE_40__/* ["default"] */ .Z,
285318
- 'coinbaseprime': _src_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_41__/* ["default"] */ .Z,
285319
- 'coinbasepro': _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_42__/* ["default"] */ .Z,
285320
- 'coincheck': _src_coincheck_js__WEBPACK_IMPORTED_MODULE_43__/* ["default"] */ .Z,
285321
- 'coinex': _src_coinex_js__WEBPACK_IMPORTED_MODULE_44__/* ["default"] */ .Z,
285322
- 'coinlist': _src_coinlist_js__WEBPACK_IMPORTED_MODULE_45__/* ["default"] */ .Z,
285323
- 'coinmate': _src_coinmate_js__WEBPACK_IMPORTED_MODULE_46__/* ["default"] */ .Z,
285324
- 'coinone': _src_coinone_js__WEBPACK_IMPORTED_MODULE_47__/* ["default"] */ .Z,
285325
- 'coinsph': _src_coinsph_js__WEBPACK_IMPORTED_MODULE_48__/* ["default"] */ .Z,
285326
- 'coinspot': _src_coinspot_js__WEBPACK_IMPORTED_MODULE_49__/* ["default"] */ .Z,
285327
- 'cryptocom': _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_50__/* ["default"] */ .Z,
285328
- 'currencycom': _src_currencycom_js__WEBPACK_IMPORTED_MODULE_51__/* ["default"] */ .Z,
285329
- 'delta': _src_delta_js__WEBPACK_IMPORTED_MODULE_52__/* ["default"] */ .Z,
285330
- 'deribit': _src_deribit_js__WEBPACK_IMPORTED_MODULE_53__/* ["default"] */ .Z,
285331
- 'digifinex': _src_digifinex_js__WEBPACK_IMPORTED_MODULE_54__/* ["default"] */ .Z,
285332
- 'exmo': _src_exmo_js__WEBPACK_IMPORTED_MODULE_55__/* ["default"] */ .Z,
285333
- 'fmfwio': _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_56__/* ["default"] */ .Z,
285334
- 'gate': _src_gate_js__WEBPACK_IMPORTED_MODULE_57__/* ["default"] */ .Z,
285335
- 'gateio': _src_gateio_js__WEBPACK_IMPORTED_MODULE_58__/* ["default"] */ .Z,
285336
- 'gemini': _src_gemini_js__WEBPACK_IMPORTED_MODULE_59__/* ["default"] */ .Z,
285337
- 'hitbtc': _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_60__/* ["default"] */ .Z,
285338
- 'hitbtc3': _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_61__/* ["default"] */ .Z,
285339
- 'hollaex': _src_hollaex_js__WEBPACK_IMPORTED_MODULE_62__/* ["default"] */ .Z,
285340
- 'htx': _src_htx_js__WEBPACK_IMPORTED_MODULE_63__/* ["default"] */ .Z,
285341
- 'huobi': _src_huobi_js__WEBPACK_IMPORTED_MODULE_64__/* ["default"] */ .Z,
285342
- 'huobijp': _src_huobijp_js__WEBPACK_IMPORTED_MODULE_65__/* ["default"] */ .Z,
285343
- 'huobipro': _src_huobipro_js__WEBPACK_IMPORTED_MODULE_66__/* ["default"] */ .Z,
285344
- 'idex': _src_idex_js__WEBPACK_IMPORTED_MODULE_67__/* ["default"] */ .Z,
285345
- 'independentreserve': _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_68__/* ["default"] */ .Z,
285346
- 'indodax': _src_indodax_js__WEBPACK_IMPORTED_MODULE_69__/* ["default"] */ .Z,
285347
- 'kraken': _src_kraken_js__WEBPACK_IMPORTED_MODULE_70__/* ["default"] */ .Z,
285348
- 'krakenfutures': _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_71__/* ["default"] */ .Z,
285349
- 'kucoin': _src_kucoin_js__WEBPACK_IMPORTED_MODULE_72__/* ["default"] */ .Z,
285350
- 'kucoinfutures': _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_73__/* ["default"] */ .Z,
285351
- 'kuna': _src_kuna_js__WEBPACK_IMPORTED_MODULE_74__/* ["default"] */ .Z,
285352
- 'latoken': _src_latoken_js__WEBPACK_IMPORTED_MODULE_75__/* ["default"] */ .Z,
285353
- 'lbank': _src_lbank_js__WEBPACK_IMPORTED_MODULE_76__/* ["default"] */ .Z,
285354
- 'lbank2': _src_lbank2_js__WEBPACK_IMPORTED_MODULE_77__/* ["default"] */ .Z,
285355
- 'luno': _src_luno_js__WEBPACK_IMPORTED_MODULE_78__/* ["default"] */ .Z,
285356
- 'lykke': _src_lykke_js__WEBPACK_IMPORTED_MODULE_79__/* ["default"] */ .Z,
285357
- 'mercado': _src_mercado_js__WEBPACK_IMPORTED_MODULE_80__/* ["default"] */ .Z,
285358
- 'mexc': _src_mexc_js__WEBPACK_IMPORTED_MODULE_81__/* ["default"] */ .Z,
285359
- 'mexc3': _src_mexc3_js__WEBPACK_IMPORTED_MODULE_82__/* ["default"] */ .Z,
285360
- 'ndax': _src_ndax_js__WEBPACK_IMPORTED_MODULE_83__/* ["default"] */ .Z,
285361
- 'novadax': _src_novadax_js__WEBPACK_IMPORTED_MODULE_84__/* ["default"] */ .Z,
285362
- 'oceanex': _src_oceanex_js__WEBPACK_IMPORTED_MODULE_85__/* ["default"] */ .Z,
285363
- 'okcoin': _src_okcoin_js__WEBPACK_IMPORTED_MODULE_86__/* ["default"] */ .Z,
285364
- 'okex': _src_okex_js__WEBPACK_IMPORTED_MODULE_87__/* ["default"] */ .Z,
285365
- 'okex5': _src_okex5_js__WEBPACK_IMPORTED_MODULE_88__/* ["default"] */ .Z,
285366
- 'okx': _src_okx_js__WEBPACK_IMPORTED_MODULE_89__/* ["default"] */ .Z,
285367
- 'paymium': _src_paymium_js__WEBPACK_IMPORTED_MODULE_90__/* ["default"] */ .Z,
285368
- 'phemex': _src_phemex_js__WEBPACK_IMPORTED_MODULE_91__/* ["default"] */ .Z,
285369
- 'poloniex': _src_poloniex_js__WEBPACK_IMPORTED_MODULE_92__/* ["default"] */ .Z,
285370
- 'poloniexfutures': _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_93__/* ["default"] */ .Z,
285371
- 'probit': _src_probit_js__WEBPACK_IMPORTED_MODULE_94__/* ["default"] */ .Z,
285372
- 'tidex': _src_tidex_js__WEBPACK_IMPORTED_MODULE_95__/* ["default"] */ .Z,
285373
- 'timex': _src_timex_js__WEBPACK_IMPORTED_MODULE_96__/* ["default"] */ .Z,
285374
- 'tokocrypto': _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_97__/* ["default"] */ .Z,
285375
- 'upbit': _src_upbit_js__WEBPACK_IMPORTED_MODULE_98__/* ["default"] */ .Z,
285376
- 'wavesexchange': _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_99__/* ["default"] */ .Z,
285377
- 'wazirx': _src_wazirx_js__WEBPACK_IMPORTED_MODULE_100__/* ["default"] */ .Z,
285378
- 'whitebit': _src_whitebit_js__WEBPACK_IMPORTED_MODULE_101__/* ["default"] */ .Z,
285379
- 'woo': _src_woo_js__WEBPACK_IMPORTED_MODULE_102__/* ["default"] */ .Z,
285380
- 'yobit': _src_yobit_js__WEBPACK_IMPORTED_MODULE_103__/* ["default"] */ .Z,
285381
- 'zaif': _src_zaif_js__WEBPACK_IMPORTED_MODULE_104__/* ["default"] */ .Z,
285382
- 'zonda': _src_zonda_js__WEBPACK_IMPORTED_MODULE_105__/* ["default"] */ .Z,
283907
+ 'bittrex': _src_bittrex_js__WEBPACK_IMPORTED_MODULE_29__/* ["default"] */ .Z,
283908
+ 'bitvavo': _src_bitvavo_js__WEBPACK_IMPORTED_MODULE_30__/* ["default"] */ .Z,
283909
+ 'bl3p': _src_bl3p_js__WEBPACK_IMPORTED_MODULE_31__/* ["default"] */ .Z,
283910
+ 'blockchaincom': _src_blockchaincom_js__WEBPACK_IMPORTED_MODULE_32__/* ["default"] */ .Z,
283911
+ 'btcalpha': _src_btcalpha_js__WEBPACK_IMPORTED_MODULE_33__/* ["default"] */ .Z,
283912
+ 'btcbox': _src_btcbox_js__WEBPACK_IMPORTED_MODULE_34__/* ["default"] */ .Z,
283913
+ 'btcmarkets': _src_btcmarkets_js__WEBPACK_IMPORTED_MODULE_35__/* ["default"] */ .Z,
283914
+ 'btcturk': _src_btcturk_js__WEBPACK_IMPORTED_MODULE_36__/* ["default"] */ .Z,
283915
+ 'bybit': _src_bybit_js__WEBPACK_IMPORTED_MODULE_37__/* ["default"] */ .Z,
283916
+ 'cex': _src_cex_js__WEBPACK_IMPORTED_MODULE_38__/* ["default"] */ .Z,
283917
+ 'coinbase': _src_coinbase_js__WEBPACK_IMPORTED_MODULE_39__/* ["default"] */ .Z,
283918
+ 'coinbaseprime': _src_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_40__/* ["default"] */ .Z,
283919
+ 'coinbasepro': _src_coinbasepro_js__WEBPACK_IMPORTED_MODULE_41__/* ["default"] */ .Z,
283920
+ 'coincheck': _src_coincheck_js__WEBPACK_IMPORTED_MODULE_42__/* ["default"] */ .Z,
283921
+ 'coinex': _src_coinex_js__WEBPACK_IMPORTED_MODULE_43__/* ["default"] */ .Z,
283922
+ 'coinlist': _src_coinlist_js__WEBPACK_IMPORTED_MODULE_44__/* ["default"] */ .Z,
283923
+ 'coinmate': _src_coinmate_js__WEBPACK_IMPORTED_MODULE_45__/* ["default"] */ .Z,
283924
+ 'coinone': _src_coinone_js__WEBPACK_IMPORTED_MODULE_46__/* ["default"] */ .Z,
283925
+ 'coinsph': _src_coinsph_js__WEBPACK_IMPORTED_MODULE_47__/* ["default"] */ .Z,
283926
+ 'coinspot': _src_coinspot_js__WEBPACK_IMPORTED_MODULE_48__/* ["default"] */ .Z,
283927
+ 'cryptocom': _src_cryptocom_js__WEBPACK_IMPORTED_MODULE_49__/* ["default"] */ .Z,
283928
+ 'currencycom': _src_currencycom_js__WEBPACK_IMPORTED_MODULE_50__/* ["default"] */ .Z,
283929
+ 'delta': _src_delta_js__WEBPACK_IMPORTED_MODULE_51__/* ["default"] */ .Z,
283930
+ 'deribit': _src_deribit_js__WEBPACK_IMPORTED_MODULE_52__/* ["default"] */ .Z,
283931
+ 'digifinex': _src_digifinex_js__WEBPACK_IMPORTED_MODULE_53__/* ["default"] */ .Z,
283932
+ 'exmo': _src_exmo_js__WEBPACK_IMPORTED_MODULE_54__/* ["default"] */ .Z,
283933
+ 'fmfwio': _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_55__/* ["default"] */ .Z,
283934
+ 'gate': _src_gate_js__WEBPACK_IMPORTED_MODULE_56__/* ["default"] */ .Z,
283935
+ 'gateio': _src_gateio_js__WEBPACK_IMPORTED_MODULE_57__/* ["default"] */ .Z,
283936
+ 'gemini': _src_gemini_js__WEBPACK_IMPORTED_MODULE_58__/* ["default"] */ .Z,
283937
+ 'hitbtc': _src_hitbtc_js__WEBPACK_IMPORTED_MODULE_59__/* ["default"] */ .Z,
283938
+ 'hitbtc3': _src_hitbtc3_js__WEBPACK_IMPORTED_MODULE_60__/* ["default"] */ .Z,
283939
+ 'hollaex': _src_hollaex_js__WEBPACK_IMPORTED_MODULE_61__/* ["default"] */ .Z,
283940
+ 'htx': _src_htx_js__WEBPACK_IMPORTED_MODULE_62__/* ["default"] */ .Z,
283941
+ 'huobi': _src_huobi_js__WEBPACK_IMPORTED_MODULE_63__/* ["default"] */ .Z,
283942
+ 'huobijp': _src_huobijp_js__WEBPACK_IMPORTED_MODULE_64__/* ["default"] */ .Z,
283943
+ 'huobipro': _src_huobipro_js__WEBPACK_IMPORTED_MODULE_65__/* ["default"] */ .Z,
283944
+ 'idex': _src_idex_js__WEBPACK_IMPORTED_MODULE_66__/* ["default"] */ .Z,
283945
+ 'independentreserve': _src_independentreserve_js__WEBPACK_IMPORTED_MODULE_67__/* ["default"] */ .Z,
283946
+ 'indodax': _src_indodax_js__WEBPACK_IMPORTED_MODULE_68__/* ["default"] */ .Z,
283947
+ 'kraken': _src_kraken_js__WEBPACK_IMPORTED_MODULE_69__/* ["default"] */ .Z,
283948
+ 'krakenfutures': _src_krakenfutures_js__WEBPACK_IMPORTED_MODULE_70__/* ["default"] */ .Z,
283949
+ 'kucoin': _src_kucoin_js__WEBPACK_IMPORTED_MODULE_71__/* ["default"] */ .Z,
283950
+ 'kucoinfutures': _src_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_72__/* ["default"] */ .Z,
283951
+ 'kuna': _src_kuna_js__WEBPACK_IMPORTED_MODULE_73__/* ["default"] */ .Z,
283952
+ 'latoken': _src_latoken_js__WEBPACK_IMPORTED_MODULE_74__/* ["default"] */ .Z,
283953
+ 'lbank': _src_lbank_js__WEBPACK_IMPORTED_MODULE_75__/* ["default"] */ .Z,
283954
+ 'luno': _src_luno_js__WEBPACK_IMPORTED_MODULE_76__/* ["default"] */ .Z,
283955
+ 'lykke': _src_lykke_js__WEBPACK_IMPORTED_MODULE_77__/* ["default"] */ .Z,
283956
+ 'mercado': _src_mercado_js__WEBPACK_IMPORTED_MODULE_78__/* ["default"] */ .Z,
283957
+ 'mexc': _src_mexc_js__WEBPACK_IMPORTED_MODULE_79__/* ["default"] */ .Z,
283958
+ 'mexc3': _src_mexc3_js__WEBPACK_IMPORTED_MODULE_80__/* ["default"] */ .Z,
283959
+ 'ndax': _src_ndax_js__WEBPACK_IMPORTED_MODULE_81__/* ["default"] */ .Z,
283960
+ 'novadax': _src_novadax_js__WEBPACK_IMPORTED_MODULE_82__/* ["default"] */ .Z,
283961
+ 'oceanex': _src_oceanex_js__WEBPACK_IMPORTED_MODULE_83__/* ["default"] */ .Z,
283962
+ 'okcoin': _src_okcoin_js__WEBPACK_IMPORTED_MODULE_84__/* ["default"] */ .Z,
283963
+ 'okex': _src_okex_js__WEBPACK_IMPORTED_MODULE_85__/* ["default"] */ .Z,
283964
+ 'okex5': _src_okex5_js__WEBPACK_IMPORTED_MODULE_86__/* ["default"] */ .Z,
283965
+ 'okx': _src_okx_js__WEBPACK_IMPORTED_MODULE_87__/* ["default"] */ .Z,
283966
+ 'paymium': _src_paymium_js__WEBPACK_IMPORTED_MODULE_88__/* ["default"] */ .Z,
283967
+ 'phemex': _src_phemex_js__WEBPACK_IMPORTED_MODULE_89__/* ["default"] */ .Z,
283968
+ 'poloniex': _src_poloniex_js__WEBPACK_IMPORTED_MODULE_90__/* ["default"] */ .Z,
283969
+ 'poloniexfutures': _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_91__/* ["default"] */ .Z,
283970
+ 'probit': _src_probit_js__WEBPACK_IMPORTED_MODULE_92__/* ["default"] */ .Z,
283971
+ 'tidex': _src_tidex_js__WEBPACK_IMPORTED_MODULE_93__/* ["default"] */ .Z,
283972
+ 'timex': _src_timex_js__WEBPACK_IMPORTED_MODULE_94__/* ["default"] */ .Z,
283973
+ 'tokocrypto': _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_95__/* ["default"] */ .Z,
283974
+ 'upbit': _src_upbit_js__WEBPACK_IMPORTED_MODULE_96__/* ["default"] */ .Z,
283975
+ 'wavesexchange': _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_97__/* ["default"] */ .Z,
283976
+ 'wazirx': _src_wazirx_js__WEBPACK_IMPORTED_MODULE_98__/* ["default"] */ .Z,
283977
+ 'whitebit': _src_whitebit_js__WEBPACK_IMPORTED_MODULE_99__/* ["default"] */ .Z,
283978
+ 'woo': _src_woo_js__WEBPACK_IMPORTED_MODULE_100__/* ["default"] */ .Z,
283979
+ 'yobit': _src_yobit_js__WEBPACK_IMPORTED_MODULE_101__/* ["default"] */ .Z,
283980
+ 'zaif': _src_zaif_js__WEBPACK_IMPORTED_MODULE_102__/* ["default"] */ .Z,
283981
+ 'zonda': _src_zonda_js__WEBPACK_IMPORTED_MODULE_103__/* ["default"] */ .Z,
285383
283982
  };
285384
283983
  const pro = {
285385
- 'alpaca': _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_106__/* ["default"] */ .Z,
285386
- 'ascendex': _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_107__/* ["default"] */ .Z,
285387
- 'bequant': _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_108__/* ["default"] */ .Z,
285388
- 'binance': _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_109__/* ["default"] */ .Z,
285389
- 'binancecoinm': _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_110__/* ["default"] */ .Z,
285390
- 'binanceus': _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_111__/* ["default"] */ .Z,
285391
- 'binanceusdm': _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_112__/* ["default"] */ .Z,
285392
- 'bingx': _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_113__/* ["default"] */ .Z,
285393
- 'bitcoincom': _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_114__/* ["default"] */ .Z,
285394
- 'bitfinex': _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_115__/* ["default"] */ .Z,
285395
- 'bitfinex2': _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_116__/* ["default"] */ .Z,
285396
- 'bitget': _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_117__/* ["default"] */ .Z,
285397
- 'bitmart': _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_118__/* ["default"] */ .Z,
285398
- 'bitmex': _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_119__/* ["default"] */ .Z,
285399
- 'bitopro': _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_120__/* ["default"] */ .Z,
285400
- 'bitpanda': _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_121__/* ["default"] */ .Z,
285401
- 'bitrue': _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_122__/* ["default"] */ .Z,
285402
- 'bitstamp': _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_123__/* ["default"] */ .Z,
285403
- 'bittrex': _src_pro_bittrex_js__WEBPACK_IMPORTED_MODULE_124__/* ["default"] */ .Z,
285404
- 'bitvavo': _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_125__/* ["default"] */ .Z,
285405
- 'blockchaincom': _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_126__/* ["default"] */ .Z,
285406
- 'bybit': _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_127__/* ["default"] */ .Z,
285407
- 'cex': _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_128__/* ["default"] */ .Z,
285408
- 'coinbase': _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_129__/* ["default"] */ .Z,
285409
- 'coinbaseprime': _src_pro_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_130__/* ["default"] */ .Z,
285410
- 'coinbasepro': _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_131__/* ["default"] */ .Z,
285411
- 'coinex': _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_132__/* ["default"] */ .Z,
285412
- 'cryptocom': _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_133__/* ["default"] */ .Z,
285413
- 'currencycom': _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_134__/* ["default"] */ .Z,
285414
- 'deribit': _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_135__/* ["default"] */ .Z,
285415
- 'exmo': _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_136__/* ["default"] */ .Z,
285416
- 'gate': _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_137__/* ["default"] */ .Z,
285417
- 'gateio': _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_138__/* ["default"] */ .Z,
285418
- 'gemini': _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_139__/* ["default"] */ .Z,
285419
- 'hitbtc': _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_140__/* ["default"] */ .Z,
285420
- 'hollaex': _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_141__/* ["default"] */ .Z,
285421
- 'htx': _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_142__/* ["default"] */ .Z,
285422
- 'huobi': _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_143__/* ["default"] */ .Z,
285423
- 'huobijp': _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_144__/* ["default"] */ .Z,
285424
- 'huobipro': _src_pro_huobipro_js__WEBPACK_IMPORTED_MODULE_145__/* ["default"] */ .Z,
285425
- 'idex': _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_146__/* ["default"] */ .Z,
285426
- 'independentreserve': _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_147__/* ["default"] */ .Z,
285427
- 'kraken': _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_148__/* ["default"] */ .Z,
285428
- 'krakenfutures': _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_149__/* ["default"] */ .Z,
285429
- 'kucoin': _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_150__/* ["default"] */ .Z,
285430
- 'kucoinfutures': _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_151__/* ["default"] */ .Z,
285431
- 'luno': _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_152__/* ["default"] */ .Z,
285432
- 'mexc': _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_153__/* ["default"] */ .Z,
285433
- 'mexc3': _src_pro_mexc3_js__WEBPACK_IMPORTED_MODULE_154__/* ["default"] */ .Z,
285434
- 'ndax': _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_155__/* ["default"] */ .Z,
285435
- 'okcoin': _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_156__/* ["default"] */ .Z,
285436
- 'okex': _src_pro_okex_js__WEBPACK_IMPORTED_MODULE_157__/* ["default"] */ .Z,
285437
- 'okx': _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_158__/* ["default"] */ .Z,
285438
- 'phemex': _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_159__/* ["default"] */ .Z,
285439
- 'poloniex': _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_160__/* ["default"] */ .Z,
285440
- 'poloniexfutures': _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_161__/* ["default"] */ .Z,
285441
- 'probit': _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_162__/* ["default"] */ .Z,
285442
- 'upbit': _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_163__/* ["default"] */ .Z,
285443
- 'wazirx': _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_164__/* ["default"] */ .Z,
285444
- 'whitebit': _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_165__/* ["default"] */ .Z,
285445
- 'woo': _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_166__/* ["default"] */ .Z,
283984
+ 'alpaca': _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_104__/* ["default"] */ .Z,
283985
+ 'ascendex': _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_105__/* ["default"] */ .Z,
283986
+ 'bequant': _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_106__/* ["default"] */ .Z,
283987
+ 'binance': _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_107__/* ["default"] */ .Z,
283988
+ 'binancecoinm': _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_108__/* ["default"] */ .Z,
283989
+ 'binanceus': _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_109__/* ["default"] */ .Z,
283990
+ 'binanceusdm': _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_110__/* ["default"] */ .Z,
283991
+ 'bingx': _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_111__/* ["default"] */ .Z,
283992
+ 'bitcoincom': _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_112__/* ["default"] */ .Z,
283993
+ 'bitfinex': _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_113__/* ["default"] */ .Z,
283994
+ 'bitfinex2': _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_114__/* ["default"] */ .Z,
283995
+ 'bitget': _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_115__/* ["default"] */ .Z,
283996
+ 'bitmart': _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_116__/* ["default"] */ .Z,
283997
+ 'bitmex': _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_117__/* ["default"] */ .Z,
283998
+ 'bitopro': _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_118__/* ["default"] */ .Z,
283999
+ 'bitpanda': _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_119__/* ["default"] */ .Z,
284000
+ 'bitrue': _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_120__/* ["default"] */ .Z,
284001
+ 'bitstamp': _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_121__/* ["default"] */ .Z,
284002
+ 'bittrex': _src_pro_bittrex_js__WEBPACK_IMPORTED_MODULE_122__/* ["default"] */ .Z,
284003
+ 'bitvavo': _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_123__/* ["default"] */ .Z,
284004
+ 'blockchaincom': _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_124__/* ["default"] */ .Z,
284005
+ 'bybit': _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_125__/* ["default"] */ .Z,
284006
+ 'cex': _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_126__/* ["default"] */ .Z,
284007
+ 'coinbase': _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_127__/* ["default"] */ .Z,
284008
+ 'coinbaseprime': _src_pro_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_128__/* ["default"] */ .Z,
284009
+ 'coinbasepro': _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_129__/* ["default"] */ .Z,
284010
+ 'coinex': _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_130__/* ["default"] */ .Z,
284011
+ 'cryptocom': _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_131__/* ["default"] */ .Z,
284012
+ 'currencycom': _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_132__/* ["default"] */ .Z,
284013
+ 'deribit': _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_133__/* ["default"] */ .Z,
284014
+ 'exmo': _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_134__/* ["default"] */ .Z,
284015
+ 'gate': _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_135__/* ["default"] */ .Z,
284016
+ 'gateio': _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_136__/* ["default"] */ .Z,
284017
+ 'gemini': _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_137__/* ["default"] */ .Z,
284018
+ 'hitbtc': _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_138__/* ["default"] */ .Z,
284019
+ 'hollaex': _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_139__/* ["default"] */ .Z,
284020
+ 'htx': _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_140__/* ["default"] */ .Z,
284021
+ 'huobi': _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_141__/* ["default"] */ .Z,
284022
+ 'huobijp': _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_142__/* ["default"] */ .Z,
284023
+ 'huobipro': _src_pro_huobipro_js__WEBPACK_IMPORTED_MODULE_143__/* ["default"] */ .Z,
284024
+ 'idex': _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_144__/* ["default"] */ .Z,
284025
+ 'independentreserve': _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_145__/* ["default"] */ .Z,
284026
+ 'kraken': _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_146__/* ["default"] */ .Z,
284027
+ 'krakenfutures': _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_147__/* ["default"] */ .Z,
284028
+ 'kucoin': _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_148__/* ["default"] */ .Z,
284029
+ 'kucoinfutures': _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_149__/* ["default"] */ .Z,
284030
+ 'luno': _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_150__/* ["default"] */ .Z,
284031
+ 'mexc': _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_151__/* ["default"] */ .Z,
284032
+ 'mexc3': _src_pro_mexc3_js__WEBPACK_IMPORTED_MODULE_152__/* ["default"] */ .Z,
284033
+ 'ndax': _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_153__/* ["default"] */ .Z,
284034
+ 'okcoin': _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_154__/* ["default"] */ .Z,
284035
+ 'okex': _src_pro_okex_js__WEBPACK_IMPORTED_MODULE_155__/* ["default"] */ .Z,
284036
+ 'okx': _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_156__/* ["default"] */ .Z,
284037
+ 'phemex': _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_157__/* ["default"] */ .Z,
284038
+ 'poloniex': _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_158__/* ["default"] */ .Z,
284039
+ 'poloniexfutures': _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_159__/* ["default"] */ .Z,
284040
+ 'probit': _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_160__/* ["default"] */ .Z,
284041
+ 'upbit': _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_161__/* ["default"] */ .Z,
284042
+ 'wazirx': _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_162__/* ["default"] */ .Z,
284043
+ 'whitebit': _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_163__/* ["default"] */ .Z,
284044
+ 'woo': _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_164__/* ["default"] */ .Z,
285446
284045
  };
285447
284046
  for (const exchange in pro) {
285448
284047
  // const ccxtExchange = exchanges[exchange]
@@ -285455,7 +284054,7 @@ for (const exchange in pro) {
285455
284054
  pro.exchanges = Object.keys(pro);
285456
284055
  pro['Exchange'] = _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e; // now the same for rest and ts
285457
284056
  //-----------------------------------------------------------------------------
285458
- const ccxt = Object.assign({ version, Exchange: _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e, Precise: _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_167__/* .Precise */ .O, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, _src_base_functions_js__WEBPACK_IMPORTED_MODULE_168__, _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__);
284057
+ const ccxt = Object.assign({ version, Exchange: _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e, Precise: _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_165__/* .Precise */ .O, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, _src_base_functions_js__WEBPACK_IMPORTED_MODULE_166__, _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__);
285459
284058
 
285460
284059
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ccxt);
285461
284060
  //-----------------------------------------------------------------------------