ccxt 4.1.18 → 4.1.19

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 (194) hide show
  1. package/README.md +3 -3
  2. package/build.sh +2 -0
  3. package/dist/ccxt.browser.js +192 -175
  4. package/dist/ccxt.browser.min.js +3 -3
  5. package/dist/cjs/ccxt.js +1 -1
  6. package/dist/cjs/src/ace.js +2 -5
  7. package/dist/cjs/src/base/Exchange.js +19 -2
  8. package/dist/cjs/src/bigone.js +1 -1
  9. package/dist/cjs/src/binance.js +4 -3
  10. package/dist/cjs/src/bitfinex.js +1 -1
  11. package/dist/cjs/src/bitfinex2.js +1 -1
  12. package/dist/cjs/src/bithumb.js +1 -1
  13. package/dist/cjs/src/bitmart.js +6 -7
  14. package/dist/cjs/src/bitmex.js +1 -1
  15. package/dist/cjs/src/bitpanda.js +1 -1
  16. package/dist/cjs/src/bitstamp.js +2 -3
  17. package/dist/cjs/src/bittrex.js +3 -3
  18. package/dist/cjs/src/btcalpha.js +2 -3
  19. package/dist/cjs/src/bybit.js +1 -1
  20. package/dist/cjs/src/cex.js +1 -1
  21. package/dist/cjs/src/coinbase.js +5 -6
  22. package/dist/cjs/src/coinbasepro.js +1 -1
  23. package/dist/cjs/src/coinex.js +1 -1
  24. package/dist/cjs/src/coinfalcon.js +1 -1
  25. package/dist/cjs/src/coinmate.js +2 -2
  26. package/dist/cjs/src/coinone.js +1 -1
  27. package/dist/cjs/src/coinsph.js +1 -0
  28. package/dist/cjs/src/coinspot.js +1 -1
  29. package/dist/cjs/src/delta.js +1 -1
  30. package/dist/cjs/src/deribit.js +1 -1
  31. package/dist/cjs/src/digifinex.js +8 -9
  32. package/dist/cjs/src/exmo.js +3 -4
  33. package/dist/cjs/src/gate.js +2 -1
  34. package/dist/cjs/src/gemini.js +8 -1
  35. package/dist/cjs/src/hitbtc.js +1 -1
  36. package/dist/cjs/src/hollaex.js +1 -1
  37. package/dist/cjs/src/huobi.js +13 -19
  38. package/dist/cjs/src/huobijp.js +3 -3
  39. package/dist/cjs/src/indodax.js +2 -1
  40. package/dist/cjs/src/kraken.js +3 -2
  41. package/dist/cjs/src/krakenfutures.js +6 -6
  42. package/dist/cjs/src/kucoin.js +3 -2
  43. package/dist/cjs/src/kucoinfutures.js +2 -2
  44. package/dist/cjs/src/kuna.js +1 -1
  45. package/dist/cjs/src/lbank.js +2 -2
  46. package/dist/cjs/src/lbank2.js +11 -8
  47. package/dist/cjs/src/luno.js +1 -1
  48. package/dist/cjs/src/lykke.js +2 -2
  49. package/dist/cjs/src/mexc.js +7 -8
  50. package/dist/cjs/src/novadax.js +1 -1
  51. package/dist/cjs/src/oceanex.js +1 -1
  52. package/dist/cjs/src/okcoin.js +4 -5
  53. package/dist/cjs/src/okx.js +9 -10
  54. package/dist/cjs/src/poloniex.js +5 -5
  55. package/dist/cjs/src/poloniexfutures.js +2 -2
  56. package/dist/cjs/src/tidex.js +1 -1
  57. package/dist/cjs/src/upbit.js +1 -1
  58. package/dist/cjs/src/wazirx.js +1 -1
  59. package/dist/cjs/src/whitebit.js +1 -1
  60. package/dist/cjs/src/woo.js +3 -1
  61. package/dist/cjs/src/yobit.js +1 -1
  62. package/js/ccxt.d.ts +1 -1
  63. package/js/ccxt.js +1 -1
  64. package/js/src/abstract/binance.d.ts +1 -0
  65. package/js/src/abstract/binancecoinm.d.ts +1 -0
  66. package/js/src/abstract/binanceus.d.ts +1 -0
  67. package/js/src/abstract/binanceusdm.d.ts +1 -0
  68. package/js/src/ace.d.ts +2 -2
  69. package/js/src/ace.js +2 -5
  70. package/js/src/ascendex.d.ts +7 -7
  71. package/js/src/base/Exchange.d.ts +2 -0
  72. package/js/src/base/Exchange.js +19 -2
  73. package/js/src/base/types.d.ts +3 -0
  74. package/js/src/bigone.d.ts +1 -1
  75. package/js/src/bigone.js +1 -1
  76. package/js/src/binance.d.ts +1 -1
  77. package/js/src/binance.js +4 -3
  78. package/js/src/bitfinex.d.ts +1 -1
  79. package/js/src/bitfinex.js +1 -1
  80. package/js/src/bitfinex2.d.ts +3 -3
  81. package/js/src/bitfinex2.js +1 -1
  82. package/js/src/bitflyer.d.ts +7 -7
  83. package/js/src/bitget.d.ts +1 -1
  84. package/js/src/bithumb.d.ts +1 -1
  85. package/js/src/bithumb.js +1 -1
  86. package/js/src/bitmart.d.ts +2 -2
  87. package/js/src/bitmart.js +6 -7
  88. package/js/src/bitmex.d.ts +4 -4
  89. package/js/src/bitmex.js +1 -1
  90. package/js/src/bitopro.d.ts +2 -2
  91. package/js/src/bitpanda.d.ts +1 -1
  92. package/js/src/bitpanda.js +1 -1
  93. package/js/src/bitstamp.d.ts +1 -1
  94. package/js/src/bitstamp.js +2 -3
  95. package/js/src/bittrex.d.ts +2 -2
  96. package/js/src/bittrex.js +3 -3
  97. package/js/src/btcalpha.d.ts +1 -1
  98. package/js/src/btcalpha.js +2 -3
  99. package/js/src/btcmarkets.d.ts +7 -7
  100. package/js/src/btcturk.d.ts +6 -6
  101. package/js/src/bybit.d.ts +2 -2
  102. package/js/src/bybit.js +1 -1
  103. package/js/src/cex.d.ts +9 -9
  104. package/js/src/cex.js +1 -1
  105. package/js/src/coinbase.d.ts +5 -5
  106. package/js/src/coinbase.js +5 -6
  107. package/js/src/coinbasepro.d.ts +1 -1
  108. package/js/src/coinbasepro.js +1 -1
  109. package/js/src/coincheck.d.ts +4 -4
  110. package/js/src/coinex.d.ts +1 -1
  111. package/js/src/coinex.js +1 -1
  112. package/js/src/coinfalcon.d.ts +4 -4
  113. package/js/src/coinfalcon.js +1 -1
  114. package/js/src/coinmate.d.ts +1 -22
  115. package/js/src/coinmate.js +2 -2
  116. package/js/src/coinone.d.ts +1 -1
  117. package/js/src/coinone.js +1 -1
  118. package/js/src/coinsph.js +1 -0
  119. package/js/src/coinspot.d.ts +1 -1
  120. package/js/src/coinspot.js +1 -1
  121. package/js/src/cryptocom.d.ts +4 -4
  122. package/js/src/delta.d.ts +1 -1
  123. package/js/src/delta.js +1 -1
  124. package/js/src/deribit.d.ts +4 -4
  125. package/js/src/deribit.js +1 -1
  126. package/js/src/digifinex.d.ts +2 -2
  127. package/js/src/digifinex.js +8 -9
  128. package/js/src/exmo.d.ts +14 -14
  129. package/js/src/exmo.js +3 -4
  130. package/js/src/gate.d.ts +10 -12
  131. package/js/src/gate.js +2 -1
  132. package/js/src/gemini.d.ts +7 -7
  133. package/js/src/gemini.js +8 -1
  134. package/js/src/hitbtc.d.ts +23 -23
  135. package/js/src/hitbtc.js +1 -1
  136. package/js/src/hollaex.d.ts +5 -5
  137. package/js/src/hollaex.js +1 -1
  138. package/js/src/huobi.d.ts +8 -27
  139. package/js/src/huobi.js +13 -19
  140. package/js/src/huobijp.d.ts +15 -34
  141. package/js/src/huobijp.js +3 -3
  142. package/js/src/idex.d.ts +9 -9
  143. package/js/src/indodax.d.ts +6 -6
  144. package/js/src/indodax.js +2 -1
  145. package/js/src/kraken.d.ts +7 -7
  146. package/js/src/kraken.js +3 -2
  147. package/js/src/krakenfutures.d.ts +2 -2
  148. package/js/src/krakenfutures.js +6 -6
  149. package/js/src/kucoin.d.ts +3 -7
  150. package/js/src/kucoin.js +3 -2
  151. package/js/src/kucoinfutures.d.ts +1 -24
  152. package/js/src/kucoinfutures.js +2 -2
  153. package/js/src/kuna.d.ts +3 -3
  154. package/js/src/kuna.js +1 -1
  155. package/js/src/lbank.d.ts +7 -7
  156. package/js/src/lbank.js +3 -3
  157. package/js/src/lbank2.d.ts +6 -6
  158. package/js/src/lbank2.js +11 -8
  159. package/js/src/luno.d.ts +1 -1
  160. package/js/src/luno.js +1 -1
  161. package/js/src/lykke.d.ts +1 -20
  162. package/js/src/lykke.js +2 -2
  163. package/js/src/mercado.d.ts +4 -4
  164. package/js/src/mexc.d.ts +4 -4
  165. package/js/src/mexc.js +7 -8
  166. package/js/src/ndax.d.ts +3 -3
  167. package/js/src/novadax.d.ts +1 -1
  168. package/js/src/novadax.js +1 -1
  169. package/js/src/oceanex.d.ts +14 -14
  170. package/js/src/oceanex.js +1 -1
  171. package/js/src/okcoin.d.ts +10 -10
  172. package/js/src/okcoin.js +4 -5
  173. package/js/src/okx.d.ts +2 -2
  174. package/js/src/okx.js +9 -10
  175. package/js/src/phemex.d.ts +3 -8
  176. package/js/src/poloniex.d.ts +4 -4
  177. package/js/src/poloniex.js +5 -5
  178. package/js/src/poloniexfutures.d.ts +4 -26
  179. package/js/src/poloniexfutures.js +2 -2
  180. package/js/src/tidex.d.ts +6 -6
  181. package/js/src/tidex.js +1 -1
  182. package/js/src/upbit.d.ts +6 -6
  183. package/js/src/upbit.js +1 -1
  184. package/js/src/wavesexchange.d.ts +2 -2
  185. package/js/src/wazirx.d.ts +1 -1
  186. package/js/src/wazirx.js +1 -1
  187. package/js/src/whitebit.d.ts +10 -10
  188. package/js/src/whitebit.js +1 -1
  189. package/js/src/woo.d.ts +1 -1
  190. package/js/src/woo.js +3 -1
  191. package/js/src/yobit.d.ts +9 -9
  192. package/js/src/yobit.js +1 -1
  193. package/js/src/zonda.d.ts +5 -5
  194. package/package.json +4 -3
