tardis-dev 16.0.0 → 16.1.0

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.
@@ -0,0 +1,173 @@
1
+ import { asNumberIfValid } from "../handy.js";
2
+ import { PendingTickerInfoHelper } from "./mapper.js";
3
+ function parseChannelMarketId(channel) {
4
+ const colonIndex = channel.indexOf(':');
5
+ if (colonIndex < 0) {
6
+ return undefined;
7
+ }
8
+ const suffix = channel.slice(colonIndex + 1);
9
+ if (suffix === 'all') {
10
+ return undefined;
11
+ }
12
+ return suffix;
13
+ }
14
+ export class LighterTradesMapper {
15
+ canHandle(message) {
16
+ return message.type === 'update/trade';
17
+ }
18
+ getFilters(symbols) {
19
+ return [
20
+ {
21
+ channel: 'trade',
22
+ symbols
23
+ }
24
+ ];
25
+ }
26
+ *map(message, localTimestamp) {
27
+ for (const trade of message.trades) {
28
+ yield {
29
+ type: 'trade',
30
+ symbol: trade.market_id.toString(),
31
+ exchange: 'lighter',
32
+ id: trade.trade_id_str,
33
+ price: Number(trade.price),
34
+ amount: Number(trade.size),
35
+ side: trade.is_maker_ask ? 'buy' : 'sell',
36
+ timestamp: new Date(trade.timestamp),
37
+ localTimestamp
38
+ };
39
+ }
40
+ }
41
+ }
42
+ export class LighterLiquidationMapper {
43
+ canHandle(message) {
44
+ return message.type === 'update/trade';
45
+ }
46
+ getFilters(symbols) {
47
+ return [
48
+ {
49
+ channel: 'trade',
50
+ symbols
51
+ }
52
+ ];
53
+ }
54
+ *map(message, localTimestamp) {
55
+ for (const trade of message.liquidation_trades) {
56
+ if (trade.type !== 'liquidation') {
57
+ continue;
58
+ }
59
+ yield {
60
+ type: 'liquidation',
61
+ symbol: trade.market_id.toString(),
62
+ exchange: 'lighter',
63
+ id: trade.trade_id_str,
64
+ price: Number(trade.price),
65
+ amount: Number(trade.size),
66
+ side: trade.is_maker_ask ? 'buy' : 'sell',
67
+ timestamp: new Date(trade.timestamp),
68
+ localTimestamp
69
+ };
70
+ }
71
+ }
72
+ }
73
+ export class LighterBookChangeMapper {
74
+ canHandle(message) {
75
+ return message.type === 'subscribed/order_book' || message.type === 'update/order_book';
76
+ }
77
+ getFilters(symbols) {
78
+ return [
79
+ {
80
+ channel: 'order_book',
81
+ symbols
82
+ }
83
+ ];
84
+ }
85
+ *map(message, localTimestamp) {
86
+ const symbol = parseChannelMarketId(message.channel);
87
+ if (symbol === undefined)
88
+ return;
89
+ yield {
90
+ type: 'book_change',
91
+ symbol,
92
+ exchange: 'lighter',
93
+ isSnapshot: message.type === 'subscribed/order_book',
94
+ bids: message.order_book.bids.map(this.mapLevel),
95
+ asks: message.order_book.asks.map(this.mapLevel),
96
+ timestamp: new Date(message.timestamp),
97
+ localTimestamp
98
+ };
99
+ }
100
+ mapLevel(level) {
101
+ return {
102
+ price: Number(level.price),
103
+ amount: Number(level.size)
104
+ };
105
+ }
106
+ }
107
+ export class LighterBookTickerMapper {
108
+ canHandle(message) {
109
+ return message.type === 'update/ticker';
110
+ }
111
+ getFilters(symbols) {
112
+ return [
113
+ {
114
+ channel: 'ticker',
115
+ symbols
116
+ }
117
+ ];
118
+ }
119
+ *map(message, localTimestamp) {
120
+ const symbol = parseChannelMarketId(message.channel);
121
+ if (symbol === undefined)
122
+ return;
123
+ yield {
124
+ type: 'book_ticker',
125
+ symbol,
126
+ exchange: 'lighter',
127
+ askAmount: asNumberIfValid(message.ticker?.a?.size),
128
+ askPrice: asNumberIfValid(message.ticker?.a?.price),
129
+ bidPrice: asNumberIfValid(message.ticker?.b?.price),
130
+ bidAmount: asNumberIfValid(message.ticker?.b?.size),
131
+ timestamp: new Date(message.timestamp),
132
+ localTimestamp
133
+ };
134
+ }
135
+ }
136
+ export class LighterDerivativeTickerMapper {
137
+ pendingTickerInfoHelper = new PendingTickerInfoHelper();
138
+ canHandle(message) {
139
+ return message.type === 'update/market_stats';
140
+ }
141
+ getFilters(_symbols) {
142
+ return [
143
+ {
144
+ channel: 'market_stats',
145
+ symbols: []
146
+ }
147
+ ];
148
+ }
149
+ *map(message, localTimestamp) {
150
+ for (const entry of this.iterateMarketStats(message)) {
151
+ const pendingTickerInfo = this.pendingTickerInfoHelper.getPendingTickerInfo(entry.market_id.toString(), 'lighter');
152
+ pendingTickerInfo.updateMarkPrice(Number(entry.mark_price));
153
+ pendingTickerInfo.updateIndexPrice(Number(entry.index_price));
154
+ pendingTickerInfo.updateFundingRate(Number(entry.current_funding_rate));
155
+ pendingTickerInfo.updateLastPrice(Number(entry.last_trade_price));
156
+ pendingTickerInfo.updateOpenInterest(Number(entry.open_interest));
157
+ if (pendingTickerInfo.hasChanged()) {
158
+ pendingTickerInfo.updateTimestamp(new Date(message.timestamp));
159
+ yield pendingTickerInfo.getSnapshot(localTimestamp);
160
+ }
161
+ }
162
+ }
163
+ *iterateMarketStats(message) {
164
+ if (message.channel === 'market_stats:all') {
165
+ for (const key of Object.keys(message.market_stats)) {
166
+ yield message.market_stats[key];
167
+ }
168
+ return;
169
+ }
170
+ yield message.market_stats;
171
+ }
172
+ }
173
+ //# sourceMappingURL=lighter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lighter.js","sourceRoot":"","sources":["../../src/mappers/lighter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AA6B9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AA0BhD,cAAc,mBAAmB,CAAA;AAgEjC,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAMvE;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EACzB,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,oDAKjC;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,QAEpF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AA6B9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AA2BhD,cAAc,mBAAmB,CAAA;AAiEjC,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAMvE;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EACzB,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,oDAKjC;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,QAEpF"}
@@ -38,6 +38,7 @@ import { DydxV4RealTimeFeed } from "./dydx_v4.js";
38
38
  import { BitgetFuturesRealTimeFeed, BitgetRealTimeFeed } from "./bitget.js";
