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
@@ -1220,7 +1220,7 @@ export default class tokocrypto extends Exchange {
1220
1220
  };
1221
1221
  const response = await this.binanceGetTicker24hr(this.extend(request, params));
1222
1222
  if (Array.isArray(response)) {
1223
- const firstTicker = this.safeValue(response, 0, {});
1223
+ const firstTicker = this.safeDict(response, 0, {});
1224
1224
  return this.parseTicker(firstTicker, market);
1225
1225
  }
1226
1226
  return this.parseTicker(response, market);
@@ -1339,7 +1339,7 @@ export default class tokocrypto extends Exchange {
1339
1339
  // [1591478640000,"0.02500800","0.02501100","0.02500300","0.02500800","154.14200000",1591478699999,"3.85405839",97,"5.32300000","0.13312641","0"],
1340
1340
  // ]
1341
1341
  //
1342
- const data = this.safeValue(response, 'data', response);
1342
+ const data = this.safeList(response, 'data', response);
1343
1343
  return this.parseOHLCVs(data, market, timeframe, since, limit);
1344
1344
  }
1345
1345
  async fetchBalance(params = {}) {
@@ -1780,7 +1780,7 @@ export default class tokocrypto extends Exchange {
1780
1780
  // "timestamp": 1662710994975
1781
1781
  // }
1782
1782
  //
1783
- const rawOrder = this.safeValue(response, 'data', {});
1783
+ const rawOrder = this.safeDict(response, 'data', {});
1784
1784
  return this.parseOrder(rawOrder, market);
1785
1785
  }
1786
1786
  async fetchOrder(id, symbol = undefined, params = {}) {
@@ -1829,7 +1829,7 @@ export default class tokocrypto extends Exchange {
1829
1829
  //
1830
1830
  const data = this.safeValue(response, 'data', {});
1831
1831
  const list = this.safeValue(data, 'list', []);
1832
- const rawOrder = this.safeValue(list, 0, {});
1832
+ const rawOrder = this.safeDict(list, 0, {});
1833
1833
  return this.parseOrder(rawOrder);
1834
1834
  }
1835
1835
  async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1900,7 +1900,7 @@ export default class tokocrypto extends Exchange {
1900
1900
  // }
1901
1901
  //
1902
1902
  const data = this.safeValue(response, 'data', {});
1903
- const orders = this.safeValue(data, 'list', []);
1903
+ const orders = this.safeList(data, 'list', []);
1904
1904
  return this.parseOrders(orders, market, since, limit);
1905
1905
  }
1906
1906
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1975,7 +1975,7 @@ export default class tokocrypto extends Exchange {
1975
1975
  // "timestamp": 1662710683634
1976
1976
  // }
1977
1977
  //
1978
- const rawOrder = this.safeValue(response, 'data', {});
1978
+ const rawOrder = this.safeDict(response, 'data', {});
1979
1979
  return this.parseOrder(rawOrder);
1980
1980
  }
1981
1981
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2036,7 +2036,7 @@ export default class tokocrypto extends Exchange {
2036
2036
  // }
2037
2037
  //
2038
2038
  const data = this.safeValue(response, 'data', {});
2039
- const trades = this.safeValue(data, 'list', []);
2039
+ const trades = this.safeList(data, 'list', []);
2040
2040
  return this.parseTrades(trades, market, since, limit);
2041
2041
  }
2042
2042
  async fetchDepositAddress(code, params = {}) {
@@ -2153,7 +2153,7 @@ export default class tokocrypto extends Exchange {
2153
2153
  // }
2154
2154
  //
2155
2155
  const data = this.safeValue(response, 'data', {});
2156
- const deposits = this.safeValue(data, 'list', []);
2156
+ const deposits = this.safeList(data, 'list', []);
2157
2157
  return this.parseTransactions(deposits, currency, since, limit);
2158
2158
  }
2159
2159
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2210,7 +2210,7 @@ export default class tokocrypto extends Exchange {
2210
2210
  // }
2211
2211
  //
2212
2212
  const data = this.safeValue(response, 'data', {});
2213
- const withdrawals = this.safeValue(data, 'list', []);
2213
+ const withdrawals = this.safeList(data, 'list', []);
2214
2214
  return this.parseTransactions(withdrawals, currency, since, limit);
2215
2215
  }
2216
2216
  parseTransactionStatusByType(status, type = undefined) {
@@ -890,7 +890,7 @@ export default class wavesexchange extends Exchange {
890
890
  //
891
891
  const data = this.safeValue(response, 'data', []);
892
892
  const ticker = this.safeValue(data, 0, {});
893
- const dataTicker = this.safeValue(ticker, 'data', {});
893
+ const dataTicker = this.safeDict(ticker, 'data', {});
894
894
  return this.parseTicker(dataTicker, market);
895
895
  }
896
896
  async fetchTickers(symbols = undefined, params = {}) {
@@ -1462,12 +1462,12 @@ export default class wavesexchange extends Exchange {
1462
1462
  //
1463
1463
  if (isMarketOrder) {
1464
1464
  const response = await this.matcherPostMatcherOrderbookMarket(body);
1465
- const value = this.safeValue(response, 'message');
1465
+ const value = this.safeDict(response, 'message');
1466
1466
  return this.parseOrder(value, market);
1467
1467
  }
1468
1468
  else {
1469
1469
  const response = await this.matcherPostMatcherOrderbook(body);
1470
- const value = this.safeValue(response, 'message');
1470
+ const value = this.safeDict(response, 'message');
1471
1471
  return this.parseOrder(value, market);
1472
1472
  }
1473
1473
  }
@@ -741,7 +741,7 @@ export default class whitebit extends Exchange {
741
741
  // },
742
742
  // }
743
743
  //
744
- const ticker = this.safeValue(response, 'result', {});
744
+ const ticker = this.safeDict(response, 'result', {});
745
745
  return this.parseTicker(ticker, market);
746
746
  }
747
747
  parseTicker(ticker, market = undefined) {
@@ -1103,7 +1103,7 @@ export default class whitebit extends Exchange {
1103
1103
  // ]
1104
1104
  // }
1105
1105
  //
1106
- const result = this.safeValue(response, 'result', []);
1106
+ const result = this.safeList(response, 'result', []);
1107
1107
  return this.parseOHLCVs(result, market, timeframe, since, limit);
1108
1108
  }
1109
1109
  parseOHLCV(ohlcv, market = undefined) {
@@ -1609,7 +1609,7 @@ export default class whitebit extends Exchange {
1609
1609
  // "limit": 100
1610
1610
  // }
1611
1611
  //
1612
- const data = this.safeValue(response, 'records', []);
1612
+ const data = this.safeList(response, 'records', []);
1613
1613
  return this.parseTrades(data, market);
1614
1614
  }
1615
1615
  async fetchDepositAddress(code, params = {}) {
@@ -1950,7 +1950,7 @@ export default class whitebit extends Exchange {
1950
1950
  // }
1951
1951
  //
1952
1952
  const records = this.safeValue(response, 'records', []);
1953
- const first = this.safeValue(records, 0, {});
1953
+ const first = this.safeDict(records, 0, {});
1954
1954
  return this.parseTransaction(first, currency);
1955
1955
  }
1956
1956
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -2017,7 +2017,7 @@ export default class whitebit extends Exchange {
2017
2017
  // "total": 300 // total number of transactions, use this for calculating ‘limit’ and ‘offset'
2018
2018
  // }
2019
2019
  //
2020
- const records = this.safeValue(response, 'records', []);
2020
+ const records = this.safeList(response, 'records', []);
2021
2021
  return this.parseTransactions(records, currency, since, limit);
2022
2022
  }
2023
2023
  async fetchBorrowInterest(code = undefined, symbol = undefined, since = undefined, limit = undefined, params = {}) {
package/js/src/woo.js CHANGED
@@ -1352,7 +1352,7 @@ export default class woo extends Exchange {
1352
1352
  // ]
1353
1353
  // }
1354
1354
  //
1355
- const orders = this.safeValue(response, 'data', response);
1355
+ const orders = this.safeDict(response, 'data', response);
1356
1356
  return this.parseOrder(orders, market);
1357
1357
  }
1358
1358
  async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
package/js/src/zaif.js CHANGED
@@ -628,7 +628,7 @@ export default class zaif extends Exchange {
628
628
  // }
629
629
  // }
630
630
  //
631
- const returnData = this.safeValue(result, 'return');
631
+ const returnData = this.safeDict(result, 'return');
632
632
  return this.parseTransaction(returnData, currency);
633
633
  }
634
634
  parseTransaction(transaction, currency = undefined) {
package/js/src/zonda.js CHANGED
@@ -415,7 +415,7 @@ export default class zonda extends Exchange {
415
415
  await this.loadMarkets();
416
416
  const request = {};
417
417
  const response = await this.v1_01PrivateGetTradingOffer(this.extend(request, params));
418
- const items = this.safeValue(response, 'items', []);
418
+ const items = this.safeList(response, 'items', []);
419
419
  return this.parseOrders(items, undefined, since, limit, { 'status': 'open' });
420
420
  }
421
421
  parseOrder(order, market = undefined) {
@@ -802,7 +802,7 @@ export default class zonda extends Exchange {
802
802
  else {
803
803
  throw new BadRequest(this.id + ' fetchTickers params["method"] must be "v1_01PublicGetTradingTicker" or "v1_01PublicGetTradingStats"');
804
804
  }
805
- const items = this.safeValue(response, 'items');
805
+ const items = this.safeDict(response, 'items');
806
806
  return this.parseTickers(items, symbols);
807
807
  }
808
808
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1225,7 +1225,7 @@ export default class zonda extends Exchange {
1225
1225
  // ]
1226
1226
  // }
1227
1227
  //
1228
- const items = this.safeValue(response, 'items', []);
1228
+ const items = this.safeList(response, 'items', []);
1229
1229
  return this.parseOHLCVs(items, market, timeframe, since, limit);
1230
1230
  }
1231
1231
  parseTrade(trade, market = undefined) {
@@ -1330,7 +1330,7 @@ export default class zonda extends Exchange {
1330
1330
  request['limit'] = limit; // default - 10, max - 300
1331
1331
  }
1332
1332
  const response = await this.v1_01PublicGetTradingTransactionsSymbol(this.extend(request, params));
1333
- const items = this.safeValue(response, 'items');
1333
+ const items = this.safeList(response, 'items');
1334
1334
  return this.parseTrades(items, market, since, limit);
1335
1335
  }
1336
1336
  async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
@@ -1555,7 +1555,7 @@ export default class zonda extends Exchange {
1555
1555
  // }
1556
1556
  //
1557
1557
  const data = this.safeValue(response, 'data');
1558
- const first = this.safeValue(data, 0);
1558
+ const first = this.safeDict(data, 0);
1559
1559
  return this.parseDepositAddress(first, currency);
1560
1560
  }
1561
1561
  async fetchDepositAddresses(codes = undefined, params = {}) {
@@ -1583,7 +1583,7 @@ export default class zonda 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.parseDepositAddresses(data, codes);
1588
1588
  }
1589
1589
  async transfer(code, amount, fromAccount, toAccount, params = {}) {
@@ -1740,7 +1740,7 @@ export default class zonda extends Exchange {
1740
1740
  // }
1741
1741
  // }
1742
1742
  //
1743
- const data = this.safeValue(response, 'data');
1743
+ const data = this.safeDict(response, 'data');
1744
1744
  return this.parseTransaction(data, currency);
1745
1745
  }
1746
1746
  parseTransaction(transaction, currency = undefined) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.2.84",
3
+ "version": "4.2.86",
4
4
  "description": "A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges",
5
5
  "unpkg": "dist/ccxt.browser.js",
6
6
  "type": "module",
package/skip-tests.json CHANGED
@@ -597,6 +597,9 @@
597
597
  "skipMethods": {
598
598
  "fetchTrades": {
599
599
  "side":"side is undefined"
600
+ },
601
+ "ticker": {
602
+ "spread": "https://app.travis-ci.com/github/ccxt/ccxt/builds/269687705#L3745"
600
603
  }
601
604
  }
602
605
  },
@@ -961,6 +964,7 @@
961
964
  },
962
965
  "idex": {
963
966
  "skipWs": "timeouts",
967
+ "skipCSharp": "for some reasons, frequent rate limits only in C#",
964
968
  "skipMethods": {
965
969
  "fetchCurrencies": {
966
970
  "withdraw":"not provided",