@@ -1805,7 +1805,7 @@ class ace extends _abstract_ace_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
1805
1805
  const ticker = this.parseTicker(rawTicker, market);
1806
1806
  tickers.push(ticker);
1807
1807
  }
1808
- return this.filterByArray(tickers, 'symbol', symbols);
1808
+ return this.filterByArrayTickers(tickers, 'symbol', symbols);
1809
1809
  }
1810
1810
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
1811
1811
  /**
@@ -2346,10 +2346,7 @@ class ace extends _abstract_ace_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
2346
2346
  // }
2347
2347
  //
2348
2348
  const data = this.safeValue(response, 'attachment');
2349
- const trades = this.safeValue(data, 'trades');
2350
- if (trades === undefined) {
2351
- return trades;
2352
- }
2349
+ const trades = this.safeValue(data, 'trades', []);
2353
2350
  return this.parseTrades(trades, market, since, limit);
2354
2351
  }
2355
2352
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -7508,11 +7505,17 @@ class Exchange {
7508
7505
  // V
7509
7506
  client.throttle(cost).then(() => {
7510
7507
  client.send(message);
7511
- }).catch((e) => { throw e; });
7508
+ }).catch((e) => {
7509
+ delete client.subscriptions[subscribeHash];
7510
+ future.reject(e);
7511
+ });
7512
7512
  }
7513
7513
  else {
7514
7514
  client.send(message)
7515
- .catch((e) => { throw e; });
7515
+ .catch((e) => {
7516
+ delete client.subscriptions[subscribeHash];
7517
+ future.reject(e);
7518
+ });
7516
7519
  }
7517
7520
  }
7518
7521
  }).catch((e) => {
@@ -9826,6 +9829,9 @@ class Exchange {
9826
9829
  async fetchTickers(symbols = undefined, params = {}) {
9827
9830
  throw new _errors_js__WEBPACK_IMPORTED_MODULE_3__.NotSupported(this.id + ' fetchTickers() is not supported yet');
9828
9831
  }
9832
+ async fetchOrderBooks(symbols = undefined, limit = undefined, params = {}) {
9833
+ throw new _errors_js__WEBPACK_IMPORTED_MODULE_3__.NotSupported(this.id + ' fetchOrderBooks() is not supported yet');
9834
+ }
9829
9835
  async watchTickers(symbols = undefined, params = {}) {
9830
9836
  throw new _errors_js__WEBPACK_IMPORTED_MODULE_3__.NotSupported(this.id + ' watchTickers() is not supported yet');
9831
9837
  }
@@ -10707,6 +10713,14 @@ class Exchange {
10707
10713
  */
10708
10714
  return this.filterByArray(objects, key, values, indexed);
10709
10715
  }
10716
+ filterByArrayTickers(objects, key, values = undefined, indexed = true) {
10717
+ /**
10718
+ * @ignore
10719
+ * @method
10720
+ * @description Typed wrapper for filterByArray that returns a dictionary of tickers
10721
+ */
10722
+ return this.filterByArray(objects, key, values, indexed);
10723
+ }
10710
10724
  resolvePromiseIfMessagehashMatches(client, prefix, symbol, data) {
10711
10725
  const messageHashes = this.findMessageHashes(client, prefix);
10712
10726
  for (let i = 0; i < messageHashes.length; i++) {
@@ -14875,7 +14889,7 @@ class bigone extends _abstract_bigone_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
14875
14889
  const symbol = ticker['symbol'];
14876
14890
  result[symbol] = ticker;
14877
14891
  }
14878
- return this.filterByArray(result, 'symbol', symbols);
14892
+ return this.filterByArrayTickers(result, 'symbol', symbols);
14879
14893
  }
