tardis-dev 13.4.10 → 13.4.13

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 (87) hide show
  1. package/dist/consts.d.ts +6 -2
  2. package/dist/consts.d.ts.map +1 -1
  3. package/dist/consts.js +26 -3
  4. package/dist/consts.js.map +1 -1
  5. package/dist/mappers/bybit.d.ts +1 -1
  6. package/dist/mappers/bybitspot.d.ts +96 -0
  7. package/dist/mappers/bybitspot.d.ts.map +1 -0
  8. package/dist/mappers/bybitspot.js +102 -0
  9. package/dist/mappers/bybitspot.js.map +1 -0
  10. package/dist/mappers/cryptocom.d.ts +257 -0
  11. package/dist/mappers/cryptocom.d.ts.map +1 -0
  12. package/dist/mappers/cryptocom.js +193 -0
  13. package/dist/mappers/cryptocom.js.map +1 -0
  14. package/dist/mappers/huobi.d.ts +3 -3
  15. package/dist/mappers/index.d.ts +4 -4
  16. package/dist/mappers/index.d.ts.map +1 -1
  17. package/dist/mappers/index.js +25 -6
  18. package/dist/mappers/index.js.map +1 -1
  19. package/dist/mappers/poloniex.d.ts +60 -0
  20. package/dist/mappers/poloniex.d.ts.map +1 -1
  21. package/dist/mappers/poloniex.js +73 -2
  22. package/dist/mappers/poloniex.js.map +1 -1
  23. package/dist/mappers/serum.d.ts +12 -0
  24. package/dist/mappers/serum.d.ts.map +1 -1
  25. package/dist/mappers/serum.js +2 -2
  26. package/dist/mappers/serum.js.map +1 -1
  27. package/dist/realtimefeeds/ascendex.d.ts +2 -0
  28. package/dist/realtimefeeds/ascendex.d.ts.map +1 -1
  29. package/dist/realtimefeeds/ascendex.js +6 -0
  30. package/dist/realtimefeeds/ascendex.js.map +1 -1
  31. package/dist/realtimefeeds/bybit.d.ts +2 -0
  32. package/dist/realtimefeeds/bybit.d.ts.map +1 -1
  33. package/dist/realtimefeeds/bybit.js +6 -0
  34. package/dist/realtimefeeds/bybit.js.map +1 -1
  35. package/dist/realtimefeeds/bybitspot.d.ts +10 -0
  36. package/dist/realtimefeeds/bybitspot.d.ts.map +1 -0
  37. package/dist/realtimefeeds/bybitspot.js +40 -0
  38. package/dist/realtimefeeds/bybitspot.js.map +1 -0
  39. package/dist/realtimefeeds/cryptocom.d.ts +10 -0
  40. package/dist/realtimefeeds/cryptocom.d.ts.map +1 -0
  41. package/dist/realtimefeeds/cryptocom.js +49 -0
  42. package/dist/realtimefeeds/cryptocom.js.map +1 -0
  43. package/dist/realtimefeeds/cryptocomderivatives.d.ts +10 -0
  44. package/dist/realtimefeeds/cryptocomderivatives.d.ts.map +1 -0
  45. package/dist/realtimefeeds/cryptocomderivatives.js +51 -0
  46. package/dist/realtimefeeds/cryptocomderivatives.js.map +1 -0
  47. package/dist/realtimefeeds/delta.d.ts +2 -0
  48. package/dist/realtimefeeds/delta.d.ts.map +1 -1
  49. package/dist/realtimefeeds/delta.js +6 -0
  50. package/dist/realtimefeeds/delta.js.map +1 -1
  51. package/dist/realtimefeeds/ftx.d.ts +2 -0
  52. package/dist/realtimefeeds/ftx.d.ts.map +1 -1
  53. package/dist/realtimefeeds/ftx.js +6 -0
  54. package/dist/realtimefeeds/ftx.js.map +1 -1
  55. package/dist/realtimefeeds/index.d.ts.map +1 -1
  56. package/dist/realtimefeeds/index.js +9 -1
  57. package/dist/realtimefeeds/index.js.map +1 -1
  58. package/dist/realtimefeeds/mango.d.ts +5 -0
  59. package/dist/realtimefeeds/mango.d.ts.map +1 -0
  60. package/dist/realtimefeeds/mango.js +12 -0
  61. package/dist/realtimefeeds/mango.js.map +1 -0
  62. package/dist/realtimefeeds/poloniex.d.ts +6 -3
  63. package/dist/realtimefeeds/poloniex.d.ts.map +1 -1
  64. package/dist/realtimefeeds/poloniex.js +14 -9
  65. package/dist/realtimefeeds/poloniex.js.map +1 -1
  66. package/dist/realtimefeeds/realtimefeed.d.ts +1 -0
  67. package/dist/realtimefeeds/realtimefeed.d.ts.map +1 -1
  68. package/dist/realtimefeeds/realtimefeed.js +7 -1
  69. package/dist/realtimefeeds/realtimefeed.js.map +1 -1
  70. package/package.json +1 -1
  71. package/src/consts.ts +30 -3
  72. package/src/mappers/bybitspot.ts +129 -0
  73. package/src/mappers/cryptocom.ts +395 -0
  74. package/src/mappers/index.ts +30 -8
  75. package/src/mappers/poloniex.ts +134 -1
  76. package/src/mappers/serum.ts +27 -13
  77. package/src/realtimefeeds/ascendex.ts +8 -0
  78. package/src/realtimefeeds/bybit.ts +8 -0
  79. package/src/realtimefeeds/bybitspot.ts +39 -0
  80. package/src/realtimefeeds/cryptocom.ts +48 -0
  81. package/src/realtimefeeds/cryptocomderivatives.ts +50 -0
  82. package/src/realtimefeeds/delta.ts +8 -0
  83. package/src/realtimefeeds/ftx.ts +8 -0
  84. package/src/realtimefeeds/index.ts +9 -1
  85. package/src/realtimefeeds/mango.ts +5 -0
  86. package/src/realtimefeeds/poloniex.ts +16 -10
  87. package/src/realtimefeeds/realtimefeed.ts +7 -1
