tardis-machine 18.0.0 → 18.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.
Files changed (228) hide show
  1. package/benchmark.js +35 -14
  2. package/bin/tardis-machine.js +0 -1
  3. package/dist/tardismachine.d.ts.map +1 -1
  4. package/dist/tardismachine.js +20 -55
  5. package/dist/tardismachine.js.map +1 -1
  6. package/dist/ws/replay.d.ts +2 -2
  7. package/dist/ws/replay.d.ts.map +1 -1
  8. package/dist/ws/replay.js +11 -5
  9. package/dist/ws/replay.js.map +1 -1
  10. package/dist/ws/replaynormalized.d.ts +2 -2
  11. package/dist/ws/replaynormalized.d.ts.map +1 -1
  12. package/dist/ws/replaynormalized.js +7 -5
  13. package/dist/ws/replaynormalized.js.map +1 -1
  14. package/dist/ws/server.d.ts +20 -0
  15. package/dist/ws/server.d.ts.map +1 -0
  16. package/dist/ws/server.js +154 -0
  17. package/dist/ws/server.js.map +1 -0
  18. package/dist/ws/streamnormalized.d.ts +2 -2
  19. package/dist/ws/streamnormalized.d.ts.map +1 -1
  20. package/dist/ws/streamnormalized.js +7 -5
  21. package/dist/ws/streamnormalized.js.map +1 -1
  22. package/dist/ws/subscriptionsmappers.d.ts +1 -1
  23. package/dist/ws/subscriptionsmappers.d.ts.map +1 -1
  24. package/node_modules/tardis-dev/README.md +1 -1
  25. package/node_modules/tardis-dev/dist/debug.d.ts +12 -2
  26. package/node_modules/tardis-dev/dist/debug.d.ts.map +1 -1
  27. package/node_modules/tardis-dev/dist/debug.js +2 -1
  28. package/node_modules/tardis-dev/dist/debug.js.map +1 -1
  29. package/node_modules/tardis-dev/dist/downloaddatasets.d.ts.map +1 -1
  30. package/node_modules/tardis-dev/dist/downloaddatasets.js +3 -1
  31. package/node_modules/tardis-dev/dist/downloaddatasets.js.map +1 -1
  32. package/node_modules/tardis-dev/dist/handy.d.ts +5 -2
  33. package/node_modules/tardis-dev/dist/handy.d.ts.map +1 -1
  34. package/node_modules/tardis-dev/dist/handy.js +77 -90
  35. package/node_modules/tardis-dev/dist/handy.js.map +1 -1
  36. package/node_modules/tardis-dev/dist/mappers/hyperliquid.d.ts +1 -1
  37. package/node_modules/tardis-dev/dist/mappers/hyperliquid.d.ts.map +1 -1
  38. package/node_modules/tardis-dev/dist/mappers/hyperliquid.js +15 -4
  39. package/node_modules/tardis-dev/dist/mappers/hyperliquid.js.map +1 -1
  40. package/node_modules/tardis-dev/dist/mappers/index.d.ts +1 -1
  41. package/node_modules/tardis-dev/dist/realtimefeeds/mexc.d.ts +0 -7
  42. package/node_modules/tardis-dev/dist/realtimefeeds/mexc.d.ts.map +1 -1
  43. package/node_modules/tardis-dev/dist/realtimefeeds/mexc.js +2 -70
  44. package/node_modules/tardis-dev/dist/realtimefeeds/mexc.js.map +1 -1
  45. package/node_modules/tardis-dev/dist/realtimefeeds/mexcprotobuf.d.ts +43 -0
  46. package/node_modules/tardis-dev/dist/realtimefeeds/mexcprotobuf.d.ts.map +1 -0
  47. package/node_modules/tardis-dev/dist/realtimefeeds/mexcprotobuf.js +294 -0
  48. package/node_modules/tardis-dev/dist/realtimefeeds/mexcprotobuf.js.map +1 -0
  49. package/node_modules/tardis-dev/dist/realtimefeeds/realtimefeed.d.ts +3 -3
  50. package/node_modules/tardis-dev/dist/realtimefeeds/realtimefeed.d.ts.map +1 -1
  51. package/node_modules/tardis-dev/dist/realtimefeeds/realtimefeed.js +3 -3
  52. package/node_modules/tardis-dev/dist/realtimefeeds/realtimefeed.js.map +1 -1
  53. package/node_modules/tardis-dev/dist/replay.d.ts.map +1 -1
  54. package/node_modules/tardis-dev/dist/replay.js +6 -4
  55. package/node_modules/tardis-dev/dist/replay.js.map +1 -1
  56. package/node_modules/tardis-dev/dist/worker.d.ts.map +1 -1
  57. package/node_modules/tardis-dev/dist/worker.js +7 -4
  58. package/node_modules/tardis-dev/dist/worker.js.map +1 -1
  59. package/node_modules/tardis-dev/dist/zstd.d.ts +3 -0
  60. package/node_modules/tardis-dev/dist/zstd.d.ts.map +1 -0
  61. package/node_modules/tardis-dev/dist/zstd.js +122 -0
  62. package/node_modules/tardis-dev/dist/zstd.js.map +1 -0
  63. package/node_modules/tardis-dev/package.json +3 -7
  64. package/node_modules/tardis-dev/src/debug.ts +16 -1
  65. package/node_modules/tardis-dev/src/downloaddatasets.ts +3 -1
  66. package/node_modules/tardis-dev/src/external-modules.d.ts +5 -0
  67. package/node_modules/tardis-dev/src/handy.ts +100 -93
  68. package/node_modules/tardis-dev/src/mappers/hyperliquid.ts +19 -5
  69. package/node_modules/tardis-dev/src/realtimefeeds/mexc.ts +2 -72
  70. package/node_modules/tardis-dev/src/realtimefeeds/mexcprotobuf.ts +364 -0
  71. package/node_modules/tardis-dev/src/realtimefeeds/realtimefeed.ts +5 -5
  72. package/node_modules/tardis-dev/src/replay.ts +6 -4
  73. package/node_modules/tardis-dev/src/worker.ts +7 -4
  74. package/node_modules/tardis-dev/src/zstd.ts +139 -0
  75. package/package.json +9 -35
  76. package/src/tardismachine.ts +25 -66
  77. package/src/ws/replay.ts +13 -8
  78. package/src/ws/replaynormalized.ts +8 -6
  79. package/src/ws/server.ts +173 -0
  80. package/src/ws/streamnormalized.ts +8 -6
  81. package/src/ws/subscriptionsmappers.ts +1 -1
  82. package/node_modules/follow-redirects/LICENSE +0 -18
  83. package/node_modules/follow-redirects/README.md +0 -157
  84. package/node_modules/follow-redirects/debug.js +0 -15
  85. package/node_modules/follow-redirects/http.js +0 -1
  86. package/node_modules/follow-redirects/https.js +0 -1
  87. package/node_modules/follow-redirects/index.js +0 -709
  88. package/node_modules/follow-redirects/package.json +0 -58
  89. package/node_modules/long/LICENSE +0 -202
  90. package/node_modules/long/README.md +0 -286
  91. package/node_modules/long/index.d.ts +0 -2
  92. package/node_modules/long/index.js +0 -1581
  93. package/node_modules/long/package.json +0 -58
  94. package/node_modules/long/types.d.ts +0 -474
  95. package/node_modules/long/umd/index.d.ts +0 -3
  96. package/node_modules/long/umd/index.js +0 -1622
  97. package/node_modules/long/umd/package.json +0 -3
  98. package/node_modules/long/umd/types.d.ts +0 -474
  99. package/node_modules/protobufjs/LICENSE +0 -39
  100. package/node_modules/protobufjs/README.md +0 -440
  101. package/node_modules/protobufjs/dist/light/protobuf.js +0 -9276
  102. package/node_modules/protobufjs/dist/light/protobuf.js.map +0 -1
  103. package/node_modules/protobufjs/dist/light/protobuf.min.js +0 -8
  104. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +0 -1
  105. package/node_modules/protobufjs/dist/minimal/protobuf.js +0 -3556
  106. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +0 -1
  107. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +0 -8
  108. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +0 -1
  109. package/node_modules/protobufjs/dist/protobuf.js +0 -11233
  110. package/node_modules/protobufjs/dist/protobuf.js.map +0 -1
  111. package/node_modules/protobufjs/dist/protobuf.min.js +0 -8
  112. package/node_modules/protobufjs/dist/protobuf.min.js.map +0 -1
  113. package/node_modules/protobufjs/ext/README.md +0 -70
  114. package/node_modules/protobufjs/ext/debug/README.md +0 -4
  115. package/node_modules/protobufjs/ext/debug/index.js +0 -71
  116. package/node_modules/protobufjs/ext/descriptor/README.md +0 -5
  117. package/node_modules/protobufjs/ext/descriptor/index.d.ts +0 -2
  118. package/node_modules/protobufjs/ext/descriptor/index.js +0 -2
  119. package/node_modules/protobufjs/ext/descriptor.d.ts +0 -87
  120. package/node_modules/protobufjs/ext/descriptor.generated.d.ts +0 -417
  121. package/node_modules/protobufjs/ext/descriptor.js +0 -1356
  122. package/node_modules/protobufjs/ext/protojson.LICENSE +0 -201
  123. package/node_modules/protobufjs/ext/protojson.d.ts +0 -20
  124. package/node_modules/protobufjs/ext/protojson.generated.d.ts +0 -49
  125. package/node_modules/protobufjs/ext/protojson.js +0 -951
  126. package/node_modules/protobufjs/ext/textformat.d.ts +0 -19
  127. package/node_modules/protobufjs/ext/textformat.generated.d.ts +0 -33
  128. package/node_modules/protobufjs/ext/textformat.js +0 -1276
  129. package/node_modules/protobufjs/google/LICENSE +0 -27
  130. package/node_modules/protobufjs/google/README.md +0 -1
  131. package/node_modules/protobufjs/google/api/annotations.json +0 -85
  132. package/node_modules/protobufjs/google/api/annotations.proto +0 -11
  133. package/node_modules/protobufjs/google/api/http.json +0 -87
  134. package/node_modules/protobufjs/google/api/http.proto +0 -31
  135. package/node_modules/protobufjs/google/protobuf/api.json +0 -124
  136. package/node_modules/protobufjs/google/protobuf/api.proto +0 -34
  137. package/node_modules/protobufjs/google/protobuf/compiler/plugin.json +0 -126
  138. package/node_modules/protobufjs/google/protobuf/compiler/plugin.proto +0 -47
  139. package/node_modules/protobufjs/google/protobuf/descriptor.json +0 -1465
  140. package/node_modules/protobufjs/google/protobuf/descriptor.proto +0 -527
  141. package/node_modules/protobufjs/google/protobuf/source_context.json +0 -21
  142. package/node_modules/protobufjs/google/protobuf/source_context.proto +0 -7
  143. package/node_modules/protobufjs/google/protobuf/type.json +0 -209
  144. package/node_modules/protobufjs/google/protobuf/type.proto +0 -89
  145. package/node_modules/protobufjs/index.d.ts +0 -3203
  146. package/node_modules/protobufjs/index.js +0 -4
  147. package/node_modules/protobufjs/light.d.ts +0 -2
  148. package/node_modules/protobufjs/light.js +0 -4
  149. package/node_modules/protobufjs/minimal.d.ts +0 -2
  150. package/node_modules/protobufjs/minimal.js +0 -4
  151. package/node_modules/protobufjs/package.json +0 -93
  152. package/node_modules/protobufjs/src/common.js +0 -405
  153. package/node_modules/protobufjs/src/converter.js +0 -352
  154. package/node_modules/protobufjs/src/decoder.js +0 -279
  155. package/node_modules/protobufjs/src/encoder.js +0 -123
  156. package/node_modules/protobufjs/src/enum.js +0 -239
  157. package/node_modules/protobufjs/src/field.js +0 -505
  158. package/node_modules/protobufjs/src/index-light.js +0 -104
  159. package/node_modules/protobufjs/src/index-minimal.js +0 -35
  160. package/node_modules/protobufjs/src/index.js +0 -12
  161. package/node_modules/protobufjs/src/mapfield.js +0 -144
  162. package/node_modules/protobufjs/src/message.js +0 -137
  163. package/node_modules/protobufjs/src/method.js +0 -183
  164. package/node_modules/protobufjs/src/namespace.js +0 -574
  165. package/node_modules/protobufjs/src/object.js +0 -392
  166. package/node_modules/protobufjs/src/oneof.js +0 -233
  167. package/node_modules/protobufjs/src/parse.js +0 -1111
  168. package/node_modules/protobufjs/src/reader.js +0 -788
  169. package/node_modules/protobufjs/src/reader_buffer.js +0 -77
  170. package/node_modules/protobufjs/src/root.js +0 -424
  171. package/node_modules/protobufjs/src/roots.js +0 -18
  172. package/node_modules/protobufjs/src/rpc/service.js +0 -155
  173. package/node_modules/protobufjs/src/rpc.js +0 -36
  174. package/node_modules/protobufjs/src/service.js +0 -206
  175. package/node_modules/protobufjs/src/tokenize.js +0 -421
  176. package/node_modules/protobufjs/src/type.js +0 -676
  177. package/node_modules/protobufjs/src/types.js +0 -196
  178. package/node_modules/protobufjs/src/typescript.js +0 -25
  179. package/node_modules/protobufjs/src/util/aspromise.d.ts +0 -13
  180. package/node_modules/protobufjs/src/util/aspromise.js +0 -52
  181. package/node_modules/protobufjs/src/util/base64.d.ts +0 -32
  182. package/node_modules/protobufjs/src/util/base64.js +0 -146
  183. package/node_modules/protobufjs/src/util/codegen.d.ts +0 -31
  184. package/node_modules/protobufjs/src/util/codegen.js +0 -118
  185. package/node_modules/protobufjs/src/util/eventemitter.d.ts +0 -45
  186. package/node_modules/protobufjs/src/util/eventemitter.js +0 -86
  187. package/node_modules/protobufjs/src/util/fetch.d.ts +0 -56
  188. package/node_modules/protobufjs/src/util/fetch.js +0 -112
  189. package/node_modules/protobufjs/src/util/float.d.ts +0 -83
  190. package/node_modules/protobufjs/src/util/float.js +0 -335
  191. package/node_modules/protobufjs/src/util/fs.js +0 -11
  192. package/node_modules/protobufjs/src/util/longbits.js +0 -204
  193. package/node_modules/protobufjs/src/util/minimal.js +0 -511
  194. package/node_modules/protobufjs/src/util/path.d.ts +0 -22
  195. package/node_modules/protobufjs/src/util/path.js +0 -100
  196. package/node_modules/protobufjs/src/util/patterns.js +0 -7
  197. package/node_modules/protobufjs/src/util/pool.d.ts +0 -32
  198. package/node_modules/protobufjs/src/util/pool.js +0 -48
  199. package/node_modules/protobufjs/src/util/utf8.d.ts +0 -24
  200. package/node_modules/protobufjs/src/util/utf8.js +0 -190
  201. package/node_modules/protobufjs/src/util.js +0 -264
  202. package/node_modules/protobufjs/src/verifier.js +0 -185
  203. package/node_modules/protobufjs/src/wrappers.js +0 -106
  204. package/node_modules/protobufjs/src/writer.js +0 -700
  205. package/node_modules/protobufjs/src/writer_buffer.js +0 -100
  206. package/node_modules/protobufjs/tsconfig.json +0 -6
  207. package/node_modules/uWebSockets.js/ESM_wrapper.mjs +0 -53
  208. package/node_modules/uWebSockets.js/LICENSE +0 -201
  209. package/node_modules/uWebSockets.js/README.md +0 -6
  210. package/node_modules/uWebSockets.js/index.d.ts +0 -468
  211. package/node_modules/uWebSockets.js/package.json +0 -12
  212. package/node_modules/uWebSockets.js/source_commit +0 -1
  213. package/node_modules/uWebSockets.js/uws.js +0 -76
  214. package/node_modules/uWebSockets.js/uws_darwin_arm64_127.node +0 -0
  215. package/node_modules/uWebSockets.js/uws_darwin_arm64_137.node +0 -0
  216. package/node_modules/uWebSockets.js/uws_darwin_arm64_147.node +0 -0
  217. package/node_modules/uWebSockets.js/uws_darwin_x64_127.node +0 -0
  218. package/node_modules/uWebSockets.js/uws_darwin_x64_137.node +0 -0
  219. package/node_modules/uWebSockets.js/uws_darwin_x64_147.node +0 -0
  220. package/node_modules/uWebSockets.js/uws_linux_arm64_127.node +0 -0
  221. package/node_modules/uWebSockets.js/uws_linux_arm64_137.node +0 -0
  222. package/node_modules/uWebSockets.js/uws_linux_arm64_147.node +0 -0
  223. package/node_modules/uWebSockets.js/uws_linux_x64_127.node +0 -0
  224. package/node_modules/uWebSockets.js/uws_linux_x64_137.node +0 -0
  225. package/node_modules/uWebSockets.js/uws_linux_x64_147.node +0 -0
  226. package/node_modules/uWebSockets.js/uws_win32_x64_127.node +0 -0
  227. package/node_modules/uWebSockets.js/uws_win32_x64_137.node +0 -0
  228. package/node_modules/uWebSockets.js/uws_win32_x64_147.node +0 -0