14880
14894
  async fetchTime(params = {}) {
14881
14895
  /**
@@ -16746,6 +16760,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
16746
16760
  },
16747
16761
  'dapiData': {
16748
16762
  'get': {
16763
+ 'delivery-price': 1,
16749
16764
  'openInterestHist': 1,
16750
16765
  'topLongShortAccountRatio': 1,
16751
16766
  'topLongShortPositionRatio': 1,
@@ -16968,8 +16983,8 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
16968
16983
  'get': {
16969
16984
  'ping': 0.2,
16970
16985
  'time': 0.2,
16971
- 'depth': { 'cost': 0.4, 'byLimit': [[100, 0.4], [500, 2], [1000, 4], [5000, 20]] },
16972
- 'trades': 0.4,
16986
+ 'depth': { 'cost': 1, 'byLimit': [[100, 1], [500, 5], [1000, 10], [5000, 50]] },
16987
+ 'trades': 2,
16973
16988
  'aggTrades': 0.4,
16974
16989
  'historicalTrades': 2,
16975
16990
  'klines': 0.4,
@@ -17066,7 +17081,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
17066
17081
  'margin/marginInterestHistory': 1,
17067
17082
  'portfolio/interest-history': 50,
17068
17083
  'um/income': 30,
17069
- 'cm/income ': 30,
17084
+ 'cm/income': 30,
17070
17085
  'um/account': 5,
17071
17086
  'cm/account': 5,
17072
17087
  'portfolio/repay-futures-switch': 3,
@@ -32962,7 +32977,7 @@ class bitfinex extends _abstract_bitfinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
32962
32977
  const symbol = ticker['symbol'];
32963
32978
  result[symbol] = ticker;
32964
32979
  }
32965
- return this.filterByArray(result, 'symbol', symbols);
32980
+ return this.filterByArrayTickers(result, 'symbol', symbols);
32966
32981
  }
32967
32982
  async fetchTicker(symbol, params = {}) {
32968
32983
  /**
@@ -34942,7 +34957,7 @@ class bitfinex2 extends _abstract_bitfinex2_js__WEBPACK_IMPORTED_MODULE_0__/* ["
34942
34957
  const symbol = market['symbol'];
34943
34958
  result[symbol] = this.parseTicker(ticker, market);
34944
34959
  }
34945
- return this.filterByArray(result, 'symbol', symbols);
34960
+ return this.filterByArrayTickers(result, 'symbol', symbols);
34946
34961
  }
34947
34962
  async fetchTicker(symbol, params = {}) {
34948
34963
  /**
@@ -44899,7 +44914,7 @@ class bithumb extends _abstract_bithumb_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
44899
44914
  result[symbol] = this.parseTicker(ticker, market);
44900
44915
  }
44901
44916
  }
44902
- return this.filterByArray(result, 'symbol', symbols);
44917
+ return this.filterByArrayTickers(result, 'symbol', symbols);
44903
44918
  }
44904
44919
  async fetchTicker(symbol, params = {}) {
44905
44920
  /**
@@ -46778,7 +46793,7 @@ class bitmart extends _abstract_bitmart_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
46778
46793
  const symbol = ticker['symbol'];
46779
46794
  result[symbol] = ticker;
46780
46795
  }
46781
- return this.filterByArray(result, 'symbol', symbols);
46796
+ return this.filterByArrayTickers(result, 'symbol', symbols);
46782
46797
  }
46783
46798
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
46784
46799
  /**
@@ -47759,12 +47774,11 @@ class bitmart extends _abstract_bitmart_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
47759
47774
  //
47760
47775
  const data = this.safeValue(response, 'data', {});
47761
47776
  const order = this.parseOrder(data, market);
47762
- return this.extend(order, {
47763
- 'type': type,
47764
- 'side': side,
47765
- 'amount': amount,
47766
- 'price': price,
47767
- });
47777
+ order['type'] = type;
47778
+ order['side'] = side;
47779
+ order['amount'] = amount;
47780
+ order['price'] = price;
47781
+ return order;
47768
47782
  }
47769
47783
  async cancelOrder(id, symbol = undefined, params = {}) {
47770
47784
  /**
@@ -51021,7 +51035,7 @@ class bitmex extends _abstract_bitmex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
51021
51035
  result[symbol] = ticker;
51022
51036
  }
51023
51037
  }
51024
- return this.filterByArray(result, 'symbol', symbols);
51038
+ return this.filterByArrayTickers(result, 'symbol', symbols);
51025
51039
  }
51026
51040
  parseTicker(ticker, market = undefined) {
51027
51041
  // see response sample under "fetchMarkets" because same endpoint is being used here
@@ -54855,7 +54869,7 @@ class bitpanda extends _abstract_bitpanda_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
54855
54869
  const symbol = ticker['symbol'];
54856
54870
  result[symbol] = ticker;
54857
54871
  }
54858
- return this.filterByArray(result, 'symbol', symbols);
54872
+ return this.filterByArrayTickers(result, 'symbol', symbols);
54859
54873
  }
54860
54874
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
54861
54875
  /**
@@ -61362,9 +61376,8 @@ class bitstamp extends _abstract_bitstamp_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
61362
61376
  }
61363
61377
  const response = await this[method](this.extend(request, params));
61364
61378
  const order = this.parseOrder(response, market);
61365
- return this.extend(order, {
61366
- 'type': type,
61367
- });
61379
+ order['type'] = type;
61380
+ return order;
61368
61381
  }
61369
61382
  async cancelOrder(id, symbol = undefined, params = {}) {
61370
61383
  /**
@@ -63221,7 +63234,7 @@ class bittrex extends _abstract_bittrex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
63221
63234
  const ticker = this.parseTicker(response[i]);
63222
63235
  tickers.push(ticker);
63223
63236
  }
63224
- return this.filterByArray(tickers, 'symbol', symbols);
63237
+ return this.filterByArrayTickers(tickers, 'symbol', symbols);
63225
63238
  }
63226
63239
  async fetchTicker(symbol, params = {}) {
63227
63240
  /**
@@ -64510,8 +64523,8 @@ class bittrex extends _abstract_bittrex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
64510
64523
  request['marketSymbol'] = market['id'];
64511
64524
  }
64512
64525
  const response = await this.privateGetExecutions(this.extend(request, params));
64513
- const trades = this.parseTrades(response, market);
64514
- return this.filterBySymbolSinceLimit(trades, symbol, since, limit);
64526
+ const trades = this.parseTrades(response, market, since, limit);
64527
+ return trades;
64515
64528
  }
64516
64529
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
64517
64530
  /**
@@ -69227,9 +69240,8 @@ class btcalpha extends _abstract_btcalpha_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
69227
69240
  const order = this.parseOrder(response, market);
69228
69241
  const orderAmount = order['amount'].toString();
69229
69242
  amount = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringGt */ .O.stringGt(orderAmount, '0') ? order['amount'] : amount;
69230
- return this.extend(order, {
69231
- 'amount': this.parseNumber(amount),
69232
- });
69243
+ order['amount'] = this.parseNumber(amount);
69244
+ return order;
69233
69245
  }
