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
@@ -626,7 +626,7 @@ export default class cryptocom extends Exchange {
626
626
  // }
627
627
  //
628
628
  const result = this.safeValue(response, 'result', {});
629
- const data = this.safeValue(result, 'data', []);
629
+ const data = this.safeList(result, 'data', []);
630
630
  return this.parseTickers(data, symbols);
631
631
  }
632
632
  async fetchTicker(symbol, params = {}) {
@@ -722,7 +722,7 @@ export default class cryptocom extends Exchange {
722
722
  // }
723
723
  //
724
724
  const data = this.safeValue(response, 'result', {});
725
- const orders = this.safeValue(data, 'data', []);
725
+ const orders = this.safeList(data, 'data', []);
726
726
  return this.parseOrders(orders, market, since, limit);
727
727
  }
728
728
  async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
@@ -782,7 +782,7 @@ export default class cryptocom extends Exchange {
782
782
  // }
783
783
  //
784
784
  const result = this.safeValue(response, 'result', {});
785
- const trades = this.safeValue(result, 'data', []);
785
+ const trades = this.safeList(result, 'data', []);
786
786
  return this.parseTrades(trades, market, since, limit);
787
787
  }
788
788
  async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
@@ -845,7 +845,7 @@ export default class cryptocom extends Exchange {
845
845
  // }
846
846
  //
847
847
  const result = this.safeValue(response, 'result', {});
848
- const data = this.safeValue(result, 'data', []);
848
+ const data = this.safeList(result, 'data', []);
849
849
  return this.parseOHLCVs(data, market, timeframe, since, limit);
850
850
  }
851
851
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
@@ -1016,7 +1016,7 @@ export default class cryptocom extends Exchange {
1016
1016
  // }
1017
1017
  // }
1018
1018
  //
1019
- const order = this.safeValue(response, 'result', {});
1019
+ const order = this.safeDict(response, 'result', {});
1020
1020
  return this.parseOrder(order, market);
1021
1021
  }
1022
1022
  createOrderRequest(symbol, type, side, amount, price = undefined, params = {}) {
@@ -1166,7 +1166,7 @@ export default class cryptocom extends Exchange {
1166
1166
  // }
1167
1167
  // }
1168
1168
  //
1169
- const result = this.safeValue(response, 'result', {});
1169
+ const result = this.safeDict(response, 'result', {});
1170
1170
  return this.parseOrder(result, market);
1171
1171
  }
1172
1172
  async createOrders(orders, params = {}) {
@@ -1430,7 +1430,7 @@ export default class cryptocom extends Exchange {
1430
1430
  // }
1431
1431
  // }
1432
1432
  //
1433
- const result = this.safeValue(response, 'result', {});
1433
+ const result = this.safeDict(response, 'result', {});
1434
1434
  return this.parseOrder(result, market);
1435
1435
  }
1436
1436
  async cancelOrders(ids, symbol = undefined, params = {}) {
@@ -1463,7 +1463,7 @@ export default class cryptocom extends Exchange {
1463
1463
  'order_list': orderRequests,
1464
1464
  };
1465
1465
  const response = await this.v1PrivatePostPrivateCancelOrderList(this.extend(request, params));
1466
- const result = this.safeValue(response, 'result', []);
1466
+ const result = this.safeList(response, 'result', []);
1467
1467
  return this.parseOrders(result, market, undefined, undefined, params);
1468
1468
  }
1469
1469
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1524,7 +1524,7 @@ export default class cryptocom extends Exchange {
1524
1524
  // }
1525
1525
  //
1526
1526
  const data = this.safeValue(response, 'result', {});
1527
- const orders = this.safeValue(data, 'data', []);
1527
+ const orders = this.safeList(data, 'data', []);
1528
1528
  return this.parseOrders(orders, market, since, limit);
1529
1529
  }
1530
1530
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1595,7 +1595,7 @@ export default class cryptocom extends Exchange {
1595
1595
  // }
1596
1596
  //
1597
1597
  const result = this.safeValue(response, 'result', {});
1598
- const trades = this.safeValue(result, 'data', []);
1598
+ const trades = this.safeList(result, 'data', []);
1599
1599
  return this.parseTrades(trades, market, since, limit);
1600
1600
  }
1601
1601
  parseAddress(addressString) {
@@ -1659,7 +1659,7 @@ export default class cryptocom extends Exchange {
1659
1659
  // }
1660
1660
  // }
1661
1661
  //
1662
- const result = this.safeValue(response, 'result');
1662
+ const result = this.safeDict(response, 'result');
1663
1663
  return this.parseTransaction(result, currency);
1664
1664
  }
1665
1665
  async fetchDepositAddressesByNetwork(code, params = {}) {
@@ -1811,7 +1811,7 @@ export default class cryptocom extends Exchange {
1811
1811
  // }
1812
1812
  //
1813
1813
  const data = this.safeValue(response, 'result', {});
1814
- const depositList = this.safeValue(data, 'deposit_list', []);
1814
+ const depositList = this.safeList(data, 'deposit_list', []);
1815
1815
  return this.parseTransactions(depositList, currency, since, limit);
1816
1816
  }
1817
1817
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1872,7 +1872,7 @@ export default class cryptocom extends Exchange {
1872
1872
  // }
1873
1873
  //
1874
1874
  const data = this.safeValue(response, 'result', {});
1875
- const withdrawalList = this.safeValue(data, 'withdrawal_list', []);
1875
+ const withdrawalList = this.safeList(data, 'withdrawal_list', []);
1876
1876
  return this.parseTransactions(withdrawalList, currency, since, limit);
1877
1877
  }
1878
1878
  parseTicker(ticker, market = undefined) {
@@ -2327,7 +2327,7 @@ export default class cryptocom extends Exchange {
2327
2327
  await this.loadMarkets();
2328
2328
  const response = await this.v1PrivatePostPrivateGetCurrencyNetworks(params);
2329
2329
  const data = this.safeValue(response, 'result');
2330
- const currencyMap = this.safeValue(data, 'currency_map');
2330
+ const currencyMap = this.safeList(data, 'currency_map');
2331
2331
  return this.parseDepositWithdrawFees(currencyMap, codes, 'full_name');
2332
2332
  }
2333
2333
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2756,8 +2756,8 @@ export default class cryptocom extends Exchange {
2756
2756
  // }
2757
2757
  // }
2758
2758
  //
2759
- const result = this.safeValue(response, 'result', {});
2760
- const data = this.safeValue(result, 'data', []);
2759
+ const result = this.safeDict(response, 'result', {});
2760
+ const data = this.safeList(result, 'data', []);
2761
2761
  return this.parsePosition(data[0], market);
2762
2762
  }
2763
2763
  async fetchPositions(symbols = undefined, params = {}) {
@@ -2950,7 +2950,7 @@ export default class cryptocom extends Exchange {
2950
2950
  // }
2951
2951
  // }
2952
2952
  //
2953
- const result = this.safeValue(response, 'result');
2953
+ const result = this.safeDict(response, 'result');
2954
2954
  return this.parseOrder(result, market);
2955
2955
  }
2956
2956
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
@@ -1937,7 +1937,7 @@ export default class currencycom extends Exchange {
1937
1937
  // ]
1938
1938
  // }
1939
1939
  //
1940
- const data = this.safeValue(response, 'positions', []);
1940
+ const data = this.safeList(response, 'positions', []);
1941
1941
  return this.parsePositions(data, symbols);
1942
1942
  }
1943
1943
  parsePosition(position, market = undefined) {
package/js/src/delta.d.ts CHANGED
@@ -6,7 +6,6 @@ import type { Balances, Currency, Greeks, Int, Market, MarketInterface, OHLCV, O
6
6
  */
7
7
  export default class delta extends Exchange {
8
8
  describe(): any;
9
- convertExpireDate(date: any): string;
10
9
  createExpiredOptionMarket(symbol: string): MarketInterface;
11
10
  safeMarket(marketId?: Str, market?: Market, delimiter?: Str, marketType?: Str): MarketInterface;
12
11
  fetchTime(params?: {}): Promise<number>;
package/js/src/delta.js CHANGED
@@ -246,14 +246,6 @@ export default class delta extends Exchange {
246
246
  },
247
247
  });
248
248
  }
249
- convertExpireDate(date) {
250
- // parse YYMMDD to timestamp
251
- const year = date.slice(0, 2);
252
- const month = date.slice(2, 4);
253
- const day = date.slice(4, 6);
254
- const reconstructedDate = '20' + year + '-' + month + '-' + day + 'T00:00:00Z';
255
- return reconstructedDate;
256
- }
257
249
  createExpiredOptionMarket(symbol) {
258
250
  // support expired option contracts
259
251
  const quote = 'USDT';
@@ -6,9 +6,6 @@ import type { Balances, Currency, FundingRateHistory, Greeks, Int, Liquidation,
6
6
  */
7
7
  export default class deribit extends Exchange {
8
8
  describe(): any;
9
- convertExpireDate(date: any): string;
10
- convertMarketIdExpireDate(date: any): string;
11
- convertExpireDateToMarketIdDate(date: any): any;
12
9
  createExpiredOptionMarket(symbol: string): MarketInterface;
13
10
  safeMarket(marketId?: Str, market?: Market, delimiter?: Str, marketType?: Str): MarketInterface;
14
11
  fetchTime(params?: {}): Promise<number>;
package/js/src/deribit.js CHANGED
@@ -407,82 +407,6 @@ export default class deribit extends Exchange {
407
407
  },
408
408
  });
409
409
  }
410
- convertExpireDate(date) {
411
- // parse YYMMDD to timestamp
412
- const year = date.slice(0, 2);
413
- const month = date.slice(2, 4);
414
- const day = date.slice(4, 6);
415
- const reconstructedDate = '20' + year + '-' + month + '-' + day + 'T00:00:00Z';
416
- return reconstructedDate;
417
- }
418
- convertMarketIdExpireDate(date) {
419
- // parse 19JAN24 to 240119
420
- const monthMappping = {
421
- 'JAN': '01',
422
- 'FEB': '02',
423
- 'MAR': '03',
424
- 'APR': '04',
425
- 'MAY': '05',
426
- 'JUN': '06',
427
- 'JUL': '07',
428
- 'AUG': '08',
429
- 'SEP': '09',
430
- 'OCT': '10',
431
- 'NOV': '11',
432
- 'DEC': '12',
433
- };
434
- const year = date.slice(0, 2);
435
- const monthName = date.slice(2, 5);
436
- const month = this.safeString(monthMappping, monthName);
437
- const day = date.slice(5, 7);
438
- const reconstructedDate = day + month + year;
439
- return reconstructedDate;
440
- }
441
- convertExpireDateToMarketIdDate(date) {
442
- // parse 240119 to 19JAN24
443
- const year = date.slice(0, 2);
444
- const monthRaw = date.slice(2, 4);
445
- let month = undefined;
446
- const day = date.slice(4, 6);
447
- if (monthRaw === '01') {
448
- month = 'JAN';
449
- }
450
- else if (monthRaw === '02') {
451
- month = 'FEB';
452
- }
453
- else if (monthRaw === '03') {
454
- month = 'MAR';
455
- }
456
- else if (monthRaw === '04') {
457
- month = 'APR';
458
- }
459
- else if (monthRaw === '05') {
460
- month = 'MAY';
461
- }
462
- else if (monthRaw === '06') {
463
- month = 'JUN';
464
- }
465
- else if (monthRaw === '07') {
466
- month = 'JUL';
467
- }
468
- else if (monthRaw === '08') {
469
- month = 'AUG';
470
- }
471
- else if (monthRaw === '09') {
472
- month = 'SEP';
473
- }
474
- else if (monthRaw === '10') {
475
- month = 'OCT';
476
- }
477
- else if (monthRaw === '11') {
478
- month = 'NOV';
479
- }
480
- else if (monthRaw === '12') {
481
- month = 'DEC';
482
- }
483
- const reconstructedDate = day + month + year;
484
- return reconstructedDate;
485
- }
486
410
  createExpiredOptionMarket(symbol) {
487
411
  // support expired option contracts
488
412
  let quote = 'USD';
@@ -1269,7 +1193,7 @@ export default class deribit extends Exchange {
1269
1193
  // "testnet": false
1270
1194
  // }
1271
1195
  //
1272
- const result = this.safeValue(response, 'result');
1196
+ const result = this.safeDict(response, 'result');
1273
1197
  return this.parseTicker(result, market);
1274
1198
  }
1275
1199
  async fetchTickers(symbols = undefined, params = {}) {
@@ -1556,7 +1480,7 @@ export default class deribit extends Exchange {
1556
1480
  // }
1557
1481
  //
1558
1482
  const result = this.safeValue(response, 'result', {});
1559
- const trades = this.safeValue(result, 'trades', []);
1483
+ const trades = this.safeList(result, 'trades', []);
1560
1484
  return this.parseTrades(trades, market, since, limit);
1561
1485
  }
1562
1486
  async fetchTradingFees(params = {}) {
@@ -1918,7 +1842,7 @@ export default class deribit extends Exchange {
1918
1842
  // }
1919
1843
  // }
1920
1844
  //
1921
- const result = this.safeValue(response, 'result');
1845
+ const result = this.safeDict(response, 'result');
1922
1846
  return this.parseOrder(result, market);
1923
1847
  }
1924
1848
  async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
@@ -2160,7 +2084,7 @@ export default class deribit extends Exchange {
2160
2084
  'order_id': id,
2161
2085
  };
2162
2086
  const response = await this.privateGetCancel(this.extend(request, params));
2163
- const result = this.safeValue(response, 'result', {});
2087
+ const result = this.safeDict(response, 'result', {});
2164
2088
  return this.parseOrder(result);
2165
2089
  }
2166
2090
  async cancelAllOrders(symbol = undefined, params = {}) {
@@ -2215,7 +2139,7 @@ export default class deribit extends Exchange {
2215
2139
  request['instrument_name'] = market['id'];
2216
2140
  response = await this.privateGetGetOpenOrdersByInstrument(this.extend(request, params));
2217
2141
  }
2218
- const result = this.safeValue(response, 'result', []);
2142
+ const result = this.safeList(response, 'result', []);
2219
2143
  return this.parseOrders(result, market, since, limit);
2220
2144
  }
2221
2145
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2246,7 +2170,7 @@ export default class deribit extends Exchange {
2246
2170
  request['instrument_name'] = market['id'];
2247
2171
  response = await this.privateGetGetOrderHistoryByInstrument(this.extend(request, params));
2248
2172
  }
2249
- const result = this.safeValue(response, 'result', []);
2173
+ const result = this.safeList(response, 'result', []);
2250
2174
  return this.parseOrders(result, market, since, limit);
2251
2175
  }
2252
2176
  async fetchOrderTrades(id, symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2300,7 +2224,7 @@ export default class deribit extends Exchange {
2300
2224
  // }
2301
2225
  // }
2302
2226
  //
2303
- const result = this.safeValue(response, 'result', {});
2227
+ const result = this.safeList(response, 'result', []);
2304
2228
  return this.parseTrades(result, undefined, since, limit);
2305
2229
  }
2306
2230
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2384,7 +2308,7 @@ export default class deribit extends Exchange {
2384
2308
  // }
2385
2309
  //
2386
2310
  const result = this.safeValue(response, 'result', {});
2387
- const trades = this.safeValue(result, 'trades', []);
2311
+ const trades = this.safeList(result, 'trades', []);
2388
2312
  return this.parseTrades(trades, market, since, limit);
2389
2313
  }
2390
2314
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2432,7 +2356,7 @@ export default class deribit extends Exchange {
2432
2356
  // }
2433
2357
  //
2434
2358
  const result = this.safeValue(response, 'result', {});
2435
- const data = this.safeValue(result, 'data', []);
2359
+ const data = this.safeList(result, 'data', []);
2436
2360
  return this.parseTransactions(data, currency, since, limit, params);
2437
2361
  }
2438
2362
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2484,7 +2408,7 @@ export default class deribit extends Exchange {
2484
2408
  // }
2485
2409
  //
2486
2410
  const result = this.safeValue(response, 'result', {});
2487
- const data = this.safeValue(result, 'data', []);
2411
+ const data = this.safeList(result, 'data', []);
2488
2412
  return this.parseTransactions(data, currency, since, limit, params);
2489
2413
  }
2490
2414
  parseTransactionStatus(status) {
@@ -2671,7 +2595,7 @@ export default class deribit extends Exchange {
2671
2595
  // }
2672
2596
  // }
2673
2597
  //
2674
- const result = this.safeValue(response, 'result');
2598
+ const result = this.safeDict(response, 'result');
2675
2599
  return this.parsePosition(result);
2676
2600
  }
2677
2601
  async fetchPositions(symbols = undefined, params = {}) {
@@ -2744,7 +2668,7 @@ export default class deribit extends Exchange {
2744
2668
  // ]
2745
2669
  // }
2746
2670
  //
2747
- const result = this.safeValue(response, 'result');
2671
+ const result = this.safeList(response, 'result');
2748
2672
  return this.parsePositions(result, symbols);
2749
2673
  }
2750
2674
  async fetchVolatilityHistory(code, params = {}) {
@@ -2866,7 +2790,7 @@ export default class deribit extends Exchange {
2866
2790
  // }
2867
2791
  //
2868
2792
  const result = this.safeValue(response, 'result', {});
2869
- const transfers = this.safeValue(result, 'data', []);
2793
+ const transfers = this.safeList(result, 'data', []);
2870
2794
  return this.parseTransfers(transfers, currency, since, limit, params);
2871
2795
  }
2872
2796
  async transfer(code, amount, fromAccount, toAccount, params = {}) {
@@ -2920,7 +2844,7 @@ export default class deribit extends Exchange {
2920
2844
  // }
2921
2845
  // }
2922
2846
  //
2923
- const result = this.safeValue(response, 'result', {});
2847
+ const result = this.safeDict(response, 'result', {});
2924
2848
  return this.parseTransfer(result, currency);
2925
2849
  }
2926
2850
  parseTransfer(transfer, currency = undefined) {
@@ -3053,7 +2977,7 @@ export default class deribit extends Exchange {
3053
2977
  // "testnet": true
3054
2978
  // }
3055
2979
  //
3056
- const data = this.safeValue(response, 'result', {});
2980
+ const data = this.safeList(response, 'result', []);
3057
2981
  return this.parseDepositWithdrawFees(data, codes, 'currency');
3058
2982
  }
3059
2983
  async fetchFundingRate(symbol, params = {}) {
@@ -3319,7 +3243,7 @@ export default class deribit extends Exchange {
3319
3243
  // }
3320
3244
  //
3321
3245
  const result = this.safeValue(response, 'result', {});
3322
- const settlements = this.safeValue(result, 'settlements', []);
3246
+ const settlements = this.safeList(result, 'settlements', []);
3323
3247
  return this.parseLiquidations(settlements, market, since, limit);
3324
3248
  }
3325
3249
  parseLiquidation(liquidation, market = undefined) {
@@ -1451,7 +1451,7 @@ export default class digifinex extends Exchange {
1451
1451
  // ]
1452
1452
  // }
1453
1453
  //
1454
- const data = this.safeValue(response, 'data', []);
1454
+ const data = this.safeList(response, 'data', []);
1455
1455
  return this.parseTrades(data, market, since, limit);
1456
1456
  }
1457
1457
  parseOHLCV(ohlcv, market = undefined) {
@@ -2237,7 +2237,7 @@ export default class digifinex extends Exchange {
2237
2237
  // ]
2238
2238
  // }
2239
2239
  //
2240
- const data = this.safeValue(response, 'data', []);
2240
+ const data = this.safeList(response, 'data', []);
2241
2241
  return this.parseOrders(data, market, since, limit);
2242
2242
  }
2243
2243
  async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2345,7 +2345,7 @@ export default class digifinex extends Exchange {
2345
2345
  // ]
2346
2346
  // }
2347
2347
  //
2348
- const data = this.safeValue(response, 'data', []);
2348
+ const data = this.safeList(response, 'data', []);
2349
2349
  return this.parseOrders(data, market, since, limit);
2350
2350
  }
2351
2351
  async fetchOrder(id, symbol = undefined, params = {}) {
@@ -2548,7 +2548,7 @@ export default class digifinex extends Exchange {
2548
2548
  // }
2549
2549
  //
2550
2550
  const responseRequest = (marketType === 'swap') ? 'data' : 'list';
2551
- const data = this.safeValue(response, responseRequest, []);
2551
+ const data = this.safeList(response, responseRequest, []);
2552
2552
  return this.parseTrades(data, market, since, limit);
2553
2553
  }
2554
2554
  parseLedgerEntryType(type) {
@@ -2797,7 +2797,7 @@ export default class digifinex extends Exchange {
2797
2797
  // ]
2798
2798
  // }
2799
2799
  //
2800
- const data = this.safeValue(response, 'data', []);
2800
+ const data = this.safeList(response, 'data', []);
2801
2801
  return this.parseTransactions(data, currency, since, limit, { 'type': type });
2802
2802
  }
2803
2803
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -3760,7 +3760,7 @@ export default class digifinex extends Exchange {
3760
3760
  // ]
3761
3761
  // }
3762
3762
  //
3763
- const transfers = this.safeValue(response, 'data', []);
3763
+ const transfers = this.safeList(response, 'data', []);
3764
3764
  return this.parseTransfers(transfers, currency, since, limit);
3765
3765
  }
3766
3766
  async fetchLeverageTiers(symbols = undefined, params = {}) {
@@ -4013,7 +4013,7 @@ export default class digifinex extends Exchange {
4013
4013
  // "code": 200,
4014
4014
  // }
4015
4015
  //
4016
- const data = this.safeValue(response, 'data');
4016
+ const data = this.safeList(response, 'data');
4017
4017
  return this.parseDepositWithdrawFees(data, codes);
4018
4018
  }
4019
4019
  parseDepositWithdrawFees(response, codes = undefined, currencyIdKey = undefined) {
@@ -4210,7 +4210,7 @@ export default class digifinex extends Exchange {
4210
4210
  // ]
4211
4211
  // }
4212
4212
  //
4213
- const data = this.safeValue(response, 'data', []);
4213
+ const data = this.safeList(response, 'data', []);
4214
4214
  return this.parseIncomes(data, market, since, limit);
4215
4215
  }
4216
4216
  parseIncome(income, market = undefined) {
package/js/src/exmo.js CHANGED
@@ -900,7 +900,7 @@ export default class exmo extends Exchange {
900
900
  // ]
901
901
  // }
902
902
  //
903
- const candles = this.safeValue(response, 'candles', []);
903
+ const candles = this.safeList(response, 'candles', []);
904
904
  return this.parseOHLCVs(candles, market, timeframe, since, limit);
905
905
  }
906
906
  parseOHLCV(ohlcv, market = undefined) {
@@ -1027,7 +1027,7 @@ export default class exmo extends Exchange {
1027
1027
  request['limit'] = limit;
1028
1028
  }
1029
1029
  const response = await this.publicGetOrderBook(this.extend(request, params));
1030
- const result = this.safeValue(response, market['id']);
1030
+ const result = this.safeDict(response, market['id']);
1031
1031
  return this.parseOrderBook(result, market['symbol'], undefined, 'bid', 'ask');
1032
1032
  }
1033
1033
  async fetchOrderBooks(symbols = undefined, limit = undefined, params = {}) {
@@ -1295,7 +1295,7 @@ export default class exmo extends Exchange {
1295
1295
  // ]
1296
1296
  // }
1297
1297
  //
1298
- const data = this.safeValue(response, market['id'], []);
1298
+ const data = this.safeList(response, market['id'], []);
1299
1299
  return this.parseTrades(data, market, since, limit);
1300
1300
  }
1301
1301
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1686,7 +1686,7 @@ export default class exmo extends Exchange {
1686
1686
  // }
1687
1687
  //
1688
1688
  }
1689
- const trades = this.safeValue(response, 'trades');
1689
+ const trades = this.safeList(response, 'trades');
1690
1690
  return this.parseTrades(trades, market, since, limit);
1691
1691
  }
1692
1692
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2428,7 +2428,7 @@ export default class exmo extends Exchange {
2428
2428
  // "count": 23
2429
2429
  // }
2430
2430
  //
2431
- const items = this.safeValue(response, 'items', []);
2431
+ const items = this.safeList(response, 'items', []);
2432
2432
  return this.parseTransactions(items, currency, since, limit);
2433
2433
  }
2434
2434
  async fetchWithdrawal(id, code = undefined, params = {}) {
@@ -2480,7 +2480,7 @@ export default class exmo extends Exchange {
2480
2480
  // }
2481
2481
  //
2482
2482
  const items = this.safeValue(response, 'items', []);
2483
- const first = this.safeValue(items, 0, {});
2483
+ const first = this.safeDict(items, 0, {});
2484
2484
  return this.parseTransaction(first, currency);
2485
2485
  }
2486
2486
  async fetchDeposit(id = undefined, code = undefined, params = {}) {
@@ -2532,7 +2532,7 @@ export default class exmo extends Exchange {
2532
2532
  // }
2533
2533
  //
2534
2534
  const items = this.safeValue(response, 'items', []);
2535
- const first = this.safeValue(items, 0, {});
2535
+ const first = this.safeDict(items, 0, {});
2536
2536
  return this.parseTransaction(first, currency);
2537
2537
  }
2538
2538
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2586,7 +2586,7 @@ export default class exmo extends Exchange {
2586
2586
  // "count": 23
2587
2587
  // }
2588
2588
  //
2589
- const items = this.safeValue(response, 'items', []);
2589
+ const items = this.safeList(response, 'items', []);
2590
2590
  return this.parseTransactions(items, currency, since, limit);
2591
2591
  }
2592
2592
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
package/js/src/gate.d.ts CHANGED
@@ -7,7 +7,6 @@ import type { Int, OrderSide, OrderType, OHLCV, Trade, FundingRateHistory, OpenI
7
7
  export default class gate extends Exchange {
8
8
  describe(): any;
9
9
  setSandboxMode(enable: boolean): void;
10
- convertExpireDate(date: any): string;
11
10
  createExpiredOptionMarket(symbol: string): MarketInterface;
12
11
  safeMarket(marketId?: Str, market?: Market, delimiter?: Str, marketType?: Str): MarketInterface;
13
12
  fetchMarkets(params?: {}): Promise<Market[]>;
package/js/src/gate.js CHANGED
@@ -873,14 +873,6 @@ export default class gate extends Exchange {
873
873
  super.setSandboxMode(enable);
874
874
  this.options['sandboxMode'] = enable;
875
875
  }
876
- convertExpireDate(date) {
877
- // parse YYMMDD to timestamp
878
- const year = date.slice(0, 2);
879
- const month = date.slice(2, 4);
880
- const day = date.slice(4, 6);
881
- const reconstructedDate = '20' + year + '-' + month + '-' + day + 'T00:00:00Z';
882
- return reconstructedDate;
883
- }
884
876
  createExpiredOptionMarket(symbol) {
885
877
  // support expired option contracts
886
878
  const quote = 'USDT';
package/js/src/hitbtc.js CHANGED
@@ -1453,15 +1453,16 @@ export default class hitbtc extends Exchange {
1453
1453
  // ],
1454
1454
  // "fee": "1.22" // only for WITHDRAW
1455
1455
  // }
1456
- // }
1457
- //
1456
+ // },
1457
+ // "operation_id": "084cfcd5-06b9-4826-882e-fdb75ec3625d", // only for WITHDRAW
1458
+ // "commit_risk": {}
1458
1459
  // withdraw
1459
1460
  //
1460
1461
  // {
1461
1462
  // "id":"084cfcd5-06b9-4826-882e-fdb75ec3625d"
1462
1463
  // }
1463
1464
  //
1464
- const id = this.safeString(transaction, 'id');
1465
+ const id = this.safeString2(transaction, 'operation_id', 'id');
1465
1466
  const timestamp = this.parse8601(this.safeString(transaction, 'created_at'));
1466
1467
  const updated = this.parse8601(this.safeString(transaction, 'updated_at'));
1467
1468
  const type = this.parseTransactionType(this.safeString(transaction, 'type'));
@@ -1934,7 +1935,7 @@ export default class hitbtc extends Exchange {
1934
1935
  // }
1935
1936
  // ]
1936
1937
  //
1937
- const order = this.safeValue(response, 0);
1938
+ const order = this.safeDict(response, 0);
1938
1939
  return this.parseOrder(order, market);
1939
1940
  }
1940
1941
  async fetchOrderTrades(id, symbol = undefined, since = undefined, limit = undefined, params = {}) {
package/js/src/hollaex.js CHANGED
@@ -635,7 +635,7 @@ export default class hollaex extends Exchange {
635
635
  // ]
636
636
  // }
637
637
  //
638
- const trades = this.safeValue(response, market['id'], []);
638
+ const trades = this.safeList(response, market['id'], []);
639
639
  return this.parseTrades(trades, market, since, limit);
640
640
  }
641
641
  parseTrade(trade, market = undefined) {
@@ -1058,7 +1058,7 @@ export default class hollaex extends Exchange {
1058
1058
  // ]
1059
1059
  // }
1060
1060
  //
1061
- const data = this.safeValue(response, 'data', []);
1061
+ const data = this.safeList(response, 'data', []);
1062
1062
  return this.parseOrders(data, market, since, limit);
1063
1063
  }
1064
1064
  parseOrderStatus(status) {
@@ -1322,7 +1322,7 @@ export default class hollaex extends Exchange {
1322
1322
  // ]
1323
1323
  // }
1324
1324
  //
1325
- const data = this.safeValue(response, 'data', []);
1325
+ const data = this.safeList(response, 'data', []);
1326
1326
  return this.parseTrades(data, market, since, limit);
1327
1327
  }
1328
1328
  parseDepositAddress(depositAddress, currency = undefined) {
@@ -1475,7 +1475,7 @@ export default class hollaex extends Exchange {
1475
1475
  // ]
1476
1476
  // }
1477
1477
  //
1478
- const data = this.safeValue(response, 'data', []);
1478
+ const data = this.safeList(response, 'data', []);
1479
1479
  return this.parseTransactions(data, currency, since, limit);
1480
1480
  }
1481
1481
  async fetchWithdrawal(id, code = undefined, params = {}) {
@@ -1523,7 +1523,7 @@ export default class hollaex extends Exchange {
1523
1523
  // }
1524
1524
  //
1525
1525
  const data = this.safeValue(response, 'data', []);
1526
- const transaction = this.safeValue(data, 0, {});
1526
+ const transaction = this.safeDict(data, 0, {});
1527
1527
  return this.parseTransaction(transaction, currency);
1528
1528
  }
1529
1529
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1583,7 +1583,7 @@ export default class hollaex extends Exchange {
1583
1583
  // ]
1584
1584
  // }
1585
1585
  //
1586
- const data = this.safeValue(response, 'data', []);
1586
+ const data = this.safeList(response, 'data', []);
1587
1587
  return this.parseTransactions(data, currency, since, limit);
1588
1588
  }
1589
1589
  parseTransaction(transaction, currency = undefined) {
@@ -1844,7 +1844,7 @@ export default class hollaex extends Exchange {
1844
1844
  // "network":"https://api.hollaex.network"
1845
1845
  // }
1846
1846
  //
1847
- const coins = this.safeValue(response, 'coins');
1847
+ const coins = this.safeList(response, 'coins');
1848
1848
  return this.parseDepositWithdrawFees(coins, codes, 'symbol');
1849
1849
  }
1850
1850
  normalizeNumberIfNeeded(number) {