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/mercado.js CHANGED
@@ -517,7 +517,7 @@ export default class mercado extends Exchange {
517
517
  // }
518
518
  //
519
519
  const responseData = this.safeValue(response, 'response_data', {});
520
- const order = this.safeValue(responseData, 'order', {});
520
+ const order = this.safeDict(responseData, 'order', {});
521
521
  return this.parseOrder(order, market);
522
522
  }
523
523
  parseOrderStatus(status) {
@@ -620,7 +620,7 @@ export default class mercado extends Exchange {
620
620
  };
621
621
  const response = await this.privatePostGetOrder(this.extend(request, params));
622
622
  const responseData = this.safeValue(response, 'response_data', {});
623
- const order = this.safeValue(responseData, 'order');
623
+ const order = this.safeDict(responseData, 'order');
624
624
  return this.parseOrder(order, market);
625
625
  }
626
626
  async withdraw(code, amount, address, tag = undefined, params = {}) {
@@ -687,7 +687,7 @@ export default class mercado extends Exchange {
687
687
  // }
688
688
  //
689
689
  const responseData = this.safeValue(response, 'response_data', {});
690
- const withdrawal = this.safeValue(responseData, 'withdrawal');
690
+ const withdrawal = this.safeDict(responseData, 'withdrawal');
691
691
  return this.parseTransaction(withdrawal, currency);
692
692
  }
693
693
  parseTransaction(transaction, currency = undefined) {
@@ -792,7 +792,7 @@ export default class mercado extends Exchange {
792
792
  };
793
793
  const response = await this.privatePostListOrders(this.extend(request, params));
794
794
  const responseData = this.safeValue(response, 'response_data', {});
795
- const orders = this.safeValue(responseData, 'orders', []);
795
+ const orders = this.safeList(responseData, 'orders', []);
796
796
  return this.parseOrders(orders, market, since, limit);
797
797
  }
798
798
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -817,7 +817,7 @@ export default class mercado extends Exchange {
817
817
  };
818
818
  const response = await this.privatePostListOrders(this.extend(request, params));
819
819
  const responseData = this.safeValue(response, 'response_data', {});
820
- const orders = this.safeValue(responseData, 'orders', []);
820
+ const orders = this.safeList(responseData, 'orders', []);
821
821
  return this.parseOrders(orders, market, since, limit);
822
822
  }
823
823
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
package/js/src/mexc.js CHANGED
@@ -2834,7 +2834,7 @@ export default class mexc extends Exchange {
2834
2834
  // ]
2835
2835
  // }
2836
2836
  //
2837
- const data = this.safeValue(response, 'data');
2837
+ const data = this.safeList(response, 'data');
2838
2838
  return this.parseOrders(data, market);
2839
2839
  }
2840
2840
  }
@@ -3119,7 +3119,7 @@ export default class mexc extends Exchange {
3119
3119
  // ]
3120
3120
  // }
3121
3121
  //
3122
- const data = this.safeValue(response, 'data');
3122
+ const data = this.safeList(response, 'data');
3123
3123
  return this.parseOrders(data, market);
3124
3124
  }
3125
3125
  }
@@ -3213,7 +3213,7 @@ export default class mexc extends Exchange {
3213
3213
  // "code": "0"
3214
3214
  // }
3215
3215
  //
3216
- const data = this.safeValue(response, 'data', []);
3216
+ const data = this.safeList(response, 'data', []);
3217
3217
  return this.parseOrders(data, market);
3218
3218
  }
3219
3219
  }
@@ -4356,7 +4356,7 @@ export default class mexc extends Exchange {
4356
4356
  // ]
4357
4357
  // }
4358
4358
  //
4359
- const data = this.safeValue(response, 'data');
4359
+ const data = this.safeList(response, 'data');
4360
4360
  return this.parseLeverageTiers(data, symbols, 'symbol');
4361
4361
  }