69234
69246
  async cancelOrder(id, symbol = undefined, params = {}) {
69235
69247
  /**
@@ -75108,7 +75120,7 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
75108
75120
  tickers[symbol] = ticker;
75109
75121
  }
75110
75122
  }
75111
- return this.filterByArray(tickers, 'symbol', symbols);
75123
+ return this.filterByArrayTickers(tickers, 'symbol', symbols);
75112
75124
  }
75113
75125
  parseOHLCV(ohlcv, market = undefined) {
75114
75126
  //
@@ -80934,7 +80946,7 @@ class cex extends _abstract_cex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
80934
80946
  const symbol = market['symbol'];
80935
80947
  result[symbol] = this.parseTicker(ticker, market);
80936
80948
  }
80937
- return this.filterByArray(result, 'symbol', symbols);
80949
+ return this.filterByArrayTickers(result, 'symbol', symbols);
80938
80950
  }
80939
80951
  async fetchTicker(symbol, params = {}) {
80940
80952
  /**
@@ -83161,7 +83173,7 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
83161
83173
  const symbol = market['symbol'];
83162
83174
  result[symbol] = this.parseTicker(rates[baseId], market);
83163
83175
  }
83164
- return this.filterByArray(result, 'symbol', symbols);
83176
+ return this.filterByArrayTickers(result, 'symbol', symbols);
83165
83177
  }
83166
83178
  async fetchTickersV3(symbols = undefined, params = {}) {
83167
83179
  await this.loadMarkets();
@@ -83213,7 +83225,7 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
83213
83225
  const symbol = market['symbol'];
83214
83226
  result[symbol] = this.parseTicker(entry, market);
83215
83227
  }
83216
- return this.filterByArray(result, 'symbol', symbols);
83228
+ return this.filterByArrayTickers(result, 'symbol', symbols);
83217
83229
  }
83218
83230
  async fetchTicker(symbol, params = {}) {
83219
83231
  /**
@@ -83286,10 +83298,9 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
83286
83298
  //
83287
83299
  const data = this.safeValue(response, 'trades', []);
83288
83300
  const ticker = this.parseTicker(data[0], market);
83289
- return this.extend(ticker, {
83290
- 'bid': this.safeNumber(response, 'best_bid'),
83291
- 'ask': this.safeNumber(response, 'best_ask'),
83292
- });
83301
+ ticker['bid'] = this.safeNumber(response, 'best_bid');
83302
+ ticker['ask'] = this.safeNumber(response, 'best_ask');
83303
+ return ticker;
83293
83304
  }
83294
83305
  parseTicker(ticker, market = undefined) {
83295
83306
  //
@@ -85653,7 +85664,7 @@ class coinbasepro extends _abstract_coinbasepro_js__WEBPACK_IMPORTED_MODULE_0__/
85653
85664
  const symbol = market['symbol'];
85654
85665
  result[symbol] = this.parseTicker(first, market);
85655
85666
  }
85656
- return this.filterByArray(result, 'symbol', symbols);
85667
+ return this.filterByArrayTickers(result, 'symbol', symbols);
85657
85668
  }
85658
85669
  async fetchTicker(symbol, params = {}) {
85659
85670
  /**
@@ -88617,7 +88628,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
88617
88628
  ticker['symbol'] = symbol;
88618
88629
  result[symbol] = ticker;
88619
88630
  }
88620
- return this.filterByArray(result, 'symbol', symbols);
88631
+ return this.filterByArrayTickers(result, 'symbol', symbols);
88621
88632
  }
88622
88633
  async fetchTime(params = {}) {
88623
88634
  /**
@@ -92928,7 +92939,7 @@ class coinfalcon extends _abstract_coinfalcon_js__WEBPACK_IMPORTED_MODULE_0__/*
92928
92939
  const symbol = ticker['symbol'];
92929
92940
  result[symbol] = ticker;
92930
92941
  }
92931
- return this.filterByArray(result, 'symbol', symbols);
92942
+ return this.filterByArrayTickers(result, 'symbol', symbols);
92932
92943
  }
92933
92944
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
92934
92945
  /**
@@ -94000,7 +94011,7 @@ class coinmate extends _abstract_coinmate_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
94000
94011
  const ticker = this.safeValue(response, 'data');
94001
94012
  const timestamp = this.safeTimestamp(ticker, 'timestamp');
94002
94013
  const last = this.safeNumber(ticker, 'last');
94003
- return {
94014
+ return this.safeTicker({
94004
94015
  'symbol': market['symbol'],
94005
94016
  'timestamp': timestamp,
94006
94017
  'datetime': this.iso8601(timestamp),
@@ -94021,7 +94032,7 @@ class coinmate extends _abstract_coinmate_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
94021
94032
  'baseVolume': this.safeNumber(ticker, 'amount'),
94022
94033
  'quoteVolume': undefined,
94023
94034
  'info': ticker,
94024
- };
94035
+ }, market);
94025
94036
  }
94026
94037
  async fetchDepositsWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
94027
94038
  /**
@@ -94947,7 +94958,7 @@ class coinone extends _abstract_coinone_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
94947
94958
  result[symbol] = this.parseTicker(ticker, market);
94948
94959
  result[symbol]['timestamp'] = timestamp;
94949
94960
  }
94950
- return this.filterByArray(result, 'symbol', symbols);
94961
+ return this.filterByArrayTickers(result, 'symbol', symbols);
94951
94962
  }
94952
94963
  async fetchTicker(symbol, params = {}) {
94953
94964
  /**
@@ -96167,6 +96178,7 @@ class coinsph extends _abstract_coinsph_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
96167
96178
  'max': undefined,
96168
96179
  },
96169
96180
  },
96181
+ 'created': undefined,
96170
96182
  'info': market,
96171
96183
  });
96172
96184
  }
@@ -97838,7 +97850,7 @@ class coinspot extends _abstract_coinspot_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
97838
97850
  result[symbol] = this.parseTicker(ticker, market);
97839
97851
  }
97840
97852
  }
97841
- return this.filterByArray(result, 'symbol', symbols);
97853
+ return this.filterByArrayTickers(result, 'symbol', symbols);
97842
97854
  }
97843
97855
  async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
97844
97856
  /**
@@ -104358,7 +104370,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
104358
104370
  const symbol = ticker['symbol'];
104359
104371
  result[symbol] = ticker;
104360
104372
  }
104361
- return this.filterByArray(result, 'symbol', symbols);
104373
+ return this.filterByArrayTickers(result, 'symbol', symbols);
104362
104374
  }
104363
104375
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
104364
104376
  /**
@@ -107329,7 +107341,7 @@ class deribit extends _abstract_deribit_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
107329
107341
  const symbol = ticker['symbol'];
107330
107342
  tickers[symbol] = ticker;
107331
107343
  }
107332
- return this.filterByArray(tickers, 'symbol', symbols);
107344
+ return this.filterByArrayTickers(tickers, 'symbol', symbols);
107333
107345
  }
107334
107346
  async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
107335
107347
  /**
@@ -110335,7 +110347,7 @@ class digifinex extends _abstract_digifinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["
110335
110347
  const symbol = ticker['symbol'];
110336
110348
  result[symbol] = ticker;
110337
110349
  }
110338
- return this.filterByArray(result, 'symbol', symbols);
110350
+ return this.filterByArrayTickers(result, 'symbol', symbols);
110339
110351
  }
110340
110352
  async fetchTicker(symbol, params = {}) {
110341
110353
  /**
@@ -110973,14 +110985,13 @@ class digifinex extends _abstract_digifinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["
110973
110985
  // "data": "1590873693003714560"
110974
110986
  // }
110975
110987
  //
110976
- const result = this.parseOrder(response, market);
110977
- return this.extend(result, {
110978
- 'symbol': symbol,
110979
- 'type': type,
110980
- 'side': side,
110981
- 'amount': amount,
110982
- 'price': price,
110983
- });
110988
+ const order = this.parseOrder(response, market);
110989
+ order['symbol'] = symbol;
110990
+ order['type'] = type;
110991
+ order['side'] = side;
110992
+ order['amount'] = amount;
110993
+ order['price'] = price;
110994
+ return order;
110984
110995
  }
110985
110996
  async cancelOrder(id, symbol = undefined, params = {}) {
110986
110997
  /**
@@ -114360,7 +114371,7 @@ class exmo extends _abstract_exmo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
114360
114371
  const ticker = this.safeValue(response, marketId);
114361
114372
  result[symbol] = this.parseTicker(ticker, market);
114362
114373
  }
114363
- return this.filterByArray(result, 'symbol', symbols);
114374
+ return this.filterByArrayTickers(result, 'symbol', symbols);
114364
114375
  }
114365
114376
  async fetchTicker(symbol, params = {}) {
114366
114377
  /**
@@ -114815,9 +114826,8 @@ class exmo extends _abstract_exmo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
114815
114826
  // }
114816
114827
  //
114817
114828
  const order = this.parseOrder(response);
114818
- return this.extend(order, {
114819
- 'id': id.toString(),
114820
- });
114829
+ order['id'] = id.toString();
114830
+ return order;
114821
114831
  }
114822
114832
  async fetchOrderTrades(id, symbol = undefined, since = undefined, limit = undefined, params = {}) {
114823
114833
  /**
@@ -118731,7 +118741,8 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
118731
118741
  result[code] = this.parseBalanceHelper(entry);
118732
118742
  }
118733
118743
  }
118734
- return isolated ? result : this.safeBalance(result);
118744
+ const returnResult = isolated ? result : this.safeBalance(result);
118745
+ return returnResult;
118735
118746
  }
118736
118747
  async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
118737
118748
  /**
@@ -122986,6 +122997,7 @@ class gemini extends _abstract_gemini_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
122986
122997
  'max': undefined,
122987
122998
  },
122988
122999
  },
123000
+ 'created': undefined,
122989
123001
  'info': row,
122990
123002
  });
122991
123003
  }
@@ -123229,7 +123241,13 @@ class gemini extends _abstract_gemini_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
123229
123241
  * @returns {object} a [ticker structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#ticker-structure}
123230
123242
  */
123231
123243
  const method = this.safeValue(this.options, 'fetchTickerMethod', 'fetchTickerV1');
123232
- return await this[method](symbol, params);
123244
+ if (method === 'fetchTickerV1') {
123245
+ return await this.fetchTickerV1(symbol, params);
123246
+ }
123247
+ if (method === 'fetchTickerV2') {
123248
+ return await this.fetchTickerV2(symbol, params);
123249
+ }
123250
+ return await this.fetchTickerV1AndV2(symbol, params);
123233
123251
  }