39
39
  import { CoinbaseInternationalRealTimeFeed } from "./coinbaseinternational.js";
40
40
  import { HyperliquidRealTimeFeed } from "./hyperliquid.js";
41
+ import { LighterRealTimeFeed } from "./lighter.js";
41
42
  export * from "./realtimefeed.js";
42
43
  const realTimeFeedsMap = {
43
44
  bitmex: BitmexRealTimeFeed,
@@ -96,7 +97,8 @@ const realTimeFeedsMap = {
96
97
  bitget: BitgetRealTimeFeed,
97
98
  'bitget-futures': BitgetFuturesRealTimeFeed,
98
99
  'coinbase-international': CoinbaseInternationalRealTimeFeed,
99
- hyperliquid: HyperliquidRealTimeFeed
100
+ hyperliquid: HyperliquidRealTimeFeed,
101
+ lighter: LighterRealTimeFeed
100
102
  };
101
103
  export function getRealTimeFeedFactory(exchange) {
102
104
  if (realTimeFeedsMap[exchange]) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/realtimefeeds/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/realtimefeeds/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Filter } from '../types.ts';
2
+ import { RealTimeFeedBase } from './realtimefeed.ts';
3
+ export declare class LighterRealTimeFeed extends RealTimeFeedBase {
4
+ protected wssURL: string;
5
+ protected mapToSubscribeMessages(filters: Filter<string>[]): any[];
6
+ protected messageIsError(message: any): boolean;
7
+ }
8
+ //# sourceMappingURL=lighter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lighter.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/lighter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,SAAS,CAAC,MAAM,SAA6C;IAE7D,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;IAqBlE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;CAGhD"}
@@ -0,0 +1,25 @@
1
+ import { RealTimeFeedBase } from "./realtimefeed.js";
2
+ export class LighterRealTimeFeed extends RealTimeFeedBase {
3
+ wssURL = 'wss://mainnet.zklighter.elliot.ai/stream';
4
+ mapToSubscribeMessages(filters) {
5
+ return filters.flatMap((filter) => {
6
+ if (filter.channel === 'market_stats') {
7
+ return [{ type: 'subscribe', channel: 'market_stats/all' }];
8
+ }
9
+ if (filter.channel === 'spot_market_stats') {
10
+ return [{ type: 'subscribe', channel: 'spot_market_stats/all' }];
11
+ }
12
+ if (!filter.symbols || filter.symbols.length === 0) {
13
+ throw new Error('LighterRealTimeFeed requires explicitly specified symbols when subscribing to live feed');
14
+ }
15
+ return filter.symbols.map((marketId) => ({
16
+ type: 'subscribe',
17
+ channel: `${filter.channel}/${marketId}`
18
+ }));
19
+ });
20
+ }
21
+ messageIsError(message) {
22
+ return message.error !== undefined;
23
+ }
24
+ }
25
+ //# sourceMappingURL=lighter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lighter.js","sourceRoot":"","sources":["../../src/realtimefeeds/lighter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IAC7C,MAAM,GAAG,0CAA0C,CAAA;IAEnD,sBAAsB,CAAC,OAAyB;QACxD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAChC,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;gBACtC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAA;YAC7D,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC;gBAC3C,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAA;YAClE,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAA;YAC5G,CAAC;YAED,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,EAAE;aACzC,CAAC,CAAC,CAAA;QACL,CAAC,CAAC,CAAA;IACJ,CAAC;IAES,cAAc,CAAC,OAAY;QACnC,OAAO,OAAO,CAAC,KAAK,KAAK,SAAS,CAAA;IACpC,CAAC;CACF"}
package/dist/worker.js CHANGED
@@ -5,7 +5,7 @@ import { isMainThread, parentPort, workerData } from 'worker_threads';
5
5
  import { addMinutes, download, formatDateToPath, optimizeFilters, sequence, sha256, wait, cleanTempFiles } from "./handy.js";
6
6
  const debug = dbg('tardis-dev');
7
7
  if (isMainThread) {
8
- debug('existing, worker is not meant to run in main thread');
8
+ debug('current worker is not meant to run in main thread');
9
9
  }
10
10
  else {
11
11
  parentPort.on('message', (signal) => {
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tardis-dev",
3
- "version": "16.0.0",
3
+ "version": "16.1.0",
4
4
  "engines": {
5
5
  "node": ">=25"
6
6
  },
@@ -81,7 +81,7 @@
81
81
  "@types/debug": "^4.1.7",
82
82
  "@types/follow-redirects": "^1.14.4",
83
83
  "@types/jest": "^29.0.0",
84
- "@types/node": "^25.3.5",
84
+ "@types/node": "^25.5.2",
85
85
  "@types/ws": "^8.18.1",
86
86
  "jest": "^29.0.0",
87
87
  "lint-staged": "^12.1.3",
package/src/consts.ts CHANGED
@@ -55,7 +55,8 @@ export const EXCHANGES = [
55
55
  'blockchain-com',
56
56
  'bitget',
57
57
  'bitget-futures',
58
- 'hyperliquid'
58
+ 'hyperliquid',
59
+ 'lighter'
59
60
  ] as const
60
61
 
61
62
  const BINANCE_CHANNELS = ['trade', 'aggTrade', 'ticker', 'depth', 'depthSnapshot', 'bookTicker', 'recentTrades', 'borrowInterest'] as const
@@ -518,6 +519,8 @@ const COINBASE_INTERNATIONAL_CHANNELS = ['INSTRUMENTS', 'MATCH', 'FUNDING', 'RIS
518
519
 
519
520
  const HYPERLIQUID_CHANNELS = ['l2Book', 'trades', 'activeAssetCtx', 'activeSpotAssetCtx', 'bbo']
520
521
 
522
+ const LIGHTER_CHANNELS = ['order_book', 'trade', 'ticker', 'market_stats', 'spot_market_stats'] as const
523
+
521
524
  export const EXCHANGE_CHANNELS_INFO = {
522
525
  bitmex: BITMEX_CHANNELS,
523
526
  coinbase: COINBASE_CHANNELS,
@@ -575,5 +578,6 @@ export const EXCHANGE_CHANNELS_INFO = {
575
578
  'kucoin-futures': KUCOIN_FUTURES_CHANNELS,
576
579
  bitget: BITGET_CHANNELS,
577
580
  'bitget-futures': BITGET_FUTURES_CHANNELS,
578
- hyperliquid: HYPERLIQUID_CHANNELS
581
+ hyperliquid: HYPERLIQUID_CHANNELS,
582
+ lighter: LIGHTER_CHANNELS
579
583
  }
@@ -116,6 +116,13 @@ import {
116
116
  HyperliquidDerivativeTickerMapper,
117
117
  HyperliquidTradesMapper
118
118
  } from './hyperliquid.ts'
119
+ import {
120
+ LighterBookChangeMapper,
121
+ LighterBookTickerMapper,
122
+ LighterDerivativeTickerMapper,
123
+ LighterLiquidationMapper,
124
+ LighterTradesMapper
125
+ } from './lighter.ts'
119
126
  import { krakenBookChangeMapper, krakenBookTickerMapper, krakenTradesMapper } from './kraken.ts'
120
127
  import { KucoinBookChangeMapper, KucoinBookTickerMapper, KucoinTradesMapper } from './kucoin.ts'
121
128
  import {
@@ -316,7 +323,8 @@ const tradesMappers = {
316
323
  bitget: () => new BitgetTradesMapper('bitget'),
317
324
  'bitget-futures': () => new BitgetTradesMapper('bitget-futures'),
318
325
  'coinbase-international': () => coinbaseInternationalTradesMapper,
319
- hyperliquid: () => new HyperliquidTradesMapper()
326
+ hyperliquid: () => new HyperliquidTradesMapper(),
327
+ lighter: () => new LighterTradesMapper()
320
328
  }
321
329
 
322
330
  const bookChangeMappers = {
@@ -411,7 +419,8 @@ const bookChangeMappers = {
411
419
  bitget: () => new BitgetBookChangeMapper('bitget'),
412
420
  'bitget-futures': () => new BitgetBookChangeMapper('bitget-futures'),
413
421
  'coinbase-international': () => new CoinbaseInternationalBookChangMapper(),
414
- hyperliquid: () => new HyperliquidBookChangeMapper()
422
+ hyperliquid: () => new HyperliquidBookChangeMapper(),
423
+ lighter: () => new LighterBookChangeMapper()
415
424
  }
416
425
 
417
426
  const derivativeTickersMappers = {
@@ -447,7 +456,8 @@ const derivativeTickersMappers = {
447
456
  'kucoin-futures': () => new KucoinFuturesDerivativeTickerMapper(),
448
457
  'bitget-futures': () => new BitgetDerivativeTickerMapper(),
449
458
  'coinbase-international': () => new CoinbaseInternationalDerivativeTickerMapper(),
450
- hyperliquid: () => new HyperliquidDerivativeTickerMapper()
459
+ hyperliquid: () => new HyperliquidDerivativeTickerMapper(),
460
+ lighter: () => new LighterDerivativeTickerMapper()
451
461
  }
452
462
 
453
463
  const optionsSummaryMappers = {
@@ -474,6 +484,7 @@ const liquidationsMappers = {
474
484
  'dydx-v4': () => new DydxV4LiquidationsMapper(),
475
485
  'huobi-dm-swap': () => new HuobiLiquidationsMapper('huobi-dm-swap'),
476
486
  'huobi-dm-linear-swap': () => new HuobiLiquidationsMapper('huobi-dm-linear-swap'),
487
+ lighter: () => new LighterLiquidationMapper(),
477
488
  bybit: (localTimestamp: Date) =>
478
489
  shouldUseBybitV5Mappers(localTimestamp)
479
490
  ? shouldUseBybitAllLiquidationFeed(localTimestamp)
@@ -549,6 +560,7 @@ const bookTickersMappers = {
549
560
  'bitget-futures': () => new BitgetBookTickerMapper('bitget-futures'),
550
561
  'coinbase-international': () => coinbaseInternationalBookTickerMapper,
551
562
  hyperliquid: () => new HyperliquidBookTickerMapper(),
563
+ lighter: () => new LighterBookTickerMapper(),
552
564
  'binance-european-options': () => new BinanceEuropeanOptionsBookTickerMapper()
553
565
  }
554
566