ccxt 4.2.84 → 4.2.86

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 (168) hide show
  1. package/README.md +5 -5
  2. package/dist/ccxt.browser.js +1226 -1104
  3. package/dist/ccxt.browser.min.js +4 -4
  4. package/dist/cjs/ccxt.js +1 -1
  5. package/dist/cjs/src/ace.js +5 -5
  6. package/dist/cjs/src/ascendex.js +8 -8
  7. package/dist/cjs/src/base/Exchange.js +76 -14
  8. package/dist/cjs/src/bigone.js +12 -12
  9. package/dist/cjs/src/binance.js +23 -35
  10. package/dist/cjs/src/bingx.js +47 -28
  11. package/dist/cjs/src/bit2c.js +1 -1
  12. package/dist/cjs/src/bitbank.js +27 -31
  13. package/dist/cjs/src/bitbns.js +5 -5
  14. package/dist/cjs/src/bitfinex.js +1 -1
  15. package/dist/cjs/src/bitfinex2.js +1 -1
  16. package/dist/cjs/src/bitget.js +30 -24
  17. package/dist/cjs/src/bithumb.js +5 -5
  18. package/dist/cjs/src/bitmart.js +16 -16
  19. package/dist/cjs/src/bitopro.js +1 -1
  20. package/dist/cjs/src/bitrue.js +4 -4
  21. package/dist/cjs/src/bitso.js +5 -5
  22. package/dist/cjs/src/bitstamp.js +1 -1
  23. package/dist/cjs/src/bitteam.js +8 -8
  24. package/dist/cjs/src/bl3p.js +1 -1
  25. package/dist/cjs/src/btcturk.js +6 -6
  26. package/dist/cjs/src/bybit.js +31 -95
  27. package/dist/cjs/src/coincheck.js +4 -4
  28. package/dist/cjs/src/coinex.js +408 -262
  29. package/dist/cjs/src/coinlist.js +7 -7
  30. package/dist/cjs/src/coinmate.js +4 -4
  31. package/dist/cjs/src/coinmetro.js +3 -3
  32. package/dist/cjs/src/coinone.js +5 -5
  33. package/dist/cjs/src/coinspot.js +2 -2
  34. package/dist/cjs/src/cryptocom.js +17 -17
  35. package/dist/cjs/src/currencycom.js +1 -1
  36. package/dist/cjs/src/delta.js +0 -8
  37. package/dist/cjs/src/deribit.js +16 -92
  38. package/dist/cjs/src/digifinex.js +8 -8
  39. package/dist/cjs/src/exmo.js +8 -8
  40. package/dist/cjs/src/gate.js +0 -8
  41. package/dist/cjs/src/hitbtc.js +5 -4
  42. package/dist/cjs/src/hollaex.js +7 -7
  43. package/dist/cjs/src/htx.js +7 -7
  44. package/dist/cjs/src/huobijp.js +3 -3
  45. package/dist/cjs/src/idex.js +12 -13
  46. package/dist/cjs/src/independentreserve.js +2 -2
  47. package/dist/cjs/src/indodax.js +2 -2
  48. package/dist/cjs/src/kraken.js +8 -8
  49. package/dist/cjs/src/krakenfutures.js +6 -6
  50. package/dist/cjs/src/kucoin.js +5 -1
  51. package/dist/cjs/src/kucoinfutures.js +8 -8
  52. package/dist/cjs/src/kuna.js +16 -16
  53. package/dist/cjs/src/latoken.js +2 -2
  54. package/dist/cjs/src/lbank.js +10 -10
  55. package/dist/cjs/src/luno.js +4 -4
  56. package/dist/cjs/src/mercado.js +5 -5
  57. package/dist/cjs/src/mexc.js +6 -6
  58. package/dist/cjs/src/ndax.js +1 -1
  59. package/dist/cjs/src/novadax.js +9 -9
  60. package/dist/cjs/src/oceanex.js +7 -7
  61. package/dist/cjs/src/okcoin.js +16 -14
  62. package/dist/cjs/src/okx.js +23 -31
  63. package/dist/cjs/src/onetrading.js +4 -4
  64. package/dist/cjs/src/p2b.js +7 -7
  65. package/dist/cjs/src/phemex.js +12 -12
  66. package/dist/cjs/src/poloniexfutures.js +5 -5
  67. package/dist/cjs/src/pro/binance.js +167 -121
  68. package/dist/cjs/src/pro/bitget.js +1 -0
  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/abstract/coinex.d.ts +232 -123
  84. package/js/src/ace.js +5 -5
  85. package/js/src/ascendex.js +8 -8
  86. package/js/src/base/Exchange.d.ts +13 -12
  87. package/js/src/base/Exchange.js +76 -14
  88. package/js/src/bigone.js +12 -12
  89. package/js/src/binance.d.ts +0 -1
  90. package/js/src/binance.js +23 -35
  91. package/js/src/bingx.js +47 -28
  92. package/js/src/bit2c.js +1 -1
  93. package/js/src/bitbank.js +27 -31
  94. package/js/src/bitbns.js +5 -5
  95. package/js/src/bitfinex.js +1 -1
  96. package/js/src/bitfinex2.js +1 -1
  97. package/js/src/bitget.js +30 -24
  98. package/js/src/bithumb.js +5 -5
  99. package/js/src/bitmart.js +16 -16
  100. package/js/src/bitopro.js +1 -1
  101. package/js/src/bitrue.js +4 -4
  102. package/js/src/bitso.js +5 -5
  103. package/js/src/bitstamp.js +1 -1
  104. package/js/src/bitteam.js +8 -8
  105. package/js/src/bl3p.js +1 -1
  106. package/js/src/btcturk.js +6 -6
  107. package/js/src/bybit.d.ts +0 -3
  108. package/js/src/bybit.js +31 -95
  109. package/js/src/coincheck.js +4 -4
  110. package/js/src/coinex.d.ts +1 -1
  111. package/js/src/coinex.js +408 -262
  112. package/js/src/coinlist.js +7 -7
  113. package/js/src/coinmate.js +4 -4
  114. package/js/src/coinmetro.js +3 -3
  115. package/js/src/coinone.js +5 -5
  116. package/js/src/coinspot.js +2 -2
  117. package/js/src/cryptocom.js +17 -17
  118. package/js/src/currencycom.js +1 -1
  119. package/js/src/delta.d.ts +0 -1
  120. package/js/src/delta.js +0 -8
  121. package/js/src/deribit.d.ts +0 -3
  122. package/js/src/deribit.js +16 -92
  123. package/js/src/digifinex.js +8 -8
  124. package/js/src/exmo.js +8 -8
  125. package/js/src/gate.d.ts +0 -1
  126. package/js/src/gate.js +0 -8
  127. package/js/src/hitbtc.js +5 -4
  128. package/js/src/hollaex.js +7 -7
  129. package/js/src/htx.js +7 -7
  130. package/js/src/huobijp.js +3 -3
  131. package/js/src/idex.js +12 -13
  132. package/js/src/independentreserve.js +2 -2
  133. package/js/src/indodax.js +2 -2
  134. package/js/src/kraken.js +8 -8
  135. package/js/src/krakenfutures.js +6 -6
  136. package/js/src/kucoin.js +5 -1
  137. package/js/src/kucoinfutures.js +8 -8
  138. package/js/src/kuna.js +16 -16
  139. package/js/src/latoken.js +2 -2
  140. package/js/src/lbank.js +10 -10
  141. package/js/src/luno.js +4 -4
  142. package/js/src/mercado.js +5 -5
  143. package/js/src/mexc.js +6 -6
  144. package/js/src/ndax.js +1 -1
  145. package/js/src/novadax.js +9 -9
  146. package/js/src/oceanex.js +7 -7
  147. package/js/src/okcoin.js +16 -14
  148. package/js/src/okx.d.ts +0 -1
  149. package/js/src/okx.js +23 -31
  150. package/js/src/onetrading.js +4 -4
  151. package/js/src/p2b.js +7 -7
  152. package/js/src/phemex.js +12 -12
  153. package/js/src/poloniexfutures.js +5 -5
  154. package/js/src/pro/binance.d.ts +5 -1
  155. package/js/src/pro/binance.js +168 -122
  156. package/js/src/pro/bitget.js +1 -0
  157. package/js/src/pro/kucoin.js +6 -7
  158. package/js/src/pro/okx.js +19 -2
  159. package/js/src/probit.js +11 -11
  160. package/js/src/timex.js +7 -7
  161. package/js/src/tokocrypto.js +9 -9
  162. package/js/src/wavesexchange.js +3 -3
  163. package/js/src/whitebit.js +5 -5
  164. package/js/src/woo.js +1 -1
  165. package/js/src/zaif.js +1 -1
  166. package/js/src/zonda.js +7 -7
  167. package/package.json +1 -1
  168. package/skip-tests.json +4 -0