@@ -5,25 +5,30 @@ const realtimefeed_1 = require("./realtimefeed");
5
5
  class PoloniexRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
6
6
  constructor() {
7
7
  super(...arguments);
8
- this.wssURL = 'wss://api2.poloniex.com';
8
+ this.wssURL = 'wss://ws.poloniex.com/ws/public';
9
+ this.sendCustomPing = () => {
10
+ this.send({
11
+ event: 'ping'
12
+ });
13
+ };
9
14
  }
10
15
  mapToSubscribeMessages(filters) {
11
- const allSymbols = filters.flatMap((filter) => {
16
+ return filters.flatMap((filter) => {
12
17
  if (!filter.symbols || filter.symbols.length === 0) {
13
18
  throw new Error('PoloniexRealTimeFeed requires explicitly specified symbols when subscribing to live feed');
14
19
  }
15
- return filter.symbols;
16
- });
17
- const uniqueSymbols = [...new Set(allSymbols)];
18
- return uniqueSymbols.map((symbol) => {
19
20
  return {
20
- command: 'subscribe',
21
- channel: symbol
21
+ event: 'subscribe',
22
+ channel: [filter.channel],
23
+ symbols: filter.symbols
22
24
  };
23
25
  });
24
26
  }
27
+ messageIsHeartbeat(msg) {
28
+ return msg.event === 'pong';
29
+ }
25
30
  messageIsError(message) {
26
- return message.error !== undefined && message.error !== null;
31
+ return message.event === 'error';
27
32
  }
28
33
  }
29
34
  exports.PoloniexRealTimeFeed = PoloniexRealTimeFeed;
@@ -1 +1 @@
1
- {"version":3,"file":"poloniex.js","sourceRoot":"","sources":["../../src/realtimefeeds/poloniex.ts"],"names":[],"mappings":";;;AACA,iDAAiD;AAEjD,MAAa,oBAAqB,SAAQ,+BAAgB;IAA1D;;QACqB,WAAM,GAAG,yBAAyB,CAAA;IAuBvD,CAAC;IArBW,sBAAsB,CAAC,OAAyB;QACxD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAA;aAC5G;YACD,OAAO,MAAM,CAAC,OAAO,CAAA;QACvB,CAAC,CAAC,CAAA;QAEF,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;QAE9C,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAClC,OAAO;gBACL,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,MAAM;aAChB,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAES,cAAc,CAAC,OAAY;QACnC,OAAO,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,CAAA;IAC9D,CAAC;CACF;AAxBD,oDAwBC"}
1
+ {"version":3,"file":"poloniex.js","sourceRoot":"","sources":["../../src/realtimefeeds/poloniex.ts"],"names":[],"mappings":";;;AACA,iDAAiD;AAEjD,MAAa,oBAAqB,SAAQ,+BAAgB;IAA1D;;QACqB,WAAM,GAAG,iCAAiC,CAAA;QAgBnD,mBAAc,GAAG,GAAG,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC;gBACR,KAAK,EAAE,MAAM;aACd,CAAC,CAAA;QACJ,CAAC,CAAA;IASH,CAAC;IA3BW,sBAAsB,CAAC,OAAyB;QACxD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAChC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAA;aAC5G;YAED,OAAO;gBACL,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAQS,kBAAkB,CAAC,GAAQ;QACnC,OAAO,GAAG,CAAC,KAAK,KAAK,MAAM,CAAA;IAC7B,CAAC;IAES,cAAc,CAAC,OAAY;QACnC,OAAO,OAAO,CAAC,KAAK,KAAK,OAAO,CAAA;IAClC,CAAC;CACF;AA9BD,oDA8BC"}
@@ -26,6 +26,7 @@ export declare abstract class RealTimeFeedBase implements RealTimeFeedIterable {
26
26
  protected send(msg: any): void;
27
27
  protected abstract mapToSubscribeMessages(filters: Filter<string>[]): any[];
28
28
  protected abstract messageIsError(message: any): boolean;
29
+ protected sendCustomPing: (() => void) | undefined;
29
30
  protected isIgnoredError(_message: any): boolean;
30
31
  protected messageIsHeartbeat(_msg: any): boolean;
31
32
  protected provideManualSnapshots(_filters: Filter<string>[], _shouldCancel: () => boolean): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"realtimefeed.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/realtimefeed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realtimefeed.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/realtimefeed.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ class RealTimeFeedBase {
19
19
  this.manualSnapshotsBuffer = [];
20
20
  this._receivedMessagesCount = 0;
21
21
  this._connectionId = connectionCounter++;
22
+ this.sendCustomPing = undefined;
22
23
  this._onConnectionEstabilished = async () => {
23
24
  try {
24
25
  const subscribeMessages = this.mapToSubscribeMessages(this._filters);
@@ -208,7 +209,12 @@ class RealTimeFeedBase {
208
209
  if (this._ws === undefined || this._ws.readyState !== ws_1.default.OPEN) {
209
210
  return;
210
211
  }
211
- this._ws.ping();
212
+ if (this.sendCustomPing !== undefined) {
213
+ this.sendCustomPing();
214
+ }
215
+ else {
216
+ this._ws.ping();
217
+ }
212
218
  }, 5 * handy_1.ONE_SEC_IN_MS);
213
219
  }
214
220
  }
@@ -1 +1 @@
1
- {"version":3,"file":"realtimefeed.js","sourceRoot":"","sources":["../../src/realtimefeeds/realtimefeed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realtimefeed.js","sourceRoot":"","sources":["../../src/realtimefeeds/realtimefeed.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tardis-dev",
3
- "version": "13.4.10",
3
+ "version": "13.4.13",
4
4
  "engines": {
5
5
  "node": ">=12"
6
6
  },
package/src/consts.ts CHANGED
@@ -23,6 +23,7 @@ export const EXCHANGES = [
23
23
  'gemini',
24
24
  'poloniex',
25
25
  'bybit',
26
+ 'bybit-spot',
26
27
  'phemex',
27
28
  'delta',
28
29
  'ftx-us',
@@ -39,8 +40,11 @@ export const EXCHANGES = [
39
40
  'ascendex',
40
41
  'dydx',
41
42
  'serum',
43
+ 'mango',
42
44
  'huobi-dm-options',
43
- 'star-atlas'
45
+ 'star-atlas',
46
+ 'crypto-com',
47
+ 'crypto-com-derivatives'
44
48
  ] as const
45
49
 
46
50
  const BINANCE_CHANNELS = ['trade', 'aggTrade', 'ticker', 'depth', 'depthSnapshot', 'bookTicker', 'recentTrades', 'borrowInterest'] as const
@@ -338,7 +342,7 @@ const DELTA_CHANNELS = [
338
342
 
339
343
  const GATE_IO_CHANNELS = ['trades', 'depth', 'ticker'] as const
340
344
  const GATE_IO_FUTURES_CHANNELS = ['trades', 'order_book', 'tickers', 'book_ticker'] as const
341
- const POLONIEX_CHANNELS = ['price_aggregated_book'] as const
345
+ const POLONIEX_CHANNELS = ['price_aggregated_book', 'trades', 'ticker', 'book_lv2'] as const
342
346
  const UPBIT_CHANNELS = ['trade', 'orderbook', 'ticker'] as const
343
347
  const ASCENDEX_CHANNELS = ['trades', 'depth-realtime', 'depth-snapshot-realtime', 'bbo', 'futures-pricing-data'] as const
344
348
  const DYDX_CHANNELS = ['v3_trades', 'v3_orderbook', 'v3_markets'] as const
@@ -355,8 +359,27 @@ const SERUM_CHANNELS = [
355
359
  'done'
356
360
  ] as const
357
361
 
362
+ const MANGO_CHANNELS = [
363
+ 'recent_trades',
364
+ 'trade',
365
+ 'quote',
366
+ 'l2snapshot',
367
+ 'l2update',
368
+ 'l3snapshot',
369
+ 'open',
370
+ 'fill',
371
+ 'change',
372
+ 'done'
373
+ ] as const
374
+
358
375
  const HUOBI_DM_OPTIONS_CHANNELS = ['trade', 'detail', 'depth', 'bbo', 'open_interest', 'option_market_index', 'option_index'] as const
359
376
 
377
+ const BYBIT_SPOT_CHANNELS = ['trade', 'bookTicker', 'depth']
378
+
379
+ const CRYPTO_COM_CHANNELS = ['trade', 'book', 'ticker']
380
+
381
+ const CRYPTO_COM_DERIVATIVES = ['trade', 'book', 'ticker', 'settlement', 'index', 'mark', 'funding']
382
+
360
383
  export const EXCHANGE_CHANNELS_INFO = {
361
384
  bitmex: BITMEX_CHANNELS,
362
385
  coinbase: COINBASE_CHANNELS,
@@ -385,6 +408,7 @@ export const EXCHANGE_CHANNELS_INFO = {
385
408
  'huobi-dm-swap': HUOBI_DM_SWAP_CHANNELS,
386
409
  'huobi-dm-linear-swap': HUOBI_DM_LINEAR_SWAP_CHANNELS,
387
410
  bybit: BYBIT_CHANNELS,
411
+ 'bybit-spot': BYBIT_SPOT_CHANNELS,
388
412
  okcoin: OKCOIN_CHANNELS,
389
413
  hitbtc: HITBTC_CHANNELS,
390
414
  coinflex: COINFLEX_CHANNELS,
@@ -399,5 +423,8 @@ export const EXCHANGE_CHANNELS_INFO = {
399
423
  dydx: DYDX_CHANNELS,
400
424
  serum: SERUM_CHANNELS,
401
425
  'star-atlas': SERUM_CHANNELS,
402
- 'huobi-dm-options': HUOBI_DM_OPTIONS_CHANNELS
426
+ 'huobi-dm-options': HUOBI_DM_OPTIONS_CHANNELS,
427
+ mango: MANGO_CHANNELS,
428
+ 'crypto-com': CRYPTO_COM_CHANNELS,
429
+ 'crypto-com-derivatives': CRYPTO_COM_DERIVATIVES
403
430
  }
@@ -0,0 +1,129 @@
1
+ import { upperCaseSymbols } from '../handy'
2
+ import { BookChange, Exchange, BookTicker, Trade } from '../types'
3
+ import { Mapper } from './mapper'
4
+
5
+ export class BybitSpotTradesMapper implements Mapper<'bybit-spot', Trade> {
6
+ constructor(private readonly _exchange: Exchange) {}
7
+ canHandle(message: BybitSpotTradeMessage) {
8
+ return message.topic === 'trade' && message.data !== undefined
9
+ }
10
+
11
+ getFilters(symbols?: string[]) {
12
+ symbols = upperCaseSymbols(symbols)
13
+
14
+ return [
15
+ {
16
+ channel: 'trade',
17
+ symbols
18
+ } as const
19
+ ]
20
+ }
21
+
22
+ *map(message: BybitSpotTradeMessage, localTimestamp: Date): IterableIterator<Trade> {
23
+ const bybitTrade = message.data
24
+ yield {
25
+ type: 'trade',
26
+ symbol: message.params.symbol,
27
+ exchange: this._exchange,
28
+ id: bybitTrade.v,
29
+ price: Number(bybitTrade.p),
30
+ amount: Number(bybitTrade.q),
31
+ side: bybitTrade.m === true ? 'buy' : 'sell',
32
+ timestamp: new Date(bybitTrade.t),
33
+ localTimestamp
34
+ }
35
+ }
36
+ }
37
+
38
+ export class BybitSpotBookChangeMapper implements Mapper<'bybit-spot', BookChange> {
39
+ constructor(protected readonly _exchange: Exchange) {}
40
+
41
+ canHandle(message: BybitSpotDepthMessage) {
42
+ return message.topic === 'depth' && message.data !== undefined
43
+ }
44
+
45
+ getFilters(symbols?: string[]) {
46
+ symbols = upperCaseSymbols(symbols)
47
+ return [
48
+ {
49
+ channel: 'depth',
50
+ symbols
51
+ } as const
52
+ ]
53
+ }
54
+
55
+ *map(message: BybitSpotDepthMessage, localTimestamp: Date) {
56
+ yield {
57
+ type: 'book_change',
58
+ symbol: message.params.symbol,
59
+ exchange: this._exchange,
60
+ isSnapshot: true,
61
+ bids: message.data.b.map(this._mapBookLevel),
62
+ asks: message.data.a.map(this._mapBookLevel),
63
+ timestamp: new Date(message.data.t),
64
+ localTimestamp
65
+ } as const
66
+ }
67
+
68
+ private _mapBookLevel(level: [string, string]) {
69
+ return { price: Number(level[0]), amount: Number(level[1]) }
70
+ }
71
+ }
72
+
73
+ export class BybitSpotBookTickerMapper implements Mapper<'bybit-spot', BookTicker> {
74
+ constructor(protected readonly _exchange: Exchange) {}
75
+
76
+ canHandle(message: BybitSpotBookTickerMessage) {
77
+ return message.topic === 'bookTicker' && message.data !== undefined
78
+ }
79
+
80
+ getFilters(symbols?: string[]) {
81
+ symbols = upperCaseSymbols(symbols)
82
+ return [
83
+ {
84
+ channel: 'bookTicker',
85
+ symbols
86
+ } as const
87
+ ]
88
+ }
89
+
90
+ *map(message: BybitSpotBookTickerMessage, localTimestamp: Date) {
91
+ const bookTicker: BookTicker = {
92
+ type: 'book_ticker',
93
+ symbol: message.params.symbol,
94
+ exchange: this._exchange,
95
+ askAmount: message.data.askQty !== undefined ? Number(message.data.askQty) : undefined,
96
+ askPrice: message.data.askPrice !== undefined ? Number(message.data.askPrice) : undefined,
97
+ bidPrice: message.data.bidPrice !== undefined ? Number(message.data.bidPrice) : undefined,
98
+ bidAmount: message.data.bidQty !== undefined ? Number(message.data.bidQty) : undefined,
99
+ timestamp: new Date(message.data.time),
100
+ localTimestamp: localTimestamp
101
+ }
102
+
103
+ yield bookTicker
104
+ }
105
+ }
106
+
107
+ type BybitSpotBookTickerMessage = {
108
+ topic: 'bookTicker'
109
+ params: { symbol: 'BATUSDT'; binary: 'false'; symbolName: 'BATUSDT' }
110
+ data: { symbol: 'BATUSDT'; bidPrice: '0.3985'; bidQty: '1919.99'; askPrice: '0.3997'; askQty: '3747.68'; time: 1659311999973 }
111
+ }
112
+
113
+ type BybitSpotTradeMessage = {
114
+ topic: 'trade'
115
+ params: { symbol: 'XRP3SUSDT'; binary: 'false'; symbolName: 'XRP3SUSDT' }
116
+ data: { v: '2220000000006443832'; t: 1659312000387; p: '6.3957'; q: '3.5962'; m: boolean }
117
+ }
118
+
119
+ type BybitSpotDepthMessage = {
120
+ topic: 'depth'
121
+ params: { symbol: 'RENUSDT'; binary: 'false'; symbolName: 'RENUSDT' }
122
+ data: {
123
+ s: 'RENUSDT'
124
+ t: 1659312000390
125
+ v: '170667316_8244371_5'
126
+ b: [['0.14348', '3249.63']]
127
+ a: [['0.14457', '95.23']]
128
+ }
129
+ }