ccxt 4.2.83 → 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 (166) hide show
  1. package/README.md +3 -3
  2. package/build.sh +1 -1
  3. package/dist/ccxt.browser.js +896 -941
  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 +40 -28
  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 +34 -98
  28. package/dist/cjs/src/coincheck.js +4 -4
  29. package/dist/cjs/src/coinex.js +12 -13
  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 +12 -34
  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 +15 -2
  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 +40 -28
  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 +34 -98
  108. package/js/src/coincheck.js +4 -4
  109. package/js/src/coinex.js +12 -13
  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 +12 -34
  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.d.ts +1 -0
  135. package/js/src/kucoin.js +16 -3
  136. package/js/src/kucoinfutures.js +8 -8
  137. package/js/src/kuna.js +16 -16
  138. package/js/src/latoken.js +2 -2
  139. package/js/src/lbank.js +10 -10
  140. package/js/src/luno.js +4 -4
  141. package/js/src/mercado.js +5 -5
  142. package/js/src/mexc.js +6 -6
  143. package/js/src/ndax.js +1 -1
  144. package/js/src/novadax.js +9 -9
  145. package/js/src/oceanex.js +7 -7
  146. package/js/src/okcoin.js +13 -13
  147. package/js/src/okx.d.ts +0 -1
  148. package/js/src/okx.js +23 -31
  149. package/js/src/onetrading.js +4 -4
  150. package/js/src/p2b.js +7 -7
  151. package/js/src/phemex.js +12 -12
  152. package/js/src/poloniexfutures.js +5 -5
  153. package/js/src/pro/binance.d.ts +5 -1
  154. package/js/src/pro/binance.js +168 -122
  155. package/js/src/pro/kucoin.js +6 -7
  156. package/js/src/pro/okx.js +19 -2
  157. package/js/src/probit.js +11 -11
  158. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  159. package/js/src/timex.js +7 -7
  160. package/js/src/tokocrypto.js +9 -9
  161. package/js/src/wavesexchange.js +3 -3
  162. package/js/src/whitebit.js +5 -5
  163. package/js/src/woo.js +1 -1
  164. package/js/src/zaif.js +1 -1
  165. package/js/src/zonda.js +7 -7
  166. package/package.json +1 -1
@@ -450,7 +450,7 @@ class bitfinex extends bitfinex$1 {
450
450
  // }
451
451
  // }
452
452
  //
453
- const withdraw = this.safeValue(response, 'withdraw');
453
+ const withdraw = this.safeList(response, 'withdraw');
454
454
  return this.parseDepositWithdrawFees(withdraw, codes);
455
455
  }
456
456
  parseDepositWithdrawFee(fee, currency = undefined) {
@@ -1782,7 +1782,7 @@ class bitfinex2 extends bitfinex2$1 {
1782
1782
  'all': 1,
1783
1783
  };
1784
1784
  const response = await this.privatePostAuthWOrderCancelMulti(this.extend(request, params));
1785
- const orders = this.safeValue(response, 4, []);
1785
+ const orders = this.safeList(response, 4, []);
1786
1786
  return this.parseOrders(orders);
1787
1787
  }