@@ -138,21 +138,23 @@ class bitbank extends bitbank$1 {
138
138
  },
139
139
  'precisionMode': number.TICK_SIZE,
140
140
  'exceptions': {
141
- '20001': errors.AuthenticationError,
142
- '20002': errors.AuthenticationError,
143
- '20003': errors.AuthenticationError,
144
- '20005': errors.AuthenticationError,
145
- '20004': errors.InvalidNonce,
146
- '40020': errors.InvalidOrder,
147
- '40021': errors.InvalidOrder,
148
- '40025': errors.ExchangeError,
149
- '40013': errors.OrderNotFound,
150
- '40014': errors.OrderNotFound,
151
- '50008': errors.PermissionDenied,
152
- '50009': errors.OrderNotFound,
153
- '50010': errors.OrderNotFound,
154
- '60001': errors.InsufficientFunds,
155
- '60005': errors.InvalidOrder,
141
+ 'exact': {
142
+ '20001': errors.AuthenticationError,
143
+ '20002': errors.AuthenticationError,
144
+ '20003': errors.AuthenticationError,
145
+ '20005': errors.AuthenticationError,
146
+ '20004': errors.InvalidNonce,
147
+ '40020': errors.InvalidOrder,
148
+ '40021': errors.InvalidOrder,
149
+ '40025': errors.ExchangeError,
150
+ '40013': errors.OrderNotFound,
151
+ '40014': errors.OrderNotFound,
152
+ '50008': errors.PermissionDenied,
153
+ '50009': errors.OrderNotFound,
154
+ '50010': errors.OrderNotFound,
155
+ '60001': errors.InsufficientFunds,
156
+ '60005': errors.InvalidOrder,
157
+ },
156
158
  },
