ccxt 4.3.98 → 4.4.2

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 (53) hide show
  1. package/README.md +4 -4
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/base/Exchange.js +69 -0
  5. package/dist/cjs/src/binance.js +78 -8
  6. package/dist/cjs/src/bitget.js +3 -2
  7. package/dist/cjs/src/cryptocom.js +1 -1
  8. package/dist/cjs/src/currencycom.js +1 -2
  9. package/dist/cjs/src/gate.js +1 -0
  10. package/dist/cjs/src/htx.js +1 -1
  11. package/dist/cjs/src/mexc.js +69 -1
  12. package/dist/cjs/src/pro/binance.js +3 -63
  13. package/dist/cjs/src/pro/bitget.js +1 -9
  14. package/dist/cjs/src/pro/bitmex.js +11 -1
  15. package/dist/cjs/src/pro/bybit.js +2 -54
  16. package/dist/cjs/src/pro/cryptocom.js +2 -40
  17. package/dist/cjs/src/pro/gate.js +1 -9
  18. package/dist/cjs/src/pro/hyperliquid.js +232 -11
  19. package/dist/cjs/src/pro/kucoin.js +2 -59
  20. package/dist/cjs/src/pro/kucoinfutures.js +139 -1
  21. package/dist/cjs/src/pro/okx.js +8 -36
  22. package/dist/cjs/src/xt.js +1 -1
  23. package/examples/js/cli.js +9 -5
  24. package/js/ccxt.d.ts +3 -3
  25. package/js/ccxt.js +1 -1
  26. package/js/src/base/Exchange.d.ts +2 -0
  27. package/js/src/base/Exchange.js +70 -1
  28. package/js/src/base/types.d.ts +5 -4
  29. package/js/src/binance.js +78 -8
  30. package/js/src/bitget.js +3 -2
  31. package/js/src/cryptocom.js +1 -1
  32. package/js/src/currencycom.js +1 -2
  33. package/js/src/gate.js +1 -0
  34. package/js/src/htx.js +1 -1
  35. package/js/src/mexc.js +69 -1
  36. package/js/src/pro/binance.d.ts +0 -1
  37. package/js/src/pro/binance.js +4 -64
  38. package/js/src/pro/bitget.js +1 -9
  39. package/js/src/pro/bitmex.js +11 -1
  40. package/js/src/pro/bybit.d.ts +1 -2
  41. package/js/src/pro/bybit.js +3 -55
  42. package/js/src/pro/cryptocom.d.ts +1 -2
  43. package/js/src/pro/cryptocom.js +3 -41
  44. package/js/src/pro/gate.js +2 -10
  45. package/js/src/pro/hyperliquid.d.ts +10 -1
  46. package/js/src/pro/hyperliquid.js +232 -11
  47. package/js/src/pro/kucoin.d.ts +0 -1
  48. package/js/src/pro/kucoin.js +3 -60
  49. package/js/src/pro/kucoinfutures.d.ts +7 -1
  50. package/js/src/pro/kucoinfutures.js +139 -1
  51. package/js/src/pro/okx.js +9 -37
  52. package/js/src/xt.js +1 -1
  53. package/package.json +1 -1
package/js/src/pro/okx.js CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  // ---------------------------------------------------------------------------
8
8
  import okxRest from '../okx.js';
9
- import { ArgumentsRequired, BadRequest, ExchangeError, ChecksumError, AuthenticationError, InvalidNonce, UnsubscribeError } from '../base/errors.js';
9
+ import { ArgumentsRequired, BadRequest, ExchangeError, ChecksumError, AuthenticationError, InvalidNonce } from '../base/errors.js';
10
10
  import { ArrayCache, ArrayCacheByTimestamp, ArrayCacheBySymbolById, ArrayCacheBySymbolBySide } from '../base/ws/Cache.js';
11
11
  import { sha256 } from '../static_dependencies/noble-hashes/sha256.js';
12
12
  // ---------------------------------------------------------------------------
