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
package/js/src/kuna.js CHANGED
@@ -657,7 +657,7 @@ export default class kuna extends Exchange {
657
657
  // }
658
658
  // }
659
659
  //
660
- const data = this.safeValue(response, 'data', {});
660
+ const data = this.safeDict(response, 'data', {});
661
661
  return this.parseOrderBook(data, market['symbol'], undefined, 'bids', 'asks', 0, 1);
662
662
  }
663
663
  parseTicker(ticker, market = undefined) {
@@ -738,7 +738,7 @@ export default class kuna extends Exchange {
738
738
  // ]
739
739
  // }
740
740
  //
741
- const data = this.safeValue(response, 'data', []);
741
+ const data = this.safeList(response, 'data', []);
742
742
  return this.parseTickers(data, symbols, params);
743
743
  }
744
744
  async fetchTicker(symbol, params = {}) {
@@ -778,7 +778,7 @@ export default class kuna extends Exchange {
778
778
  // }
779
779
  //
780
780
  const data = this.safeValue(response, 'data', []);
781
- const ticker = this.safeValue(data, 0);
781
+ const ticker = this.safeDict(data, 0);
782
782
  return this.parseTicker(ticker, market);
783
783
  }
784
784
  async fetchL3OrderBook(symbol, limit = undefined, params = {}) {
@@ -995,7 +995,7 @@ export default class kuna extends Exchange {
995
995
  // }
996
996
  // }
997
997
  //
998
- const data = this.safeValue(response, 'data', {});
998
+ const data = this.safeDict(response, 'data', {});
999
999
  return this.parseOrder(data, market);
1000
1000
  }
1001
1001
  async cancelOrder(id, symbol = undefined, params = {}) {
@@ -1055,7 +1055,7 @@ export default class kuna extends Exchange {
1055
1055
  // ]
1056
1056
  // }
1057
1057
  //
1058
- const data = this.safeValue(response, 'data', []);
1058
+ const data = this.safeList(response, 'data', []);
1059
1059
  return this.parseOrders(data);
1060
1060
  }
1061
1061
  parseOrderStatus(status) {
@@ -1201,7 +1201,7 @@ export default class kuna extends Exchange {
1201
1201
  // }
1202
1202
  // }
1203
1203
  //
1204
- const data = this.safeValue(response, 'data', {});
1204
+ const data = this.safeDict(response, 'data', {});
1205
1205
  return this.parseOrder(data);
1206
1206
  }
1207
1207
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1260,7 +1260,7 @@ export default class kuna extends Exchange {
1260
1260
  // ]
1261
1261
  // }
1262
1262
  //
1263
- const data = this.safeValue(response, 'data', []);
1263
+ const data = this.safeList(response, 'data', []);
1264
1264
  return this.parseOrders(data, market, since, limit);
1265
1265
  }
1266
1266
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1344,7 +1344,7 @@ export default class kuna extends Exchange {
1344
1344
  // ]
1345
1345
  // }
1346
1346
  //
1347
- const data = this.safeValue(response, 'data', []);
1347
+ const data = this.safeList(response, 'data', []);
1348
1348
  return this.parseOrders(data, market, since, limit);
1349
1349
  }
1350
1350
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1390,7 +1390,7 @@ export default class kuna extends Exchange {
1390
1390
  // ]
1391
1391
  // }
1392
1392
  //
1393
- const data = this.safeValue(response, 'data');
1393
+ const data = this.safeList(response, 'data');
1394
1394
  return this.parseTrades(data, market, since, limit);
1395
1395
  }
1396
1396
  async withdraw(code, amount, address, tag = undefined, params = {}) {
@@ -1443,7 +1443,7 @@ export default class kuna extends Exchange {
1443
1443
  // }
1444
1444
  // }
1445
1445
  //
1446
- const data = this.safeValue(response, 'data', {});
1446
+ const data = this.safeDict(response, 'data', {});
1447
1447
  return this.parseTransaction(data, currency);
1448
1448
  }
1449
1449
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1511,7 +1511,7 @@ export default class kuna extends Exchange {
1511
1511
  // ]
1512
1512
  // }
1513
1513
  //
1514
- const data = this.safeValue(response, 'data', []);
1514
+ const data = this.safeList(response, 'data', []);
1515
1515
  return this.parseTransactions(data, currency);
1516
1516
  }
1517
1517
  async fetchWithdrawal(id, code = undefined, params = {}) {
@@ -1551,7 +1551,7 @@ export default class kuna extends Exchange {
1551
1551
  // }
1552
1552
  // }
1553
1553
  //
1554
- const data = this.safeValue(response, 'data', {});
1554
+ const data = this.safeDict(response, 'data', {});
1555
1555
  return this.parseTransaction(data);
1556
1556
  }
1557
1557
  async createDepositAddress(code, params = {}) {
@@ -1579,7 +1579,7 @@ export default class kuna extends Exchange {
1579
1579
  // }
1580
1580
  // }
1581
1581
  //
1582
- const data = this.safeValue(response, 'data', {});
1582
+ const data = this.safeDict(response, 'data', {});
1583
1583
  return this.parseDepositAddress(data, currency);
1584
1584
  }
1585
1585
  async fetchDepositAddress(code, params = {}) {
@@ -1607,7 +1607,7 @@ export default class kuna extends Exchange {
1607
1607
  // }
1608
1608
  // }
1609
1609
  //
1610
- const data = this.safeValue(response, 'data', {});
1610
+ const data = this.safeDict(response, 'data', {});
1611
1611
  return this.parseDepositAddress(data, currency);
1612
1612
  }
1613
1613
  parseDepositAddress(depositAddress, currency = undefined) {
@@ -1705,7 +1705,7 @@ export default class kuna extends Exchange {
1705
1705
  // ]
1706
1706
  // }
1707
1707
  //
1708
- const data = this.safeValue(response, 'data', []);
1708
+ const data = this.safeList(response, 'data', []);
1709
1709
  return this.parseTransactions(data, currency);
1710
1710
  }
1711
1711
  async fetchDeposit(id, code = undefined, params = {}) {
@@ -1749,7 +1749,7 @@ export default class kuna extends Exchange {
1749
1749
  // }
1750
1750
  // }
1751
1751
  //
1752
- const data = this.safeValue(response, 'data', {});
1752
+ const data = this.safeDict(response, 'data', {});
1753
1753
  return this.parseTransaction(data, currency);
1754
1754
  }
1755
1755
  parseTransaction(transaction, currency = undefined) {
package/js/src/latoken.js CHANGED
@@ -1460,7 +1460,7 @@ export default class latoken extends Exchange {
1460
1460
  if (code !== undefined) {
1461
1461
  currency = this.currency(code);
1462
1462
  }
1463
- const content = this.safeValue(response, 'content', []);
1463
+ const content = this.safeList(response, 'content', []);
1464
1464
  return this.parseTransactions(content, currency, since, limit);
1465
1465
  }
1466
1466
  parseTransaction(transaction, currency = undefined) {
@@ -1587,7 +1587,7 @@ export default class latoken extends Exchange {
1587
1587
  // "hasContent": true
1588
1588
  // }
1589
1589
  //
1590
- const transfers = this.safeValue(response, 'content', []);
1590
+ const transfers = this.safeList(response, 'content', []);
1591
1591
  return this.parseTransfers(transfers, currency, since, limit);
1592
1592
  }
1593
1593
  async transfer(code, amount, fromAccount, toAccount, params = {}) {
package/js/src/lbank.js CHANGED
@@ -635,7 +635,7 @@ export default class lbank extends Exchange {
635
635
  // }
636
636
  //
637
637
  const data = this.safeValue(response, 'data', []);
638
- const first = this.safeValue(data, 0, {});
638
+ const first = this.safeDict(data, 0, {});
639
639
  return this.parseTicker(first, market);
640
640
  }
641
641
  async fetchTickers(symbols = undefined, params = {}) {
@@ -715,7 +715,7 @@ export default class lbank extends Exchange {
715
715
  // "success": true
716
716
  // }
717
717
  //
718
- const data = this.safeValue(response, 'data', []);
718
+ const data = this.safeList(response, 'data', []);
719
719
  return this.parseTickers(data, symbols);
720
720
  }
721
721
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
@@ -961,7 +961,7 @@ export default class lbank extends Exchange {
961
961
  // "ts":1647021999308
962
962
  // }
963
963
  //
964
- const trades = this.safeValue(response, 'data', []);
964
+ const trades = this.safeList(response, 'data', []);
965
965
  return this.parseTrades(trades, market, since, limit);
966
966
  }
967
967
  parseOHLCV(ohlcv, market = undefined) {
@@ -1596,7 +1596,7 @@ export default class lbank extends Exchange {
1596
1596
  // "ts":1648164471827
1597
1597
  // }
1598
1598
  //
1599
- const result = this.safeValue(response, 'data', {});
1599
+ const result = this.safeDict(response, 'data', {});
1600
1600
  return this.parseOrder(result);
1601
1601
  }
1602
1602
  async fetchOrderDefault(id, symbol = undefined, params = {}) {
@@ -1702,7 +1702,7 @@ export default class lbank extends Exchange {
1702
1702
  // "ts":1648509742164
1703
1703
  // }
1704
1704
  //
1705
- const trades = this.safeValue(response, 'data', []);
1705
+ const trades = this.safeList(response, 'data', []);
1706
1706
  return this.parseTrades(trades, market, since, limit);
1707
1707
  }
1708
1708
  async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1762,7 +1762,7 @@ export default class lbank extends Exchange {
1762
1762
  // }
1763
1763
  //
1764
1764
  const result = this.safeValue(response, 'data', {});
1765
- const orders = this.safeValue(result, 'orders', []);
1765
+ const orders = this.safeList(result, 'orders', []);
1766
1766
  return this.parseOrders(orders, market, since, limit);
1767
1767
  }
1768
1768
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1819,7 +1819,7 @@ export default class lbank extends Exchange {
1819
1819
  // }
1820
1820
  //
1821
1821
  const result = this.safeValue(response, 'data', {});
1822
- const orders = this.safeValue(result, 'orders', []);
1822
+ const orders = this.safeList(result, 'orders', []);
1823
1823
  return this.parseOrders(orders, market, since, limit);
1824
1824
  }
1825
1825
  async cancelOrder(id, symbol = undefined, params = {}) {
@@ -2231,7 +2231,7 @@ export default class lbank extends Exchange {
2231
2231
  // }
2232
2232
  //
2233
2233
  const data = this.safeValue(response, 'data', {});
2234
- const deposits = this.safeValue(data, 'depositOrders', []);
2234
+ const deposits = this.safeList(data, 'depositOrders', []);
2235
2235
  return this.parseTransactions(deposits, currency, since, limit);
2236
2236
  }
2237
2237
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2288,7 +2288,7 @@ export default class lbank extends Exchange {
2288
2288
  // }
2289
2289
  //
2290
2290
  const data = this.safeValue(response, 'data', {});
2291
- const withdraws = this.safeValue(data, 'withdraws', []);
2291
+ const withdraws = this.safeList(data, 'withdraws', []);
2292
2292
  return this.parseTransactions(withdraws, currency, since, limit);
2293
2293
  }
2294
2294
  async fetchTransactionFees(codes = undefined, params = {}) {
@@ -2506,7 +2506,7 @@ export default class lbank extends Exchange {
2506
2506
  // "code": 0
2507
2507
  // }
2508
2508
  //
2509
- const data = this.safeValue(response, 'data', []);
2509
+ const data = this.safeList(response, 'data', []);
2510
2510
  return this.parseDepositWithdrawFees(data, codes, 'coin');
2511
2511
  }
2512
2512
  async fetchPublicDepositWithdrawFees(codes = undefined, params = {}) {
package/js/src/luno.js CHANGED
@@ -488,7 +488,7 @@ export default class luno extends Exchange {
488
488
  request['pair'] = market['id'];
489
489
  }
490
490
  const response = await this.privateGetListorders(this.extend(request, params));
491
- const orders = this.safeValue(response, 'orders', []);
491
+ const orders = this.safeList(response, 'orders', []);
492
492
  return this.parseOrders(orders, market, since, limit);
493
493
  }
494
494
  async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -751,7 +751,7 @@ export default class luno extends Exchange {
751
751
  // ]
752
752
  // }
753
753
  //
754
- const trades = this.safeValue(response, 'trades', []);
754
+ const trades = this.safeList(response, 'trades', []);
755
755
  return this.parseTrades(trades, market, since, limit);
756
756
  }
757
757
  async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
@@ -797,7 +797,7 @@ export default class luno extends Exchange {
797
797
  // "pair": "XBTEUR"
798
798
  // }
799
799
  //
800
- const ohlcvs = this.safeValue(response, 'candles', []);
800
+ const ohlcvs = this.safeList(response, 'candles', []);
801
801
  return this.parseOHLCVs(ohlcvs, market, timeframe, since, limit);
802
802
  }
803
803
  parseOHLCV(ohlcv, market = undefined) {
@@ -866,7 +866,7 @@ export default class luno extends Exchange {
866
866
  // ]
867
867
  // }
868
868
  //
869
- const trades = this.safeValue(response, 'trades', []);
869
+ const trades = this.safeList(response, 'trades', []);
870
870
  return this.parseTrades(trades, market, since, limit);
871
871
  }
872
872
  async fetchTradingFee(symbol, params = {}) {
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) {
@@ -1136,8 +1136,10 @@ export default class okcoin extends Exchange {
1136
1136
  const request = {
1137
1137
  'instId': market['id'],
1138
1138
  'bar': bar,
1139
- 'limit': limit,
1140
1139
  };
1140
+ if (limit !== undefined) {
1141
+ request['limit'] = limit; // default 100, max 100
1142
+ }
1141
1143
  let method = undefined;
1142
1144
  [method, params] = this.handleOptionAndParams(params, 'fetchOHLCV', 'method', 'publicGetMarketCandles');
1143
1145
  let response = undefined;
@@ -1147,7 +1149,7 @@ export default class okcoin extends Exchange {
1147
1149
  else {
1148
1150
  response = await this.publicGetMarketHistoryCandles(this.extend(request, params));
1149
1151
  }
1150
- const data = this.safeValue(response, 'data', []);
1152
+ const data = this.safeList(response, 'data', []);
1151
1153
  return this.parseOHLCVs(data, market, timeframe, since, limit);
1152
1154
  }
1153
1155
  parseAccountBalance(response) {
@@ -1668,7 +1670,7 @@ export default class okcoin extends Exchange {
1668
1670
  const response = await this.privatePostTradeCancelOrder(this.extend(request, query));
1669
1671
  // {"code":"0","data":[{"clOrdId":"","ordId":"317251910906576896","sCode":"0","sMsg":""}],"msg":""}
1670
1672
  const data = this.safeValue(response, 'data', []);
1671
- const order = this.safeValue(data, 0);
1673
+ const order = this.safeDict(data, 0);
1672
1674
  return this.parseOrder(order, market);
1673
1675
  }
1674
1676
  parseIds(ids) {
@@ -1769,7 +1771,7 @@ export default class okcoin extends Exchange {
1769
1771
  // }
1770
1772
  //
1771
1773
  //
1772
- const ordersData = this.safeValue(response, 'data', []);
1774
+ const ordersData = this.safeList(response, 'data', []);
1773
1775
  return this.parseOrders(ordersData, market, undefined, undefined, params);
1774
1776
  }
1775
1777
  parseOrderStatus(status) {
@@ -2029,7 +2031,7 @@ export default class okcoin extends Exchange {
2029
2031
  response = await this.privateGetTradeOrder(this.extend(request, query));
2030
2032
  }
2031
2033
  const data = this.safeValue(response, 'data', []);
2032
- const order = this.safeValue(data, 0);
2034
+ const order = this.safeDict(data, 0);
2033
2035
  return this.parseOrder(order);
2034
2036
  }
2035
2037
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2077,7 +2079,7 @@ export default class okcoin extends Exchange {
2077
2079
  else {
2078
2080
  response = await this.privateGetTradeOrdersPending(this.extend(request, params));
2079
2081
  }
2080
- const data = this.safeValue(response, 'data', []);
2082
+ const data = this.safeList(response, 'data', []);
2081
2083
  return this.parseOrders(data, market, since, limit);
2082
2084
  }
2083
2085
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2166,7 +2168,7 @@ export default class okcoin extends Exchange {
2166
2168
  // "msg":""
2167
2169
  // }
2168
2170
  //
2169
- const data = this.safeValue(response, 'data', []);
2171
+ const data = this.safeList(response, 'data', []);
2170
2172
  return this.parseOrders(data, market, since, limit);
2171
2173
  }
2172
2174
  parseDepositAddress(depositAddress, currency = undefined) {
@@ -2382,7 +2384,7 @@ export default class okcoin extends Exchange {
2382
2384
  // }
2383
2385
  //
2384
2386
  const data = this.safeValue(response, 'data', []);
2385
- const rawTransfer = this.safeValue(data, 0, {});
2387
+ const rawTransfer = this.safeDict(data, 0, {});
2386
2388
  return this.parseTransfer(rawTransfer, currency);
2387
2389
  }
2388
2390
  parseTransfer(transfer, currency = undefined) {
@@ -2525,7 +2527,7 @@ export default class okcoin extends Exchange {
2525
2527
  // }
2526
2528
  //
2527
2529
  const data = this.safeValue(response, 'data', []);
2528
- const transaction = this.safeValue(data, 0);
2530
+ const transaction = this.safeDict(data, 0);
2529
2531
  return this.parseTransaction(transaction, currency);
2530
2532
  }
2531
2533
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2599,7 +2601,7 @@ export default class okcoin extends Exchange {
2599
2601
  // ]
2600
2602
  // }
2601
2603
  //
2602
- const data = this.safeValue(response, 'data', []);
2604
+ const data = this.safeList(response, 'data', []);
2603
2605
  return this.parseTransactions(data, currency, since, limit, params);
2604
2606
  }
2605
2607
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2665,7 +2667,7 @@ export default class okcoin extends Exchange {
2665
2667
  // ]
2666
2668
  // }
2667
2669
  //
2668
- const data = this.safeValue(response, 'data', []);
2670
+ const data = this.safeList(response, 'data', []);
2669
2671
  return this.parseTransactions(data, currency, since, limit, params);
2670
2672
  }
2671
2673
  parseTransactionStatus(status) {
@@ -2836,7 +2838,7 @@ export default class okcoin extends Exchange {
2836
2838
  else {
2837
2839
  response = await this.privateGetTradeFills(this.extend(request, params));
2838
2840
  }
2839
- const data = this.safeValue(response, 'data', []);
2841
+ const data = this.safeList(response, 'data', []);
2840
2842
  return this.parseTrades(data, market, since, limit);
2841
2843
  }
2842
2844
  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<{