4362
4362
  parseMarketLeverageTiers(info, market = undefined) {
@@ -4814,7 +4814,7 @@ export default class mexc extends Exchange {
4814
4814
  // ]
4815
4815
  // }
4816
4816
  //
4817
- const data = this.safeValue(response, 'data', []);
4817
+ const data = this.safeList(response, 'data', []);
4818
4818
  return this.parsePositions(data, symbols);
4819
4819
  }
4820
4820
  parsePosition(position, market = undefined) {
@@ -4905,7 +4905,7 @@ export default class mexc extends Exchange {
4905
4905
  // }
4906
4906
  // }
4907
4907
  //
4908
- const data = this.safeValue(response, 'data', {});
4908
+ const data = this.safeDict(response, 'data', {});
4909
4909
  return this.parseTransfer(data);
4910
4910
  }
4911
4911
  else if (marketType === 'swap') {
package/js/src/ndax.js CHANGED
@@ -1942,7 +1942,7 @@ export default class ndax extends Exchange {
1942
1942
  // ]
1943
1943
  //
1944
1944
  const grouped = this.groupBy(response, 'ChangeReason');
1945
- const trades = this.safeValue(grouped, 'Trade', []);
1945
+ const trades = this.safeList(grouped, 'Trade', []);
1946
1946
  return this.parseTrades(trades, market, since, limit);
1947
1947
  }
1948
1948
  async fetchDepositAddress(code, params = {}) {
package/js/src/novadax.js CHANGED
@@ -399,7 +399,7 @@ export default class novadax extends Exchange {
399
399
  // "message":"Success"
400
400
  // }
401
401
  //
402
- const data = this.safeValue(response, 'data', {});
402
+ const data = this.safeDict(response, 'data', {});
403
403
  return this.parseTicker(data, market);
404
404
  }
405
405
  async fetchTickers(symbols = undefined, params = {}) {
@@ -597,7 +597,7 @@ export default class novadax extends Exchange {
597
597
  // "message":"Success"
598
598
  // }
599
599
  //
600
- const data = this.safeValue(response, 'data', []);
600
+ const data = this.safeList(response, 'data', []);
601
601
  return this.parseTrades(data, market, since, limit);
602
602
  }
603
603
  async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
@@ -653,7 +653,7 @@ export default class novadax extends Exchange {
653
653
  // "message": "Success"
654
654
  // }
655
655
  //
656
- const data = this.safeValue(response, 'data', []);
656
+ const data = this.safeList(response, 'data', []);
657
657
  return this.parseOHLCVs(data, market, timeframe, since, limit);
658
658
  }
659
659
  parseOHLCV(ohlcv, market = undefined) {
@@ -832,7 +832,7 @@ export default class novadax extends Exchange {
832
832
  // "message": "Success"
833
833
  // }
834
834
  //
835
- const data = this.safeValue(response, 'data', {});
835
+ const data = this.safeDict(response, 'data', {});
836
836
  return this.parseOrder(data, market);
837
837
  }
838
838
  async cancelOrder(id, symbol = undefined, params = {}) {
@@ -860,7 +860,7 @@ export default class novadax extends Exchange {
860
860
  // "message": "Success"
861
861
  // }
862
862
  //
863
- const data = this.safeValue(response, 'data', {});
863
+ const data = this.safeDict(response, 'data', {});
864
864
  return this.parseOrder(data);
865
865
  }
866
866
  async fetchOrder(id, symbol = undefined, params = {}) {
@@ -899,7 +899,7 @@ export default class novadax extends Exchange {
899
899
  // "message": "Success"
900
900
  // }
901
901
  //
902
- const data = this.safeValue(response, 'data', {});
902
+ const data = this.safeDict(response, 'data', {});
903
903
  return this.parseOrder(data);
904
904
  }
905
905
  async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -959,7 +959,7 @@ export default class novadax extends Exchange {
959
959
  // "message": "Success"
960
960
  // }
961
961
  //
962
- const data = this.safeValue(response, 'data', []);
962
+ const data = this.safeList(response, 'data', []);
963
963
  return this.parseOrders(data, market, since, limit);
964
964
  }
965
965
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1360,7 +1360,7 @@ export default class novadax extends Exchange {
1360
1360
  // "message": "Success"
1361
1361
  // }
1362
1362
  //
1363
- const data = this.safeValue(response, 'data', []);
1363
+ const data = this.safeList(response, 'data', []);
1364
1364
  return this.parseTransactions(data, currency, since, limit);
1365
1365
  }
1366
1366
  parseTransactionStatus(status) {
@@ -1505,7 +1505,7 @@ export default class novadax extends Exchange {
1505
1505
  // "message": "Success"
1506
1506
  // }
1507
1507
  //
1508
- const data = this.safeValue(response, 'data', []);
1508
+ const data = this.safeList(response, 'data', []);
1509
1509
  return this.parseTrades(data, market, since, limit);
1510
1510
  }
1511
1511
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
package/js/src/oceanex.js CHANGED
@@ -271,7 +271,7 @@ export default class oceanex extends Exchange {
271
271
  // }
272
272
  // }
273
273
  //
274
- const data = this.safeValue(response, 'data', {});
274
+ const data = this.safeDict(response, 'data', {});
275
275
  return this.parseTicker(data, market);
276
276
  }
277
277
  async fetchTickers(symbols = undefined, params = {}) {
@@ -499,7 +499,7 @@ export default class oceanex extends Exchange {
499
499
  // ]
500
500
  // }
501
501
  //
502
- const data = this.safeValue(response, 'data');
502
+ const data = this.safeList(response, 'data');
503
503
  return this.parseTrades(data, market, since, limit);
504
504
  }
505
505
  parseTrade(trade, market = undefined) {
@@ -649,7 +649,7 @@ export default class oceanex extends Exchange {
649
649
  request['price'] = this.priceToPrecision(symbol, price);
650
650
  }
651
651
  const response = await this.privatePostOrders(this.extend(request, params));
652
- const data = this.safeValue(response, 'data');
652
+ const data = this.safeDict(response, 'data');
653
653
  return this.parseOrder(data, market);
654
654
  }
655
655
  async fetchOrder(id, symbol = undefined, params = {}) {
@@ -800,7 +800,7 @@ export default class oceanex extends Exchange {
800
800
  request['limit'] = limit;
801
801
  }
802
802
  const response = await this.publicPostK(this.extend(request, params));
803
- const ohlcvs = this.safeValue(response, 'data', []);
803
+ const ohlcvs = this.safeList(response, 'data', []);
804
804
  return this.parseOHLCVs(ohlcvs, market, timeframe, since, limit);
805
805
  }
806
806
  parseOrder(order, market = undefined) {
@@ -879,7 +879,7 @@ export default class oceanex extends Exchange {
879
879
  */
880
880
  await this.loadMarkets();
881
881
  const response = await this.privatePostOrderDelete(this.extend({ 'id': id }, params));
882
- const data = this.safeValue(response, 'data');
882
+ const data = this.safeDict(response, 'data');
883
883
  return this.parseOrder(data);
884
884
  }
885
885
  async cancelOrders(ids, symbol = undefined, params = {}) {
@@ -895,7 +895,7 @@ export default class oceanex extends Exchange {
895
895
  */
896
896
  await this.loadMarkets();
897
897
  const response = await this.privatePostOrderDeleteMulti(this.extend({ 'ids': ids }, params));
898
- const data = this.safeValue(response, 'data');
898
+ const data = this.safeList(response, 'data');
899
899
  return this.parseOrders(data);
900
900
  }
901
901
  async cancelAllOrders(symbol = undefined, params = {}) {
@@ -910,7 +910,7 @@ export default class oceanex extends Exchange {
910
910
  */
911
911
  await this.loadMarkets();
912
912
  const response = await this.privatePostOrdersClear(params);
913
- const data = this.safeValue(response, 'data');
913
+ const data = this.safeList(response, 'data');
914
914
  return this.parseOrders(data);
915
915
  }
916
916
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
package/js/src/okcoin.js CHANGED
@@ -975,7 +975,7 @@ export default class okcoin extends Exchange {
975
975
  'instType': 'SPOT',
976
976
  };
977
977
  const response = await this.publicGetMarketTickers(this.extend(request, params));
978
- const data = this.safeValue(response, 'data', []);
978
+ const data = this.safeList(response, 'data', []);
979
979
  return this.parseTickers(data, symbols, params);
980
980
  }
981
981
  parseTrade(trade, market = undefined) {
@@ -1084,7 +1084,7 @@ export default class okcoin extends Exchange {
1084
1084
  else {
1085
1085
  response = await this.publicGetMarketHistoryTrades(this.extend(request, params));
1086
1086
  }
1087
- const data = this.safeValue(response, 'data', []);
1087
+ const data = this.safeList(response, 'data', []);
1088
1088
  return this.parseTrades(data, market, since, limit);
1089
1089
  }
1090
1090
  parseOHLCV(ohlcv, market = undefined) {
@@ -1147,7 +1147,7 @@ export default class okcoin extends Exchange {
1147
1147
  else {
1148
1148
  response = await this.publicGetMarketHistoryCandles(this.extend(request, params));
1149
1149
  }
1150
- const data = this.safeValue(response, 'data', []);
1150
+ const data = this.safeList(response, 'data', []);
1151
1151
  return this.parseOHLCVs(data, market, timeframe, since, limit);
1152
1152
  }
1153
1153
  parseAccountBalance(response) {
@@ -1668,7 +1668,7 @@ export default class okcoin extends Exchange {
1668
1668
  const response = await this.privatePostTradeCancelOrder(this.extend(request, query));
1669
1669
  // {"code":"0","data":[{"clOrdId":"","ordId":"317251910906576896","sCode":"0","sMsg":""}],"msg":""}
1670
1670
  const data = this.safeValue(response, 'data', []);
1671
- const order = this.safeValue(data, 0);
1671
+ const order = this.safeDict(data, 0);
1672
1672
  return this.parseOrder(order, market);
1673
1673
  }
1674
1674
  parseIds(ids) {
@@ -1769,7 +1769,7 @@ export default class okcoin extends Exchange {
1769
1769
  // }
1770
1770
  //
1771
1771
  //
1772
- const ordersData = this.safeValue(response, 'data', []);
1772
+ const ordersData = this.safeList(response, 'data', []);
1773
1773
  return this.parseOrders(ordersData, market, undefined, undefined, params);
1774
1774
  }
1775
1775
  parseOrderStatus(status) {
@@ -2029,7 +2029,7 @@ export default class okcoin extends Exchange {
2029
2029
  response = await this.privateGetTradeOrder(this.extend(request, query));
2030
2030
  }
2031
2031
  const data = this.safeValue(response, 'data', []);
2032
- const order = this.safeValue(data, 0);
2032
+ const order = this.safeDict(data, 0);
2033
2033
  return this.parseOrder(order);
2034
2034
  }
2035
2035
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2077,7 +2077,7 @@ export default class okcoin extends Exchange {
2077
2077
  else {
2078
2078
  response = await this.privateGetTradeOrdersPending(this.extend(request, params));
2079
2079
  }
2080
- const data = this.safeValue(response, 'data', []);
2080
+ const data = this.safeList(response, 'data', []);
2081
2081
  return this.parseOrders(data, market, since, limit);
2082
2082
  }
2083
2083
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2166,7 +2166,7 @@ export default class okcoin extends Exchange {
2166
2166
  // "msg":""
2167
2167
  // }
2168
2168
  //
2169
- const data = this.safeValue(response, 'data', []);
2169
+ const data = this.safeList(response, 'data', []);
2170
2170
  return this.parseOrders(data, market, since, limit);
2171
2171
  }
2172
2172
  parseDepositAddress(depositAddress, currency = undefined) {
@@ -2382,7 +2382,7 @@ export default class okcoin extends Exchange {
2382
2382
  // }
2383
2383
  //
2384
2384
  const data = this.safeValue(response, 'data', []);
2385
- const rawTransfer = this.safeValue(data, 0, {});
2385
+ const rawTransfer = this.safeDict(data, 0, {});
2386
2386
  return this.parseTransfer(rawTransfer, currency);
2387
2387
  }
2388
2388
  parseTransfer(transfer, currency = undefined) {
@@ -2525,7 +2525,7 @@ export default class okcoin extends Exchange {
2525
2525
  // }
2526
2526
  //
2527
2527
  const data = this.safeValue(response, 'data', []);
2528
- const transaction = this.safeValue(data, 0);
2528
+ const transaction = this.safeDict(data, 0);
2529
2529
  return this.parseTransaction(transaction, currency);
2530
2530
  }
2531
2531
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2599,7 +2599,7 @@ export default class okcoin extends Exchange {
2599
2599
  // ]
2600
2600
  // }
2601
2601
  //
2602
- const data = this.safeValue(response, 'data', []);
2602
+ const data = this.safeList(response, 'data', []);
2603
2603
  return this.parseTransactions(data, currency, since, limit, params);
2604
2604
  }
2605
2605
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2665,7 +2665,7 @@ export default class okcoin extends Exchange {
2665
2665
  // ]
2666
2666
  // }
2667
2667
  //
2668
- const data = this.safeValue(response, 'data', []);
2668
+ const data = this.safeList(response, 'data', []);
2669
2669
  return this.parseTransactions(data, currency, since, limit, params);
2670
2670
  }
2671
2671
  parseTransactionStatus(status) {
@@ -2836,7 +2836,7 @@ export default class okcoin extends Exchange {
2836
2836
  else {
2837
2837
  response = await this.privateGetTradeFills(this.extend(request, params));
2838
2838
  }
2839
- const data = this.safeValue(response, 'data', []);
2839
+ const data = this.safeList(response, 'data', []);
2840
2840
  return this.parseTrades(data, market, since, limit);
2841
2841
  }
2842
2842
  async fetchOrderTrades(id, symbol = undefined, since = undefined, limit = undefined, params = {}) {
package/js/src/okx.d.ts CHANGED
@@ -8,7 +8,6 @@ export default class okx extends Exchange {
8
8
  describe(): any;
9
9
  handleMarketTypeAndParams(methodName: any, market?: any, params?: {}): any;
10
10
  convertToInstrumentType(type: any): string;
11
- convertExpireDate(date: any): string;
12
11
  createExpiredOptionMarket(symbol: string): MarketInterface;
13
12
  safeMarket(marketId?: Str, market?: Market, delimiter?: Str, marketType?: Str): MarketInterface;
14
13
  fetchStatus(params?: {}): Promise<{
package/js/src/okx.js CHANGED
@@ -1120,14 +1120,6 @@ export default class okx extends Exchange {
1120
1120
  const exchangeTypes = this.safeValue(this.options, 'exchangeType', {});
1121
1121
  return this.safeString(exchangeTypes, type, type);
1122
1122
  }
1123
- convertExpireDate(date) {
1124
- // parse YYMMDD to timestamp
1125
- const year = date.slice(0, 2);
1126
- const month = date.slice(2, 4);
1127
- const day = date.slice(4, 6);
1128
- const reconstructedDate = '20' + year + '-' + month + '-' + day + 'T00:00:00Z';
1129
- return reconstructedDate;
1130
- }
1131
1123
  createExpiredOptionMarket(symbol) {
1132
1124
  // support expired option contracts
1133
1125
  const quote = 'USD';
@@ -1857,7 +1849,7 @@ export default class okx extends Exchange {
1857
1849
  // }
1858
1850
  //
1859
1851
  const data = this.safeValue(response, 'data', []);
1860
- const first = this.safeValue(data, 0, {});
1852
+ const first = this.safeDict(data, 0, {});
1861
1853
  return this.parseTicker(first, market);
1862
1854
  }
1863
1855
  async fetchTickers(symbols = undefined, params = {}) {
@@ -2086,7 +2078,7 @@ export default class okx extends Exchange {
2086
2078
  // "msg": ""
2087
2079
  // }
2088
2080
  //
2089
- const data = this.safeValue(response, 'data', []);
2081
+ const data = this.safeList(response, 'data', []);
2090
2082
  return this.parseTrades(data, market, since, limit);
2091
2083
  }
2092
2084
  parseOHLCV(ohlcv, market = undefined) {
@@ -2219,7 +2211,7 @@ export default class okx extends Exchange {
2219
2211
  // ]
2220
2212
  // }
2221
2213
  //
2222
- const data = this.safeValue(response, 'data', []);
2214
+ const data = this.safeList(response, 'data', []);
2223
2215
  return this.parseOHLCVs(data, market, timeframe, since, limit);
2224
2216
  }
2225
2217
  async fetchFundingRateHistory(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2955,7 +2947,7 @@ export default class okx extends Exchange {
2955
2947
  // "msg": "",
2956
2948
  // "outTime": "1697979038586493"
2957
2949
  // }
2958
- const data = this.safeValue(response, 'data', []);
2950
+ const data = this.safeList(response, 'data', []);
2959
2951
  return this.parseOrders(data);
2960
2952
  }
2961
2953
  editOrderRequest(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
@@ -3164,7 +3156,7 @@ export default class okx extends Exchange {
3164
3156
  const response = await this.privatePostTradeCancelOrder(this.extend(request, query));
3165
3157
  // {"code":"0","data":[{"clOrdId":"","ordId":"317251910906576896","sCode":"0","sMsg":""}],"msg":""}
3166
3158
  const data = this.safeValue(response, 'data', []);
3167
- const order = this.safeValue(data, 0);
3159
+ const order = this.safeDict(data, 0);
3168
3160
  return this.parseOrder(order, market);
3169
3161
  }
3170
3162
  parseIds(ids) {
@@ -3282,7 +3274,7 @@ export default class okx extends Exchange {
3282
3274
  // "msg": ""
3283
3275
  // }
3284
3276
  //
3285
- const ordersData = this.safeValue(response, 'data', []);
3277
+ const ordersData = this.safeList(response, 'data', []);
3286
3278
  return this.parseOrders(ordersData, market, undefined, undefined, params);
3287
3279
  }
3288
3280
  parseOrderStatus(status) {
@@ -3656,7 +3648,7 @@ export default class okx extends Exchange {
3656
3648
  // }
3657
3649
  //
3658
3650
  const data = this.safeValue(response, 'data', []);
3659
- const order = this.safeValue(data, 0);
3651
+ const order = this.safeDict(data, 0);
3660
3652
  return this.parseOrder(order, market);
3661
3653
  }
3662
3654
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -3820,7 +3812,7 @@ export default class okx extends Exchange {
3820
3812
  // "msg": ""
3821
3813
  // }
3822
3814
  //
3823
- const data = this.safeValue(response, 'data', []);
3815
+ const data = this.safeList(response, 'data', []);
3824
3816
  return this.parseOrders(data, market, since, limit);
3825
3817
  }
3826
3818
  async fetchCanceledOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -4007,7 +3999,7 @@ export default class okx extends Exchange {
4007
3999
  // "msg": ""
4008
4000
  // }
4009
4001
  //
4010
- const data = this.safeValue(response, 'data', []);
4002
+ const data = this.safeList(response, 'data', []);
4011
4003
  return this.parseOrders(data, market, since, limit);
4012
4004
  }
4013
4005
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -4196,7 +4188,7 @@ export default class okx extends Exchange {
4196
4188
  // "msg": ""
4197
4189
  // }
4198
4190
  //
4199
- const data = this.safeValue(response, 'data', []);
4191
+ const data = this.safeList(response, 'data', []);
4200
4192
  return this.parseOrders(data, market, since, limit);
4201
4193
  }
4202
4194
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -4268,7 +4260,7 @@ export default class okx extends Exchange {
4268
4260
  // "msg": ""
4269
4261
  // }
4270
4262
  //
4271
- const data = this.safeValue(response, 'data', []);
4263
+ const data = this.safeList(response, 'data', []);
4272
4264
  return this.parseTrades(data, market, since, limit, query);
4273
4265
  }
4274
4266
  async fetchOrderTrades(id, symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -4751,7 +4743,7 @@ export default class okx extends Exchange {
4751
4743
  // }
4752
4744
  //
4753
4745
  const data = this.safeValue(response, 'data', []);
4754
- const transaction = this.safeValue(data, 0);
4746
+ const transaction = this.safeDict(data, 0);
4755
4747
  return this.parseTransaction(transaction, currency);
4756
4748
  }
4757
4749
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -4832,7 +4824,7 @@ export default class okx extends Exchange {
4832
4824
  // ]
4833
4825
  // }
4834
4826
  //
4835
- const data = this.safeValue(response, 'data', []);
4827
+ const data = this.safeList(response, 'data', []);
4836
4828
  return this.parseTransactions(data, currency, since, limit, params);
4837
4829
  }
4838
4830
  async fetchDeposit(id, code = undefined, params = {}) {
@@ -4857,7 +4849,7 @@ export default class okx extends Exchange {
4857
4849
  }
4858
4850
  const response = await this.privateGetAssetDepositHistory(this.extend(request, params));
4859
4851
  const data = this.safeValue(response, 'data');
4860
- const deposit = this.safeValue(data, 0, {});
4852
+ const deposit = this.safeDict(data, 0, {});
4861
4853
  return this.parseTransaction(deposit, currency);
4862
4854
  }
4863
4855
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -4930,7 +4922,7 @@ export default class okx extends Exchange {
4930
4922
  // ]
4931
4923
  // }
4932
4924
  //
4933
- const data = this.safeValue(response, 'data', []);
4925
+ const data = this.safeList(response, 'data', []);
4934
4926
  return this.parseTransactions(data, currency, since, limit, params);
4935
4927
  }
4936
4928
  async fetchWithdrawal(id, code = undefined, params = {}) {
@@ -4976,7 +4968,7 @@ export default class okx extends Exchange {
4976
4968
  // }
4977
4969
  //
4978
4970
  const data = this.safeValue(response, 'data');
4979
- const withdrawal = this.safeValue(data, 0, {});
4971
+ const withdrawal = this.safeDict(data, 0, {});
4980
4972
  return this.parseTransaction(withdrawal);
4981
4973
  }
4982
4974
  parseTransactionStatus(status) {
@@ -5605,7 +5597,7 @@ export default class okx extends Exchange {
5605
5597
  // }
5606
5598
  //
5607
5599
  const data = this.safeValue(response, 'data', []);
5608
- const rawTransfer = this.safeValue(data, 0, {});
5600
+ const rawTransfer = this.safeDict(data, 0, {});
5609
5601
  return this.parseTransfer(rawTransfer, currency);
5610
5602
  }
5611
5603
  parseTransfer(transfer, currency = undefined) {
@@ -5719,7 +5711,7 @@ export default class okx extends Exchange {
5719
5711
  // }
5720
5712
  //
5721
5713
  const data = this.safeValue(response, 'data', []);
5722
- const transfer = this.safeValue(data, 0);
5714
+ const transfer = this.safeDict(data, 0);
5723
5715
  return this.parseTransfer(transfer);
5724
5716
  }
5725
5717
  async fetchTransfers(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -5782,7 +5774,7 @@ export default class okx extends Exchange {
5782
5774
  // "msg": ""
5783
5775
  // }
5784
5776
  //
5785
- const transfers = this.safeValue(response, 'data', []);
5777
+ const transfers = this.safeList(response, 'data', []);
5786
5778
  return this.parseTransfers(transfers, currency, since, limit, params);
5787
5779
  }
5788
5780
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
@@ -6842,7 +6834,7 @@ export default class okx extends Exchange {
6842
6834
  // "msg": ""
6843
6835
  // }
6844
6836
  //
6845
- const data = this.safeValue(response, 'data', []);
6837
+ const data = this.safeList(response, 'data', []);
6846
6838
  return this.parseOpenInterest(data[0], market);
6847
6839
  }
6848
6840
  async fetchOpenInterestHistory(symbol, timeframe = '1d', since = undefined, limit = undefined, params = {}) {
@@ -6913,7 +6905,7 @@ export default class okx extends Exchange {
6913
6905
  // "msg": ''
6914
6906
  // }
6915
6907
  //
6916
- const data = this.safeValue(response, 'data', []);
6908
+ const data = this.safeList(response, 'data', []);
6917
6909
  return this.parseOpenInterests(data, undefined, since, limit);
6918
6910
  }
6919
6911
  parseOpenInterest(interest, market = undefined) {
@@ -7036,7 +7028,7 @@ export default class okx extends Exchange {
7036
7028
  // "msg": ""
7037
7029
  // }
7038
7030
  //
7039
- const data = this.safeValue(response, 'data');
7031
+ const data = this.safeList(response, 'data');
7040
7032
  return this.parseDepositWithdrawFees(data, codes);
7041
7033
  }
7042
7034
  parseDepositWithdrawFees(response, codes = undefined, currencyIdKey = undefined) {
@@ -7412,7 +7404,7 @@ export default class okx extends Exchange {
7412
7404
  // }
7413
7405
  //
7414
7406
  const data = this.safeValue(response, 'data');
7415
- const order = this.safeValue(data, 0);
7407
+ const order = this.safeDict(data, 0);
7416
7408
  return this.parseOrder(order, market);
7417
7409
  }
7418
7410
  async fetchOption(symbol, params = {}) {
@@ -1152,7 +1152,7 @@ export default class onetrading extends Exchange {
1152
1152
  // "cursor": "eyJhY2NvdW50X2lkIjp7InMiOiJlMzY5YWM4MC00NTc3LTExZTktYWUwOC05YmVkYzQ3OTBiODQiLCJzcyI6W10sIm5zIjpbXSwiYnMiOltdLCJtIjp7fSwibCI6W119LCJpdGVtX2tleSI6eyJzIjoiV0lUSERSQVdBTDo6MmFlMjYwY2ItOTk3MC00YmNiLTgxNmEtZGY4MDVmY2VhZTY1Iiwic3MiOltdLCJucyI6W10sImJzIjpbXSwibSI6e30sImwiOltdfSwiZ2xvYmFsX3dpdGhkcmF3YWxfaW5kZXhfaGFzaF9rZXkiOnsicyI6ImUzNjlhYzgwLTQ1NzctMTFlOS1hZTA4LTliZWRjNDc5MGI4NCIsInNzIjpbXSwibnMiOltdLCJicyI6W10sIm0iOnt9LCJsIjpbXX0sInRpbWVzdGFtcCI6eyJuIjoiMTU4ODA1ODc2Nzk0OCIsInNzIjpbXSwibnMiOltdLCJicyI6W10sIm0iOnt9LCJsIjpbXX19"
1153
1153
  // }
1154
1154
  //
1155
- const depositHistory = this.safeValue(response, 'deposit_history', []);
1155
+ const depositHistory = this.safeList(response, 'deposit_history', []);
1156
1156
  return this.parseTransactions(depositHistory, currency, since, limit, { 'type': 'deposit' });
1157
1157
  }
1158
1158
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1217,7 +1217,7 @@ export default class onetrading extends Exchange {
1217
1217
  // "max_page_size": 2
1218
1218
  // }
1219
1219
  //
1220
- const withdrawalHistory = this.safeValue(response, 'withdrawal_history', []);
1220
+ const withdrawalHistory = this.safeList(response, 'withdrawal_history', []);
1221
1221
  return this.parseTransactions(withdrawalHistory, currency, since, limit, { 'type': 'withdrawal' });
1222
1222
  }
1223
1223
  async withdraw(code, amount, address, tag = undefined, params = {}) {
@@ -1810,7 +1810,7 @@ export default class onetrading extends Exchange {
1810
1810
  // "max_page_size": 100
1811
1811
  // }
1812
1812
  //
1813
- const orderHistory = this.safeValue(response, 'order_history', []);
1813
+ const orderHistory = this.safeList(response, 'order_history', []);
1814
1814
  return this.parseOrders(orderHistory, market, since, limit);
1815
1815
  }
1816
1816
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1953,7 +1953,7 @@ export default class onetrading extends Exchange {
1953
1953
  // "cursor": "string"
1954
1954
  // }
1955
1955
  //
1956
- const tradeHistory = this.safeValue(response, 'trade_history', []);
1956
+ const tradeHistory = this.safeList(response, 'trade_history', []);
1957
1957
  return this.parseTrades(tradeHistory, market, since, limit);
1958
1958
  }
1959
1959
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {