ccxt 4.5.10 → 4.5.12

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 (113) hide show
  1. package/README.md +32 -33
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -6
  4. package/dist/cjs/src/apex.js +9 -0
  5. package/dist/cjs/src/base/Exchange.js +15 -3
  6. package/dist/cjs/src/base/functions/throttle.js +1 -1
  7. package/dist/cjs/src/binance.js +1 -1
  8. package/dist/cjs/src/bingx.js +1 -1
  9. package/dist/cjs/src/bitfinex.js +4 -2
  10. package/dist/cjs/src/bitget.js +20 -2
  11. package/dist/cjs/src/bitmart.js +2 -2
  12. package/dist/cjs/src/btcmarkets.js +4 -2
  13. package/dist/cjs/src/bybit.js +28 -7
  14. package/dist/cjs/src/coinbase.js +1 -0
  15. package/dist/cjs/src/coincatch.js +2 -1
  16. package/dist/cjs/src/deribit.js +21 -19
  17. package/dist/cjs/src/kraken.js +4 -0
  18. package/dist/cjs/src/krakenfutures.js +26 -5
  19. package/dist/cjs/src/kucoin.js +1 -1
  20. package/dist/cjs/src/latoken.js +1 -0
  21. package/dist/cjs/src/mexc.js +1 -0
  22. package/dist/cjs/src/okx.js +18 -9
  23. package/dist/cjs/src/onetrading.js +2 -1
  24. package/dist/cjs/src/phemex.js +1 -0
  25. package/dist/cjs/src/pro/alpaca.js +17 -1
  26. package/dist/cjs/src/pro/apex.js +17 -0
  27. package/dist/cjs/src/pro/binance.js +5 -5
  28. package/dist/cjs/src/pro/bitget.js +10 -3
  29. package/dist/cjs/src/pro/coinbase.js +8 -7
  30. package/dist/cjs/src/pro/htx.js +22 -3
  31. package/dist/cjs/src/pro/hyperliquid.js +4 -0
  32. package/dist/cjs/src/pro/kraken.js +282 -458
  33. package/dist/cjs/src/pro/mexc.js +16 -11
  34. package/dist/cjs/src/pro/woo.js +48 -4
  35. package/dist/cjs/src/probit.js +1 -1
  36. package/dist/cjs/src/woo.js +20 -2
  37. package/dist/cjs/src/xt.js +1 -1
  38. package/js/ccxt.d.ts +2 -8
  39. package/js/ccxt.js +2 -6
  40. package/js/src/abstract/coinbase.d.ts +1 -0
  41. package/js/src/abstract/coinbaseadvanced.d.ts +1 -0
  42. package/js/src/abstract/phemex.d.ts +1 -0
  43. package/js/src/abstract/xt.d.ts +1 -1
  44. package/js/src/apex.js +9 -0
  45. package/js/src/base/Exchange.d.ts +5 -2
  46. package/js/src/base/Exchange.js +15 -3
  47. package/js/src/base/functions/throttle.js +1 -1
  48. package/js/src/binance.js +1 -1
  49. package/js/src/bingx.js +1 -1
  50. package/js/src/bitfinex.d.ts +1 -1
  51. package/js/src/bitfinex.js +4 -2
  52. package/js/src/bitget.d.ts +15 -2
  53. package/js/src/bitget.js +20 -2
  54. package/js/src/bithumb.d.ts +1 -1
  55. package/js/src/bitmart.js +2 -2
  56. package/js/src/bitmex.d.ts +1 -1
  57. package/js/src/bitopro.d.ts +1 -1
  58. package/js/src/bitso.d.ts +1 -1
  59. package/js/src/bittrade.d.ts +1 -1
  60. package/js/src/blofin.d.ts +1 -1
  61. package/js/src/btcmarkets.d.ts +1 -1
  62. package/js/src/btcmarkets.js +4 -2
  63. package/js/src/bybit.d.ts +1 -1
  64. package/js/src/bybit.js +28 -7
  65. package/js/src/coinbase.d.ts +1 -1
  66. package/js/src/coinbase.js +1 -0
  67. package/js/src/coincatch.js +2 -1
  68. package/js/src/coinex.d.ts +1 -1
  69. package/js/src/cryptocom.d.ts +1 -1
  70. package/js/src/deribit.js +21 -19
  71. package/js/src/digifinex.d.ts +1 -1
  72. package/js/src/hibachi.d.ts +1 -1
  73. package/js/src/htx.d.ts +1 -1
  74. package/js/src/hyperliquid.d.ts +1 -1
  75. package/js/src/kraken.d.ts +1 -1
  76. package/js/src/kraken.js +4 -0
  77. package/js/src/krakenfutures.js +26 -5
  78. package/js/src/kucoin.js +1 -1
  79. package/js/src/kucoinfutures.d.ts +1 -1
  80. package/js/src/latoken.js +1 -0
  81. package/js/src/mexc.d.ts +1 -1
  82. package/js/src/mexc.js +1 -0
  83. package/js/src/oceanex.d.ts +1 -1
  84. package/js/src/okx.d.ts +1 -1
  85. package/js/src/okx.js +18 -9
  86. package/js/src/onetrading.d.ts +1 -1
  87. package/js/src/onetrading.js +2 -1
  88. package/js/src/phemex.js +1 -0
  89. package/js/src/pro/alpaca.js +17 -1
  90. package/js/src/pro/apex.d.ts +2 -0
  91. package/js/src/pro/apex.js +18 -1
  92. package/js/src/pro/binance.js +5 -5
  93. package/js/src/pro/bitget.d.ts +1 -0
  94. package/js/src/pro/bitget.js +10 -3
  95. package/js/src/pro/bitvavo.d.ts +2 -2
  96. package/js/src/pro/coinbase.js +8 -7
  97. package/js/src/pro/htx.js +22 -3
  98. package/js/src/pro/hyperliquid.js +4 -0
  99. package/js/src/pro/kraken.d.ts +7 -8
  100. package/js/src/pro/kraken.js +282 -458
  101. package/js/src/pro/mexc.js +16 -11
  102. package/js/src/pro/woo.js +48 -4
  103. package/js/src/probit.js +1 -1
  104. package/js/src/timex.d.ts +1 -1
  105. package/js/src/woo.js +20 -2
  106. package/js/src/xt.js +1 -1
  107. package/package.json +1 -1
  108. package/js/src/abstract/okcoin.d.ts +0 -77
  109. package/js/src/abstract/okcoin.js +0 -11
  110. package/js/src/okcoin.d.ts +0 -346
  111. package/js/src/okcoin.js +0 -3214
  112. package/js/src/pro/okcoin.d.ts +0 -91
  113. package/js/src/pro/okcoin.js +0 -763
