ccxt 4.2.84 → 4.2.85

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 (164) hide show
  1. package/README.md +3 -3
  2. package/build.sh +1 -1
  3. package/dist/ccxt.browser.js +867 -904
  4. package/dist/ccxt.browser.min.js +4 -4
  5. package/dist/cjs/ccxt.js +1 -1
  6. package/dist/cjs/src/ace.js +5 -5
  7. package/dist/cjs/src/ascendex.js +8 -8
  8. package/dist/cjs/src/base/Exchange.js +76 -14
  9. package/dist/cjs/src/bigone.js +12 -12
  10. package/dist/cjs/src/binance.js +23 -35
  11. package/dist/cjs/src/bingx.js +13 -9
  12. package/dist/cjs/src/bit2c.js +1 -1
  13. package/dist/cjs/src/bitbank.js +8 -8
  14. package/dist/cjs/src/bitbns.js +5 -5
  15. package/dist/cjs/src/bitfinex.js +1 -1
  16. package/dist/cjs/src/bitfinex2.js +1 -1
  17. package/dist/cjs/src/bitget.js +30 -24
  18. package/dist/cjs/src/bithumb.js +5 -5
  19. package/dist/cjs/src/bitmart.js +16 -16
  20. package/dist/cjs/src/bitopro.js +1 -1
  21. package/dist/cjs/src/bitrue.js +4 -4
  22. package/dist/cjs/src/bitso.js +5 -5
  23. package/dist/cjs/src/bitstamp.js +1 -1
  24. package/dist/cjs/src/bitteam.js +8 -8
  25. package/dist/cjs/src/bl3p.js +1 -1
  26. package/dist/cjs/src/btcturk.js +6 -6
  27. package/dist/cjs/src/bybit.js +31 -95
  28. package/dist/cjs/src/coincheck.js +4 -4
  29. package/dist/cjs/src/coinex.js +11 -11
  30. package/dist/cjs/src/coinlist.js +7 -7
  31. package/dist/cjs/src/coinmate.js +4 -4
  32. package/dist/cjs/src/coinmetro.js +3 -3
  33. package/dist/cjs/src/coinone.js +5 -5
  34. package/dist/cjs/src/coinspot.js +2 -2
  35. package/dist/cjs/src/cryptocom.js +17 -17
  36. package/dist/cjs/src/currencycom.js +1 -1
  37. package/dist/cjs/src/delta.js +0 -8
  38. package/dist/cjs/src/deribit.js +16 -92
  39. package/dist/cjs/src/digifinex.js +8 -8
  40. package/dist/cjs/src/exmo.js +8 -8
  41. package/dist/cjs/src/gate.js +0 -8
  42. package/dist/cjs/src/hitbtc.js +5 -4
  43. package/dist/cjs/src/hollaex.js +7 -7
  44. package/dist/cjs/src/htx.js +7 -7
  45. package/dist/cjs/src/huobijp.js +3 -3
  46. package/dist/cjs/src/idex.js +2 -2
  47. package/dist/cjs/src/independentreserve.js +2 -2
  48. package/dist/cjs/src/indodax.js +2 -2
  49. package/dist/cjs/src/kraken.js +8 -8
  50. package/dist/cjs/src/krakenfutures.js +6 -6
  51. package/dist/cjs/src/kucoin.js +5 -1
  52. package/dist/cjs/src/kucoinfutures.js +8 -8
  53. package/dist/cjs/src/kuna.js +16 -16
  54. package/dist/cjs/src/latoken.js +2 -2
  55. package/dist/cjs/src/lbank.js +10 -10
  56. package/dist/cjs/src/luno.js +4 -4
  57. package/dist/cjs/src/mercado.js +5 -5
  58. package/dist/cjs/src/mexc.js +6 -6
  59. package/dist/cjs/src/ndax.js +1 -1
  60. package/dist/cjs/src/novadax.js +9 -9
  61. package/dist/cjs/src/oceanex.js +7 -7
  62. package/dist/cjs/src/okcoin.js +13 -13
  63. package/dist/cjs/src/okx.js +23 -31
  64. package/dist/cjs/src/onetrading.js +4 -4
  65. package/dist/cjs/src/p2b.js +7 -7
  66. package/dist/cjs/src/phemex.js +12 -12
  67. package/dist/cjs/src/poloniexfutures.js +5 -5
  68. package/dist/cjs/src/pro/binance.js +167 -121
  69. package/dist/cjs/src/pro/kucoin.js +6 -7
  70. package/dist/cjs/src/pro/okx.js +19 -2
  71. package/dist/cjs/src/probit.js +11 -11
  72. package/dist/cjs/src/timex.js +7 -7
  73. package/dist/cjs/src/tokocrypto.js +9 -9
  74. package/dist/cjs/src/wavesexchange.js +3 -3
  75. package/dist/cjs/src/whitebit.js +5 -5
  76. package/dist/cjs/src/woo.js +1 -1
  77. package/dist/cjs/src/zaif.js +1 -1
  78. package/dist/cjs/src/zonda.js +7 -7
  79. package/examples/js/cli.js +0 -1
  80. package/examples/ts/cli.ts +0 -1
  81. package/js/ccxt.d.ts +1 -1
  82. package/js/ccxt.js +1 -1
  83. package/js/src/ace.js +5 -5
  84. package/js/src/ascendex.js +8 -8
  85. package/js/src/base/Exchange.d.ts +4 -3
  86. package/js/src/base/Exchange.js +76 -14
  87. package/js/src/bigone.js +12 -12
  88. package/js/src/binance.d.ts +0 -1
  89. package/js/src/binance.js +23 -35
  90. package/js/src/bingx.js +13 -9
  91. package/js/src/bit2c.js +1 -1
  92. package/js/src/bitbank.js +8 -8
  93. package/js/src/bitbns.js +5 -5
  94. package/js/src/bitfinex.js +1 -1
  95. package/js/src/bitfinex2.js +1 -1
  96. package/js/src/bitget.js +30 -24
  97. package/js/src/bithumb.js +5 -5
  98. package/js/src/bitmart.js +16 -16
  99. package/js/src/bitopro.js +1 -1
  100. package/js/src/bitrue.js +4 -4
  101. package/js/src/bitso.js +5 -5
  102. package/js/src/bitstamp.js +1 -1
  103. package/js/src/bitteam.js +8 -8
  104. package/js/src/bl3p.js +1 -1
  105. package/js/src/btcturk.js +6 -6
  106. package/js/src/bybit.d.ts +0 -3
  107. package/js/src/bybit.js +31 -95
  108. package/js/src/coincheck.js +4 -4
  109. package/js/src/coinex.js +11 -11
  110. package/js/src/coinlist.js +7 -7
  111. package/js/src/coinmate.js +4 -4
  112. package/js/src/coinmetro.js +3 -3
  113. package/js/src/coinone.js +5 -5
  114. package/js/src/coinspot.js +2 -2
  115. package/js/src/cryptocom.js +17 -17
  116. package/js/src/currencycom.js +1 -1
  117. package/js/src/delta.d.ts +0 -1
  118. package/js/src/delta.js +0 -8
  119. package/js/src/deribit.d.ts +0 -3
  120. package/js/src/deribit.js +16 -92
  121. package/js/src/digifinex.js +8 -8
  122. package/js/src/exmo.js +8 -8
  123. package/js/src/gate.d.ts +0 -1
  124. package/js/src/gate.js +0 -8
  125. package/js/src/hitbtc.js +5 -4
  126. package/js/src/hollaex.js +7 -7
  127. package/js/src/htx.js +7 -7
  128. package/js/src/huobijp.js +3 -3
  129. package/js/src/idex.js +2 -2
  130. package/js/src/independentreserve.js +2 -2
  131. package/js/src/indodax.js +2 -2
  132. package/js/src/kraken.js +8 -8
  133. package/js/src/krakenfutures.js +6 -6
  134. package/js/src/kucoin.js +5 -1
  135. package/js/src/kucoinfutures.js +8 -8
  136. package/js/src/kuna.js +16 -16
  137. package/js/src/latoken.js +2 -2
  138. package/js/src/lbank.js +10 -10
  139. package/js/src/luno.js +4 -4
  140. package/js/src/mercado.js +5 -5
  141. package/js/src/mexc.js +6 -6
  142. package/js/src/ndax.js +1 -1
  143. package/js/src/novadax.js +9 -9
  144. package/js/src/oceanex.js +7 -7
  145. package/js/src/okcoin.js +13 -13
  146. package/js/src/okx.d.ts +0 -1
  147. package/js/src/okx.js +23 -31
  148. package/js/src/onetrading.js +4 -4
  149. package/js/src/p2b.js +7 -7
  150. package/js/src/phemex.js +12 -12
  151. package/js/src/poloniexfutures.js +5 -5
  152. package/js/src/pro/binance.d.ts +5 -1
  153. package/js/src/pro/binance.js +168 -122
  154. package/js/src/pro/kucoin.js +6 -7
  155. package/js/src/pro/okx.js +19 -2
  156. package/js/src/probit.js +11 -11
  157. package/js/src/timex.js +7 -7
  158. package/js/src/tokocrypto.js +9 -9
  159. package/js/src/wavesexchange.js +3 -3
  160. package/js/src/whitebit.js +5 -5
  161. package/js/src/woo.js +1 -1
  162. package/js/src/zaif.js +1 -1
  163. package/js/src/zonda.js +7 -7
  164. package/package.json +1 -1