@@ -2,11 +2,11 @@ import { decode } from 'node:querystring';
2
2
  import { combine, compute, streamNormalized } from 'tardis-dev';
3
3
  import { debug } from "../debug.js";
4
4
  import { constructDataTypeFilter, getComputables, getNormalizers, wait } from "../helpers.js";
5
- export async function streamNormalizedWS(ws, req) {
5
+ export async function streamNormalizedWS(ws, query) {
6
6
  let messages;
7
7
  try {
8
8
  const startTimestamp = new Date().getTime();
9
- const parsedQuery = decode(req.getQuery());
9
+ const parsedQuery = decode(query);
10
10
  const optionsString = parsedQuery['options'];
11
11
  const streamNormalizedOptions = JSON.parse(optionsString);
12
12
  debug('WebSocket /ws-stream-normalized started, options: %o', streamNormalizedOptions);
@@ -61,7 +61,7 @@ export async function streamNormalizedWS(ws, req) {
61
61
  retries = 0;
62
62
  bufferedAmount = 0;
63
63
  // handle backpressure in case of slow clients
64
- while ((bufferedAmount = ws.getBufferedAmount()) > 0) {
64
+ while (!ws.closed && (bufferedAmount = ws.getBufferedAmount()) > 0) {
65
65
  retries += 1;
66
66
  const isState = new Date().valueOf() - message.localTimestamp.valueOf() >= 6;
67
67
  // log stale messages, stale meaning message was not sent in 6 ms or more (2 retries)
@@ -74,12 +74,14 @@ export async function streamNormalizedWS(ws, req) {
74
74
  }
75
75
  await wait(3 * retries);
76
76
  }
77
+ if (ws.closed)
78
+ return;
77
79
  ws.send(JSON.stringify(message));
78
80
  if (message.type !== 'disconnect') {
79
81
  subSequentErrorsCount[exchange] = 0;
80
82
  }
81
83
  }
82
- while (ws.getBufferedAmount() > 0) {
84
+ while (!ws.closed && ws.getBufferedAmount() > 0) {
83
85
  await wait(100);
84
86
  }
85
87
  ws.end(1000, 'WS stream-normalized finished');
@@ -96,7 +98,7 @@ export async function streamNormalizedWS(ws, req) {
96
98
  finally {
97
99
  // this will close underlying open WS connections
98
100
  if (messages !== undefined) {
99
- messages.return();
101
+ await messages.return?.();
100
102
  }
101
103
  }
102
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"streamnormalized.js","sourceRoot":"","sources":["../../src/ws/streamnormalized.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamnormalized.js","sourceRoot":"","sources":["../../src/ws/streamnormalized.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Exchange, Filter } from 'tardis-dev';
1
+ import type { Exchange, Filter } from 'tardis-dev';
2
2
  export declare const subscriptionsMappers: Record<Exchange, SubscriptionMapper>;
3
3
  export type SubscriptionMapper = {
4
4
  canHandle: (message: object, date: Date) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptionsmappers.d.ts","sourceRoot":"","sources":["../../src/ws/subscriptionsmappers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAyxB7C,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CA+DrE,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAA;IACnD,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA;CACvD,CAAA"}
1
+ {"version":3,"file":"subscriptionsmappers.d.ts","sourceRoot":"","sources":["../../src/ws/subscriptionsmappers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAyxBlD,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CA+DrE,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAA;IACnD,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA;CACvD,CAAA"}
@@ -87,7 +87,7 @@ for await (const message of messages) {
87
87
 
88
88
  ## Installation
89
89
 
90
- Requires Node.js v24.5+ installed.
90
+ Requires Node.js v24.19+ installed.
91
91
 
92
92
  ```bash
93
93
  npm install tardis-dev --save
@@ -1,3 +1,13 @@
1
- import dbg from 'debug';
2
- export declare const debug: dbg.Debugger;
1
+ export interface DebugLogger {
2
+ (formatter: any, ...args: any[]): void;
3
+ color: string;
4
+ diff: number;
5
+ enabled: boolean;
6
+ log: (...args: any[]) => any;
7
+ namespace: string;
8
+ destroy: () => boolean;
9
+ extend: (namespace: string, delimiter?: string) => DebugLogger;
10
+ }
11
+ export declare const createDebug: (namespace: string) => DebugLogger;
12
+ export declare const debug: DebugLogger;
3
13
  //# sourceMappingURL=debug.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAA;AAEvB,eAAO,MAAM,KAAK,cAAoB,CAAA"}
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,OAAO,CAAA;IACtB,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,WAAW,CAAA;CAC/D;AAED,eAAO,MAAM,WAAW,EAAU,CAAC,SAAS,EAAE,MAAM,KAAK,WAAW,CAAA;AACpE,eAAO,MAAM,KAAK,aAA4B,CAAA"}
@@ -1,3 +1,4 @@
1
1
  import dbg from 'debug';
2
- export const debug = dbg('tardis-dev');
2
+ export const createDebug = dbg;
3
+ export const debug = createDebug('tardis-dev');
3
4
  //# sourceMappingURL=debug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAA;AAEvB,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAA;AAgBvB,MAAM,CAAC,MAAM,WAAW,GAAG,GAAyC,CAAA;AACpE,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"downloaddatasets.d.ts","sourceRoot":"","sources":["../src/downloaddatasets.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAIlD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAQrC,wBAAsB,gBAAgB,CAAC,uBAAuB,EAAE,uBAAuB,iBAyEtF;AAuDD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,UAE5C;AA6BD,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,EAAE,WAAW,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,MAAM,CAAA;IACrD,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA"}
1
+ {"version":3,"file":"downloaddatasets.d.ts","sourceRoot":"","sources":["../src/downloaddatasets.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAIlD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AASrC,wBAAsB,gBAAgB,CAAC,uBAAuB,EAAE,uBAAuB,iBAyEtF;AAwDD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,UAE5C;AA6BD,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,EAAE,WAAW,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,MAAM,CAAA;IACrD,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA"}
@@ -6,6 +6,7 @@ import { getOptions } from "./options.js";
6
6
  const CONCURRENCY_LIMIT = 20;
7
7
  const MILLISECONDS_IN_SINGLE_DAY = 24 * 60 * 60 * 1000;
8
8
  const DEFAULT_DOWNLOAD_DIR = './datasets';
9
+ const DATASET_DOWNLOAD_ATTEMPT_TIMEOUT_MS = 120_000;
9
10
  const options = getOptions();
10
11
  export async function downloadDatasets(downloadDatasetsOptions) {
11
12
  const { exchange, dataTypes, from, to, symbols } = downloadDatasetsOptions;
@@ -88,7 +89,8 @@ function getDownloadOptions({ apiKey, exchange, dataType, date, symbol, format,
88
89
  url,
89
90
  downloadPath,
90
91
  userAgent: options._userAgent,
91
- apiKey
92
+ apiKey,
93
+ attemptTimeoutMS: DATASET_DOWNLOAD_ATTEMPT_TIMEOUT_MS
92
94
  };
93
95
  }
94
96
  export function sanitizeForFilename(s) {
@@ -1 +1 @@
1
- {"version":3,"file":"downloaddatasets.js","sourceRoot":"","sources":["../src/downloaddatasets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"downloaddatasets.js","sourceRoot":"","sources":["../src/downloaddatasets.ts"],"names":[],"mappings":"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"}
@@ -46,16 +46,19 @@ type JSONResponse<T> = {
46
46
  };
47
47
  export declare function getJSON<T>(url: string, options?: HttpRequestOptions): Promise<JSONResponse<T>>;
48
48
  export declare function postJSON<T>(url: string, options?: HttpRequestOptions): Promise<JSONResponse<T>>;
49
- export declare function download({ apiKey, downloadPath, url, userAgent, appendContentEncodingExtension, acceptEncoding }: {
49
+ export declare function download({ apiKey, downloadPath, url, userAgent, appendContentEncodingExtension, acceptEncoding, attemptTimeoutMS }: {
50
50
  url: string;
51
51
  downloadPath: string;
52
52
  userAgent: string;
53
53
  apiKey: string;
54
54
  appendContentEncodingExtension?: boolean;
55
55
  acceptEncoding?: string;
56
+ attemptTimeoutMS?: number;
56
57
  }): Promise<{
57
58
  downloadPath: string;
58
- headers: Record<string, string>;
59
+ headers: {
60
+ [k: string]: string;
61
+ };
59
62
  }>;
60
63
  export declare function cleanTempFiles(): void;
61
64
  export declare class CircularBuffer<T> {
@@ -1 +1 @@
1
- {"version":3,"file":"handy.d.ts","sourceRoot":"","sources":["../src/handy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handy.d.ts","sourceRoot":"","sources":["../src/handy.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
1
  import crypto, { createHash } from 'crypto';
2
2
  import { createWriteStream, mkdirSync, rmSync } from 'node:fs';
3
3
  import { rename } from 'node:fs/promises';
4
- import { Agent as HttpAgent } from 'node:http';
5
- import { Agent as HttpsAgent } from 'node:https';
6
- import followRedirects from 'follow-redirects';
4
+ import { Agent as HttpAgent, request as httpRequest } from 'node:http';
5
+ import { Agent as HttpsAgent, request as httpsRequest } from 'node:https';
6
+ import { pipeline } from 'node:stream/promises';
7
7
  import path from 'path';
8
8
  import { debug } from "./debug.js";
9
- const { http: followRedirectsHttp, https: followRedirectsHttps } = followRedirects;
10
9
  export function parseAsUTCDate(val) {
11
10
  // Treat date-only and minute-level strings as UTC instead of local time.
12
11
  if (val.endsWith('Z') === false) {
@@ -347,36 +346,57 @@ async function requestViaFetch(method, url, options) {
347
346
  }
348
347
  }
349
348
  }
350
- async function requestViaProxy(method, url, options) {
351
- const requestClient = new URL(url).protocol === 'http:' ? followRedirectsHttp : followRedirectsHttps;
352
- const preparedRequest = prepareRequest(method, options);
353
- return await new Promise((resolve, reject) => {
354
- const request = requestClient
355
- .request(url, {
356
- method,
357
- agent: getProxyAgent(url),
358
- headers: preparedRequest.headers,
359
- timeout: options.timeout
360
- }, (response) => {
361
- response.setEncoding('utf8');
362
- let body = '';
363
- response.on('error', reject);
364
- response.on('data', (chunk) => (body += chunk));
365
- response.on('end', () => {
366
- resolve(createHttpResponse(response.statusCode ?? 0, parseNodeResponseHeaders(response.headers), body));
367
- });
368
- })
369
- .on('error', reject)
370
- .on('timeout', () => {
371
- reject(new Error('Request timed out'));
372
- request.destroy();
373
- });
374
- if (preparedRequest.body !== undefined) {
375
- request.write(preparedRequest.body);
349
+ function sendHttpRequest(url, options, body) {
350
+ const requestUrl = new URL(url);
351
+ const requestClient = requestUrl.protocol === 'http:' ? httpRequest : httpsRequest;
352
+ const agent = getProxyAgent(requestUrl) ?? (requestUrl.protocol === 'https:' ? httpsAgent : undefined);
353
+ return new Promise((resolve, reject) => {
354
+ const request = requestClient(requestUrl, { ...options, agent }, resolve);
355
+ request.once('error', reject);
356
+ request.once('timeout', () => request.destroy(new Error('Request timed out')));
357
+ if (body !== undefined) {
358
+ request.write(body);
376
359
  }
377
360
  request.end();
378
361
  });
379
362
  }
363
+ async function openDownloadResponse(url, options) {
364
+ const response = await sendHttpRequest(url, options);
365
+ const statusCode = response.statusCode ?? 0;
366
+ const location = response.headers.location;
367
+ if (location === undefined || statusCode < 300 || statusCode >= 400) {
368
+ return response;
369
+ }
370
+ response.destroy();
371
+ const sourceUrl = new URL(url);
372
+ const redirectUrl = new URL(location, sourceUrl);
373
+ const headers = { ...options.headers };
374
+ if (sourceUrl.origin !== redirectUrl.origin) {
375
+ delete headers.Authorization;
376
+ delete headers.authorization;
377
+ }
378
+ return sendHttpRequest(redirectUrl, {
379
+ ...options,
380
+ headers
381
+ });
382
+ }
383
+ async function readResponseText(response) {
384
+ response.setEncoding('utf8');
385
+ let body = '';
386
+ for await (const chunk of response) {
387
+ body += chunk;
388
+ }
389
+ return body;
390
+ }
391
+ async function requestViaProxy(method, url, options) {
392
+ const preparedRequest = prepareRequest(method, options);
393
+ const response = await sendHttpRequest(url, {
394
+ method,
395
+ headers: preparedRequest.headers,
396
+ timeout: options.timeout
397
+ }, preparedRequest.body);
398
+ return createHttpResponse(response.statusCode ?? 0, parseNodeResponseHeaders(response.headers), await readResponseText(response));
399
+ }
380
400
  async function request(method, url, options = {}) {
381
401
  const retrySettings = getRetrySettings(method, options.retry);
382
402
  for (let attempt = 1;; attempt += 1) {
@@ -417,9 +437,9 @@ export function getJSON(url, options) {
417
437
  export function postJSON(url, options) {
418
438
  return requestJSON('POST', url, options);
419
439
  }
420
- export async function download({ apiKey, downloadPath, url, userAgent, appendContentEncodingExtension = false, acceptEncoding = 'gzip' }) {
440
+ export async function download({ apiKey, downloadPath, url, userAgent, appendContentEncodingExtension = false, acceptEncoding = 'gzip', attemptTimeoutMS = 90 * ONE_SEC_IN_MS }) {
421
441
  const httpRequestOptions = {
422
- timeout: 90 * ONE_SEC_IN_MS,
442
+ timeout: attemptTimeoutMS,
423
443
  headers: {
424
444
  'Accept-Encoding': acceptEncoding,
425
445
  'User-Agent': userAgent,
@@ -477,10 +497,10 @@ async function _downloadFile(requestOptions, url, downloadPath, appendContentEnc
477
497
  mkdirSync(path.dirname(downloadPath), { recursive: true });
478
498
  // create write file stream that we'll write data into - first as unconfirmed temp file
479
499
  const tmpFilePath = `${downloadPath}${crypto.randomBytes(8).toString('hex')}.unconfirmed`;
480
- const fileWriteStream = createWriteStream(tmpFilePath);
500
+ let fileWriteStream;
481
501
  const cleanup = () => {
482
502
  try {
483
- fileWriteStream.destroy();
503
+ fileWriteStream?.destroy();
484
504
  rmSync(tmpFilePath, { force: true });
485
505
  }
486
506
  catch { }
@@ -489,62 +509,29 @@ async function _downloadFile(requestOptions, url, downloadPath, appendContentEnc
489
509
  let finalDownloadPath = downloadPath;
490
510
  try {
491
511
  // based on https://github.com/nodejs/node/issues/28172 - only reliable way to consume response stream and avoiding all the 'gotchas'
492
- let responseHeaders = {};
493
- await new Promise((resolve, reject) => {
494
- const protocol = new URL(url).protocol;
495
- const requestClient = protocol === 'http:' ? followRedirectsHttp : followRedirectsHttps;
496
- const agent = getProxyAgent(url) ?? (protocol === 'https:' ? httpsAgent : undefined);
497
- const req = requestClient
498
- .get(url, { ...requestOptions, agent }, (res) => {
499
- const { statusCode } = res;
500
- if (statusCode !== 200) {
501
- // read the error response text and throw it as an HttpError
502
- res.setEncoding('utf8');
503
- let body = '';
504
- res.on('error', reject);
505
- res.on('data', (chunk) => (body += chunk));
506
- res.on('end', () => {
507
- reject(new HttpError(statusCode, body, url));
508
- });
509
- }
510
- else {
511
- responseHeaders = parseNodeResponseHeaders(res.headers);
512
- if (appendContentEncodingExtension) {
513
- const contentEncoding = asSingleHeaderValue(res.headers['content-encoding']);
514
- if (contentEncoding === 'zstd') {
515
- finalDownloadPath = `${downloadPath}.zst`;
516
- }
517
- else if (contentEncoding === undefined || contentEncoding === 'gzip') {
518
- finalDownloadPath = `${downloadPath}.gz`;
519
- }
520
- else {
521
- reject(new Error(`Unsupported data feed content encoding: ${contentEncoding}`));
522
- return;
523
- }
524
- }
525
- // consume the response stream by writing it to the file
526
- res
527
- .on('error', reject)
528
- .on('aborted', () => reject(new Error('Request aborted')))
529
- .pipe(fileWriteStream)
530
- .on('error', reject)
531
- .on('finish', () => {
532
- if (res.complete) {
533
- resolve();
534
- }
535
- else {
536
- reject(new Error('The connection was terminated while the message was still being sent'));
537
- }
538
- });
539
- }
540
- })
541
- .on('error', reject)
542
- .on('timeout', () => {
543
- debug('download file request timeout, %s', url);
544
- reject(new Error('Request timed out'));
545
- req.destroy();
546
- });
547
- });
512
+ const response = await openDownloadResponse(url, requestOptions);
513
+ const { statusCode } = response;
514
+ if (statusCode !== 200) {
515
+ throw new HttpError(statusCode ?? 0, await readResponseText(response), url);
516
+ }
517
+ const responseHeaders = parseNodeResponseHeaders(response.headers);
518
+ if (appendContentEncodingExtension) {
519
+ const contentEncoding = asSingleHeaderValue(response.headers['content-encoding']);
520
+ if (contentEncoding === 'zstd') {
521
+ finalDownloadPath = `${downloadPath}.zst`;
522
+ }
523
+ else if (contentEncoding === undefined || contentEncoding === 'gzip') {
524
+ finalDownloadPath = `${downloadPath}.gz`;
525
+ }
526
+ else {
527
+ throw new Error(`Unsupported data feed content encoding: ${contentEncoding}`);
528
+ }
529
+ }
530
+ fileWriteStream = createWriteStream(tmpFilePath);
531
+ await pipeline(response, fileWriteStream);
532
+ if (!response.complete) {
533
+ throw new Error('The connection was terminated while the message was still being sent');
534
+ }
548
535
  // finally when saving from the network to file has succeded, rename tmp file to normal name
549
536
  // then we're sure that responses is 100% saved and also even if different process was doing the same we're good
550
537
  await rename(tmpFilePath, finalDownloadPath);
@@ -1 +1 @@
1
- {"version":3,"file":"handy.js","sourceRoot":"","sources":["../src/handy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handy.js","sourceRoot":"","sources":["../src/handy.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { BookChange, BookTicker, DerivativeTicker, Trade } from '../types.ts';
2
2
  export declare const hyperliquidMappers: {
3
3
  hyperliquid: {
4
4
  trades: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", Trade>;
5
- bookChanges: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", BookChange>;
5
+ bookChanges: import("./registry.ts").MapperCreator<any, BookChange>;
6
6
  derivativeTickers: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", DerivativeTicker>;
7
7
  bookTickers: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", BookTicker>;
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"hyperliquid.d.ts","sourceRoot":"","sources":["../../src/mappers/hyperliquid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAI7E,eAAO,MAAM,kBAAkB;;;;;;;CAO7B,CAAA"}
1
+ {"version":3,"file":"hyperliquid.d.ts","sourceRoot":"","sources":["../../src/mappers/hyperliquid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAM7E,eAAO,MAAM,kBAAkB;;;;;;;CAU7B,CAAA"}
@@ -1,9 +1,13 @@
1
1
  import { PendingTickerInfoHelper } from "./mapper.js";
2
- import { exchangeMappers } from "./registry.js";
2
+ import { exchangeMappers, mapper } from "./registry.js";
3
+ const HYPERLIQUID_FAST_BOOK_SWITCH_DATE = new Date('2026-06-17T00:00:00.000Z');
3
4
  export const hyperliquidMappers = exchangeMappers({
4
5
  hyperliquid: {
5
6
  trades: () => new HyperliquidTradesMapper(),
6
- bookChanges: () => new HyperliquidBookChangeMapper(),
7
+ bookChanges: mapper([
8
+ { until: HYPERLIQUID_FAST_BOOK_SWITCH_DATE, use: () => new HyperliquidBookChangeMapper('l2Book') },
9
+ { use: () => new HyperliquidBookChangeMapper('fastBook') }
10
+ ]),
7
11
  derivativeTickers: () => new HyperliquidDerivativeTickerMapper(),
8
12
  bookTickers: () => new HyperliquidBookTickerMapper()
9
13
  }
@@ -67,14 +71,21 @@ function mapHyperliquidLevel(level) {
67
71
  };
68
72
  }
69
73
  class HyperliquidBookChangeMapper {
74
+ filterChannel;
75
+ constructor(filterChannel) {
76
+ this.filterChannel = filterChannel;
77
+ }
70
78
  canHandle(message) {
71
- return message.channel === 'l2Book';
79
+ // Hyperliquid returns channel=l2Book for both live feeds and marks only the fast feed with data.fast=true.
80
+ // The recorder rewrites that channel to fastBook so historical data can distinguish the two feeds.
81
+ const isFastBook = message.channel === 'fastBook' || (message.channel === 'l2Book' && message.data.fast === true);
82
+ return this.filterChannel === 'fastBook' ? isFastBook : message.channel === 'l2Book' && isFastBook === false;
72
83
  }
73
84
  getFilters(symbols) {
74
85
  symbols = getSymbols(symbols);
75
86
  return [
76
87
  {
77
- channel: 'l2Book',
88
+ channel: this.filterChannel,
78
89
  symbols
79
90
  }
80
91
  ];