1788
1788
  async cancelOrder(id, symbol = undefined, params = {}) {
@@ -2191,7 +2191,7 @@ class bitget extends bitget$1 {
2191
2191
  // ]
2192
2192
  // }
2193
2193
  //
2194
- const rawTransactions = this.safeValue(response, 'data', []);
2194
+ const rawTransactions = this.safeList(response, 'data', []);
2195
2195
  return this.parseTransactions(rawTransactions, currency, since, limit);
2196
2196
  }
2197
2197
  async withdraw(code, amount, address, tag = undefined, params = {}) {
@@ -2339,7 +2339,7 @@ class bitget extends bitget$1 {
2339
2339
  // ]
2340
2340
  // }
2341
2341
  //
2342
- const rawTransactions = this.safeValue(response, 'data', []);
2342
+ const rawTransactions = this.safeList(response, 'data', []);
2343
2343
  return this.parseTransactions(rawTransactions, currency, since, limit);
2344
2344
  }
2345
2345
  parseTransaction(transaction, currency = undefined) {
@@ -2467,7 +2467,7 @@ class bitget extends bitget$1 {
2467
2467
  // }
2468
2468
  // }
2469
2469
  //
2470
- const data = this.safeValue(response, 'data', {});
2470
+ const data = this.safeDict(response, 'data', {});
2471
2471
  return this.parseDepositAddress(data, currency);
2472
2472
  }
2473
2473
  parseDepositAddress(depositAddress, currency = undefined) {
@@ -2756,7 +2756,7 @@ class bitget extends bitget$1 {
2756
2756
  // ]
2757
2757
  // }
2758
2758
  //
2759
- const data = this.safeValue(response, 'data', []);
2759
+ const data = this.safeList(response, 'data', []);
2760
2760
  return this.parseTicker(data[0], market);
2761
2761
  }
2762
2762
  async fetchTickers(symbols = undefined, params = {}) {
@@ -2768,6 +2768,7 @@ class bitget extends bitget$1 {
2768
2768
  * @see https://www.bitget.com/api-doc/contract/market/Get-All-Symbol-Ticker
2769
2769
  * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
2770
2770
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2771
+ * @param {string} [params.subType] *contract only* 'linear', 'inverse'
2771
2772
  * @param {string} [params.productType] *contract only* 'USDT-FUTURES', 'USDC-FUTURES', 'COIN-FUTURES', 'SUSDT-FUTURES', 'SUSDC-FUTURES' or 'SCOIN-FUTURES'
2772
2773
  * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
2773
2774
  */
@@ -2784,16 +2785,21 @@ class bitget extends bitget$1 {
2784
2785
  market = this.market(symbol);
2785
2786
  }
2786
2787
  }
2788
+ let response = undefined;
2787
2789
  const request = {};
2788
2790
  let type = undefined;
2789
2791
  [type, params] = this.handleMarketTypeAndParams('fetchTickers', market, params);
2790
- let response = undefined;
2791
- if (type === 'spot') {
2792
+ // Calls like `.fetchTickers (undefined, {subType:'inverse'})` should be supported for this exchange, so
2793
+ // as "options.defaultSubType" is also set in exchange options, we should consider `params.subType`
2794
+ // with higher priority and only default to spot, if `subType` is not set in params
2795
+ const passedSubType = this.safeString(params, 'subType');
2796
+ let productType = undefined;
2797
+ [productType, params] = this.handleProductTypeAndParams(market, params);
2798
+ // only if passedSubType && productType is undefined, then use spot
2799
+ if (type === 'spot' && passedSubType === undefined) {
2792
2800
  response = await this.publicSpotGetV2SpotMarketTickers(this.extend(request, params));
2793
2801
  }
2794
2802
  else {
2795
- let productType = undefined;
2796
- [productType, params] = this.handleProductTypeAndParams(market, params);
2797
2803
  request['productType'] = productType;
2798
2804
  response = await this.publicMixGetV2MixMarketTickers(this.extend(request, params));
2799
2805
  }
@@ -2854,7 +2860,7 @@ class bitget extends bitget$1 {
2854
2860
  // ]
2855
2861
  // }
2856
2862
  //
2857
- const data = this.safeValue(response, 'data', []);
2863
+ const data = this.safeList(response, 'data', []);
2858
2864
  return this.parseTickers(data, symbols);
2859
2865
  }
2860
2866
  parseTrade(trade, market = undefined) {
@@ -3094,7 +3100,7 @@ class bitget extends bitget$1 {
3094
3100
  // ]
3095
3101
  // }
3096
3102
  //
3097
- const data = this.safeValue(response, 'data', []);
3103
+ const data = this.safeList(response, 'data', []);
3098
3104
  return this.parseTrades(data, market, since, limit);
3099
3105
  }
3100
3106
  async fetchTradingFee(symbol, params = {}) {
@@ -4181,7 +4187,7 @@ class bitget extends bitget$1 {
4181
4187
  // }
4182
4188
  // }
4183
4189
  //
4184
- const data = this.safeValue(response, 'data', {});
4190
+ const data = this.safeDict(response, 'data', {});
4185
4191
  return this.parseOrder(data, market);
4186
4192
  }
4187
4193
  createOrderRequest(symbol, type, side, amount, price = undefined, params = {}) {
@@ -4692,7 +4698,7 @@ class bitget extends bitget$1 {
4692
4698
  // }
4693
4699
  // }
4694
4700
  //
4695
- const data = this.safeValue(response, 'data', {});
4701
+ const data = this.safeDict(response, 'data', {});
4696
4702
  return this.parseOrder(data, market);
4697
4703
  }
4698
4704
  async cancelOrder(id, symbol = undefined, params = {}) {
@@ -4931,7 +4937,7 @@ class bitget extends bitget$1 {
4931
4937
  // }
4932
4938
  //
4933
4939
  const data = this.safeValue(response, 'data', {});
4934
- const orders = this.safeValue(data, 'successList', []);
4940
+ const orders = this.safeList(data, 'successList', []);
4935
4941
  return this.parseOrders(orders, market);
4936
4942
  }
4937
4943
  async cancelAllOrders(symbol = undefined, params = {}) {
@@ -5162,9 +5168,15 @@ class bitget extends bitget$1 {
5162
5168
  if (typeof response === 'string') {
5163
5169
  response = JSON.parse(response);
5164
5170
  }
5165
- const data = this.safeValue(response, 'data');
5166
- const first = this.safeValue(data, 0, data);
5171
+ const data = this.safeDict(response, 'data');
5172
+ if ((data !== undefined) && !Array.isArray(data)) {
5173
+ return this.parseOrder(data, market);
5174
+ }
5175
+ const dataList = this.safeList(response, 'data', []);
5176
+ const first = this.safeDict(dataList, 0, {});
5167
5177
  return this.parseOrder(first, market);
5178
+ // const first = this.safeDict (data, 0, data);
5179
+ // return this.parseOrder (first, market);
5168
5180
  }
5169
5181
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
5170
5182
  /**
@@ -5467,12 +5479,12 @@ class bitget extends bitget$1 {
5467
5479
  const data = this.safeValue(response, 'data');
5468
5480
  if (type === 'spot') {
5469
5481
  if ((marginMode !== undefined) || stop) {
5470
- const resultList = this.safeValue(data, 'orderList', []);
5482
+ const resultList = this.safeList(data, 'orderList', []);
5471
5483
  return this.parseOrders(resultList, market, since, limit);
5472
5484
  }
5473
5485
  }
5474
5486
  else {
5475
- const result = this.safeValue(data, 'entrustedList', []);
5487
+ const result = this.safeList(data, 'entrustedList', []);
5476
5488
  return this.parseOrders(result, market, since, limit);
5477
5489
  }
5478
5490
  return this.parseOrders(data, market, since, limit);
@@ -5839,7 +5851,7 @@ class bitget extends bitget$1 {
5839
5851
  if (typeof response === 'string') {
5840
5852
  response = JSON.parse(response);
5841
5853
  }
5842
- const orders = this.safeValue(response, 'data', []);
5854
+ const orders = this.safeList(response, 'data', []);
5843
5855
  return this.parseOrders(orders, market, since, limit);
5844
5856
  }
5845
5857
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -6243,11 +6255,11 @@ class bitget extends bitget$1 {
6243
6255
  //
6244
6256
  const data = this.safeValue(response, 'data');
6245
6257
  if ((market['swap']) || (market['future'])) {
6246
- const fillList = this.safeValue(data, 'fillList', []);
6258
+ const fillList = this.safeList(data, 'fillList', []);
6247
6259
  return this.parseTrades(fillList, market, since, limit);
6248
6260
  }
6249
6261
  else if (marginMode !== undefined) {
6250
- const fills = this.safeValue(data, 'fills', []);
6262
+ const fills = this.safeList(data, 'fills', []);
6251
6263
  return this.parseTrades(fills, market, since, limit);
6252
6264
  }
6253
6265
  return this.parseTrades(data, market, since, limit);
@@ -6310,8 +6322,8 @@ class bitget extends bitget$1 {
6310
6322
  // ]
6311
6323
  // }
6312
6324
  //
6313
- const data = this.safeValue(response, 'data', []);
6314
- const first = this.safeValue(data, 0, {});
6325
+ const data = this.safeList(response, 'data', []);
6326
+ const first = this.safeDict(data, 0, {});
6315
6327
  return this.parsePosition(first, market);
6316
6328
  }
6317
6329
  async fetchPositions(symbols = undefined, params = {}) {
@@ -7262,7 +7274,7 @@ class bitget extends bitget$1 {
7262
7274
  // }
7263
7275
  // }
7264
7276
  //
7265
- const data = this.safeValue(response, 'data', {});
7277
+ const data = this.safeDict(response, 'data', {});
7266
7278
  return this.parseOpenInterest(data, market);
7267
7279
  }
7268
7280
  parseOpenInterest(interest, market = undefined) {
@@ -7346,7 +7358,7 @@ class bitget extends bitget$1 {
7346
7358
  // ]
7347
7359
  // }
7348
7360
  //
7349
- const data = this.safeValue(response, 'data', []);
7361
+ const data = this.safeList(response, 'data', []);
7350
7362
  return this.parseTransfers(data, currency, since, limit);
7351
7363
  }
7352
7364
  async transfer(code, amount, fromAccount, toAccount, params = {}) {
@@ -7543,7 +7555,7 @@ class bitget extends bitget$1 {
7543
7555
  // "requestTime": "1700120731773"
7544
7556
  // }
7545
7557
  //
7546
- const data = this.safeValue(response, 'data', []);
7558
+ const data = this.safeList(response, 'data', []);
7547
7559
  return this.parseDepositWithdrawFees(data, codes, 'coin');
7548
7560
  }
7549
7561
  async borrowCrossMargin(code, amount, params = {}) {
@@ -7850,7 +7862,7 @@ class bitget extends bitget$1 {
7850
7862
  // }
7851
7863
  //
7852
7864
  const data = this.safeValue(response, 'data', {});
7853
- const liquidations = this.safeValue(data, 'resultList', []);
7865
+ const liquidations = this.safeList(data, 'resultList', []);
7854
7866
  return this.parseLiquidations(liquidations, market, since, limit);
7855
7867
  }
7856
7868
  parseLiquidation(liquidation, market = undefined) {
@@ -8298,7 +8310,7 @@ class bitget extends bitget$1 {
8298
8310
  // }
8299
8311
  //
8300
8312
  const data = this.safeValue(response, 'data', {});
8301
- const order = this.safeValue(data, 'successList', []);
8313
+ const order = this.safeList(data, 'successList', []);
8302
8314
  return this.parseOrder(order[0], market);
8303
8315
  }
8304
8316
  async closeAllPositions(params = {}) {
@@ -8336,7 +8348,7 @@ class bitget extends bitget$1 {
8336
8348
  // }
8337
8349
  //
8338
8350
  const data = this.safeValue(response, 'data', {});
8339
- const orderInfo = this.safeValue(data, 'successList', []);
8351
+ const orderInfo = this.safeList(data, 'successList', []);
8340
8352
  return this.parsePositions(orderInfo, undefined, params);
8341
8353
  }
8342
8354
  async fetchMarginMode(symbol, params = {}) {
@@ -495,7 +495,7 @@ class bithumb extends bithumb$1 {
495
495
  // }
496
496
  // }
497
497
  //
498
- const data = this.safeValue(response, 'data', {});
498
+ const data = this.safeDict(response, 'data', {});
499
499
  return this.parseTicker(data, market);
500
500
  }
501
501
  parseOHLCV(ohlcv, market = undefined) {
@@ -562,7 +562,7 @@ class bithumb extends bithumb$1 {
562
562
  // }
563
563
  // }
564
564
  //
565
- const data = this.safeValue(response, 'data', []);
565
+ const data = this.safeList(response, 'data', []);
566
566
  return this.parseOHLCVs(data, market, timeframe, since, limit);
567
567
  }
568
568
  parseTrade(trade, market = undefined) {
@@ -679,7 +679,7 @@ class bithumb extends bithumb$1 {
679
679
  // ]
680
680
  // }
681
681
  //
682
- const data = this.safeValue(response, 'data', []);
682
+ const data = this.safeList(response, 'data', []);
683
683
  return this.parseTrades(data, market, since, limit);
684
684
  }
685
685
  async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
@@ -775,7 +775,7 @@ class bithumb extends bithumb$1 {
775
775
  // }
776
776
  // }
777
777
  //
778
- const data = this.safeValue(response, 'data');
778
+ const data = this.safeDict(response, 'data');
779
779
  return this.parseOrder(this.extend(data, { 'order_id': id }), market);
780
780
  }
781
781
  parseOrderStatus(status) {
@@ -931,7 +931,7 @@ class bithumb extends bithumb$1 {
931
931
  // ]
932
932
  // }
933
933
  //
934
- const data = this.safeValue(response, 'data', []);
934
+ const data = this.safeList(response, 'data', []);
935
935
  return this.parseOrders(data, market, since, limit);
936
936
  }
937
937
  async cancelOrder(id, symbol = undefined, params = {}) {
@@ -1317,7 +1317,7 @@ class bitmart extends bitmart$1 {
1317
1317
  else if (market['swap']) {
1318
1318
  tickersById = this.indexBy(tickers, 'contract_symbol');
1319
1319
  }
1320
- const ticker = this.safeValue(tickersById, market['id']);
1320
+ const ticker = this.safeDict(tickersById, market['id']);
1321
1321
  return this.parseTicker(ticker, market);
1322
1322
  }
1323
1323
  async fetchTickers(symbols = undefined, params = {}) {
@@ -1584,7 +1584,7 @@ class bitmart extends bitmart$1 {
1584
1584
  // }
1585
1585
  //
1586
1586
  const data = this.safeValue(response, 'data', {});
1587
- const trades = this.safeValue(data, 'trades', []);
1587
+ const trades = this.safeList(data, 'trades', []);
1588
1588
  return this.parseTrades(trades, market, since, limit);
1589
1589
  }
1590
1590
  parseOHLCV(ohlcv, market = undefined) {
@@ -1754,7 +1754,7 @@ class bitmart extends bitmart$1 {
1754
1754
  // "trace": "96c989db-e0f5-46f5-bba6-60cfcbde699b"
1755
1755
  // }
1756
1756
  //
1757
- const ohlcv = this.safeValue(response, 'data', []);
1757
+ const ohlcv = this.safeList(response, 'data', []);
1758
1758
  return this.parseOHLCVs(ohlcv, market, timeframe, since, limit);
1759
1759
  }
1760
1760
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1870,7 +1870,7 @@ class bitmart extends bitmart$1 {
1870
1870
  // "trace": "4cad855074634097ac6ba5257c47305d.62.16959616054873723"
1871
1871
  // }
1872
1872
  //
1873
- const data = this.safeValue(response, 'data', []);
1873
+ const data = this.safeList(response, 'data', []);
1874
1874
  return this.parseTrades(data, market, since, limit);
1875
1875
  }
1876
1876
  async fetchOrderTrades(id, symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1891,7 +1891,7 @@ class bitmart extends bitmart$1 {
1891
1891
  'orderId': id,
1892
1892
  };
1893
1893
  const response = await this.privatePostSpotV4QueryOrderTrades(this.extend(request, params));
1894
- const data = this.safeValue(response, 'data', {});
1894
+ const data = this.safeList(response, 'data', []);
1895
1895
  return this.parseTrades(data, undefined, since, limit);
1896
1896
  }
1897
1897
  customParseBalance(response, marketType) {
@@ -2777,7 +2777,7 @@ class bitmart extends bitmart$1 {
2777
2777
  // }
2778
2778
  //
2779
2779
  const data = this.safeValue(response, 'data', {});
2780
- const orders = this.safeValue(data, 'orders', []);
2780
+ const orders = this.safeList(data, 'orders', []);
2781
2781
  return this.parseOrders(orders, market, since, limit);
2782
2782
  }
2783
2783
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2906,7 +2906,7 @@ class bitmart extends bitmart$1 {
2906
2906
  // "trace": "7f9d94g10f9d4513bc08a7rfc3a5559a.71.16957022303515933"
2907
2907
  // }
2908
2908
  //
2909
- const data = this.safeValue(response, 'data', []);
2909
+ const data = this.safeList(response, 'data', []);
2910
2910
  return this.parseOrders(data, market, since, limit);
2911
2911
  }
2912
2912
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2960,7 +2960,7 @@ class bitmart extends bitmart$1 {
2960
2960
  else {
2961
2961
  response = await this.privateGetContractPrivateOrderHistory(this.extend(request, params));
2962
2962
  }
2963
- const data = this.safeValue(response, 'data', []);
2963
+ const data = this.safeList(response, 'data', []);
2964
2964
  return this.parseOrders(data, market, since, limit);
2965
2965
  }
2966
2966
  async fetchCanceledOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -3080,7 +3080,7 @@ class bitmart extends bitmart$1 {
3080
3080
  // "trace": "4cad855075664097af6ba5257c47605d.63.14957831547451715"
3081
3081
  // }
3082
3082
  //
3083
- const data = this.safeValue(response, 'data', {});
3083
+ const data = this.safeDict(response, 'data', {});
3084
3084
  return this.parseOrder(data, market);
3085
3085
  }
3086
3086
  async fetchDepositAddress(code, params = {}) {
@@ -3123,7 +3123,7 @@ class bitmart extends bitmart$1 {
3123
3123
  // }
3124
3124
  // }
3125
3125
  //
3126
- const data = this.safeValue(response, 'data', {});
3126
+ const data = this.safeDict(response, 'data', {});
3127
3127
  return this.parseDepositAddress(data, currency);
3128
3128
  }
3129
3129
  parseDepositAddress(depositAddress, currency = undefined) {
@@ -3271,7 +3271,7 @@ class bitmart extends bitmart$1 {
3271
3271
  // }
3272
3272
  //
3273
3273
  const data = this.safeValue(response, 'data', {});
3274
- const records = this.safeValue(data, 'records', []);
3274
+ const records = this.safeList(data, 'records', []);
3275
3275
  return this.parseTransactions(records, currency, since, limit);
3276
3276
  }
3277
3277
  async fetchDeposit(id, code = undefined, params = {}) {
@@ -3312,7 +3312,7 @@ class bitmart extends bitmart$1 {
3312
3312
  // }
3313
3313
  //
3314
3314
  const data = this.safeValue(response, 'data', {});
3315
- const record = this.safeValue(data, 'record', {});
3315
+ const record = this.safeDict(data, 'record', {});
3316
3316
  return this.parseTransaction(record);
3317
3317
  }
3318
3318
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -3366,7 +3366,7 @@ class bitmart extends bitmart$1 {
3366
3366
  // }
3367
3367
  //
3368
3368
  const data = this.safeValue(response, 'data', {});
3369
- const record = this.safeValue(data, 'record', {});
3369
+ const record = this.safeDict(data, 'record', {});
3370
3370
  return this.parseTransaction(record);
3371
3371
  }
3372
3372
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -3916,7 +3916,7 @@ class bitmart extends bitmart$1 {
3916
3916
  // }
3917
3917
  //
3918
3918
  const data = this.safeValue(response, 'data', {});
3919
- const records = this.safeValue(data, 'records', []);
3919
+ const records = this.safeList(data, 'records', []);
3920
3920
  return this.parseTransfers(records, currency, since, limit);
3921
3921
  }
3922
3922
  async fetchBorrowInterest(code = undefined, symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -4033,7 +4033,7 @@ class bitmart extends bitmart$1 {
4033
4033
  // "trace": "7f9c94e10f9d4513bc08a7bfc2a5559a.72.16946575108274991"
4034
4034
  // }
4035
4035
  //
4036
- const data = this.safeValue(response, 'data', {});
4036
+ const data = this.safeDict(response, 'data', {});
4037
4037
  return this.parseOpenInterest(data, market);
4038
4038
  }
4039
4039
  parseOpenInterest(interest, market = undefined) {
@@ -4198,7 +4198,7 @@ class bitmart extends bitmart$1 {
4198
4198
  // }
4199
4199
  //
4200
4200
  const data = this.safeValue(response, 'data', []);
4201
- const first = this.safeValue(data, 0, {});
4201
+ const first = this.safeDict(data, 0, {});
4202
4202
  return this.parsePosition(first, market);
4203
4203
  }
4204
4204
  async fetchPositions(symbols = undefined, params = {}) {
@@ -1662,7 +1662,7 @@ class bitopro extends bitopro$1 {
1662
1662
  // ]
1663
1663
  // }
1664
1664
  //
1665
- const data = this.safeValue(response, 'data', []);
1665
+ const data = this.safeList(response, 'data', []);
1666
1666
  return this.parseDepositWithdrawFees(data, codes, 'currency');
1667
1667
  }
1668
1668
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
@@ -2566,7 +2566,7 @@ class bitrue extends bitrue$1 {
2566
2566
  // ]
2567
2567
  // }
2568
2568
  //
2569
- const data = this.safeValue(response, 'data', []);
2569
+ const data = this.safeList(response, 'data', []);
2570
2570
  return this.parseTransactions(data, currency, since, limit);
2571
2571
  }
2572
2572
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2819,7 +2819,7 @@ class bitrue extends bitrue$1 {
2819
2819
  // }
2820
2820
  // }
2821
2821
  //
2822
- const data = this.safeValue(response, 'data', {});
2822
+ const data = this.safeDict(response, 'data', {});
2823
2823
  return this.parseTransaction(data, currency);
2824
2824
  }
2825
2825
  parseDepositWithdrawFee(fee, currency = undefined) {
@@ -2875,7 +2875,7 @@ class bitrue extends bitrue$1 {
2875
2875
  */
2876
2876
  await this.loadMarkets();
2877
2877
  const response = await this.spotV1PublicGetExchangeInfo(params);
2878
- const coins = this.safeValue(response, 'coins');
2878
+ const coins = this.safeList(response, 'coins');
2879
2879
  return this.parseDepositWithdrawFees(coins, codes, 'coin');
2880
2880
  }
2881
2881
  parseTransfer(transfer, currency = undefined) {
@@ -3003,7 +3003,7 @@ class bitrue extends bitrue$1 {
3003
3003
  // 'data': null
3004
3004
  // }
3005
3005
  //
3006
- const data = this.safeValue(response, 'data', {});
3006
+ const data = this.safeDict(response, 'data', {});
3007
3007
  return this.parseTransfer(data, currency);
3008
3008
  }
3009
3009
  async setLeverage(leverage, symbol = undefined, params = {}) {
@@ -687,7 +687,7 @@ class bitso extends bitso$1 {
687
687
  // ]
688
688
  // }
689
689
  //
690
- const payload = this.safeValue(response, 'payload', []);
690
+ const payload = this.safeList(response, 'payload', []);
691
691
  return this.parseOHLCVs(payload, market, timeframe, since, limit);
692
692
  }
693
693
  parseOHLCV(ohlcv, market = undefined) {
@@ -1246,7 +1246,7 @@ class bitso extends bitso$1 {
1246
1246
  // }
1247
1247
  //
1248
1248
  const transactions = this.safeValue(response, 'payload', []);
1249
- const first = this.safeValue(transactions, 0, {});
1249
+ const first = this.safeDict(transactions, 0, {});
1250
1250
  return this.parseTransaction(first);
1251
1251
  }
1252
1252
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1290,7 +1290,7 @@ class bitso extends bitso$1 {
1290
1290
  // }]
1291
1291
  // }
1292
1292
  //
1293
- const transactions = this.safeValue(response, 'payload', []);
1293
+ const transactions = this.safeList(response, 'payload', []);
1294
1294
  return this.parseTransactions(transactions, currency, since, limit, params);
1295
1295
  }
1296
1296
  async fetchDepositAddress(code, params = {}) {
@@ -1473,7 +1473,7 @@ class bitso extends bitso$1 {
1473
1473
  // }
1474
1474
  // }
1475
1475
  //
1476
- const payload = this.safeValue(response, 'payload', {});
1476
+ const payload = this.safeList(response, 'payload', []);
1477
1477
  return this.parseDepositWithdrawFees(payload, codes);
1478
1478
  }
1479
1479
  parseDepositWithdrawFees(response, codes = undefined, currencyIdKey = undefined) {
@@ -1609,7 +1609,7 @@ class bitso extends bitso$1 {
1609
1609
  // }
1610
1610
  //
1611
1611
  const payload = this.safeValue(response, 'payload', []);
1612
- const first = this.safeValue(payload, 0);
1612
+ const first = this.safeDict(payload, 0);
1613
1613
  return this.parseTransaction(first, currency);
1614
1614
  }
1615
1615
  safeNetwork(networkId) {
@@ -1110,7 +1110,7 @@ class bitstamp extends bitstamp$1 {
1110
1110
  // }
1111
1111
  //
1112
1112
  const data = this.safeValue(response, 'data', {});
1113
- const ohlc = this.safeValue(data, 'ohlc', []);
1113
+ const ohlc = this.safeList(data, 'ohlc', []);
1114
1114
  return this.parseOHLCVs(ohlc, market, timeframe, since, limit);
1115
1115
  }
1116
1116
  parseBalance(response) {
@@ -671,7 +671,7 @@ class bitteam extends bitteam$1 {
671
671
  // }
672
672
  //
673
673
  const result = this.safeValue(response, 'result', {});
674
- const data = this.safeValue(result, 'data', []);
674
+ const data = this.safeList(result, 'data', []);
675
675
  return this.parseOHLCVs(data, market, timeframe, since, limit);
676
676
  }
677
677
  parseOHLCV(ohlcv, market = undefined) {
@@ -852,7 +852,7 @@ class bitteam extends bitteam$1 {
852
852
  // }
853
853
  //
854
854
  const result = this.safeValue(response, 'result', {});
855
- const orders = this.safeValue(result, 'orders', []);
855
+ const orders = this.safeList(result, 'orders', []);
856
856
  return this.parseOrders(orders, market, since, limit);
857
857
  }
858
858
  async fetchOrder(id, symbol = undefined, params = {}) {
@@ -912,7 +912,7 @@ class bitteam extends bitteam$1 {
912
912
  // }
913
913
  // }
914
914
  //
915
- const result = this.safeValue(response, 'result');
915
+ const result = this.safeDict(response, 'result');
916
916
  return this.parseOrder(result, market);
917
917
  }
918
918
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1023,7 +1023,7 @@ class bitteam extends bitteam$1 {
1023
1023
  // }
1024
1024
  // }
1025
1025
  //
1026
- const order = this.safeValue(response, 'result', {});
1026
+ const order = this.safeDict(response, 'result', {});
1027
1027
  return this.parseOrder(order, market);
1028
1028
  }
1029
1029
  async cancelOrder(id, symbol = undefined, params = {}) {
@@ -1050,7 +1050,7 @@ class bitteam extends bitteam$1 {
1050
1050
  // }
1051
1051
  // }
1052
1052
  //
1053
- const result = this.safeValue(response, 'result', {});
1053
+ const result = this.safeDict(response, 'result', {});
1054
1054
  return this.parseOrder(result);
1055
1055
  }
1056
1056
  async cancelAllOrders(symbol = undefined, params = {}) {
@@ -1513,7 +1513,7 @@ class bitteam extends bitteam$1 {
1513
1513
  // }
1514
1514
  //
1515
1515
  const result = this.safeValue(response, 'result', {});
1516
- const pair = this.safeValue(result, 'pair', {});
1516
+ const pair = this.safeDict(result, 'pair', {});
1517
1517
  return this.parseTicker(pair, market);
1518
1518
  }
1519
1519
  parseTicker(ticker, market = undefined) {
@@ -1842,7 +1842,7 @@ class bitteam extends bitteam$1 {
1842
1842
  // }
1843
1843
  //
1844
1844
  const result = this.safeValue(response, 'result', {});
1845
- const trades = this.safeValue(result, 'trades', []);
1845
+ const trades = this.safeList(result, 'trades', []);
1846
1846
  return this.parseTrades(trades, market, since, limit);
1847
1847
  }
1848
1848
  parseTrade(trade, market = undefined) {
@@ -2145,7 +2145,7 @@ class bitteam extends bitteam$1 {
2145
2145
  // }
2146
2146
  //
2147
2147
  const result = this.safeValue(response, 'result', {});
2148
- const transactions = this.safeValue(result, 'transactions', []);
2148
+ const transactions = this.safeList(result, 'transactions', []);
2149
2149
  return this.parseTransactions(transactions, currency, since, limit);
2150
2150
  }
2151
2151
  parseTransaction(transaction, currency = undefined) {
@@ -175,7 +175,7 @@ class bl3p extends bl3p$1 {
175
175
  'market': market['id'],
176
176
  };
177
177
  const response = await this.publicGetMarketOrderbook(this.extend(request, params));
178
- const orderbook = this.safeValue(response, 'data');
178
+ const orderbook = this.safeDict(response, 'data');
179
179
  return this.parseOrderBook(orderbook, market['symbol'], undefined, 'bids', 'asks', 'price_int', 'amount_int');
180
180
  }
181
181
  parseTicker(ticker, market = undefined) {