123234
123252
  parseTicker(ticker, market = undefined) {
123235
123253
  //
@@ -125334,7 +125352,7 @@ class hitbtc extends _abstract_hitbtc_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
125334
125352
  const entry = response[marketId];
125335
125353
  result[symbol] = this.parseTicker(entry, market);
125336
125354
  }
125337
- return this.filterByArray(result, 'symbol', symbols);
125355
+ return this.filterByArrayTickers(result, 'symbol', symbols);
125338
125356
  }
125339
125357
  parseTicker(ticker, market = undefined) {
125340
125358
  //
@@ -127988,7 +128006,7 @@ class hollaex extends _abstract_hollaex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
127988
128006
  const symbol = market['symbol'];
127989
128007
  result[symbol] = this.extend(this.parseTicker(ticker, market), params);
127990
128008
  }
127991
- return this.filterByArray(result, 'symbol', symbols);
128009
+ return this.filterByArrayTickers(result, 'symbol', symbols);
127992
128010
  }
127993
128011
  parseTicker(ticker, market = undefined) {
127994
128012
  //
@@ -131445,7 +131463,7 @@ class huobi extends _abstract_huobi_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
131445
131463
  ticker['datetime'] = this.iso8601(timestamp);
131446
131464
  result[symbol] = ticker;
131447
131465
  }
131448
- return this.filterByArray(result, 'symbol', symbols);
131466
+ return this.filterByArrayTickers(result, 'symbol', symbols);
131449
131467
  }
131450
131468
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
131451
131469
  /**
@@ -133251,14 +133269,12 @@ class huobi extends _abstract_huobi_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
133251
133269
  if (contract && (symbol === undefined)) {
133252
133270
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ArgumentsRequired(this.id + ' fetchOrders() requires a symbol argument for ' + marketType + ' orders');
133253
133271
  }
133254
- let response = undefined;
133255
133272
  if (contract) {
133256
- response = await this.fetchContractOrders(symbol, since, limit, params);
133273
+ return await this.fetchContractOrders(symbol, since, limit, params);
133257
133274
  }
133258
133275
  else {
133259
- response = await this.fetchSpotOrders(symbol, since, limit, params);
133276
+ return await this.fetchSpotOrders(symbol, since, limit, params);
133260
133277
  }
133261
- return response;
133262
133278
  }
133263
133279
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
133264
133280
  /**
@@ -133291,14 +133307,12 @@ class huobi extends _abstract_huobi_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
133291
133307
  }
133292
133308
  let marketType = undefined;
133293
133309
  [marketType, params] = this.handleMarketTypeAndParams('fetchClosedOrders', market, params);
133294
- let response = undefined;
133295
133310
  if (marketType === 'spot') {
133296
- response = await this.fetchClosedSpotOrders(symbol, since, limit, params);
133311
+ return await this.fetchClosedSpotOrders(symbol, since, limit, params);
133297
133312
  }
133298
133313
  else {
133299
- response = await this.fetchClosedContractOrders(symbol, since, limit, params);
133314
+ return await this.fetchClosedContractOrders(symbol, since, limit, params);
133300
133315
  }
133301
- return response;
133302
133316
  }
133303
133317
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
133304
133318
  /**
@@ -133999,14 +134013,12 @@ class huobi extends _abstract_huobi_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
133999
134013
  await this.loadMarkets();
134000
134014
  const market = this.market(symbol);
134001
134015
  const [marketType, query] = this.handleMarketTypeAndParams('createOrder', market, params);
134002
- let response = undefined;
134003
134016
  if (marketType === 'spot') {
134004
- response = await this.createSpotOrder(symbol, type, side, amount, price, query);
134017
+ return await this.createSpotOrder(symbol, type, side, amount, price, query);
134005
134018
  }
134006
134019
  else {
134007
- response = await this.createContractOrder(symbol, type, side, amount, price, query);
134020
+ return await this.createContractOrder(symbol, type, side, amount, price, query);
134008
134021
  }
134009
- return response;
134010
134022
  }
134011
134023
  async createSpotOrder(symbol, type, side, amount, price = undefined, params = {}) {
134012
134024
  /**
@@ -134123,7 +134135,7 @@ class huobi extends _abstract_huobi_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
134123
134135
  // {"status":"ok","data":"438398393065481"}
134124
134136
  //
134125
134137
  const id = this.safeString(response, 'data');
134126
- return {
134138
+ return this.safeOrder({
134127
134139
  'info': response,
134128
134140
  'id': id,
134129
134141
  'timestamp': undefined,
@@ -134131,10 +134143,10 @@ class huobi extends _abstract_huobi_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
134131
134143
  'lastTradeTimestamp': undefined,
134132
134144
  'status': undefined,
134133
134145
  'symbol': undefined,
134134
- 'type': undefined,
134135
- 'side': undefined,
134136
- 'price': undefined,
134137
- 'amount': undefined,
134146
+ 'type': type,
134147
+ 'side': side,
134148
+ 'price': price,
134149
+ 'amount': amount,
134138
134150
  'filled': undefined,
134139
134151
  'remaining': undefined,
134140
134152
  'cost': undefined,
@@ -134142,7 +134154,7 @@ class huobi extends _abstract_huobi_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
134142
134154
  'fee': undefined,
134143
134155
  'clientOrderId': undefined,
134144
134156
  'average': undefined,
134145
- };
134157
+ }, market);
134146
134158
  }
134147
134159
  async createContractOrder(symbol, type, side, amount, price = undefined, params = {}) {
134148
134160
  /**
@@ -138416,7 +138428,7 @@ class huobijp extends _abstract_huobijp_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
138416
138428
  ticker['datetime'] = this.iso8601(timestamp);
138417
138429
  result[symbol] = ticker;
138418
138430
  }
138419
- return this.filterByArray(result, 'symbol', symbols);
138431
+ return this.filterByArrayTickers(result, 'symbol', symbols);
138420
138432
  }
138421
138433
  parseTrade(trade, market = undefined) {
138422
138434
  //
@@ -139116,7 +139128,7 @@ class huobijp extends _abstract_huobijp_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
139116
139128
  const response = await this[method](this.extend(request, params));
139117
139129
  const timestamp = this.milliseconds();
139118
139130
  const id = this.safeString(response, 'data');
139119
- return {
139131
+ return this.safeOrder({
139120
139132
  'info': response,
139121
139133
  'id': id,
139122
139134
  'timestamp': timestamp,
@@ -139135,7 +139147,7 @@ class huobijp extends _abstract_huobijp_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
139135
139147
  'fee': undefined,
139136
139148
  'clientOrderId': undefined,
139137
139149
  'average': undefined,
139138
- };
139150
+ }, market);
139139
139151
  }
139140
139152
  async cancelOrder(id, symbol = undefined, params = {}) {
139141
139153
  /**
@@ -142765,7 +142777,8 @@ class indodax extends _abstract_indodax_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
142765
142777
  const response = await this.privatePostGetOrder(this.extend(request, params));
142766
142778
  const orders = response['return'];
142767
142779
  const order = this.parseOrder(this.extend({ 'id': id }, orders['order']), market);
142768
- return this.extend({ 'info': response }, order);
142780
+ order['info'] = response;
142781
+ return order;
142769
142782
  }
142770
142783
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
142771
142784
  /**
@@ -144041,7 +144054,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
144041
144054
  const ticker = tickers[id];
144042
144055
  result[symbol] = this.parseTicker(ticker, market);
144043
144056
  }
144044
- return this.filterByArray(result, 'symbol', symbols);
144057
+ return this.filterByArrayTickers(result, 'symbol', symbols);
144045
144058
  }
144046
144059
  async fetchTicker(symbol, params = {}) {
144047
144060
  /**
@@ -144940,7 +144953,8 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
144940
144953
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound(this.id + ' fetchOrder() could not find order id ' + id);
144941
144954
  }
144942
144955
  const order = this.parseOrder(this.extend({ 'id': id }, result[id]));
144943
- return this.extend({ 'info': response }, order);
144956
+ order['info'] = order;
144957
+ return order;
144944
144958
  }
144945
144959
  async fetchOrderTrades(id, symbol = undefined, since = undefined, limit = undefined, params = {}) {
144946
144960
  /**
@@ -146870,7 +146884,8 @@ class krakenfutures extends _abstract_krakenfutures_js__WEBPACK_IMPORTED_MODULE_
146870
146884
  const status = this.safeString(response['editStatus'], 'status');
146871
146885
  this.verifyOrderActionSuccess(status, 'editOrder', ['filled']);
146872
146886
  const order = this.parseOrder(response['editStatus']);
146873
- return this.extend({ 'info': response }, order);
146887
+ order['info'] = response;
146888
+ return order;
146874
146889
  }
146875
146890
  async cancelOrder(id, symbol = undefined, params = {}) {
146876
146891
  /**
@@ -147453,11 +147468,10 @@ class krakenfutures extends _abstract_krakenfutures_js__WEBPACK_IMPORTED_MODULE_
147453
147468
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' fetchBalance has no account for ' + type);
147454
147469
  }
147455
147470
  const balance = this.parseBalance(account);
147456
- return this.extend({
147457
- 'info': response,
147458
- 'timestamp': this.parse8601(datetime),
147459
- 'datetime': datetime,
147460
- }, balance);
147471
+ balance['info'] = response;
147472
+ balance['timestamp'] = this.parse8601(datetime);
147473
+ balance['datetime'] = datetime;
147474
+ return balance;
147461
147475
  }
147462
147476
  parseBalance(response) {
147463
147477
  //
@@ -149597,7 +149611,7 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
149597
149611
  result[symbol] = ticker;
149598
149612
  }
149599
149613
  }
149600
- return this.filterByArray(result, 'symbol', symbols);
149614
+ return this.filterByArrayTickers(result, 'symbol', symbols);
149601
149615
  }
149602
149616
  async fetchTicker(symbol, params = {}) {
149603
149617
  /**
@@ -151479,7 +151493,8 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
151479
151493
  }
151480
151494
  }
151481
151495
  }
151482
- return isolated ? result : this.safeBalance(result);
151496
+ const returnType = isolated ? result : this.safeBalance(result);
151497
+ return returnType;
151483
151498
  }
151484
151499
  async transfer(code, amount, fromAccount, toAccount, params = {}) {
151485
151500
  /**
@@ -153556,7 +153571,7 @@ class kucoinfutures extends _abstract_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_
153556
153571
  // }
153557
153572
  //
153558
153573
  const data = this.safeValue(response, 'data', {});
153559
- return {
153574
+ return this.safeOrder({
153560
153575
  'id': this.safeString(data, 'orderId'),
153561
153576
  'clientOrderId': undefined,
153562
153577
  'timestamp': undefined,
@@ -153579,7 +153594,7 @@ class kucoinfutures extends _abstract_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_
153579
153594
  'stopPrice': undefined,
153580
153595
  'triggerPrice': undefined,
153581
153596
  'info': response,
153582
- };
153597
+ }, market);
153583
153598
  }
153584
153599
  async cancelOrder(id, symbol = undefined, params = {}) {
153585
153600
  /**
@@ -155295,7 +155310,7 @@ class kuna extends _abstract_kuna_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
155295
155310
  const symbol = market['symbol'];
155296
155311
  result[symbol] = this.parseTicker(response[id], market);
155297
155312
  }
155298
- return this.filterByArray(result, 'symbol', symbols);
155313
+ return this.filterByArrayTickers(result, 'symbol', symbols);
155299
155314
  }
155300
155315
  async fetchTicker(symbol, params = {}) {
155301
155316
  /**
@@ -157502,12 +157517,12 @@ class latoken extends _abstract_latoken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
157502
157517
  /* harmony export */ "Z": () => (/* binding */ lbank)