157
159
  });
158
160
  }
@@ -298,7 +300,7 @@ class bitbank extends bitbank$1 {
298
300
  'pair': market['id'],
299
301
  };
300
302
  const response = await this.publicGetPairTicker(this.extend(request, params));
301
- const data = this.safeValue(response, 'data', {});
303
+ const data = this.safeDict(response, 'data', {});
302
304
  return this.parseTicker(data, market);
303
305
  }
304
306
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
@@ -386,7 +388,7 @@ class bitbank extends bitbank$1 {
386
388
  };
387
389
  const response = await this.publicGetPairTransactions(this.extend(request, params));
388
390
  const data = this.safeValue(response, 'data', {});
389
- const trades = this.safeValue(data, 'transactions', []);
391
+ const trades = this.safeList(data, 'transactions', []);
390
392
  return this.parseTrades(trades, market, since, limit);
391
393
  }
392
394
  async fetchTradingFees(params = {}) {
@@ -516,7 +518,7 @@ class bitbank extends bitbank$1 {
516
518
  const data = this.safeValue(response, 'data', {});
517
519
  const candlestick = this.safeValue(data, 'candlestick', []);
518
520
  const first = this.safeValue(candlestick, 0, {});
519
- const ohlcv = this.safeValue(first, 'ohlcv', []);
521
+ const ohlcv = this.safeList(first, 'ohlcv', []);
520
522
  return this.parseOHLCVs(ohlcv, market, timeframe, since, limit);
521
523
  }
522
524
  parseBalance(response) {
@@ -659,7 +661,7 @@ class bitbank extends bitbank$1 {
659
661
  request['price'] = this.priceToPrecision(symbol, price);
660
662
  }
661
663
  const response = await this.privatePostUserSpotOrder(this.extend(request, params));
662
- const data = this.safeValue(response, 'data');
664
+ const data = this.safeDict(response, 'data');
663
665
  return this.parseOrder(data, market);
664
666
  }
665
667
  async cancelOrder(id, symbol = undefined, params = {}) {
@@ -700,7 +702,7 @@ class bitbank extends bitbank$1 {
700
702
  'pair': market['id'],
701
703
  };
702
704
  const response = await this.privateGetUserSpotOrder(this.extend(request, params));
703
- const data = this.safeValue(response, 'data');
705
+ const data = this.safeDict(response, 'data');
704
706
  return this.parseOrder(data, market);
705
707
  }
706
708
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -728,7 +730,7 @@ class bitbank extends bitbank$1 {
728
730
  }
729
731
  const response = await this.privateGetUserSpotActiveOrders(this.extend(request, params));
730
732
  const data = this.safeValue(response, 'data', {});
731
- const orders = this.safeValue(data, 'orders', []);
733
+ const orders = this.safeList(data, 'orders', []);
732
734
  return this.parseOrders(orders, market, since, limit);
733
735
  }