@@ -2336,64 +2336,36 @@ export default class okx extends okxRest {
2336
2336
  handleUnSubscriptionTrades(client, symbol) {
2337
2337
  const subMessageHash = 'trades:' + symbol;
2338
2338
  const messageHash = 'unsubscribe:trades:' + symbol;
2339
- if (subMessageHash in client.subscriptions) {
2340
- delete client.subscriptions[subMessageHash];
2339
+ this.cleanUnsubscription(client, subMessageHash, messageHash);
2340
+ if (symbol in this.trades) {
2341
+ delete this.trades[symbol];
2341
2342
  }
2342
- if (messageHash in client.subscriptions) {
2343
- delete client.subscriptions[messageHash];
2344
- }
2345
- delete this.trades[symbol];
2346
- const error = new UnsubscribeError(this.id + ' ' + subMessageHash);
2347
- client.reject(error, subMessageHash);
2348
- client.resolve(true, messageHash);
2349
2343
  }
2350
2344
  handleUnsubscriptionOrderBook(client, symbol, channel) {
2351
2345
  const subMessageHash = channel + ':' + symbol;
2352
2346
  const messageHash = 'unsubscribe:orderbook:' + symbol;
2353
- if (subMessageHash in client.subscriptions) {
2354
- delete client.subscriptions[subMessageHash];
2355
- }
2356
- if (messageHash in client.subscriptions) {
2357
- delete client.subscriptions[messageHash];
2347
+ this.cleanUnsubscription(client, subMessageHash, messageHash);
2348
+ if (symbol in this.orderbooks) {
2349
+ delete this.orderbooks[symbol];
2358
2350
  }
2359
- delete this.orderbooks[symbol];
2360
- const error = new UnsubscribeError(this.id + ' ' + subMessageHash);
2361
- client.reject(error, subMessageHash);
2362
- client.resolve(true, messageHash);
2363
2351
  }
2364
2352
  handleUnsubscriptionOHLCV(client, symbol, channel) {
2365
2353
  const tf = channel.replace('candle', '');
2366
2354
  const timeframe = this.findTimeframe(tf);
2367
2355
  const subMessageHash = 'multi:' + channel + ':' + symbol;
2368
2356
  const messageHash = 'unsubscribe:' + subMessageHash;
2369
- if (subMessageHash in client.subscriptions) {
2370
- delete client.subscriptions[subMessageHash];
2371
- }
2372
- if (messageHash in client.subscriptions) {
2373
- delete client.subscriptions[messageHash];
2374
- }
2357
+ this.cleanUnsubscription(client, subMessageHash, messageHash);
2375
2358
  if (timeframe in this.ohlcvs[symbol]) {
2376
2359
  delete this.ohlcvs[symbol][timeframe];
2377
2360
  }
2378
- const error = new UnsubscribeError(this.id + ' ' + subMessageHash);
2379
- client.reject(error, subMessageHash);
2380
- client.resolve(true, messageHash);
2381
2361
  }
2382
2362
  handleUnsubscriptionTicker(client, symbol, channel) {
2383
2363
  const subMessageHash = channel + '::' + symbol;
2384
2364
  const messageHash = 'unsubscribe:ticker:' + symbol;
2385
- if (subMessageHash in client.subscriptions) {
2386
- delete client.subscriptions[subMessageHash];
2387
- }
2388
- if (messageHash in client.subscriptions) {
2389
- delete client.subscriptions[messageHash];
2390
- }
2365
+ this.cleanUnsubscription(client, subMessageHash, messageHash);
2391
2366
  if (symbol in this.tickers) {
2392
2367
  delete this.tickers[symbol];
2393
2368
  }
2394
- const error = new UnsubscribeError(this.id + ' ' + subMessageHash);
2395
- client.reject(error, subMessageHash);
2396
- client.resolve(true, messageHash);
2397
2369
  }
2398
2370
  handleUnsubscription(client, message) {
2399
2371
  //
package/js/src/xt.js CHANGED
@@ -1375,7 +1375,7 @@ export default class xt extends Exchange {
1375
1375
  this.safeNumber(ohlcv, 'h'),
1376
1376
  this.safeNumber(ohlcv, 'l'),
1377
1377
  this.safeNumber(ohlcv, 'c'),
1378
- this.safeNumber2(ohlcv, volumeIndex, 'v'),
1378
+ this.safeNumber2(ohlcv, 'q', volumeIndex),
1379
1379
  ];
1380
1380
  }
1381
1381
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.3.98",
3
+ "version": "4.4.2",
4
4
  "description": "A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges",
5
5
  "unpkg": "dist/ccxt.browser.min.js",
6
6
  "type": "module",