157503
157518
  /* harmony export */ });
157504
157519
  /* harmony import */ var _abstract_lbank_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6168);
157505
- /* harmony import */ var _base_errors_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6689);
157520
+ /* harmony import */ var _base_errors_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6689);
157506
157521
  /* harmony import */ var _base_Precise_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2194);
157507
157522
  /* harmony import */ var _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9292);
157508
- /* harmony import */ var _static_dependencies_noble_hashes_md5_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7311);
157509
- /* harmony import */ var _base_functions_rsa_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5981);
157510
- /* harmony import */ var _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1372);
157523
+ /* harmony import */ var _static_dependencies_noble_hashes_md5_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7311);
157524
+ /* harmony import */ var _base_functions_rsa_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5981);
157525
+ /* harmony import */ var _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1372);
157511
157526
  // ---------------------------------------------------------------------------
157512
157527
 
157513
157528
 
@@ -157838,7 +157853,7 @@ class lbank extends _abstract_lbank_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
157838
157853
  const symbol = ticker['symbol'];
157839
157854
  result[symbol] = ticker;
157840
157855
  }
157841
- return this.filterByArray(result, 'symbol', symbols);
157856
+ return this.filterByArrayTickers(result, 'symbol', symbols);
157842
157857
  }
157843
157858
  async fetchOrderBook(symbol, limit = 60, params = {}) {
157844
157859
  /**
@@ -158172,7 +158187,7 @@ class lbank extends _abstract_lbank_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
158172
158187
  return orders[0];
158173
158188
  }
158174
158189
  else {
158175
- return orders;
158190
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.BadRequest(this.id + ' fetchOrder() can only return one order at a time. Found ' + numOrders + ' orders.');
158176
158191
  }
158177
158192
  }
158178
158193
  async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -158319,7 +158334,7 @@ class lbank extends _abstract_lbank_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
158319
158334
  'api_key': this.apiKey,
158320
158335
  }, query));
158321
158336
  const queryString = this.rawencode(query);
158322
- const message = this.hash(this.encode(queryString), _static_dependencies_noble_hashes_md5_js__WEBPACK_IMPORTED_MODULE_3__/* .md5 */ .F).toUpperCase();
158337
+ const message = this.hash(this.encode(queryString), _static_dependencies_noble_hashes_md5_js__WEBPACK_IMPORTED_MODULE_4__/* .md5 */ .F).toUpperCase();
158323
158338
  const cacheSecretAsPem = this.safeValue(this.options, 'cacheSecretAsPem', true);
158324
158339
  let pem = undefined;
158325
158340
  if (cacheSecretAsPem) {
@@ -158332,7 +158347,7 @@ class lbank extends _abstract_lbank_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
158332
158347
  else {
158333
158348
  pem = this.convertSecretToPem(this.secret);
158334
158349
  }
158335
- query['sign'] = (0,_base_functions_rsa_js__WEBPACK_IMPORTED_MODULE_4__/* .rsa */ .j)(message, pem, _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_5__/* .sha256 */ .J);
158350
+ 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);
158336
158351
  body = this.urlencode(query);
158337
158352
  headers = { 'Content-Type': 'application/x-www-form-urlencoded' };
158338
158353
  }
@@ -158370,21 +158385,21 @@ class lbank extends _abstract_lbank_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
158370
158385
  '10022': 'Insufficient key authority',
158371
158386
  }, errorCode, this.json(response));