734
736
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -758,7 +760,7 @@ class bitbank extends bitbank$1 {
758
760
  }
759
761
  const response = await this.privateGetUserSpotTradeHistory(this.extend(request, params));
760
762
  const data = this.safeValue(response, 'data', {});
761
- const trades = this.safeValue(data, 'trades', []);
763
+ const trades = this.safeList(data, 'trades', []);
762
764
  return this.parseTrades(trades, market, since, limit);
763
765
  }
764
766
  async fetchDepositAddress(code, params = {}) {
@@ -831,7 +833,7 @@ class bitbank extends bitbank$1 {
831
833
  // }
832
834
  // }
833
835
  //
834
- const data = this.safeValue(response, 'data', {});
836
+ const data = this.safeDict(response, 'data', {});
835
837
  return this.parseTransaction(data, currency);
836
838
  }
837
839
  parseTransaction(transaction, currency = undefined) {
@@ -983,16 +985,10 @@ class bitbank extends bitbank$1 {
983
985
  '70009': 'We are currently temporarily restricting orders to be carried out. Please use the limit order.',
984
986
  '70010': 'We are temporarily raising the minimum order quantity as the system load is now rising.',
985
987
  };
986
- const errorClasses = this.exceptions;
987
988
  const code = this.safeString(data, 'code');
988
989
  const message = this.safeString(errorMessages, code, 'Error');
989
- const ErrorClass = this.safeValue(errorClasses, code);
990
- if (ErrorClass !== undefined) {
991
- throw new errorClasses[code](message);
992
- }
993
- else {
994
- throw new errors.ExchangeError(this.id + ' ' + this.json(response));
995
- }
990
+ this.throwExactlyMatchedException(this.exceptions['exact'], code, message);
991
+ throw new errors.ExchangeError(this.id + ' ' + this.json(response));
996
992
  }
997
993
  return undefined;
998
994
  }
@@ -722,7 +722,7 @@ class bitbns extends bitbns$1 {
722
722
  // }
723
723
  //
724
724
  const data = this.safeValue(response, 'data', []);
725
- const first = this.safeValue(data, 0);
725
+ const first = this.safeDict(data, 0);
726
726
  return this.parseOrder(first, market);
727
727
  }
728
728
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -773,7 +773,7 @@ class bitbns extends bitbns$1 {
773
773
  // "code":200
774
774
  // }
775
775
  //
776
- const data = this.safeValue(response, 'data', []);
776
+ const data = this.safeList(response, 'data', []);
777
777
  return this.parseOrders(data, market, since, limit);
778
778
  }
