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/htx.js CHANGED
@@ -2367,7 +2367,7 @@ export default class htx extends Exchange {
2367
2367
  throw new NotSupported(this.id + ' fetchLastPrices() does not support ' + type + ' markets yet');
2368
2368
  }
2369
2369
  const tick = this.safeValue(response, 'tick', {});
2370
- const data = this.safeValue(tick, 'data', []);
2370
+ const data = this.safeList(tick, 'data', []);
2371
2371
  return this.parseLastPrices(data, symbols);
2372
2372
  }
2373
2373
  parseLastPrice(entry, market = undefined) {
@@ -3960,7 +3960,7 @@ export default class htx extends Exchange {
3960
3960
  // ]
3961
3961
  // }
3962
3962
  //
3963
- const data = this.safeValue(response, 'data', []);
3963
+ const data = this.safeList(response, 'data', []);
3964
3964
  return this.parseOrders(data, market, since, limit);
3965
3965
  }
3966
3966
  async fetchSpotOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -7357,7 +7357,7 @@ export default class htx extends Exchange {
7357
7357
  request['symbol'] = market['id'];
7358
7358
  response = await this.contractPrivatePostApiV3ContractFinancialRecordExact(this.extend(request, query));
7359
7359
  }
7360
- const data = this.safeValue(response, 'data', []);
7360
+ const data = this.safeList(response, 'data', []);
7361
7361
  return this.parseIncomes(data, market, since, limit);
7362
7362
  }