@@ -14,15 +14,31 @@ export default class alpaca extends alpacaRest {
14
14
  return this.deepExtend(super.describe(), {
15
15
  'has': {
16
16
  'ws': true,
17
+ 'createOrderWithTakeProfitAndStopLossWs': false,
18
+ 'createReduceOnlyOrderWs': false,
19
+ 'createStopLossOrderWs': false,
20
+ 'createTakeProfitOrderWs': false,
21
+ 'fetchPositionForSymbolWs': false,
22
+ 'fetchPositionsForSymbolWs': false,
23
+ 'fetchPositionsWs': false,
24
+ 'fetchPositionWs': false,
25
+ 'unWatchPositions': false,
17
26
  'watchBalance': false,
27
+ 'watchLiquidations': false,
28
+ 'watchLiquidationsForSymbols': false,
29
+ 'watchMarkPrice': false,
30
+ 'watchMarkPrices': false,
31
+ 'watchMyLiquidations': false,
32
+ 'watchMyLiquidationsForSymbols': false,
18
33
  'watchMyTrades': true,
19
34
  'watchOHLCV': true,
20
35
  'watchOrderBook': true,
21
36
  'watchOrders': true,
37
+ 'watchPosition': false,
38
+ 'watchPositions': false,
22
39
  'watchTicker': true,
23
40
  'watchTickers': false,
24
41
  'watchTrades': true,
25
- 'watchPosition': false,
26
42
  },
27
43
  'urls': {
28
44
  'api': {
@@ -153,7 +153,9 @@ export default class apex extends apexRest {
153
153
  args: string[];
154
154
  op: string;
155
155
  };
156
+ pong(client: any, message: any): Promise<void>;
156
157
  handlePong(client: Client, message: any): any;
158
+ handlePing(client: Client, message: any): void;
157
159
  handleAccount(client: Client, message: any): void;
158
160
  handleAuthenticate(client: Client, message: any): any;
159
161
  handleSubscriptionStatus(client: Client, message: any): any;
@@ -7,7 +7,7 @@
7
7
  // ---------------------------------------------------------------------------
8
8
  import apexRest from '../apex.js';
9
9
  import { ArrayCache, ArrayCacheBySymbolById, ArrayCacheBySymbolBySide, ArrayCacheByTimestamp } from '../base/ws/Cache.js';
10
- import { ArgumentsRequired, AuthenticationError, ExchangeError } from '../base/errors.js';
10
+ import { ArgumentsRequired, AuthenticationError, ExchangeError, NetworkError } from '../base/errors.js';
11
11
  import { sha256 } from '../static_dependencies/noble-hashes/sha256.js';
12
12
  // ---------------------------------------------------------------------------
13
13
  export default class apex extends apexRest {
@@ -945,6 +945,7 @@ export default class apex extends apexRest {
945
945
  'recentlyTrade': this.handleTrades,
946
946
  'pong': this.handlePong,
947
947
  'auth': this.handleAuthenticate,
948
+ 'ping': this.handlePing,
948
949
  };
949
950
  const exacMethod = this.safeValue(methods, topic);
950
951
  if (exacMethod !== undefined) {
@@ -974,6 +975,19 @@ export default class apex extends apexRest {
974
975
  'op': 'ping',
975
976
  };
976
977
  }
978
+ async pong(client, message) {
979
+ //
980
+ // {"op": "ping", "args": ["1761069137485"]}
981
+ //
982
+ const timeStamp = this.milliseconds();
983
+ try {
984
+ await client.send({ 'args': [timeStamp.toString()], 'op': 'pong' });
985
+ }
986
+ catch (e) {
987
+ const error = new NetworkError(this.id + ' handlePing failed with error ' + this.json(e));
988
+ client.reset(error);
989
+ }
990
+ }
977
991
  handlePong(client, message) {
978
992
  //
979
993
  // {
@@ -988,6 +1002,9 @@ export default class apex extends apexRest {
988
1002
  client.lastPong = this.safeInteger(message, 'pong');
989
1003
  return message;
990
1004
  }
1005
+ handlePing(client, message) {
1006
+ this.spawn(this.pong, client, message);
1007
+ }
991
1008
  handleAccount(client, message) {
992
1009
  const contents = this.safeDict(message, 'contents', {});
993
1010
  const fills = this.safeList(contents, 'fills', []);
@@ -425,7 +425,7 @@ export default class binance extends binanceRest {
425
425
  // }
426
426
  //
427
427
  const marketId = this.safeString(liquidation, 's');
428
- market = this.safeMarket(marketId, market);
428
+ market = this.safeMarket(marketId, market, undefined, 'swap');
429
429
  const timestamp = this.safeInteger(liquidation, 'T');
430
430
  return this.safeLiquidation({
431
431
  'info': liquidation,
@@ -547,8 +547,8 @@ export default class binance extends binanceRest {
547
547
  return;
548
548
  }
549
549
  const marketId = this.safeString(message, 's');
550
- const market = this.safeMarket(marketId);
551
- const symbol = this.safeSymbol(marketId);
550
+ const market = this.safeMarket(marketId, undefined, undefined, 'swap');
551
+ const symbol = this.safeSymbol(marketId, market);
552
552
  const liquidation = this.parseWsLiquidation(message, market);
553
553
  let myLiquidations = this.safeValue(this.myLiquidations, symbol);
554
554
  if (myLiquidations === undefined) {
@@ -922,7 +922,7 @@ export default class binance extends binanceRest {
922
922
  // }
923
923
  //
924
924
  const isSpot = this.isSpotUrl(client);
925
- const marketType = (isSpot) ? 'spot' : 'contract';
925
+ const marketType = (isSpot) ? 'spot' : 'swap';
926
926
  const marketId = this.safeString(message, 's');
927
927
  const market = this.safeMarket(marketId, undefined, undefined, marketType);
928
928
  const symbol = market['symbol'];
@@ -4029,7 +4029,7 @@ export default class binance extends binanceRest {
4029
4029
  return this.safePosition({
4030
4030
  'info': position,
4031
4031
  'id': undefined,
4032
- 'symbol': this.safeSymbol(marketId, undefined, undefined, 'contract'),
4032
+ 'symbol': this.safeSymbol(marketId, undefined, undefined, 'swap'),
4033
4033
  'notional': undefined,
4034
4034
  'marginMode': this.safeString(position, 'mt'),
4035
4035
  'liquidationPrice': undefined,
@@ -209,6 +209,7 @@ export default class bitget extends bitgetRest {
209
209
  * @name bitget#watchOrders
210
210
  * @description watches information on multiple orders made by the user
211
211
  * @see https://www.bitget.com/api-doc/spot/websocket/private/Order-Channel
212
+ * @see https://www.bitget.com/api-doc/spot/websocket/private/Plan-Order-Channel
212
213
  * @see https://www.bitget.com/api-doc/contract/websocket/private/Order-Channel
213
214
  * @see https://www.bitget.com/api-doc/contract/websocket/private/Plan-Order-Channel
214
215
  * @see https://www.bitget.com/api-doc/margin/cross/websocket/private/Cross-Orders
@@ -1499,6 +1499,7 @@ export default class bitget extends bitgetRest {
1499
1499
  * @name bitget#watchOrders
1500
1500
  * @description watches information on multiple orders made by the user
1501
1501
  * @see https://www.bitget.com/api-doc/spot/websocket/private/Order-Channel
1502
+ * @see https://www.bitget.com/api-doc/spot/websocket/private/Plan-Order-Channel
1502
1503
  * @see https://www.bitget.com/api-doc/contract/websocket/private/Order-Channel
1503
1504
  * @see https://www.bitget.com/api-doc/contract/websocket/private/Plan-Order-Channel
1504
1505
  * @see https://www.bitget.com/api-doc/margin/cross/websocket/private/Cross-Orders
@@ -2750,7 +2751,9 @@ export default class bitget extends bitgetRest {
2750
2751
  delete client.subscriptions[messageHash];
2751
2752
  }
2752
2753
  const error = new UnsubscribeError(this.id + ' orderbook ' + symbol);
2753
- client.reject(error, subMessageHash);
2754
+ if (subMessageHash in client.futures) {
2755
+ client.reject(error, subMessageHash);
2756
+ }
2754
2757
  client.resolve(true, messageHash);
2755
2758
  }
2756
2759
  handleTradesUnSubscription(client, message) {
@@ -2775,7 +2778,9 @@ export default class bitget extends bitgetRest {
2775
2778
  delete client.subscriptions[messageHash];
2776
2779
  }
2777
2780
  const error = new UnsubscribeError(this.id + ' trades ' + symbol);
2778
- client.reject(error, subMessageHash);
2781
+ if (subMessageHash in client.futures) {
2782
+ client.reject(error, subMessageHash);
2783
+ }
2779
2784
  client.resolve(true, messageHash);
2780
2785
  }
2781
2786
  handleTickerUnSubscription(client, message) {
@@ -2800,7 +2805,9 @@ export default class bitget extends bitgetRest {
2800
2805
  delete client.subscriptions[messageHash];
2801
2806
  }
2802
2807
  const error = new UnsubscribeError(this.id + ' ticker ' + symbol);
2803
- client.reject(error, subMessageHash);
2808
+ if (subMessageHash in client.futures) {
2809
+ client.reject(error, subMessageHash);
2810
+ }
2804
2811
  client.resolve(true, messageHash);
2805
2812
  }
2806
2813
  handleOHLCVUnSubscription(client, message) {
@@ -1,5 +1,5 @@
1
1
  import bitvavoRest from '../bitvavo.js';
2
- import { Int, Str, OrderSide, OrderType, OrderBook, Ticker, Trade, Order, OHLCV, Balances, Num, TradingFees, Strings, Tickers, Bool } from '../base/types.js';
2
+ import { Int, Str, OrderSide, OrderType, OrderBook, Ticker, Trade, Order, OHLCV, Balances, Num, TradingFees, Strings, Tickers, Bool, Currencies } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class bitvavo extends bitvavoRest {
5
5
  describe(): any;
@@ -293,7 +293,7 @@ export default class bitvavo extends bitvavoRest {
293
293
  * @param {object} [params] extra parameters specific to the bitvavo api endpoint
294
294
  * @returns {object} an associative dictionary of currencies
295
295
  */
296
- fetchCurrenciesWs(params?: {}): Promise<any>;
296
+ fetchCurrenciesWs(params?: {}): Promise<Currencies>;
297
297
  handleFetchCurrencies(client: Client, message: any): void;
298
298
  handleTradingFees(client: any, message: any): void;
299
299
  /**
@@ -776,8 +776,9 @@ export default class coinbase extends coinbaseRest {
776
776
  const id = this.safeString(order, 'order_id');
777
777
  const clientOrderId = this.safeString(order, 'client_order_id');
778
778
  const marketId = this.safeString(order, 'product_id');
779
- const datetime = this.safeString(order, 'time');
779
+ const datetime = this.safeString2(order, 'time', 'creation_time');
780
780
  market = this.safeMarket(marketId, market);
781
+ const stopPrice = this.safeString(order, 'stop_price');
781
782
  return this.safeOrder({
782
783
  'info': order,
783
784
  'symbol': this.safeString(market, 'symbol'),
@@ -789,12 +790,12 @@ export default class coinbase extends coinbaseRest {
789
790
  'type': this.safeString(order, 'order_type'),
790
791
  'timeInForce': undefined,
791
792
  'postOnly': undefined,
792
- 'side': this.safeString(order, 'side'),
793
- 'price': undefined,
794
- 'stopPrice': undefined,
795
- 'triggerPrice': undefined,
796
- 'amount': undefined,
797
- 'cost': undefined,
793
+ 'side': this.safeString2(order, 'side', 'order_side'),
794
+ 'price': this.safeString(order, 'limit_price'),
795
+ 'stopPrice': stopPrice,
796
+ 'triggerPrice': stopPrice,
797
+ 'amount': this.safeString(order, 'cumulative_quantity'),
798
+ 'cost': this.omitZero(this.safeString(order, 'filled_value')),
798
799
  'average': this.safeString(order, 'avg_price'),
799
800
  'filled': this.safeString(order, 'cumulative_quantity'),
800
801
  'remaining': this.safeString(order, 'leaves_quantity'),
package/js/src/pro/htx.js CHANGED
@@ -929,24 +929,40 @@ export default class htx extends htxRest {
929
929
  //
930
930
  // spot
931
931
  //
932
+ // for new order creation
933
+ //
932
934
  // {
933
935
  // "action":"push",
934
936
  // "ch":"orders#btcusdt", // or "orders#*" for global subscriptions
935
937
  // "data": {
938
+ // "orderStatus": "submitted",
939
+ // "eventType": "creation",
940
+ // "totalTradeAmount": 0 // for "submitted" order status
941
+ // "orderCreateTime": 1645116048355, // only when `submitted` status
936
942
  // "orderSource": "spot-web",
937
- // "orderCreateTime": 1645116048355,
938
943
  // "accountId": 44234548,
939
944
  // "orderPrice": "100",
940
945
  // "orderSize": "0.05",
941
946
  // "symbol": "ethusdt",
942
947
  // "type": "buy-limit",
943
948
  // "orderId": "478861479986886",
944
- // "eventType": "creation",
945
949
  // "clientOrderId": '',
946
- // "orderStatus": "submitted"
947
950
  // }
948
951
  // }
949
952
  //
953
+ // for filled order, additional fields are present:
954
+ //
955
+ // "orderStatus": "filled",
956
+ // "eventType": "trade",
957
+ // "totalTradeAmount": "5.9892649859",
958
+ // "tradePrice": "0.676669",
959
+ // "tradeVolume": "8.8511",
960
+ // "tradeTime": 1760427775894,
961
+ // "aggressor": false,
962
+ // "execAmt": "8.8511",
963
+ // "tradeId": 100599712781,
964
+ // "remainAmt": "0",
965
+ //
950
966
  // spot wrapped trade
951
967
  //
952
968
  // {
@@ -1058,6 +1074,9 @@ export default class htx extends htxRest {
1058
1074
  'symbol': market['symbol'],
1059
1075
  'filled': this.parseNumber(filled),
1060
1076
  'remaining': this.parseNumber(remaining),
1077
+ 'price': this.safeNumber(data, 'orderPrice'),
1078
+ 'amount': this.safeNumber(data, 'orderSize'),
1079
+ 'info': data,
1061
1080
  };
1062
1081
  parsedOrder = order;
1063
1082
  }
@@ -454,8 +454,10 @@ export default class hyperliquid extends hyperliquidRest {
454
454
  const assetObject = spotAssets[i];
455
455
  const marketId = this.safeString(assetObject, 'coin');
456
456
  const market = this.safeMarket(marketId, undefined, undefined, 'spot');
457
+ const symbol = market['symbol'];
457
458
  const ticker = this.parseWsTicker(assetObject, market);
458
459
  parsedTickers.push(ticker);
460
+ this.tickers[symbol] = ticker;
459
461
  }
460
462
  // perpetuals
461
463
  const meta = this.safeDict(rawData, 'meta', {});
@@ -465,7 +467,9 @@ export default class hyperliquid extends hyperliquidRest {
465
467
  const data = this.extend(this.safeDict(universe, i, {}), this.safeDict(assetCtxs, i, {}));
466
468
  const id = data['name'] + '/USDC:USDC';
467
469
  const market = this.safeMarket(id, undefined, undefined, 'swap');
470
+ const symbol = market['symbol'];
468
471
  const ticker = this.parseWsTicker(data, market);
472
+ this.tickers[symbol] = ticker;
469
473
  parsedTickers.push(ticker);
470
474
  }
471
475
  const tickers = this.indexBy(parsedTickers, 'symbol');
@@ -72,7 +72,6 @@ export default class kraken extends krakenRest {
72
72
  handleTrades(client: Client, message: any): void;
73
73
  handleOHLCV(client: Client, message: any, subscription: any): void;
74
74
  requestId(): any;
75
- watchPublic(name: any, symbol: any, params?: {}): Promise<any>;
76
75
  /**
77
76
  * @method
78
77
  * @name kraken#watchTicker
@@ -153,7 +152,7 @@ export default class kraken extends krakenRest {
153
152
  * @method
154
153
  * @name kraken#watchOHLCV
155
154
  * @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
156
- * @see https://docs.kraken.com/api/docs/websocket-v1/ohlc
155
+ * @see https://docs.kraken.com/api/docs/websocket-v2/ohlc
157
156
  * @param {string} symbol unified symbol of the market to fetch OHLCV data for
158
157
  * @param {string} timeframe the length of time each candle represents
159
158
  * @param {int} [since] timestamp in ms of the earliest candle to fetch
@@ -177,7 +176,7 @@ export default class kraken extends krakenRest {
177
176
  * @method
178
177
  * @name kraken#watchMyTrades
179
178
  * @description watches information on multiple trades made by the user
180
- * @see https://docs.kraken.com/api/docs/websocket-v1/owntrades
179
+ * @see https://docs.kraken.com/api/docs/websocket-v2/executions
181
180
  * @param {string} symbol unified market symbol of the market trades were made in
182
181
  * @param {int} [since] the earliest time in ms to fetch trades for
183
182
  * @param {int} [limit] the maximum number of trade structures to retrieve
@@ -187,25 +186,25 @@ export default class kraken extends krakenRest {
187
186
  watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
188
187
  handleMyTrades(client: Client, message: any, subscription?: any): void;
189
188
  parseWsTrade(trade: any, market?: any): {
189
+ info: any;
190
190
  id: string;
191
191
  order: string;
192
- info: any;
193
192
  timestamp: number;
194
193
  datetime: string;
195
- symbol: any;
194
+ symbol: string;
196
195
  type: string;
197
196
  side: string;
198
- takerOrMaker: any;
197
+ takerOrMaker: string;
199
198
  price: number;
200
199
  amount: number;
201
- cost: any;
200
+ cost: number;
202
201
  fee: any;
203
202
  };
204
203
  /**
205
204
  * @method
206
205
  * @name kraken#watchOrders
207
- * @see https://docs.kraken.com/api/docs/websocket-v1/openorders
208
206
  * @description watches information on multiple orders made by the user
207
+ * @see https://docs.kraken.com/api/docs/websocket-v2/executions
209
208
  * @param {string} symbol unified market symbol of the market orders were made in
210
209
  * @param {int} [since] the earliest time in ms to fetch orders for
211
210
  * @param {int} [limit] the maximum number of orde structures to retrieve