158372
158387
  const ErrorClass = this.safeValue({
158373
- '10002': _base_errors_js__WEBPACK_IMPORTED_MODULE_6__.AuthenticationError,
158374
- '10004': _base_errors_js__WEBPACK_IMPORTED_MODULE_6__.DDoSProtection,
158375
- '10005': _base_errors_js__WEBPACK_IMPORTED_MODULE_6__.AuthenticationError,
158376
- '10006': _base_errors_js__WEBPACK_IMPORTED_MODULE_6__.AuthenticationError,
158377
- '10007': _base_errors_js__WEBPACK_IMPORTED_MODULE_6__.AuthenticationError,
158378
- '10009': _base_errors_js__WEBPACK_IMPORTED_MODULE_6__.InvalidOrder,
158379
- '10010': _base_errors_js__WEBPACK_IMPORTED_MODULE_6__.InvalidOrder,
158380
- '10011': _base_errors_js__WEBPACK_IMPORTED_MODULE_6__.InvalidOrder,
158381
- '10012': _base_errors_js__WEBPACK_IMPORTED_MODULE_6__.InvalidOrder,
158382
- '10013': _base_errors_js__WEBPACK_IMPORTED_MODULE_6__.InvalidOrder,
158383
- '10014': _base_errors_js__WEBPACK_IMPORTED_MODULE_6__.InvalidOrder,
158384
- '10015': _base_errors_js__WEBPACK_IMPORTED_MODULE_6__.InvalidOrder,
158385
- '10016': _base_errors_js__WEBPACK_IMPORTED_MODULE_6__.InvalidOrder,
158386
- '10022': _base_errors_js__WEBPACK_IMPORTED_MODULE_6__.AuthenticationError,
158387
- }, errorCode, _base_errors_js__WEBPACK_IMPORTED_MODULE_6__.ExchangeError);
158388
+ '10002': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.AuthenticationError,
158389
+ '10004': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.DDoSProtection,
158390
+ '10005': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.AuthenticationError,
158391
+ '10006': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.AuthenticationError,
158392
+ '10007': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.AuthenticationError,
158393
+ '10009': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
158394
+ '10010': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
158395
+ '10011': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
158396
+ '10012': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
158397
+ '10013': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
158398
+ '10014': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
158399
+ '10015': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
158400
+ '10016': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.InvalidOrder,
158401
+ '10022': _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.AuthenticationError,
158402
+ }, errorCode, _base_errors_js__WEBPACK_IMPORTED_MODULE_3__.ExchangeError);
158388
158403
  throw new ErrorClass(message);
158389
158404
  }
158390
158405
  return undefined;
@@ -159913,8 +159928,10 @@ class lbank2 extends _abstract_lbank2_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
159913
159928
  const options = this.safeValue(this.options, 'fetchOrder', {});
159914
159929
  method = this.safeString(options, 'method', 'fetchOrderSupplement');
159915
159930
  }
159916
- const result = await this[method](id, symbol, params);
159917
- return result;
159931
+ if (method === 'fetchOrderSupplement') {
159932
+ return await this.fetchOrderSupplement(id, symbol, params);
159933
+ }
159934
+ return await this.fetchOrderDefault(id, symbol, params);
159918
159935
  }
159919
159936
  async fetchOrderSupplement(id, symbol = undefined, params = {}) {
159920
159937
  this.checkRequiredSymbol('fetchOrder', symbol);
@@ -159985,12 +160002,13 @@ class lbank2 extends _abstract_lbank2_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
159985
160002
  return this.parseOrder(result[0]);
159986
160003
  }
159987
160004
  else {
159988
- const parsedOrders = [];
159989
- for (let i = 0; i < numOrders; i++) {
159990
- const parsedOrder = this.parseOrder(result[i]);
159991
- parsedOrders.push(parsedOrder);
159992
- }
159993
- return parsedOrders;
160005
+ // const parsedOrders = [];
160006
+ // for (let i = 0; i < numOrders; i++) {
160007
+ // const parsedOrder = this.parseOrder (result[i]);
160008
+ // parsedOrders.push (parsedOrder);
160009
+ // }
160010
+ // return parsedOrders;
160011
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' fetchOrder() can only fetch one order at a time');
159994
160012
  }
159995
160013
  }
159996
160014
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -161749,7 +161767,7 @@ class luno extends _abstract_luno_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
161749
161767
  const ticker = tickers[id];
161750
161768
  result[symbol] = this.parseTicker(ticker, market);
161751
161769
  }
161752
- return this.filterByArray(result, 'symbol', symbols);
161770
+ return this.filterByArrayTickers(result, 'symbol', symbols);
161753
161771
  }
161754
161772
  async fetchTicker(symbol, params = {}) {
161755
161773
  /**
@@ -163052,7 +163070,7 @@ class lykke extends _abstract_lykke_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
163052
163070
  if (type === 'market') {
163053
163071
  price = this.safeNumber(payload, 'price');
163054
163072
  }
163055
- return {
163073
+ return this.safeOrder({
163056
163074
  'id': id,
163057
163075
  'info': result,
163058
163076
  'clientOrderId': undefined,
@@ -163071,7 +163089,7 @@ class lykke extends _abstract_lykke_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
163071
163089
  'status': undefined,
163072
163090
  'fee': undefined,
163073
163091
  'trades': undefined,
163074
- };
163092
+ }, market);
163075
163093
  }
163076
163094
  async cancelOrder(id, symbol = undefined, params = {}) {
163077
163095
  /**
@@ -166517,10 +166535,9 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
166517
166535
  if (market['spot']) {
166518
166536
  return await this.createSpotOrder(market, type, side, amount, price, marginMode, query);
166519
166537
  }
166520
- else if (market['swap']) {
166538
+ else {
166521
166539
  return await this.createSwapOrder(market, type, side, amount, price, marginMode, query);
166522
166540
  }
166523
- return undefined;
166524
166541
  }
166525
166542
  async createSpotOrder(market, type, side, amount, price = undefined, marginMode = undefined, params = {}) {
166526
166543
  const symbol = market['symbol'];
@@ -166591,12 +166608,12 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
166591
166608
  // "transactTime": 1661992652132
166592
166609
  // }
166593
166610
  //
166594
- return this.extend(this.parseOrder(response, market), {
166595
- 'side': side,
166596
- 'type': type,
166597
- 'price': price,
166598
- 'amount': amount,
166599
- });
166611
+ const order = this.parseOrder(response, market);
166612
+ order['side'] = side;
166613
+ order['type'] = type;
166614
+ order['price'] = price;
166615
+ order['amount'] = amount;
166616
+ return order;
166600
166617
  }
166601
166618
  async createSwapOrder(market, type, side, amount, price = undefined, marginMode = undefined, params = {}) {
166602
166619
  await this.loadMarkets();
@@ -172694,7 +172711,7 @@ class novadax extends _abstract_novadax_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
172694
172711
  const symbol = ticker['symbol'];
172695
172712
  result[symbol] = ticker;
172696
172713
  }
172697
- return this.filterByArray(result, 'symbol', symbols);
172714
+ return this.filterByArrayTickers(result, 'symbol', symbols);
172698
172715
  }
172699
172716
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
172700
172717
  /**
@@ -174129,7 +174146,7 @@ class oceanex extends _abstract_oceanex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
174129
174146
  const symbol = market['symbol'];
174130
174147
  result[symbol] = this.parseTicker(ticker, market);
174131
174148
  }
174132
- return this.filterByArray(result, 'symbol', symbols);
174149
+ return this.filterByArrayTickers(result, 'symbol', symbols);
174133
174150
  }
174134
174151
  parseTicker(data, market = undefined) {
174135
174152
  //
@@ -176105,7 +176122,7 @@ class okcoin extends _abstract_okcoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
176105
176122
  const symbol = ticker['symbol'];
176106
176123
  result[symbol] = ticker;
176107
176124
  }
176108
- return this.filterByArray(result, 'symbol', symbols);
176125
+ return this.filterByArrayTickers(result, 'symbol', symbols);
176109
176126
  }
176110
176127
  async fetchTickers(symbols = undefined, params = {}) {
176111
176128
  /**
@@ -176838,10 +176855,9 @@ class okcoin extends _abstract_okcoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
176838
176855
  // }
176839
176856
  //
176840
176857
  const order = this.parseOrder(response, market);
176841
- return this.extend(order, {
176842
- 'type': type,
176843
- 'side': side,
176844
- });
176858
+ order['type'] = type;
176859
+ order['side'] = side;
176860
+ return order;
176845
176861
  }
176846
176862
  async cancelOrder(id, symbol = undefined, params = {}) {
176847
176863
  /**
@@ -181478,10 +181494,9 @@ class okx extends _abstract_okx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
181478
181494
  const data = this.safeValue(response, 'data', []);
181479
181495
  const first = this.safeValue(data, 0);
181480
181496
  const order = this.parseOrder(first, market);
181481
- return this.extend(order, {
181482
- 'type': type,
181483
- 'side': side,
181484
- });
181497
+ order['type'] = type;
181498
+ order['side'] = side;
181499
+ return order;
181485
181500
  }
181486
181501
  editOrderRequest(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
181487
181502
  const market = this.market(symbol);
@@ -181592,10 +181607,9 @@ class okx extends _abstract_okx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
181592
181607
  const data = this.safeValue(response, 'data', []);
181593
181608
  const first = this.safeValue(data, 0);
181594
181609
  const order = this.parseOrder(first, market);
181595
- return this.extend(order, {
181596
- 'type': type,
181597
- 'side': side,
181598
- });
181610
+ order['type'] = type;
181611
+ order['side'] = side;
181612
+ return order;
181599
181613
  }
181600
181614
  async cancelOrder(id, symbol = undefined, params = {}) {
181601
181615
  /**
@@ -184520,6 +184534,7 @@ class okx extends _abstract_okx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
184520
184534
  * @param {string} marginMode 'cross' or 'isolated'
184521
184535
  * @param {string} symbol unified market symbol
184522
184536
  * @param {object} [params] extra parameters specific to the okx api endpoint
184537
+ * @param {int} [params.leverage] leverage
184523
184538
  * @returns {object} response from the exchange
184524
184539
  */
184525
184540
  if (symbol === undefined) {
@@ -184533,11 +184548,11 @@ class okx extends _abstract_okx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
184533
184548
  }
184534
184549
  await this.loadMarkets();
184535
184550
  const market = this.market(symbol);
184536
- const lever = this.safeInteger(params, 'lever');
184551
+ const lever = this.safeInteger2(params, 'lever', 'leverage');
184537
184552
  if ((lever === undefined) || (lever < 1) || (lever > 125)) {
184538
184553
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' setMarginMode() params["lever"] should be between 1 and 125');
184539
184554
  }