7363
7363
  async setLeverage(leverage, symbol = undefined, params = {}) {
@@ -8141,7 +8141,7 @@ export default class htx extends Exchange {
8141
8141
  // ]
8142
8142
  // }
8143
8143
  //
8144
- const data = this.safeValue(response, 'data');
8144
+ const data = this.safeList(response, 'data');
8145
8145
  return this.parseLeverageTiers(data, symbols, 'contract_code');
8146
8146
  }
8147
8147
  async fetchMarketLeverageTiers(symbol, params = {}) {
@@ -8345,7 +8345,7 @@ export default class htx extends Exchange {
8345
8345
  // }
8346
8346
  //
8347
8347
  const data = this.safeValue(response, 'data');
8348
- const tick = this.safeValue(data, 'tick');
8348
+ const tick = this.safeList(data, 'tick');
8349
8349
  return this.parseOpenInterests(tick, market, since, limit);
8350
8350
  }
8351
8351
  async fetchOpenInterest(symbol, params = {}) {
@@ -8853,7 +8853,7 @@ export default class htx extends Exchange {
8853
8853
  // ]
8854
8854
  // }
8855
8855
  //
8856
- const data = this.safeValue(response, 'data');
8856
+ const data = this.safeList(response, 'data');
8857
8857
  return this.parseDepositWithdrawFees(data, codes, 'currency');
8858
8858
  }
8859
8859
  parseDepositWithdrawFee(fee, currency = undefined) {
@@ -9081,7 +9081,7 @@ export default class htx extends Exchange {
9081
9081
  // "ts": 1604312615051
9082
9082
  // }
9083
9083
  //
9084
- const data = this.safeValue(response, 'data', []);
9084
+ const data = this.safeList(response, 'data', []);
9085
9085
  return this.parseLiquidations(data, market, since, limit);
9086
9086
  }
9087
9087
  parseLiquidation(liquidation, market = undefined) {
package/js/src/huobijp.js CHANGED
@@ -970,7 +970,7 @@ export default class huobijp extends Exchange {
970
970
  // ]
971
971
  // }
972
972
  //
973
- const data = this.safeValue(response, 'data', []);
973
+ const data = this.safeList(response, 'data', []);
974
974
  return this.parseOHLCVs(data, market, timeframe, since, limit);
975
975
  }
976
976
  async fetchAccounts(params = {}) {
@@ -1169,7 +1169,7 @@ export default class huobijp extends Exchange {
1169
1169
  'id': id,
1170
1170
  };
1171
1171
  const response = await this.privateGetOrderOrdersId(this.extend(request, params));
1172
- const order = this.safeValue(response, 'data');
1172
+ const order = this.safeDict(response, 'data');
1173
1173
  return this.parseOrder(order);
1174
1174
  }
1175
1175
  async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1267,7 +1267,7 @@ export default class huobijp extends Exchange {
1267
1267
  // ]
1268
1268
  // }
1269
1269
  //
1270
- const data = this.safeValue(response, 'data', []);
1270
+ const data = this.safeList(response, 'data', []);
1271
1271
  return this.parseOrders(data, market, since, limit);
1272
1272
  }
1273
1273
  parseOrderStatus(status) {
package/js/src/idex.js CHANGED
@@ -361,7 +361,7 @@ export default class idex extends Exchange {
361
361
  // }
362
362
  // ]
363
363
  const response = await this.publicGetTickers(this.extend(request, params));
364
- const ticker = this.safeValue(response, 0);
364
+ const ticker = this.safeDict(response, 0);
365
365
  return this.parseTicker(ticker, market);
366
366
  }
367
367
  async fetchTickers(symbols = undefined, params = {}) {
@@ -1491,7 +1491,7 @@ export default class idex extends Exchange {
1491
1491
  };
1492
1492
  // [ { orderId: "688336f0-ec50-11ea-9842-b332f8a34d0e" } ]
1493
1493
  const response = await this.privateDeleteOrders(this.extend(request, params));
1494
- const canceledOrder = this.safeValue(response, 0);
1494
+ const canceledOrder = this.safeDict(response, 0);
1495
1495
  return this.parseOrder(canceledOrder, market);
1496
1496
  }
1497
1497
  handleErrors(code, reason, url, method, headers, body, response, requestHeaders, requestBody) {
@@ -508,7 +508,7 @@ export default class independentreserve extends Exchange {
508
508
  request['pageIndex'] = 1;
509
509
  request['pageSize'] = limit;
510
510
  const response = await this.privatePostGetOpenOrders(this.extend(request, params));
511
- const data = this.safeValue(response, 'Data', []);
511
+ const data = this.safeList(response, 'Data', []);
512
512
  return this.parseOrders(data, market, since, limit);
513
513
  }
514
514
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -536,7 +536,7 @@ export default class independentreserve extends Exchange {
536
536
  request['pageIndex'] = 1;
537
537
  request['pageSize'] = limit;
538
538
  const response = await this.privatePostGetClosedOrders(this.extend(request, params));
539
- const data = this.safeValue(response, 'Data', []);
539
+ const data = this.safeList(response, 'Data', []);
540
540
  return this.parseOrders(data, market, since, limit);
541
541
  }
542
542
  async fetchMyTrades(symbol = undefined, since = undefined, limit = 50, params = {}) {
package/js/src/indodax.js CHANGED
@@ -479,7 +479,7 @@ export default class indodax extends Exchange {
479
479
  // }
480
480
  // }
481
481
  //
482
- const ticker = this.safeValue(response, 'ticker', {});
482
+ const ticker = this.safeDict(response, 'ticker', {});
483
483
  return this.parseTicker(ticker, market);
484
484
  }
485
485
  async fetchTickers(symbols = undefined, params = {}) {
@@ -510,7 +510,7 @@ export default class indodax extends Exchange {
510
510
  // }
511
511
  //
512
512
  const response = await this.publicGetApiTickerAll(params);
513
- const tickers = this.safeValue(response, 'tickers');
513
+ const tickers = this.safeList(response, 'tickers');
514
514
  return this.parseTickers(tickers, symbols);
515
515
  }
516
516
  parseTrade(trade, market = undefined) {
package/js/src/kraken.js CHANGED
@@ -1000,7 +1000,7 @@ export default class kraken extends Exchange {
1000
1000
  // }
1001
1001
  // }
1002
1002
  const result = this.safeValue(response, 'result', {});
1003
- const ohlcvs = this.safeValue(result, market['id'], []);
1003
+ const ohlcvs = this.safeList(result, market['id'], []);
1004
1004
  return this.parseOHLCVs(ohlcvs, market, timeframe, since, limit);
1005
1005
  }
1006
1006
  parseLedgerEntryType(type) {
@@ -1389,7 +1389,7 @@ export default class kraken extends Exchange {
1389
1389
  // }
1390
1390
  // }
1391
1391
  //
1392
- const result = this.safeValue(response, 'result');
1392
+ const result = this.safeDict(response, 'result');
1393
1393
  return this.parseOrder(result);
1394
1394
  }
1395
1395
  findMarketByAltnameOrId(id) {
@@ -1821,7 +1821,7 @@ export default class kraken extends Exchange {
1821
1821
  // }
1822
1822
  // }
1823
1823
  //
1824
- const data = this.safeValue(response, 'result', {});
1824
+ const data = this.safeDict(response, 'result', {});
1825
1825
  return this.parseOrder(data, market);
1826
1826
  }
1827
1827
  async fetchOrder(id, symbol = undefined, params = {}) {
@@ -2159,8 +2159,8 @@ export default class kraken extends Exchange {
2159
2159
  if (symbol !== undefined) {
2160
2160
  market = this.market(symbol);
2161
2161
  }
2162
- const result = this.safeValue(response, 'result', {});
2163
- const orders = this.safeValue(result, 'open', []);
2162
+ const result = this.safeDict(response, 'result', {});
2163
+ const orders = this.safeDict(result, 'open', {});
2164
2164
  return this.parseOrders(orders, market, since, limit);
2165
2165
  }
2166
2166
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2232,8 +2232,8 @@ export default class kraken extends Exchange {
2232
2232
  if (symbol !== undefined) {
2233
2233
  market = this.market(symbol);
2234
2234
  }
2235
- const result = this.safeValue(response, 'result', {});
2236
- const orders = this.safeValue(result, 'closed', []);
2235
+ const result = this.safeDict(response, 'result', {});
2236
+ const orders = this.safeDict(result, 'closed', {});
2237
2237
  return this.parseOrders(orders, market, since, limit);
2238
2238
  }
2239
2239
  parseTransactionStatus(status) {
@@ -2693,7 +2693,7 @@ export default class kraken extends Exchange {
2693
2693
  // }
2694
2694
  // }
2695
2695
  //
2696
- const result = this.safeValue(response, 'result', {});
2696
+ const result = this.safeDict(response, 'result', {});
2697
2697
  return this.parseTransaction(result, currency);
2698
2698
  }
2699
2699
  throw new ExchangeError(this.id + " withdraw() requires a 'key' parameter (withdrawal key name, as set up on your account)");
@@ -537,7 +537,7 @@ export default class krakenfutures extends Exchange {
537
537
  // "serverTime": "2022-02-18T14:16:29.440Z"
538
538
  // }
539
539
  //
540
- const tickers = this.safeValue(response, 'tickers');
540
+ const tickers = this.safeList(response, 'tickers');
541
541
  return this.parseTickers(tickers, symbols);
542
542
  }
543
543
  parseTicker(ticker, market = undefined) {
@@ -675,7 +675,7 @@ export default class krakenfutures extends Exchange {
675
675
  // "more_candles": true
676
676
  // }
677
677
  //
678
- const candles = this.safeValue(response, 'candles');
678
+ const candles = this.safeList(response, 'candles');
679
679
  return this.parseOHLCVs(candles, market, timeframe, since, limit);
680
680
  }
681
681
  parseOHLCV(ohlcv, market = undefined) {
@@ -1138,7 +1138,7 @@ export default class krakenfutures extends Exchange {
1138
1138
  // ]
1139
1139
  // }
1140
1140
  //
1141
- const data = this.safeValue(response, 'batchStatus', []);
1141
+ const data = this.safeList(response, 'batchStatus', []);
1142
1142
  return this.parseOrders(data);
1143
1143
  }
1144
1144
  async editOrder(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
@@ -1255,7 +1255,7 @@ export default class krakenfutures extends Exchange {
1255
1255
  // }
1256
1256
  // ]
1257
1257
  // }
1258
- const batchStatus = this.safeValue(response, 'batchStatus', []);
1258
+ const batchStatus = this.safeList(response, 'batchStatus', []);
1259
1259
  return this.parseOrders(batchStatus);
1260
1260
  }
1261
1261
  async cancelAllOrders(symbol = undefined, params = {}) {
@@ -1293,7 +1293,7 @@ export default class krakenfutures extends Exchange {
1293
1293
  market = this.market(symbol);
1294
1294
  }
1295
1295
  const response = await this.privateGetOpenorders(params);
1296
- const orders = this.safeValue(response, 'openOrders', []);
1296
+ const orders = this.safeList(response, 'openOrders', []);
1297
1297
  return this.parseOrders(orders, market, since, limit);
1298
1298
  }
1299
1299
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2362,7 +2362,7 @@ export default class krakenfutures extends Exchange {
2362
2362
  // "serverTime": "2018-07-19T11:32:39.433Z"
2363
2363
  // }
2364
2364
  //
2365
- const data = this.safeValue(response, 'instruments');
2365
+ const data = this.safeList(response, 'instruments');
2366
2366
  return this.parseLeverageTiers(data, symbols, 'symbol');
2367
2367
  }
2368
2368
  parseMarketLeverageTiers(info, market = undefined) {
package/js/src/kucoin.js CHANGED
@@ -2510,8 +2510,12 @@ export default class kucoin extends Exchange {
2510
2510
  // ]
2511
2511
  // }
2512
2512
  // }
2513
+ const listData = this.safeList(response, 'data');
2514
+ if (listData !== undefined) {
2515
+ return this.parseOrders(listData, market, since, limit);
2516
+ }
2513
2517
  const responseData = this.safeDict(response, 'data', {});
2514
- const orders = this.safeValue(responseData, 'items', responseData);
2518
+ const orders = this.safeList(responseData, 'items', []);
2515
2519
  return this.parseOrders(orders, market, since, limit);
2516
2520
  }
2517
2521
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -600,7 +600,7 @@ export default class kucoinfutures extends kucoin {
600
600
  // ]
601
601
  // }
602
602
  //
603
- const data = this.safeValue(response, 'data', []);
603
+ const data = this.safeList(response, 'data', []);
604
604
  return this.parseOHLCVs(data, market, timeframe, since, limit);
605
605
  }
606
606
  parseOHLCV(ohlcv, market = undefined) {
@@ -1073,7 +1073,7 @@ export default class kucoinfutures extends kucoin {
1073
1073
  // }
1074
1074
  // }
1075
1075
  //
1076
- const data = this.safeValue(response, 'data', {});
1076
+ const data = this.safeDict(response, 'data', {});
1077
1077
  return this.parsePosition(data, market);
1078
1078
  }
1079
1079
  async fetchPositions(symbols = undefined, params = {}) {
@@ -1134,7 +1134,7 @@ export default class kucoinfutures extends kucoin {
1134
1134
  // ]
1135
1135
  // }
1136
1136
  //
1137
- const data = this.safeValue(response, 'data');
1137
+ const data = this.safeList(response, 'data');
1138
1138
  return this.parsePositions(data, symbols);
1139
1139
  }
1140
1140
  parsePosition(position, market = undefined) {
@@ -1282,7 +1282,7 @@ export default class kucoinfutures extends kucoin {
1282
1282
  // },
1283
1283
  // }
1284
1284
  //
1285
- const data = this.safeValue(response, 'data', {});
1285
+ const data = this.safeDict(response, 'data', {});
1286
1286
  return this.parseOrder(data, market);
1287
1287
  }
1288
1288
  async createOrders(orders, params = {}) {
@@ -1331,7 +1331,7 @@ export default class kucoinfutures extends kucoin {
1331
1331
  // ]
1332
1332
  // }
1333
1333
  //
1334
- const data = this.safeValue(response, 'data', []);
1334
+ const data = this.safeList(response, 'data', []);
1335
1335
  return this.parseOrders(data);
1336
1336
  }
1337
1337
  createContractOrderRequest(symbol, type, side, amount, price = undefined, params = {}) {
@@ -1737,7 +1737,7 @@ export default class kucoinfutures extends kucoin {
1737
1737
  // }
1738
1738
  //
1739
1739
  const responseData = this.safeValue(response, 'data', {});
1740
- const orders = this.safeValue(responseData, 'items', []);
1740
+ const orders = this.safeList(responseData, 'items', []);
1741
1741
  return this.parseOrders(orders, market, since, limit);
1742
1742
  }
1743
1743
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1834,7 +1834,7 @@ export default class kucoinfutures extends kucoin {
1834
1834
  // }
1835
1835
  //
1836
1836
  const market = (symbol !== undefined) ? this.market(symbol) : undefined;
1837
- const responseData = this.safeValue(response, 'data');
1837
+ const responseData = this.safeDict(response, 'data');
1838
1838
  return this.parseOrder(responseData, market);
1839
1839
  }
1840
1840
  parseOrder(order, market = undefined) {
@@ -2252,7 +2252,7 @@ export default class kucoinfutures extends kucoin {
2252
2252
  // ]
2253
2253
  // }
2254
2254
  //
2255
- const trades = this.safeValue(response, 'data', []);
2255
+ const trades = this.safeList(response, 'data', []);
2256
2256
  return this.parseTrades(trades, market, since, limit);
2257
2257
  }
2258
2258
  parseTrade(trade, market = undefined) {
package/js/src/kuna.js CHANGED
@@ -657,7 +657,7 @@ export default class kuna extends Exchange {
657
657
  // }
658
658
  // }
659
659
  //
660
- const data = this.safeValue(response, 'data', {});
660
+ const data = this.safeDict(response, 'data', {});
661
661
  return this.parseOrderBook(data, market['symbol'], undefined, 'bids', 'asks', 0, 1);
662
662
  }
663
663
  parseTicker(ticker, market = undefined) {
@@ -738,7 +738,7 @@ export default class kuna extends Exchange {
738
738
  // ]
739
739
  // }
740
740
  //
741
- const data = this.safeValue(response, 'data', []);
741
+ const data = this.safeList(response, 'data', []);
742
742
  return this.parseTickers(data, symbols, params);
743
743
  }
744
744
  async fetchTicker(symbol, params = {}) {
@@ -778,7 +778,7 @@ export default class kuna extends Exchange {
778
778
  // }
779
779
  //
780
780
  const data = this.safeValue(response, 'data', []);
781
- const ticker = this.safeValue(data, 0);
781
+ const ticker = this.safeDict(data, 0);
782
782
  return this.parseTicker(ticker, market);
783
783
  }
784
784
  async fetchL3OrderBook(symbol, limit = undefined, params = {}) {
@@ -995,7 +995,7 @@ export default class kuna extends Exchange {
995
995
  // }
996
996
  // }
997
997
  //
998
- const data = this.safeValue(response, 'data', {});
998
+ const data = this.safeDict(response, 'data', {});
999
999
  return this.parseOrder(data, market);
1000
1000
  }
1001
1001
  async cancelOrder(id, symbol = undefined, params = {}) {
@@ -1055,7 +1055,7 @@ export default class kuna extends Exchange {
1055
1055
  // ]
1056
1056
  // }
1057
1057
  //
1058
- const data = this.safeValue(response, 'data', []);
1058
+ const data = this.safeList(response, 'data', []);
1059
1059
  return this.parseOrders(data);
1060
1060
  }
1061
1061
  parseOrderStatus(status) {
@@ -1201,7 +1201,7 @@ export default class kuna extends Exchange {
1201
1201
  // }
1202
1202
  // }
1203
1203
  //
1204
- const data = this.safeValue(response, 'data', {});
1204
+ const data = this.safeDict(response, 'data', {});
1205
1205
  return this.parseOrder(data);
1206
1206
  }
1207
1207
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1260,7 +1260,7 @@ export default class kuna extends Exchange {
1260
1260
  // ]
1261
1261
  // }
1262
1262
  //
1263
- const data = this.safeValue(response, 'data', []);
1263
+ const data = this.safeList(response, 'data', []);
1264
1264
  return this.parseOrders(data, market, since, limit);
1265
1265
  }
1266
1266
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1344,7 +1344,7 @@ export default class kuna extends Exchange {
1344
1344
  // ]
1345
1345
  // }
1346
1346
  //
1347
- const data = this.safeValue(response, 'data', []);
1347
+ const data = this.safeList(response, 'data', []);
1348
1348
  return this.parseOrders(data, market, since, limit);
1349
1349
  }
1350
1350
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1390,7 +1390,7 @@ export default class kuna extends Exchange {
1390
1390
  // ]
1391
1391
  // }
1392
1392
  //
1393
- const data = this.safeValue(response, 'data');
1393
+ const data = this.safeList(response, 'data');
1394
1394
  return this.parseTrades(data, market, since, limit);
1395
1395
  }
1396
1396
  async withdraw(code, amount, address, tag = undefined, params = {}) {
@@ -1443,7 +1443,7 @@ export default class kuna extends Exchange {
1443
1443
  // }
1444
1444
  // }
1445
1445
  //
1446
- const data = this.safeValue(response, 'data', {});
1446
+ const data = this.safeDict(response, 'data', {});
1447
1447
  return this.parseTransaction(data, currency);
1448
1448
  }
1449
1449
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1511,7 +1511,7 @@ export default class kuna extends Exchange {
1511
1511
  // ]
1512
1512
  // }
1513
1513
  //
1514
- const data = this.safeValue(response, 'data', []);
1514
+ const data = this.safeList(response, 'data', []);
1515
1515
  return this.parseTransactions(data, currency);
1516
1516
  }
1517
1517
  async fetchWithdrawal(id, code = undefined, params = {}) {
@@ -1551,7 +1551,7 @@ export default class kuna extends Exchange {
1551
1551
  // }
1552
1552
  // }
1553
1553
  //
1554
- const data = this.safeValue(response, 'data', {});
1554
+ const data = this.safeDict(response, 'data', {});
1555
1555
  return this.parseTransaction(data);
1556
1556
  }
1557
1557
  async createDepositAddress(code, params = {}) {
@@ -1579,7 +1579,7 @@ export default class kuna extends Exchange {
1579
1579
  // }
1580
1580
  // }
1581
1581
  //
1582
- const data = this.safeValue(response, 'data', {});
1582
+ const data = this.safeDict(response, 'data', {});
1583
1583
  return this.parseDepositAddress(data, currency);
1584
1584
  }
1585
1585
  async fetchDepositAddress(code, params = {}) {
@@ -1607,7 +1607,7 @@ export default class kuna extends Exchange {
1607
1607
  // }
1608
1608
  // }
1609
1609
  //
1610
- const data = this.safeValue(response, 'data', {});
1610
+ const data = this.safeDict(response, 'data', {});
1611
1611
  return this.parseDepositAddress(data, currency);
1612
1612
  }
1613
1613
  parseDepositAddress(depositAddress, currency = undefined) {
@@ -1705,7 +1705,7 @@ export default class kuna extends Exchange {
1705
1705
  // ]
1706
1706
  // }
1707
1707
  //
1708
- const data = this.safeValue(response, 'data', []);
1708
+ const data = this.safeList(response, 'data', []);
1709
1709
  return this.parseTransactions(data, currency);
1710
1710
  }
1711
1711
  async fetchDeposit(id, code = undefined, params = {}) {
@@ -1749,7 +1749,7 @@ export default class kuna extends Exchange {
1749
1749
  // }
1750
1750
  // }
1751
1751
  //
1752
- const data = this.safeValue(response, 'data', {});
1752
+ const data = this.safeDict(response, 'data', {});
1753
1753
  return this.parseTransaction(data, currency);
1754
1754
  }
1755
1755
  parseTransaction(transaction, currency = undefined) {
package/js/src/latoken.js CHANGED
@@ -1460,7 +1460,7 @@ export default class latoken extends Exchange {
1460
1460
  if (code !== undefined) {
1461
1461
  currency = this.currency(code);
1462
1462
  }
1463
- const content = this.safeValue(response, 'content', []);
1463
+ const content = this.safeList(response, 'content', []);
1464
1464
  return this.parseTransactions(content, currency, since, limit);
1465
1465
  }
1466
1466
  parseTransaction(transaction, currency = undefined) {
@@ -1587,7 +1587,7 @@ export default class latoken extends Exchange {
1587
1587
  // "hasContent": true
1588
1588
  // }
1589
1589
  //
1590
- const transfers = this.safeValue(response, 'content', []);
1590
+ const transfers = this.safeList(response, 'content', []);
1591
1591
  return this.parseTransfers(transfers, currency, since, limit);
1592
1592
  }
1593
1593
  async transfer(code, amount, fromAccount, toAccount, params = {}) {
package/js/src/lbank.js CHANGED
@@ -635,7 +635,7 @@ export default class lbank extends Exchange {
635
635
  // }
636
636
  //
637
637
  const data = this.safeValue(response, 'data', []);
638
- const first = this.safeValue(data, 0, {});
638
+ const first = this.safeDict(data, 0, {});
639
639
  return this.parseTicker(first, market);
640
640
  }
641
641
  async fetchTickers(symbols = undefined, params = {}) {
@@ -715,7 +715,7 @@ export default class lbank extends Exchange {
715
715
  // "success": true
716
716
  // }
717
717
  //
718
- const data = this.safeValue(response, 'data', []);
718
+ const data = this.safeList(response, 'data', []);
719
719
  return this.parseTickers(data, symbols);
720
720
  }
721
721
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
@@ -961,7 +961,7 @@ export default class lbank extends Exchange {
961
961
  // "ts":1647021999308
962
962
  // }
963
963
  //
964
- const trades = this.safeValue(response, 'data', []);
964
+ const trades = this.safeList(response, 'data', []);
965
965
  return this.parseTrades(trades, market, since, limit);
966
966
  }
967
967
  parseOHLCV(ohlcv, market = undefined) {
@@ -1596,7 +1596,7 @@ export default class lbank extends Exchange {
1596
1596
  // "ts":1648164471827
1597
1597
  // }
1598
1598
  //
1599
- const result = this.safeValue(response, 'data', {});
1599
+ const result = this.safeDict(response, 'data', {});
1600
1600
  return this.parseOrder(result);
1601
1601
  }
1602
1602
  async fetchOrderDefault(id, symbol = undefined, params = {}) {
@@ -1702,7 +1702,7 @@ export default class lbank extends Exchange {
1702
1702
  // "ts":1648509742164
1703
1703
  // }
1704
1704
  //
1705
- const trades = this.safeValue(response, 'data', []);
1705
+ const trades = this.safeList(response, 'data', []);
1706
1706
  return this.parseTrades(trades, market, since, limit);
1707
1707
  }
1708
1708
  async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1762,7 +1762,7 @@ export default class lbank extends Exchange {
1762
1762
  // }
1763
1763
  //
1764
1764
  const result = this.safeValue(response, 'data', {});
1765
- const orders = this.safeValue(result, 'orders', []);
1765
+ const orders = this.safeList(result, 'orders', []);
1766
1766
  return this.parseOrders(orders, market, since, limit);
1767
1767
  }
1768
1768
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1819,7 +1819,7 @@ export default class lbank extends Exchange {
1819
1819
  // }
1820
1820
  //
1821
1821
  const result = this.safeValue(response, 'data', {});
1822
- const orders = this.safeValue(result, 'orders', []);
1822
+ const orders = this.safeList(result, 'orders', []);
1823
1823
  return this.parseOrders(orders, market, since, limit);
1824
1824
  }
1825
1825
  async cancelOrder(id, symbol = undefined, params = {}) {
@@ -2231,7 +2231,7 @@ export default class lbank extends Exchange {
2231
2231
  // }
2232
2232
  //
2233
2233
  const data = this.safeValue(response, 'data', {});
2234
- const deposits = this.safeValue(data, 'depositOrders', []);
2234
+ const deposits = this.safeList(data, 'depositOrders', []);
2235
2235
  return this.parseTransactions(deposits, currency, since, limit);
2236
2236
  }
2237
2237
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2288,7 +2288,7 @@ export default class lbank extends Exchange {
2288
2288
  // }
2289
2289
  //
2290
2290
  const data = this.safeValue(response, 'data', {});
2291
- const withdraws = this.safeValue(data, 'withdraws', []);
2291
+ const withdraws = this.safeList(data, 'withdraws', []);
2292
2292
  return this.parseTransactions(withdraws, currency, since, limit);
2293
2293
  }
2294
2294
  async fetchTransactionFees(codes = undefined, params = {}) {
@@ -2506,7 +2506,7 @@ export default class lbank extends Exchange {
2506
2506
  // "code": 0
2507
2507
  // }
2508
2508
  //
2509
- const data = this.safeValue(response, 'data', []);
2509
+ const data = this.safeList(response, 'data', []);
2510
2510
  return this.parseDepositWithdrawFees(data, codes, 'coin');
2511
2511
  }
2512
2512
  async fetchPublicDepositWithdrawFees(codes = undefined, params = {}) {
package/js/src/luno.js CHANGED
@@ -488,7 +488,7 @@ export default class luno extends Exchange {
488
488
  request['pair'] = market['id'];
489
489
  }
490
490
  const response = await this.privateGetListorders(this.extend(request, params));
491
- const orders = this.safeValue(response, 'orders', []);
491
+ const orders = this.safeList(response, 'orders', []);
492
492
  return this.parseOrders(orders, market, since, limit);
493
493
  }
494
494
  async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -751,7 +751,7 @@ export default class luno extends Exchange {
751
751
  // ]
752
752
  // }
753
753
  //
754
- const trades = this.safeValue(response, 'trades', []);
754
+ const trades = this.safeList(response, 'trades', []);
755
755
  return this.parseTrades(trades, market, since, limit);
756
756
  }
757
757
  async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
@@ -797,7 +797,7 @@ export default class luno extends Exchange {
797
797
  // "pair": "XBTEUR"
798
798
  // }
799
799
  //
800
- const ohlcvs = this.safeValue(response, 'candles', []);
800
+ const ohlcvs = this.safeList(response, 'candles', []);
801
801
  return this.parseOHLCVs(ohlcvs, market, timeframe, since, limit);
802
802
  }
803
803
  parseOHLCV(ohlcv, market = undefined) {
@@ -866,7 +866,7 @@ export default class luno extends Exchange {
866
866
  // ]
867
867
  // }
868
868
  //
869
- const trades = this.safeValue(response, 'trades', []);
869
+ const trades = this.safeList(response, 'trades', []);
870
870
  return this.parseTrades(trades, market, since, limit);
871
871
  }
872
872
  async fetchTradingFee(symbol, params = {}) {