ccxt 4.4.77 → 4.4.80

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 (154) hide show
  1. package/README.md +8 -10
  2. package/dist/ccxt.browser.min.js +7 -7
  3. package/dist/cjs/ccxt.js +8 -4
  4. package/dist/cjs/src/abstract/ace.js +1 -1
  5. package/dist/cjs/src/abstract/apex.js +9 -0
  6. package/dist/cjs/src/ace.js +1 -1
  7. package/dist/cjs/src/apex.js +1949 -0
  8. package/dist/cjs/src/ascendex.js +25 -4
  9. package/dist/cjs/src/base/Exchange.js +42 -2
  10. package/dist/cjs/src/binance.js +9 -1
  11. package/dist/cjs/src/bingx.js +3 -3
  12. package/dist/cjs/src/bitfinex.js +64 -36
  13. package/dist/cjs/src/bitget.js +191 -138
  14. package/dist/cjs/src/bitmart.js +7 -2
  15. package/dist/cjs/src/bitmex.js +16 -8
  16. package/dist/cjs/src/bitopro.js +5 -1
  17. package/dist/cjs/src/bitrue.js +2 -1
  18. package/dist/cjs/src/bitso.js +1 -1
  19. package/dist/cjs/src/bitteam.js +2 -0
  20. package/dist/cjs/src/bitvavo.js +28 -10
  21. package/dist/cjs/src/btcalpha.js +1 -1
  22. package/dist/cjs/src/btcmarkets.js +1 -1
  23. package/dist/cjs/src/btcturk.js +1 -1
  24. package/dist/cjs/src/bybit.js +32 -16
  25. package/dist/cjs/src/cex.js +1 -1
  26. package/dist/cjs/src/coinbase.js +18 -2
  27. package/dist/cjs/src/coincatch.js +68 -0
  28. package/dist/cjs/src/coinex.js +1 -0
  29. package/dist/cjs/src/coinlist.js +1 -0
  30. package/dist/cjs/src/coinone.js +1 -0
  31. package/dist/cjs/src/delta.js +4 -0
  32. package/dist/cjs/src/deribit.js +1 -0
  33. package/dist/cjs/src/hitbtc.js +3 -0
  34. package/dist/cjs/src/hollaex.js +1 -0
  35. package/dist/cjs/src/htx.js +7 -3
  36. package/dist/cjs/src/huobijp.js +1 -0
  37. package/dist/cjs/src/hyperliquid.js +14 -4
  38. package/dist/cjs/src/kraken.js +2 -0
  39. package/dist/cjs/src/mexc.js +50 -57
  40. package/dist/cjs/src/okx.js +1 -1
  41. package/dist/cjs/src/phemex.js +2 -1
  42. package/dist/cjs/src/poloniex.js +2 -1
  43. package/dist/cjs/src/pro/apex.js +1043 -0
  44. package/dist/cjs/src/pro/binance.js +3 -3
  45. package/dist/cjs/src/pro/coinbase.js +45 -68
  46. package/dist/cjs/src/pro/gate.js +27 -2
  47. package/dist/cjs/src/pro/hollaex.js +2 -2
  48. package/dist/cjs/src/pro/p2b.js +2 -2
  49. package/dist/cjs/src/pro/tradeogre.js +283 -0
  50. package/dist/cjs/src/pro/upbit.js +43 -0
  51. package/dist/cjs/src/probit.js +1 -0
  52. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +2639 -0
  53. package/dist/cjs/src/timex.js +2 -2
  54. package/dist/cjs/src/tradeogre.js +2 -1
  55. package/dist/cjs/src/upbit.js +277 -67
  56. package/dist/cjs/src/whitebit.js +66 -12
  57. package/dist/cjs/src/woo.js +3 -1
  58. package/dist/cjs/src/xt.js +9 -0
  59. package/js/ccxt.d.ts +11 -5
  60. package/js/ccxt.js +8 -4
  61. package/js/src/abstract/apex.d.ts +34 -0
  62. package/js/src/abstract/bitmart.d.ts +1 -0
  63. package/js/src/apex.d.ts +333 -0
  64. package/js/src/apex.js +1945 -0
  65. package/js/src/ascendex.d.ts +3 -3
  66. package/js/src/ascendex.js +25 -4
  67. package/js/src/base/Exchange.d.ts +2 -0
  68. package/js/src/base/Exchange.js +42 -1
  69. package/js/src/binance.d.ts +7 -7
  70. package/js/src/binance.js +9 -1
  71. package/js/src/bingx.js +3 -3
  72. package/js/src/bitfinex.d.ts +3 -3
  73. package/js/src/bitfinex.js +64 -36
  74. package/js/src/bitflyer.d.ts +2 -2
  75. package/js/src/bitget.d.ts +2 -0
  76. package/js/src/bitget.js +191 -138
  77. package/js/src/bitmart.d.ts +5 -4
  78. package/js/src/bitmart.js +7 -2
  79. package/js/src/bitmex.d.ts +3 -3
  80. package/js/src/bitmex.js +16 -8
  81. package/js/src/bitopro.js +5 -1
  82. package/js/src/bitrue.js +2 -1
  83. package/js/src/bitso.js +1 -1
  84. package/js/src/bitteam.js +2 -0
  85. package/js/src/bitvavo.js +28 -10
  86. package/js/src/btcalpha.js +1 -1
  87. package/js/src/btcmarkets.js +1 -1
  88. package/js/src/btcturk.js +1 -1
  89. package/js/src/bybit.js +32 -16
  90. package/js/src/cex.js +1 -1
  91. package/js/src/coinbase.d.ts +4 -4
  92. package/js/src/coinbase.js +18 -2
  93. package/js/src/coinbaseexchange.d.ts +1 -1
  94. package/js/src/coincatch.d.ts +11 -0
  95. package/js/src/coincatch.js +68 -0
  96. package/js/src/coinex.js +1 -0
  97. package/js/src/coinlist.js +1 -0
  98. package/js/src/coinone.js +1 -0
  99. package/js/src/cryptocom.d.ts +4 -4
  100. package/js/src/delta.js +4 -0
  101. package/js/src/deribit.d.ts +4 -4
  102. package/js/src/deribit.js +1 -0
  103. package/js/src/derive.d.ts +3 -3
  104. package/js/src/digifinex.d.ts +4 -4
  105. package/js/src/hitbtc.js +3 -0
  106. package/js/src/hollaex.js +1 -0
  107. package/js/src/htx.d.ts +4 -4
  108. package/js/src/htx.js +7 -3
  109. package/js/src/huobijp.js +1 -0
  110. package/js/src/hyperliquid.d.ts +1 -0
  111. package/js/src/hyperliquid.js +14 -4
  112. package/js/src/kraken.d.ts +3 -3
  113. package/js/src/kraken.js +2 -0
  114. package/js/src/krakenfutures.d.ts +2 -2
  115. package/js/src/kucoinfutures.d.ts +5 -5
  116. package/js/src/mexc.d.ts +1 -0
  117. package/js/src/mexc.js +50 -57
  118. package/js/src/okx.js +1 -1
  119. package/js/src/oxfun.d.ts +3 -3
  120. package/js/src/phemex.d.ts +3 -3
  121. package/js/src/phemex.js +2 -1
  122. package/js/src/poloniex.d.ts +3 -3
  123. package/js/src/poloniex.js +2 -1
  124. package/js/src/pro/apex.d.ts +160 -0
  125. package/js/src/pro/apex.js +1038 -0
  126. package/js/src/pro/binance.js +3 -3
  127. package/js/src/pro/coinbase.d.ts +4 -3
  128. package/js/src/pro/coinbase.js +45 -66
  129. package/js/src/pro/gate.js +27 -2
  130. package/js/src/pro/hollaex.js +2 -2
  131. package/js/src/pro/p2b.js +2 -2
  132. package/js/src/pro/tradeogre.d.ts +49 -0
  133. package/js/src/pro/tradeogre.js +278 -0
  134. package/js/src/pro/upbit.d.ts +16 -1
  135. package/js/src/pro/upbit.js +43 -0
  136. package/js/src/probit.js +1 -0
  137. package/js/src/static_dependencies/zklink/zklink-sdk-web.d.ts +1279 -0
  138. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +4276 -0
  139. package/js/src/timex.js +2 -2
  140. package/js/src/tradeogre.js +2 -1
  141. package/js/src/upbit.d.ts +75 -23
  142. package/js/src/upbit.js +277 -67
  143. package/js/src/vertex.d.ts +3 -3
  144. package/js/src/whitebit.js +66 -12
  145. package/js/src/woo.d.ts +4 -4
  146. package/js/src/woo.js +3 -1
  147. package/js/src/woofipro.d.ts +4 -4
  148. package/js/src/xt.d.ts +4 -4
  149. package/js/src/xt.js +9 -0
  150. package/package.json +2 -2
  151. package/js/src/abstract/ace.d.ts +0 -18
  152. package/js/src/ace.d.ts +0 -158
  153. package/js/src/ace.js +0 -1175
  154. /package/js/src/abstract/{ace.js → apex.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  import upbitRest from '../upbit.js';
2
- import type { Int, Str, Order, OrderBook, Trade, Ticker, Balances, Tickers, Strings } from '../base/types.js';
2
+ import type { Int, Str, Order, OrderBook, Trade, Ticker, Balances, Tickers, Strings, OHLCV } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class upbit extends upbitRest {
5
5
  describe(): any;
@@ -60,9 +60,24 @@ export default class upbit extends upbitRest {
60
60
  * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
61
61
  */
62
62
  watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
63
+ /**
64
+ * @method
65
+ * @name upbit#watchOHLCV
66
+ * @description watches information an OHLCV with timestamp, openingPrice, highPrice, lowPrice, tradePrice, baseVolume in 1s.
67
+ * @see https://docs.upbit.com/kr/reference/websocket-candle for Upbit KR
68
+ * @see https://global-docs.upbit.com/reference/websocket-candle for Upbit Global
69
+ * @param {string} symbol unified market symbol of the market orders were made in
70
+ * @param {string} timeframe specifies the OHLCV candle interval to watch. As of now, Upbit only supports 1s candles.
71
+ * @param {int} [since] the earliest time in ms to fetch orders for
72
+ * @param {int} [limit] the maximum number of order structures to retrieve
73
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
74
+ * @returns {OHLCV[]} a list of [OHLCV structures]{@link https://docs.ccxt.com/#/?id=ohlcv-structure}
75
+ */
76
+ watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
63
77
  handleTicker(client: Client, message: any): void;
64
78
  handleOrderBook(client: Client, message: any): void;
65
79
  handleTrades(client: Client, message: any): void;
80
+ handleOHLCV(client: Client, message: any): void;
66
81
  authenticate(params?: {}): Promise<import("../base/ws/WsClient.js").default>;
67
82
  watchPrivate(symbol: any, channel: any, messageHash: any, params?: {}): Promise<any>;
68
83
  /**
@@ -3,6 +3,7 @@ import upbitRest from '../upbit.js';
3
3
  import { ArrayCache, ArrayCacheBySymbolById } from '../base/ws/Cache.js';
4
4
  import { sha256 } from '../static_dependencies/noble-hashes/sha256.js';
5
5
  import { jwt } from '../base/functions/rsa.js';
6
+ import { NotSupported } from '../base/errors.js';
6
7
  // ---------------------------------------------------------------------------
7
8
  export default class upbit extends upbitRest {
8
9
  describe() {
@@ -14,6 +15,7 @@ export default class upbit extends upbitRest {
14
15
  'watchTickers': true,
15
16
  'watchTrades': true,
16
17
  'watchTradesForSymbols': true,
18
+ 'watchOHLCV': true,
17
19
  'watchOrders': true,
18
20
  'watchMyTrades': true,
19
21
  'watchBalance': true,
@@ -189,6 +191,26 @@ export default class upbit extends upbitRest {
189
191
  const orderbook = await this.watchPublic(symbol, 'orderbook');
190
192
  return orderbook.limit();
191
193
  }
194
+ /**
195
+ * @method
196
+ * @name upbit#watchOHLCV
197
+ * @description watches information an OHLCV with timestamp, openingPrice, highPrice, lowPrice, tradePrice, baseVolume in 1s.
198
+ * @see https://docs.upbit.com/kr/reference/websocket-candle for Upbit KR
199
+ * @see https://global-docs.upbit.com/reference/websocket-candle for Upbit Global
200
+ * @param {string} symbol unified market symbol of the market orders were made in
201
+ * @param {string} timeframe specifies the OHLCV candle interval to watch. As of now, Upbit only supports 1s candles.
202
+ * @param {int} [since] the earliest time in ms to fetch orders for
203
+ * @param {int} [limit] the maximum number of order structures to retrieve
204
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
205
+ * @returns {OHLCV[]} a list of [OHLCV structures]{@link https://docs.ccxt.com/#/?id=ohlcv-structure}
206
+ */
207
+ async watchOHLCV(symbol, timeframe = '1s', since = undefined, limit = undefined, params = {}) {
208
+ if (timeframe !== '1s') {
209
+ throw new NotSupported(this.id + ' watchOHLCV does not support' + timeframe + ' candle.');
210
+ }
211
+ const timeFrameOHLCV = 'candle.' + timeframe;
212
+ return await this.watchPublic(symbol, timeFrameOHLCV);
213
+ }
192
214
  handleTicker(client, message) {
193
215
  // 2020-03-17T23:07:36.511Z "onMessage" <Buffer 7b 22 74 79 70 65 22 3a 22 74 69 63 6b 65 72 22 2c 22 63 6f 64 65 22 3a 22 42 54 43 2d 45 54 48 22 2c 22 6f 70 65 6e 69 6e 67 5f 70 72 69 63 65 22 3a ... >
194
216
  // { type: "ticker",
@@ -315,6 +337,26 @@ export default class upbit extends upbitRest {
315
337
  const messageHash = 'trade:' + marketId;
316
338
  client.resolve(stored, messageHash);
317
339
  }
340
+ handleOHLCV(client, message) {
341
+ // {
342
+ // type: 'candle.1s',
343
+ // code: 'KRW-USDT',
344
+ // candle_date_time_utc: '2025-04-22T09:50:34',
345
+ // candle_date_time_kst: '2025-04-22T18:50:34',
346
+ // opening_price: 1438,
347
+ // high_price: 1438,
348
+ // low_price: 1438,
349
+ // trade_price: 1438,
350
+ // candle_acc_trade_volume: 1145.8935,
351
+ // candle_acc_trade_price: 1647794.853,
352
+ // timestamp: 1745315434125,
353
+ // stream_type: 'REALTIME'
354
+ // }
355
+ const marketId = this.safeString(message, 'code');
356
+ const messageHash = 'candle.1s:' + marketId;
357
+ const ohlcv = this.parseOHLCV(message);
358
+ client.resolve(ohlcv, messageHash);
359
+ }
318
360
  async authenticate(params = {}) {
319
361
  this.checkRequiredCredentials();
320
362
  const wsOptions = this.safeDict(this.options, 'ws', {});
@@ -630,6 +672,7 @@ export default class upbit extends upbitRest {
630
672
  'trade': this.handleTrades,
631
673
  'myOrder': this.handleMyOrder,
632
674
  'myAsset': this.handleBalance,
675
+ 'candle.1s': this.handleOHLCV,
633
676
  };
634
677
  const methodName = this.safeString(message, 'type');
635
678
  const method = this.safeValue(methods, methodName);
package/js/src/probit.js CHANGED
@@ -551,6 +551,7 @@ export default class probit extends Exchange {
551
551
  'active': active,
552
552
  'deposit': deposit,
553
553
  'withdraw': withdraw,
554
+ 'type': 'crypto',
554
555
  'fee': fee,
555
556
  'precision': this.parseNumber(this.parsePrecision(this.safeString(platform, 'precision'))),
556
557
  'limits': {