779
779
  parseTrade(trade, market = undefined) {
@@ -923,7 +923,7 @@ class bitbns extends bitbns$1 {
923
923
  // "code": 200
924
924
  // }
925
925
  //
926
- const data = this.safeValue(response, 'data', []);
926
+ const data = this.safeList(response, 'data', []);
927
927
  return this.parseTrades(data, market, since, limit);
928
928
  }
929
929
  async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
@@ -1000,7 +1000,7 @@ class bitbns extends bitbns$1 {
1000
1000
  // "code":200
1001
1001
  // }
1002
1002
  //
1003
- const data = this.safeValue(response, 'data', []);
1003
+ const data = this.safeList(response, 'data', []);
1004
1004
  return this.parseTransactions(data, currency, since, limit);
1005
1005
  }
1006
1006
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1027,7 +1027,7 @@ class bitbns extends bitbns$1 {
1027
1027
  //
1028
1028
  // ...
1029
1029
  //
1030
- const data = this.safeValue(response, 'data', []);
1030
+ const data = this.safeList(response, 'data', []);
1031
1031
  return this.parseTransactions(data, currency, since, limit);
1032
1032
  }
1033
1033
  parseTransactionStatusByType(status, type = undefined) {
@@ -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 = {}) {
@@ -2860,7 +2860,7 @@ class bitget extends bitget$1 {
2860
2860
  // ]
2861
2861
  // }
2862
2862
  //
2863
- const data = this.safeValue(response, 'data', []);
2863
+ const data = this.safeList(response, 'data', []);
2864
2864
  return this.parseTickers(data, symbols);
2865
2865
  }
2866
2866
  parseTrade(trade, market = undefined) {
@@ -3100,7 +3100,7 @@ class bitget extends bitget$1 {
3100
3100
  // ]
3101
3101
  // }
3102
3102
  //
3103
- const data = this.safeValue(response, 'data', []);
3103
+ const data = this.safeList(response, 'data', []);
3104
3104
  return this.parseTrades(data, market, since, limit);
3105
3105
  }
3106
3106
  async fetchTradingFee(symbol, params = {}) {
@@ -4187,7 +4187,7 @@ class bitget extends bitget$1 {
4187
4187
  // }
4188
4188
  // }
4189
4189
  //
4190
- const data = this.safeValue(response, 'data', {});
4190
+ const data = this.safeDict(response, 'data', {});
4191
4191
  return this.parseOrder(data, market);
4192
4192
  }
4193
4193
  createOrderRequest(symbol, type, side, amount, price = undefined, params = {}) {
@@ -4698,7 +4698,7 @@ class bitget extends bitget$1 {
4698
4698
  // }
4699
4699
  // }
4700
4700
  //
4701
- const data = this.safeValue(response, 'data', {});
4701
+ const data = this.safeDict(response, 'data', {});
4702
4702
  return this.parseOrder(data, market);
4703
4703
  }
4704
4704
  async cancelOrder(id, symbol = undefined, params = {}) {
@@ -4937,7 +4937,7 @@ class bitget extends bitget$1 {
4937
4937
  // }
4938
4938
  //
4939
4939
  const data = this.safeValue(response, 'data', {});
4940
- const orders = this.safeValue(data, 'successList', []);
4940
+ const orders = this.safeList(data, 'successList', []);
4941
4941
  return this.parseOrders(orders, market);
4942
4942
  }
4943
4943
  async cancelAllOrders(symbol = undefined, params = {}) {
@@ -5168,9 +5168,15 @@ class bitget extends bitget$1 {
5168
5168
  if (typeof response === 'string') {
5169
5169
  response = JSON.parse(response);
5170
5170
  }
5171
- const data = this.safeValue(response, 'data');
5172
- 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, {});
5173
5177
  return this.parseOrder(first, market);
5178
+ // const first = this.safeDict (data, 0, data);
5179
+ // return this.parseOrder (first, market);
5174
5180
  }
5175
5181
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
5176
5182
  /**
@@ -5473,12 +5479,12 @@ class bitget extends bitget$1 {
5473
5479
  const data = this.safeValue(response, 'data');
5474
5480
  if (type === 'spot') {
5475
5481
  if ((marginMode !== undefined) || stop) {
5476
- const resultList = this.safeValue(data, 'orderList', []);
5482
+ const resultList = this.safeList(data, 'orderList', []);
5477
5483
  return this.parseOrders(resultList, market, since, limit);
5478
5484
  }
5479
5485
  }
5480
5486
  else {
5481
- const result = this.safeValue(data, 'entrustedList', []);
5487
+ const result = this.safeList(data, 'entrustedList', []);
5482
5488
  return this.parseOrders(result, market, since, limit);
5483
5489
  }
5484
5490
  return this.parseOrders(data, market, since, limit);
@@ -5845,7 +5851,7 @@ class bitget extends bitget$1 {
5845
5851
  if (typeof response === 'string') {
5846
5852
  response = JSON.parse(response);
5847
5853
  }
5848
- const orders = this.safeValue(response, 'data', []);
5854
+ const orders = this.safeList(response, 'data', []);
5849
5855
  return this.parseOrders(orders, market, since, limit);
5850
5856
  }
5851
5857
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -6249,11 +6255,11 @@ class bitget extends bitget$1 {
6249
6255
  //
6250
6256
  const data = this.safeValue(response, 'data');
6251
6257
  if ((market['swap']) || (market['future'])) {
6252
- const fillList = this.safeValue(data, 'fillList', []);
6258
+ const fillList = this.safeList(data, 'fillList', []);
6253
6259
  return this.parseTrades(fillList, market, since, limit);
6254
6260
  }
6255
6261
  else if (marginMode !== undefined) {
6256
- const fills = this.safeValue(data, 'fills', []);
6262
+ const fills = this.safeList(data, 'fills', []);
6257
6263
  return this.parseTrades(fills, market, since, limit);
6258
6264
  }
6259
6265
  return this.parseTrades(data, market, since, limit);
@@ -6316,8 +6322,8 @@ class bitget extends bitget$1 {
6316
6322
  // ]
6317
6323
  // }
6318
6324
  //
6319
- const data = this.safeValue(response, 'data', []);
6320
- const first = this.safeValue(data, 0, {});
6325
+ const data = this.safeList(response, 'data', []);
6326
+ const first = this.safeDict(data, 0, {});
6321
6327
  return this.parsePosition(first, market);
6322
6328
  }
6323
6329
  async fetchPositions(symbols = undefined, params = {}) {
@@ -7268,7 +7274,7 @@ class bitget extends bitget$1 {
7268
7274
  // }
7269
7275
  // }
7270
7276
  //
7271
- const data = this.safeValue(response, 'data', {});
7277
+ const data = this.safeDict(response, 'data', {});
7272
7278
  return this.parseOpenInterest(data, market);
7273
7279
  }
7274
7280
  parseOpenInterest(interest, market = undefined) {
@@ -7352,7 +7358,7 @@ class bitget extends bitget$1 {
7352
7358
  // ]
7353
7359
  // }
7354
7360
  //
7355
- const data = this.safeValue(response, 'data', []);
7361
+ const data = this.safeList(response, 'data', []);
7356
7362
  return this.parseTransfers(data, currency, since, limit);
7357
7363
  }
7358
7364
  async transfer(code, amount, fromAccount, toAccount, params = {}) {
@@ -7549,7 +7555,7 @@ class bitget extends bitget$1 {
7549
7555
  // "requestTime": "1700120731773"
7550
7556
  // }
7551
7557
  //
7552
- const data = this.safeValue(response, 'data', []);
7558
+ const data = this.safeList(response, 'data', []);
7553
7559
  return this.parseDepositWithdrawFees(data, codes, 'coin');
7554
7560
  }
7555
7561
  async borrowCrossMargin(code, amount, params = {}) {
@@ -7856,7 +7862,7 @@ class bitget extends bitget$1 {
7856
7862
  // }
7857
7863
  //
7858
7864
  const data = this.safeValue(response, 'data', {});
7859
- const liquidations = this.safeValue(data, 'resultList', []);
7865
+ const liquidations = this.safeList(data, 'resultList', []);
7860
7866
  return this.parseLiquidations(liquidations, market, since, limit);
7861
7867
  }
7862
7868
  parseLiquidation(liquidation, market = undefined) {
@@ -8304,7 +8310,7 @@ class bitget extends bitget$1 {
8304
8310
  // }
8305
8311
  //
8306
8312
  const data = this.safeValue(response, 'data', {});
8307
- const order = this.safeValue(data, 'successList', []);
8313
+ const order = this.safeList(data, 'successList', []);
8308
8314
  return this.parseOrder(order[0], market);
8309
8315
  }
8310
8316
  async closeAllPositions(params = {}) {
@@ -8342,7 +8348,7 @@ class bitget extends bitget$1 {
8342
8348
  // }
8343
8349
  //
8344
8350
  const data = this.safeValue(response, 'data', {});
8345
- const orderInfo = this.safeValue(data, 'successList', []);
8351
+ const orderInfo = this.safeList(data, 'successList', []);
8346
8352
  return this.parsePositions(orderInfo, undefined, params);
8347
8353
  }
8348
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 = {}) {