package/js/src/pro/okx.js CHANGED
@@ -490,14 +490,31 @@ export default class okx extends okxRest {
490
490
  * @name okx#watchOrderBookForSymbols
491
491
  * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
492
492
  * @param {string[]} symbols unified array of symbols
493
- * @param {int} [limit] the maximum amount of order book entries to return
493
+ * @param {int} [limit] 1,5, 400, 50 (l2-tbt, vip4+) or 40000 (vip5+) the maximum amount of order book entries to return
494
494
  * @param {object} [params] extra parameters specific to the exchange API endpoint
495
495
  * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
496
496
  */
497
497
  await this.loadMarkets();
498
498
  symbols = this.marketSymbols(symbols);
499
499
  const options = this.safeValue(this.options, 'watchOrderBook', {});
500
- const depth = this.safeString(options, 'depth', 'books');
500
+ let depth = this.safeString(options, 'depth', 'books');
501
+ if (limit !== undefined) {
502
+ if (limit === 1) {
503
+ depth = 'bbo-tbt';
504
+ }
505
+ else if (limit > 1 && limit <= 5) {
506
+ depth = 'books5';
507
+ }
508
+ else if (limit === 400) {
509
+ depth = 'books';
510
+ }
511
+ else if (limit === 50) {
512
+ depth = 'books50-l2-tbt'; // Make sure you have VIP4 and above
513
+ }
514
+ else if (limit === 4000) {
515
+ depth = 'books-l2-tbt'; // Make sure you have VIP5 and above
516
+ }
517
+ }
501
518
  if ((depth === 'books-l2-tbt') || (depth === 'books50-l2-tbt')) {
502
519
  await this.authenticate({ 'access': 'public' });
503
520
  }
package/js/src/probit.js CHANGED
@@ -624,7 +624,7 @@ export default class probit extends Exchange {
624
624
  // ]
625
625
  // }
626
626
  //
627
- const data = this.safeValue(response, 'data', []);
627
+ const data = this.safeList(response, 'data', []);
628
628
  return this.parseTickers(data, symbols);
629
629
  }
630
630
  async fetchTicker(symbol, params = {}) {
@@ -760,7 +760,7 @@ export default class probit extends Exchange {
760
760
  // ]
761
761
  // }
762
762
  //
763
- const data = this.safeValue(response, 'data', []);
763
+ const data = this.safeList(response, 'data', []);
764
764
  return this.parseTrades(data, market, since, limit);
765
765
  }
766
766
  async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
@@ -814,7 +814,7 @@ export default class probit extends Exchange {
814
814
  // ]
815
815
  // }
816
816
  //
817
- const data = this.safeValue(response, 'data', []);
817
+ const data = this.safeList(response, 'data', []);
818
818
  return this.parseTrades(data, market, since, limit);
819
819
  }
820
820
  parseTrade(trade, market = undefined) {
@@ -1002,7 +1002,7 @@ export default class probit extends Exchange {
1002
1002
  // ]
1003
1003
  // }
1004
1004
  //
1005
- const data = this.safeValue(response, 'data', []);
1005
+ const data = this.safeList(response, 'data', []);
1006
1006
  return this.parseOHLCVs(data, market, timeframe, since, limit);
1007
1007
  }
1008
1008
  parseOHLCV(ohlcv, market = undefined) {
@@ -1049,7 +1049,7 @@ export default class probit extends Exchange {
1049
1049
  request['market_id'] = market['id'];
1050
1050
  }
1051
1051
  const response = await this.privateGetOpenOrder(this.extend(request, params));
1052
- const data = this.safeValue(response, 'data');
1052
+ const data = this.safeList(response, 'data');
1053
1053
  return this.parseOrders(data, market, since, limit);
1054
1054
  }
1055
1055
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1082,7 +1082,7 @@ export default class probit extends Exchange {
1082
1082
  request['limit'] = limit;
1083
1083
  }
1084
1084
  const response = await this.privateGetOrderHistory(this.extend(request, params));
1085
- const data = this.safeValue(response, 'data');
1085
+ const data = this.safeList(response, 'data');
1086
1086
  return this.parseOrders(data, market, since, limit);
1087
1087
  }
1088
1088
  async fetchOrder(id, symbol = undefined, params = {}) {
@@ -1113,7 +1113,7 @@ export default class probit extends Exchange {
1113
1113
  const query = this.omit(params, ['clientOrderId', 'client_order_id']);
1114
1114
  const response = await this.privateGetOrder(this.extend(request, query));
1115
1115
  const data = this.safeValue(response, 'data', []);
1116
- const order = this.safeValue(data, 0);
1116
+ const order = this.safeDict(data, 0);
1117
1117
  return this.parseOrder(order, market);
1118
1118
  }
1119
1119
  parseOrderStatus(status) {
@@ -1312,7 +1312,7 @@ export default class probit extends Exchange {
1312
1312
  'order_id': id,
1313
1313
  };
1314
1314
  const response = await this.privatePostCancelOrder(this.extend(request, params));
1315
- const data = this.safeValue(response, 'data');
1315
+ const data = this.safeDict(response, 'data');
1316
1316
  return this.parseOrder(data);
1317
1317
  }
1318
1318
  parseDepositAddress(depositAddress, currency = undefined) {
@@ -1406,7 +1406,7 @@ export default class probit extends Exchange {
1406
1406
  request['currency_id'] = codes.join(',');
1407
1407
  }
1408
1408
  const response = await this.privateGetDepositAddress(this.extend(request, params));
1409
- const data = this.safeValue(response, 'data', []);
1409
+ const data = this.safeList(response, 'data', []);
1410
1410
  return this.parseDepositAddresses(data, codes);
1411
1411
  }
1412
1412
  async withdraw(code, amount, address, tag = undefined, params = {}) {
@@ -1453,7 +1453,7 @@ export default class probit extends Exchange {
1453
1453
  params = this.omit(params, 'network');
1454
1454
  }
1455
1455
  const response = await this.privatePostWithdrawal(this.extend(request, params));
1456
- const data = this.safeValue(response, 'data');
1456
+ const data = this.safeDict(response, 'data');
1457
1457
  return this.parseTransaction(data, currency);
1458
1458
  }
1459
1459
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1703,7 +1703,7 @@ export default class probit extends Exchange {
1703
1703
  // ]
1704
1704
  // }
1705
1705
  //
1706
- const data = this.safeValue(response, 'data');
1706
+ const data = this.safeList(response, 'data');
1707
1707
  return this.parseDepositWithdrawFees(data, codes, 'id');
1708
1708
  }
1709
1709
  parseDepositWithdrawFee(fee, currency = undefined) {
package/js/src/timex.js CHANGED
@@ -549,7 +549,7 @@ export default class timex extends Exchange {
549
549
  // }
550
550
  // ]
551
551
  //
552
- const ticker = this.safeValue(response, 0);
552
+ const ticker = this.safeDict(response, 0);
553
553
  return this.parseTicker(ticker, market);
554
554
  }
555
555
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
@@ -810,7 +810,7 @@ export default class timex extends Exchange {
810
810
  // }
811
811
  //
812
812
  const orders = this.safeValue(response, 'orders', []);
813
- const order = this.safeValue(orders, 0, {});
813
+ const order = this.safeDict(orders, 0, {});
814
814
  return this.parseOrder(order, market);
815
815
  }
816
816
  async editOrder(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
@@ -861,7 +861,7 @@ export default class timex extends Exchange {
861
861
  }
862
862
  const orders = this.safeValue(response, 'changedOrders', []);
863
863
  const firstOrder = this.safeValue(orders, 0, {});
864
- const order = this.safeValue(firstOrder, 'newOrder', {});
864
+ const order = this.safeDict(firstOrder, 'newOrder', {});
865
865
  return this.parseOrder(order, market);
866
866
  }
867
867
  async cancelOrder(id, symbol = undefined, params = {}) {
@@ -969,7 +969,7 @@ export default class timex extends Exchange {
969
969
  // }
970
970
  //
971
971
  const order = this.safeValue(response, 'order', {});
972
- const trades = this.safeValue(response, 'trades', []);
972
+ const trades = this.safeList(response, 'trades', []);
973
973
  return this.parseOrder(this.extend(order, { 'trades': trades }));
974
974
  }
975
975
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1024,7 +1024,7 @@ export default class timex extends Exchange {
1024
1024
  // ]
1025
1025
  // }
1026
1026
  //
1027
- const orders = this.safeValue(response, 'orders', []);
1027
+ const orders = this.safeList(response, 'orders', []);
1028
1028
  return this.parseOrders(orders, market, since, limit);
1029
1029
  }
1030
1030
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1084,7 +1084,7 @@ export default class timex extends Exchange {
1084
1084
  // ]
1085
1085
  // }
1086
1086
  //
1087
- const orders = this.safeValue(response, 'orders', []);
1087
+ const orders = this.safeList(response, 'orders', []);
1088
1088
  return this.parseOrders(orders, market, since, limit);
1089
1089
  }
1090
1090
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1147,7 +1147,7 @@ export default class timex extends Exchange {
1147
1147
  // ]
1148
1148
  // }
1149
1149
  //
1150
- const trades = this.safeValue(response, 'trades', []);
1150
+ const trades = this.safeList(response, 'trades', []);
1151
1151
  return this.parseTrades(trades, market, since, limit);
1152
1152
  }
1153
1153
  parseTradingFee(fee, market = undefined) {
@@ -1220,7 +1220,7 @@ export default class tokocrypto extends Exchange {
1220
1220
  };
1221
1221
  const response = await this.binanceGetTicker24hr(this.extend(request, params));
1222
1222
  if (Array.isArray(response)) {
1223
- const firstTicker = this.safeValue(response, 0, {});
1223
+ const firstTicker = this.safeDict(response, 0, {});
1224
1224
  return this.parseTicker(firstTicker, market);
1225
1225
  }
1226
1226
  return this.parseTicker(response, market);
@@ -1339,7 +1339,7 @@ export default class tokocrypto extends Exchange {
1339
1339
  // [1591478640000,"0.02500800","0.02501100","0.02500300","0.02500800","154.14200000",1591478699999,"3.85405839",97,"5.32300000","0.13312641","0"],
1340
1340
  // ]
1341
1341
  //
1342
- const data = this.safeValue(response, 'data', response);
1342
+ const data = this.safeList(response, 'data', response);
1343
1343
  return this.parseOHLCVs(data, market, timeframe, since, limit);
1344
1344
  }
1345
1345
  async fetchBalance(params = {}) {
@@ -1780,7 +1780,7 @@ export default class tokocrypto extends Exchange {
1780
1780
  // "timestamp": 1662710994975
1781
1781
  // }
1782
1782
  //
1783
- const rawOrder = this.safeValue(response, 'data', {});
1783
+ const rawOrder = this.safeDict(response, 'data', {});
1784
1784
  return this.parseOrder(rawOrder, market);
1785
1785
  }
1786
1786
  async fetchOrder(id, symbol = undefined, params = {}) {
@@ -1829,7 +1829,7 @@ export default class tokocrypto extends Exchange {
1829
1829
  //
1830
1830
  const data = this.safeValue(response, 'data', {});
1831
1831
  const list = this.safeValue(data, 'list', []);
1832
- const rawOrder = this.safeValue(list, 0, {});
1832
+ const rawOrder = this.safeDict(list, 0, {});
1833
1833
  return this.parseOrder(rawOrder);
1834
1834
  }
1835
1835
  async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1900,7 +1900,7 @@ export default class tokocrypto extends Exchange {
1900
1900
  // }
1901
1901
  //
1902
1902
  const data = this.safeValue(response, 'data', {});
1903
- const orders = this.safeValue(data, 'list', []);
1903
+ const orders = this.safeList(data, 'list', []);
1904
1904
  return this.parseOrders(orders, market, since, limit);
1905
1905
  }
1906
1906
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1975,7 +1975,7 @@ export default class tokocrypto extends Exchange {
1975
1975
  // "timestamp": 1662710683634
1976
1976
  // }
1977
1977
  //
1978
- const rawOrder = this.safeValue(response, 'data', {});
1978
+ const rawOrder = this.safeDict(response, 'data', {});
1979
1979
  return this.parseOrder(rawOrder);
1980
1980
  }
1981
1981
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2036,7 +2036,7 @@ export default class tokocrypto extends Exchange {
2036
2036
  // }
2037
2037
  //
2038
2038
  const data = this.safeValue(response, 'data', {});
2039
- const trades = this.safeValue(data, 'list', []);
2039
+ const trades = this.safeList(data, 'list', []);
2040
2040
  return this.parseTrades(trades, market, since, limit);
2041
2041
  }
2042
2042
  async fetchDepositAddress(code, params = {}) {
@@ -2153,7 +2153,7 @@ export default class tokocrypto extends Exchange {
2153
2153
  // }
2154
2154
  //
2155
2155
  const data = this.safeValue(response, 'data', {});
2156
- const deposits = this.safeValue(data, 'list', []);
2156
+ const deposits = this.safeList(data, 'list', []);
2157
2157
  return this.parseTransactions(deposits, currency, since, limit);
2158
2158
  }
2159
2159
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2210,7 +2210,7 @@ export default class tokocrypto extends Exchange {
2210
2210
  // }
2211
2211
  //
2212
2212
  const data = this.safeValue(response, 'data', {});
2213
- const withdrawals = this.safeValue(data, 'list', []);
2213
+ const withdrawals = this.safeList(data, 'list', []);
2214
2214
  return this.parseTransactions(withdrawals, currency, since, limit);
2215
2215
  }
2216
2216
  parseTransactionStatusByType(status, type = undefined) {
@@ -890,7 +890,7 @@ export default class wavesexchange extends Exchange {
890
890
  //
891
891
  const data = this.safeValue(response, 'data', []);
892
892
  const ticker = this.safeValue(data, 0, {});
893
- const dataTicker = this.safeValue(ticker, 'data', {});
893
+ const dataTicker = this.safeDict(ticker, 'data', {});
894
894
  return this.parseTicker(dataTicker, market);
895
895
  }
896
896
  async fetchTickers(symbols = undefined, params = {}) {
@@ -1462,12 +1462,12 @@ export default class wavesexchange extends Exchange {
1462
1462
  //
1463
1463
  if (isMarketOrder) {
1464
1464
  const response = await this.matcherPostMatcherOrderbookMarket(body);
1465
- const value = this.safeValue(response, 'message');
1465
+ const value = this.safeDict(response, 'message');
1466
1466
  return this.parseOrder(value, market);
1467
1467
  }
1468
1468
  else {
1469
1469
  const response = await this.matcherPostMatcherOrderbook(body);
1470
- const value = this.safeValue(response, 'message');
1470
+ const value = this.safeDict(response, 'message');
1471
1471
  return this.parseOrder(value, market);
1472
1472
  }
1473
1473
  }
@@ -741,7 +741,7 @@ export default class whitebit extends Exchange {
741
741
  // },
742
742
  // }
743
743
  //
744
- const ticker = this.safeValue(response, 'result', {});
744
+ const ticker = this.safeDict(response, 'result', {});
745
745
  return this.parseTicker(ticker, market);
746
746
  }
747
747
  parseTicker(ticker, market = undefined) {
@@ -1103,7 +1103,7 @@ export default class whitebit extends Exchange {
1103
1103
  // ]
1104
1104
  // }
1105
1105
  //
1106
- const result = this.safeValue(response, 'result', []);
1106
+ const result = this.safeList(response, 'result', []);
1107
1107
  return this.parseOHLCVs(result, market, timeframe, since, limit);
1108
1108
  }
1109
1109
  parseOHLCV(ohlcv, market = undefined) {
@@ -1609,7 +1609,7 @@ export default class whitebit extends Exchange {
1609
1609
  // "limit": 100
1610
1610
  // }
1611
1611
  //
1612
- const data = this.safeValue(response, 'records', []);
1612
+ const data = this.safeList(response, 'records', []);
1613
1613
  return this.parseTrades(data, market);
1614
1614
  }
1615
1615
  async fetchDepositAddress(code, params = {}) {
@@ -1950,7 +1950,7 @@ export default class whitebit extends Exchange {
1950
1950
  // }
1951
1951
  //
1952
1952
  const records = this.safeValue(response, 'records', []);
1953
- const first = this.safeValue(records, 0, {});
1953
+ const first = this.safeDict(records, 0, {});
1954
1954
  return this.parseTransaction(first, currency);
1955
1955
  }
1956
1956
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2017,7 +2017,7 @@ export default class whitebit extends Exchange {
2017
2017
  // "total": 300 // total number of transactions, use this for calculating ‘limit’ and ‘offset'
2018
2018
  // }
2019
2019
  //
2020
- const records = this.safeValue(response, 'records', []);
2020
+ const records = this.safeList(response, 'records', []);
2021
2021
  return this.parseTransactions(records, currency, since, limit);
2022
2022
  }
2023
2023
  async fetchBorrowInterest(code = undefined, symbol = undefined, since = undefined, limit = undefined, params = {}) {
package/js/src/woo.js CHANGED
@@ -1352,7 +1352,7 @@ export default class woo extends Exchange {
1352
1352
  // ]
1353
1353
  // }
1354
1354
  //
1355
- const orders = this.safeValue(response, 'data', response);
1355
+ const orders = this.safeDict(response, 'data', response);
1356
1356
  return this.parseOrder(orders, market);
1357
1357
  }
1358
1358
  async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
package/js/src/zaif.js CHANGED
@@ -628,7 +628,7 @@ export default class zaif extends Exchange {
628
628
  // }
629
629
  // }
630
630
  //
631
- const returnData = this.safeValue(result, 'return');
631
+ const returnData = this.safeDict(result, 'return');
632
632
  return this.parseTransaction(returnData, currency);
633
633
  }
634
634
  parseTransaction(transaction, currency = undefined) {
package/js/src/zonda.js CHANGED
@@ -415,7 +415,7 @@ export default class zonda extends Exchange {
415
415
  await this.loadMarkets();
416
416
  const request = {};
417
417
  const response = await this.v1_01PrivateGetTradingOffer(this.extend(request, params));
418
- const items = this.safeValue(response, 'items', []);
418
+ const items = this.safeList(response, 'items', []);
419
419
  return this.parseOrders(items, undefined, since, limit, { 'status': 'open' });
420
420
  }
421
421
  parseOrder(order, market = undefined) {
@@ -802,7 +802,7 @@ export default class zonda extends Exchange {
802
802
  else {
803
803
  throw new BadRequest(this.id + ' fetchTickers params["method"] must be "v1_01PublicGetTradingTicker" or "v1_01PublicGetTradingStats"');
804
804
  }
805
- const items = this.safeValue(response, 'items');
805
+ const items = this.safeDict(response, 'items');
806
806
  return this.parseTickers(items, symbols);
807
807
  }
808
808
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1225,7 +1225,7 @@ export default class zonda extends Exchange {
1225
1225
  // ]
1226
1226
  // }
1227
1227
  //
1228
- const items = this.safeValue(response, 'items', []);
1228
+ const items = this.safeList(response, 'items', []);
1229
1229
  return this.parseOHLCVs(items, market, timeframe, since, limit);
1230
1230
  }
1231
1231
  parseTrade(trade, market = undefined) {
@@ -1330,7 +1330,7 @@ export default class zonda extends Exchange {
1330
1330
  request['limit'] = limit; // default - 10, max - 300
1331
1331
  }
1332
1332
  const response = await this.v1_01PublicGetTradingTransactionsSymbol(this.extend(request, params));
1333
- const items = this.safeValue(response, 'items');
1333
+ const items = this.safeList(response, 'items');
1334
1334
  return this.parseTrades(items, market, since, limit);
1335
1335
  }
1336
1336
  async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
@@ -1555,7 +1555,7 @@ export default class zonda extends Exchange {
1555
1555
  // }
1556
1556
  //
1557
1557
  const data = this.safeValue(response, 'data');
1558
- const first = this.safeValue(data, 0);
1558
+ const first = this.safeDict(data, 0);
1559
1559
  return this.parseDepositAddress(first, currency);
1560
1560
  }
1561
1561
  async fetchDepositAddresses(codes = undefined, params = {}) {
@@ -1583,7 +1583,7 @@ export default class zonda extends Exchange {
1583
1583
  // ]
1584
1584
  // }
1585
1585
  //
1586
- const data = this.safeValue(response, 'data');
1586
+ const data = this.safeList(response, 'data');
1587
1587
  return this.parseDepositAddresses(data, codes);
1588
1588
  }
1589
1589
  async transfer(code, amount, fromAccount, toAccount, params = {}) {
@@ -1740,7 +1740,7 @@ export default class zonda extends Exchange {
1740
1740
  // }
1741
1741
  // }
1742
1742
  //
1743
- const data = this.safeValue(response, 'data');
1743
+ const data = this.safeDict(response, 'data');
1744
1744
  return this.parseTransaction(data, currency);
1745
1745
  }
1746
1746
  parseTransaction(transaction, currency = undefined) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.2.84",
3
+ "version": "4.2.85",
4
4
  "description": "A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges",
5
5
  "unpkg": "dist/ccxt.browser.js",
6
6
  "type": "module",