184540
- params = this.omit(params, ['lever']);
184555
+ params = this.omit(params, ['leverage']);
184541
184556
  const request = {
184542
184557
  'lever': lever,
184543
184558
  'mgnMode': marginMode,
@@ -191709,8 +191724,8 @@ class poloniex extends _abstract_poloniex_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
191709
191724
  // }
191710
191725
  // ]
191711
191726
  //
191712
- const result = this.parseTrades(response, market);
191713
- return this.filterBySinceLimit(result, since, limit);
191727
+ const result = this.parseTrades(response, market, since, limit);
191728
+ return result;
191714
191729
  }
191715
191730
  parseOrderStatus(status) {
191716
191731
  const statuses = {
@@ -192192,9 +192207,9 @@ class poloniex extends _abstract_poloniex_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
192192
192207
  // "updateTime": 1646196019020
192193
192208
  // }
192194
192209
  //
192195
- return this.extend(this.parseOrder(response), {
192196
- 'id': id,
192197
- });
192210
+ const order = this.parseOrder(response);
192211
+ order['id'] = id;
192212
+ return order;
192198
192213
  }
192199
192214
  async fetchOrderStatus(id, symbol = undefined, params = {}) {
192200
192215
  await this.loadMarkets();
@@ -193912,7 +193927,7 @@ class poloniexfutures extends _abstract_poloniexfutures_js__WEBPACK_IMPORTED_MOD
193912
193927
  // }
193913
193928
  //
193914
193929
  const data = this.safeValue(response, 'data', {});
193915
- return {
193930
+ return this.safeOrder({
193916
193931
  'id': this.safeString(data, 'orderId'),
193917
193932
  'clientOrderId': undefined,
193918
193933
  'timestamp': undefined,
@@ -193934,7 +193949,7 @@ class poloniexfutures extends _abstract_poloniexfutures_js__WEBPACK_IMPORTED_MOD
193934
193949
  'postOnly': undefined,
193935
193950
  'stopPrice': undefined,
193936
193951
  'info': response,
193937
- };
193952
+ }, market);
193938
193953
  }
193939
193954
  async cancelOrder(id, symbol = undefined, params = {}) {
193940
193955
  /**
@@ -253701,7 +253716,7 @@ class tidex extends _abstract_tidex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
253701
253716
  const symbol = market['symbol'];
253702
253717
  result[symbol] = this.parseTicker(response[id], market);
253703
253718
  }
253704
- return this.filterByArray(result, 'symbol', symbols);
253719
+ return this.filterByArrayTickers(result, 'symbol', symbols);
253705
253720
  }
253706
253721
  async fetchTicker(symbol, params = {}) {
253707
253722
  /**
@@ -259067,7 +259082,7 @@ class upbit extends _abstract_upbit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
259067
259082
  const symbol = ticker['symbol'];
259068
259083
  result[symbol] = ticker;
259069
259084
  }
259070
- return this.filterByArray(result, 'symbol', symbols);
259085
+ return this.filterByArrayTickers(result, 'symbol', symbols);
259071
259086
  }
259072
259087
  async fetchTicker(symbol, params = {}) {
259073
259088
  /**
@@ -263224,7 +263239,7 @@ class wazirx extends _abstract_wazirx_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
263224
263239
  const symbol = parsedTicker['symbol'];
263225
263240
  result[symbol] = parsedTicker;
263226
263241
  }
263227
- return result;
263242
+ return this.filterByArrayTickers(result, 'symbol', symbols);
263228
263243
  }
263229
263244
  async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
263230
263245
  /**
@@ -264553,7 +264568,7 @@ class whitebit extends _abstract_whitebit_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
264553
264568
  const symbol = ticker['symbol'];
264554
264569
  result[symbol] = ticker;
264555
264570
  }
264556
- return this.filterByArray(result, 'symbol', symbols);
264571
+ return this.filterByArrayTickers(result, 'symbol', symbols);
264557
264572
  }
264558
264573
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
264559
264574
  /**
@@ -266917,7 +266932,9 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
266917
266932
  const rows = this.safeValue(data, 'rows', []);
266918
266933
  return this.parseOrder(rows[0], market);
266919
266934
  }
266920
- return this.extend(this.parseOrder(response, market), { 'type': type });
266935
+ const order = this.parseOrder(response, market);
266936
+ order['type'] = type;
266937
+ return order;
266921
266938
  }
266922
266939
  async editOrder(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
266923
266940
  /**
@@ -269228,7 +269245,7 @@ class yobit extends _abstract_yobit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
269228
269245
  const symbol = market['symbol'];
269229
269246
  result[symbol] = this.parseTicker(ticker, market);
269230
269247
  }
269231
- return this.filterByArray(result, 'symbol', symbols);
269248
+ return this.filterByArrayTickers(result, 'symbol', symbols);
269232
269249
  }
269233
269250
  async fetchTicker(symbol, params = {}) {
269234
269251
  /**
@@ -278170,7 +278187,7 @@ SOFTWARE.
278170
278187
 
278171
278188
  //-----------------------------------------------------------------------------
278172
278189
  // this is updated by vss.js when building
278173
- const version = '4.1.18';
278190
+ const version = '4.1.19';
278174
278191
  _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange.ccxtVersion */ .e.ccxtVersion = version;
278175
278192
  //-----------------------------------------------------------------------------
278176
278193