@lifi/perps-sdk-provider-hyperliquid 0.0.0-preview-9f2a76b → 0.0.0-preview-97b8905

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.
@@ -7,7 +7,6 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
7
7
  private readonly registry;
8
8
  private perpCtxBySubDex;
9
9
  private spotCtxByMarketId;
10
- private marketsContextByMarketId;
11
10
  private orderbookKeysByMarketId;
12
11
  private latestOrderbookByMarketId;
13
12
  private fastCtxByMarketId;
@@ -37,7 +36,6 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
37
36
  private spotMarketIdBySacKey;
38
37
  private handleFastAssetCtxs;
39
38
  private emitMarketsContext;
40
- private computeMarketContext;
41
39
  private handleActiveAssetCtx;
42
40
  private handleActiveSpotAssetCtx;
43
41
  private mergedMids;
@@ -1 +1 @@
1
- {"version":3,"file":"HyperliquidWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAGlB,cAAc,EACd,KAAK,iBAAiB,EAEvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAOL,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAA;AAsD1B,eAAO,MAAM,qBAAqB,QAC5B,iBAEgD,CAAA;AAgBtD,qBAAa,qBAAsB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAC/D,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,eAAe,CAAsD;IAC7E,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,wBAAwB,CAAoC;IACpE,OAAO,CAAC,uBAAuB,CAAiC;IAChE,OAAO,CAAC,yBAAyB,CAAuC;IAKxE,OAAO,CAAC,iBAAiB,CAAuC;IAGhE,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,oBAAoB,CAAmC;gBAEnD,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc;IASjE,cAAc,CAClB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC;cAkBN,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAsEnE,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,gBAAgB;cAcL,OAAO,IAAI,IAAI;IAclC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM9C,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;IA0B1C,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,WAAW;IA6CnB,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM;IA8EnC,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,kBAAkB;IA0D1B,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,+BAA+B;IAkBvC,OAAO,CAAC,eAAe;CAaxB"}
1
+ {"version":3,"file":"HyperliquidWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAGlB,cAAc,EACd,KAAK,iBAAiB,EAEvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAOL,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAA;AAsD1B,eAAO,MAAM,qBAAqB,QAC5B,iBAEgD,CAAA;AAgBtD,qBAAa,qBAAsB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAC/D,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,eAAe,CAAsD;IAC7E,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,uBAAuB,CAAiC;IAChE,OAAO,CAAC,yBAAyB,CAAuC;IAKxE,OAAO,CAAC,iBAAiB,CAAuC;IAGhE,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,oBAAoB,CAAmC;gBAEnD,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc;IASjE,cAAc,CAClB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC;cAkBN,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAqEnE,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,gBAAgB;cAcL,OAAO,IAAI,IAAI;IAalC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM9C,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;IA0B1C,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,WAAW;IA6CnB,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM;IA8EnC,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,wBAAwB;IAsBhC,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,kBAAkB;IAuC1B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,kBAAkB;IA0D1B,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,+BAA+B;IAkBvC,OAAO,CAAC,eAAe;CAaxB"}
@@ -18,7 +18,6 @@ class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
18
18
  registry;
19
19
  perpCtxBySubDex = new Map();
20
20
  spotCtxByMarketId = {};
21
- marketsContextByMarketId = {};
22
21
  orderbookKeysByMarketId = new Map();
23
22
  latestOrderbookByMarketId = new Map();
24
23
  fastCtxByMarketId = {};
@@ -58,7 +57,6 @@ class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
58
57
  this.perpCtxBySubDex.clear();
59
58
  this.spotCtxByMarketId = {};
60
59
  this.fastCtxByMarketId = {};
61
- this.marketsContextByMarketId = {};
62
60
  };
63
61
  }
64
62
  const key = this.toKey(sub);
@@ -142,7 +140,6 @@ class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
142
140
  this.perpCtxBySubDex.clear();
143
141
  this.spotCtxByMarketId = {};
144
142
  this.fastCtxByMarketId = {};
145
- this.marketsContextByMarketId = {};
146
143
  this.orderbookKeysByMarketId.clear();
147
144
  this.latestOrderbookByMarketId.clear();
148
145
  this.fastDecodeChain = Promise.resolve();
@@ -303,43 +300,41 @@ class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
303
300
  }
304
301
  }
305
302
  handleAllDexsAssetCtxs(data) {
306
- this.emitMarketsContext(this.mergePerpAssetCtxEntries(allDexsAssetCtxEntries(data)));
303
+ this.mergePerpAssetCtxEntries(allDexsAssetCtxEntries(data));
304
+ this.emitMarketsContext();
307
305
  }
308
306
  handlePac(base64) {
309
307
  this.pacDecodeChain = this.pacDecodeChain
310
308
  .then(async () => {
311
- this.emitMarketsContext(this.mergePerpAssetCtxEntries(await (0, index_js_1.decodeCompressedJson)(base64)));
309
+ this.mergePerpAssetCtxEntries(await (0, index_js_1.decodeCompressedJson)(base64));
310
+ this.emitMarketsContext();
312
311
  })
313
312
  .catch((error) => perps_sdk_1.wsLog.handlerFailure(this.providerKey, error));
314
313
  }
315
314
  mergePerpAssetCtxEntries(entries) {
316
- const touched = new Set();
317
315
  for (const [dex, ctxs] of entries) {
318
- let byMarketId = this.perpCtxBySubDex.get(dex || 'default');
319
- if (byMarketId === undefined) {
320
- byMarketId = {};
321
- this.perpCtxBySubDex.set(dex || 'default', byMarketId);
322
- }
316
+ const previous = this.perpCtxBySubDex.get(dex || 'default');
317
+ const byMarketId = {
318
+ ...(previous ?? {}),
319
+ };
323
320
  for (const ctx of ctxs) {
324
321
  const marketId = ctx.coin;
325
322
  if (marketId === undefined) {
326
323
  continue;
327
324
  }
328
- const merged = mergePerpAssetCtx(byMarketId[marketId], marketId, ctx);
325
+ const merged = mergePerpAssetCtx(previous?.[marketId], marketId, ctx);
329
326
  if (merged !== undefined) {
330
327
  byMarketId[marketId] = merged;
331
- touched.add(marketId);
332
328
  }
333
329
  }
330
+ this.perpCtxBySubDex.set(dex || 'default', byMarketId);
334
331
  }
335
- return touched;
336
332
  }
337
333
  handleSac(base64) {
338
334
  this.sacDecodeChain = this.sacDecodeChain
339
335
  .then(async () => {
340
336
  const spotMarketIdBySacKey = this.spotMarketIdBySacKey();
341
337
  const ctxs = await (0, index_js_1.decodeCompressedJson)(base64);
342
- const touched = new Set();
343
338
  for (const [sacKey, ctx] of Object.entries(ctxs)) {
344
339
  const marketId = spotMarketIdBySacKey.get(sacKey);
345
340
  if (marketId === undefined) {
@@ -349,9 +344,8 @@ class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
349
344
  ...this.spotCtxByMarketId[marketId],
350
345
  ...ctx,
351
346
  };
352
- touched.add(marketId);
353
347
  }
354
- this.emitMarketsContext(touched);
348
+ this.emitMarketsContext();
355
349
  })
356
350
  .catch((error) => perps_sdk_1.wsLog.handlerFailure(this.providerKey, error));
357
351
  }
@@ -377,53 +371,41 @@ class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
377
371
  midPx: 'midPx' in ctx ? ctx.midPx : prev?.midPx,
378
372
  };
379
373
  }
380
- this.emitMarketsContext(Object.keys(ctxs));
374
+ this.emitMarketsContext();
381
375
  })
382
376
  .catch((error) => perps_sdk_1.wsLog.handlerFailure(this.providerKey, error));
383
377
  }
384
- emitMarketsContext(touchedMarketIds) {
385
- const data = {
386
- ...this.marketsContextByMarketId,
387
- };
388
- for (const marketId of touchedMarketIds) {
389
- const context = this.computeMarketContext(marketId);
390
- if (context === undefined) {
391
- delete data[marketId];
392
- }
393
- else {
394
- data[marketId] = context;
378
+ emitMarketsContext() {
379
+ const data = {};
380
+ for (const byMarketId of this.perpCtxBySubDex.values()) {
381
+ for (const [marketId, ctx] of Object.entries(byMarketId)) {
382
+ const base = (0, index_js_1.mapMarketContext)(marketId, ctx);
383
+ const fast = this.fastCtxByMarketId[marketId];
384
+ data[marketId] = {
385
+ ...base,
386
+ midPrice: fast?.midPx != null ? fast.midPx : base.midPrice,
387
+ markPrice: fast?.markPx != null ? fast.markPx : base.markPrice,
388
+ };
395
389
  }
396
390
  }
397
- this.marketsContextByMarketId = data;
398
- this.emit('marketsContext', { channel: 'marketsContext', data });
399
- }
400
- computeMarketContext(marketId) {
401
- const fast = this.fastCtxByMarketId[marketId];
402
- const spotCtx = this.spotCtxByMarketId[marketId];
403
- if (spotCtx !== undefined) {
404
- const context = mapSpotMarketContext(marketId, spotCtx, fast);
405
- if (context !== undefined) {
406
- return context;
391
+ for (const [marketId, ctx] of Object.entries(this.spotCtxByMarketId)) {
392
+ const context = mapSpotMarketContext(marketId, ctx, this.fastCtxByMarketId[marketId]);
393
+ if (context === undefined) {
394
+ continue;
407
395
  }
396
+ data[marketId] = context;
408
397
  }
409
- let perpCtx;
410
- for (const byMarketId of this.perpCtxBySubDex.values()) {
411
- perpCtx = byMarketId[marketId] ?? perpCtx;
412
- }
413
- if (perpCtx !== undefined) {
414
- const base = (0, index_js_1.mapMarketContext)(marketId, perpCtx);
415
- return {
416
- ...base,
417
- midPrice: fast?.midPx != null ? fast.midPx : base.midPrice,
418
- markPrice: fast?.markPx != null ? fast.markPx : base.markPrice,
419
- };
420
- }
421
- const midPrice = fast?.midPx ?? fast?.markPx;
422
- const markPrice = fast?.markPx ?? fast?.midPx;
423
- if (midPrice != null && markPrice != null) {
424
- return { marketId, midPrice, markPrice };
398
+ for (const [marketId, fast] of Object.entries(this.fastCtxByMarketId)) {
399
+ if (data[marketId] !== undefined) {
400
+ continue;
401
+ }
402
+ const midPrice = fast.midPx ?? fast.markPx;
403
+ const markPrice = fast.markPx ?? fast.midPx;
404
+ if (midPrice != null && markPrice != null) {
405
+ data[marketId] = { marketId, midPrice, markPrice };
406
+ }
425
407
  }
426
- return undefined;
408
+ this.emit('marketsContext', { channel: 'marketsContext', data });
427
409
  }
428
410
  handleActiveAssetCtx(data, raw) {
429
411
  const ctx = activePerpAssetCtx(data.coin, data.ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"HyperliquidWsProvider.js","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperliquidWsProvider.js","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,6 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
30
30
  private readonly registry;
31
31
  private perpCtxBySubDex;
32
32
  private spotCtxByMarketId;
33
- private marketsContextByMarketId;
34
33
  private orderbookKeysByMarketId;
35
34
  private latestOrderbookByMarketId;
36
35
  private fastCtxByMarketId;
@@ -66,7 +65,6 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
66
65
  protected handleMessage(raw: string): void;
67
66
  private handleAllDexsAssetCtxs;
68
67
  private handlePac;
69
- /** Merge perp asset contexts in place; returns the marketIds this frame touched. */
70
68
  private mergePerpAssetCtxEntries;
71
69
  private handleSac;
72
70
  private spotMarketIdBySacKey;
@@ -78,19 +76,10 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
78
76
  */
79
77
  private handleFastAssetCtxs;
80
78
  /**
81
- * Emit the all-markets context map, re-mapping only the markets the incoming
82
- * frame touched. Each emission is a fresh snapshot object that carries
83
- * untouched entries over by reference, so a listener holding an earlier
84
- * snapshot never observes later-frame mutation.
79
+ * Build the all-markets context map from perp + spot asset contexts, with mid
80
+ * + mark overlaid from `fastAssetCtxs`.
85
81
  */
86
82
  private emitMarketsContext;
87
- /**
88
- * Context for one market from the cached feeds: spot asset context when it
89
- * maps, else perp asset context with mid + mark overlaid from
90
- * `fastAssetCtxs`, else the fast feed alone — each price standing in for the
91
- * other where it carries only one of mid/mark.
92
- */
93
- private computeMarketContext;
94
83
  private handleActiveAssetCtx;
95
84
  private handleActiveSpotAssetCtx;
96
85
  /** Latest mid per `Market.id` across asset-context and fast feeds. */
@@ -1 +1 @@
1
- {"version":3,"file":"HyperliquidWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAGlB,cAAc,EACd,KAAK,iBAAiB,EAEvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAOL,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAA;AA6C1B;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,QAC5B,iBAEgD,CAAA;AAEtD;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAsB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAC/D,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,eAAe,CAAsD;IAC7E,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,wBAAwB,CAAoC;IACpE,OAAO,CAAC,uBAAuB,CAAiC;IAChE,OAAO,CAAC,yBAAyB,CAAuC;IAKxE,OAAO,CAAC,iBAAiB,CAAuC;IAGhE,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,oBAAoB,CAAmC;gBAEnD,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc;IASjE,cAAc,CAClB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC;cAkBN,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAgEnE;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,iBAAiB;IAmBzB;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,gBAAgB;cAcL,OAAO,IAAI,IAAI;IAclC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM9C,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;IA0B1C,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,WAAW;IA6CnB,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM;IA8EnC,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,SAAS;IAYjB,oFAAoF;IACpF,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,oBAAoB;IAe5B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,wBAAwB;IAWhC,sEAAsE;IACtE,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,kBAAkB;IA0D1B,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,+BAA+B;IAkBvC,OAAO,CAAC,eAAe;CAaxB"}
1
+ {"version":3,"file":"HyperliquidWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAGlB,cAAc,EACd,KAAK,iBAAiB,EAEvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAOL,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAA;AA6C1B;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,QAC5B,iBAEgD,CAAA;AAEtD;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAsB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAC/D,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,eAAe,CAAsD;IAC7E,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,uBAAuB,CAAiC;IAChE,OAAO,CAAC,yBAAyB,CAAuC;IAKxE,OAAO,CAAC,iBAAiB,CAAuC;IAGhE,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,oBAAoB,CAAmC;gBAEnD,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc;IASjE,cAAc,CAClB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC;cAkBN,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IA+DnE;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,iBAAiB;IAmBzB;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,gBAAgB;cAcL,OAAO,IAAI,IAAI;IAalC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM9C,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;IA0B1C,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,WAAW;IA6CnB,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM;IA8EnC,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,wBAAwB;IAsBhC,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,oBAAoB;IAe5B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAuC1B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,wBAAwB;IAWhC,sEAAsE;IACtE,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,kBAAkB;IA0D1B,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,+BAA+B;IAkBvC,OAAO,CAAC,eAAe;CAaxB"}
@@ -35,7 +35,6 @@ export class HyperliquidWsProvider extends WsProviderBase {
35
35
  registry;
36
36
  perpCtxBySubDex = new Map();
37
37
  spotCtxByMarketId = {};
38
- marketsContextByMarketId = {};
39
38
  orderbookKeysByMarketId = new Map();
40
39
  latestOrderbookByMarketId = new Map();
41
40
  // Latest mid/mark per `Market.id` from the high-frequency `fastAssetCtxs`
@@ -85,7 +84,6 @@ export class HyperliquidWsProvider extends WsProviderBase {
85
84
  this.perpCtxBySubDex.clear();
86
85
  this.spotCtxByMarketId = {};
87
86
  this.fastCtxByMarketId = {};
88
- this.marketsContextByMarketId = {};
89
87
  };
90
88
  }
91
89
  // All other channels: single WS subscription per key
@@ -181,7 +179,6 @@ export class HyperliquidWsProvider extends WsProviderBase {
181
179
  this.perpCtxBySubDex.clear();
182
180
  this.spotCtxByMarketId = {};
183
181
  this.fastCtxByMarketId = {};
184
- this.marketsContextByMarketId = {};
185
182
  this.orderbookKeysByMarketId.clear();
186
183
  this.latestOrderbookByMarketId.clear();
187
184
  this.fastDecodeChain = Promise.resolve();
@@ -344,44 +341,41 @@ export class HyperliquidWsProvider extends WsProviderBase {
344
341
  }
345
342
  }
346
343
  handleAllDexsAssetCtxs(data) {
347
- this.emitMarketsContext(this.mergePerpAssetCtxEntries(allDexsAssetCtxEntries(data)));
344
+ this.mergePerpAssetCtxEntries(allDexsAssetCtxEntries(data));
345
+ this.emitMarketsContext();
348
346
  }
349
347
  handlePac(base64) {
350
348
  this.pacDecodeChain = this.pacDecodeChain
351
349
  .then(async () => {
352
- this.emitMarketsContext(this.mergePerpAssetCtxEntries(await decodeCompressedJson(base64)));
350
+ this.mergePerpAssetCtxEntries(await decodeCompressedJson(base64));
351
+ this.emitMarketsContext();
353
352
  })
354
353
  .catch((error) => wsLog.handlerFailure(this.providerKey, error));
355
354
  }
356
- /** Merge perp asset contexts in place; returns the marketIds this frame touched. */
357
355
  mergePerpAssetCtxEntries(entries) {
358
- const touched = new Set();
359
356
  for (const [dex, ctxs] of entries) {
360
- let byMarketId = this.perpCtxBySubDex.get(dex || 'default');
361
- if (byMarketId === undefined) {
362
- byMarketId = {};
363
- this.perpCtxBySubDex.set(dex || 'default', byMarketId);
364
- }
357
+ const previous = this.perpCtxBySubDex.get(dex || 'default');
358
+ const byMarketId = {
359
+ ...(previous ?? {}),
360
+ };
365
361
  for (const ctx of ctxs) {
366
362
  const marketId = ctx.coin;
367
363
  if (marketId === undefined) {
368
364
  continue;
369
365
  }
370
- const merged = mergePerpAssetCtx(byMarketId[marketId], marketId, ctx);
366
+ const merged = mergePerpAssetCtx(previous?.[marketId], marketId, ctx);
371
367
  if (merged !== undefined) {
372
368
  byMarketId[marketId] = merged;
373
- touched.add(marketId);
374
369
  }
375
370
  }
371
+ this.perpCtxBySubDex.set(dex || 'default', byMarketId);
376
372
  }
377
- return touched;
378
373
  }
379
374
  handleSac(base64) {
380
375
  this.sacDecodeChain = this.sacDecodeChain
381
376
  .then(async () => {
382
377
  const spotMarketIdBySacKey = this.spotMarketIdBySacKey();
383
378
  const ctxs = await decodeCompressedJson(base64);
384
- const touched = new Set();
385
379
  for (const [sacKey, ctx] of Object.entries(ctxs)) {
386
380
  const marketId = spotMarketIdBySacKey.get(sacKey);
387
381
  if (marketId === undefined) {
@@ -391,9 +385,8 @@ export class HyperliquidWsProvider extends WsProviderBase {
391
385
  ...this.spotCtxByMarketId[marketId],
392
386
  ...ctx,
393
387
  };
394
- touched.add(marketId);
395
388
  }
396
- this.emitMarketsContext(touched);
389
+ this.emitMarketsContext();
397
390
  })
398
391
  .catch((error) => wsLog.handlerFailure(this.providerKey, error));
399
392
  }
@@ -425,65 +418,47 @@ export class HyperliquidWsProvider extends WsProviderBase {
425
418
  midPx: 'midPx' in ctx ? ctx.midPx : prev?.midPx,
426
419
  };
427
420
  }
428
- this.emitMarketsContext(Object.keys(ctxs));
421
+ this.emitMarketsContext();
429
422
  })
430
423
  .catch((error) => wsLog.handlerFailure(this.providerKey, error));
431
424
  }
432
425
  /**
433
- * Emit the all-markets context map, re-mapping only the markets the incoming
434
- * frame touched. Each emission is a fresh snapshot object that carries
435
- * untouched entries over by reference, so a listener holding an earlier
436
- * snapshot never observes later-frame mutation.
426
+ * Build the all-markets context map from perp + spot asset contexts, with mid
427
+ * + mark overlaid from `fastAssetCtxs`.
437
428
  */
438
- emitMarketsContext(touchedMarketIds) {
439
- const data = {
440
- ...this.marketsContextByMarketId,
441
- };
442
- for (const marketId of touchedMarketIds) {
443
- const context = this.computeMarketContext(marketId);
444
- if (context === undefined) {
445
- delete data[marketId];
446
- }
447
- else {
448
- data[marketId] = context;
429
+ emitMarketsContext() {
430
+ const data = {};
431
+ for (const byMarketId of this.perpCtxBySubDex.values()) {
432
+ for (const [marketId, ctx] of Object.entries(byMarketId)) {
433
+ const base = mapMarketContext(marketId, ctx);
434
+ const fast = this.fastCtxByMarketId[marketId];
435
+ data[marketId] = {
436
+ ...base,
437
+ midPrice: fast?.midPx != null ? fast.midPx : base.midPrice,
438
+ markPrice: fast?.markPx != null ? fast.markPx : base.markPrice,
439
+ };
449
440
  }
450
441
  }
451
- this.marketsContextByMarketId = data;
452
- this.emit('marketsContext', { channel: 'marketsContext', data });
453
- }
454
- /**
455
- * Context for one market from the cached feeds: spot asset context when it
456
- * maps, else perp asset context with mid + mark overlaid from
457
- * `fastAssetCtxs`, else the fast feed alone — each price standing in for the
458
- * other where it carries only one of mid/mark.
459
- */
460
- computeMarketContext(marketId) {
461
- const fast = this.fastCtxByMarketId[marketId];
462
- const spotCtx = this.spotCtxByMarketId[marketId];
463
- if (spotCtx !== undefined) {
464
- const context = mapSpotMarketContext(marketId, spotCtx, fast);
465
- if (context !== undefined) {
466
- return context;
442
+ for (const [marketId, ctx] of Object.entries(this.spotCtxByMarketId)) {
443
+ const context = mapSpotMarketContext(marketId, ctx, this.fastCtxByMarketId[marketId]);
444
+ if (context === undefined) {
445
+ continue;
467
446
  }
447
+ data[marketId] = context;
468
448
  }
469
- let perpCtx;
470
- for (const byMarketId of this.perpCtxBySubDex.values()) {
471
- perpCtx = byMarketId[marketId] ?? perpCtx;
472
- }
473
- if (perpCtx !== undefined) {
474
- const base = mapMarketContext(marketId, perpCtx);
475
- return {
476
- ...base,
477
- midPrice: fast?.midPx != null ? fast.midPx : base.midPrice,
478
- markPrice: fast?.markPx != null ? fast.markPx : base.markPrice,
479
- };
480
- }
481
- const midPrice = fast?.midPx ?? fast?.markPx;
482
- const markPrice = fast?.markPx ?? fast?.midPx;
483
- if (midPrice != null && markPrice != null) {
484
- return { marketId, midPrice, markPrice };
449
+ for (const [marketId, fast] of Object.entries(this.fastCtxByMarketId)) {
450
+ if (data[marketId] !== undefined) {
451
+ continue;
452
+ }
453
+ // No asset-context frame for this market yet — each price stands in for
454
+ // the other where the fast feed carries only one of mid/mark.
455
+ const midPrice = fast.midPx ?? fast.markPx;
456
+ const markPrice = fast.markPx ?? fast.midPx;
457
+ if (midPrice != null && markPrice != null) {
458
+ data[marketId] = { marketId, midPrice, markPrice };
459
+ }
485
460
  }
486
- return undefined;
461
+ this.emit('marketsContext', { channel: 'marketsContext', data });
487
462
  }
488
463
  handleActiveAssetCtx(data, raw) {
489
464
  const ctx = activePerpAssetCtx(data.coin, data.ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"HyperliquidWsProvider.js","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperliquidWsProvider.js","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,6 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
30
30
  private readonly registry;
31
31
  private perpCtxBySubDex;
32
32
  private spotCtxByMarketId;
33
- private marketsContextByMarketId;
34
33
  private orderbookKeysByMarketId;
35
34
  private latestOrderbookByMarketId;
36
35
  private fastCtxByMarketId;
@@ -66,7 +65,6 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
66
65
  protected handleMessage(raw: string): void;
67
66
  private handleAllDexsAssetCtxs;
68
67
  private handlePac;
69
- /** Merge perp asset contexts in place; returns the marketIds this frame touched. */
70
68
  private mergePerpAssetCtxEntries;
71
69
  private handleSac;
72
70
  private spotMarketIdBySacKey;
@@ -78,19 +76,10 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
78
76
  */
79
77
  private handleFastAssetCtxs;
80
78
  /**
81
- * Emit the all-markets context map, re-mapping only the markets the incoming
82
- * frame touched. Each emission is a fresh snapshot object that carries
83
- * untouched entries over by reference, so a listener holding an earlier
84
- * snapshot never observes later-frame mutation.
79
+ * Build the all-markets context map from perp + spot asset contexts, with mid
80
+ * + mark overlaid from `fastAssetCtxs`.
85
81
  */
86
82
  private emitMarketsContext;
87
- /**
88
- * Context for one market from the cached feeds: spot asset context when it
89
- * maps, else perp asset context with mid + mark overlaid from
90
- * `fastAssetCtxs`, else the fast feed alone — each price standing in for the
91
- * other where it carries only one of mid/mark.
92
- */
93
- private computeMarketContext;
94
83
  private handleActiveAssetCtx;
95
84
  private handleActiveSpotAssetCtx;
96
85
  /** Latest mid per `Market.id` across asset-context and fast feeds. */
@@ -1 +1 @@
1
- {"version":3,"file":"HyperliquidWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAGlB,cAAc,EACd,KAAK,iBAAiB,EAEvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAOL,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAA;AA6C1B;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,QAC5B,iBAEgD,CAAA;AAEtD;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAsB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAC/D,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,eAAe,CAAsD;IAC7E,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,wBAAwB,CAAoC;IACpE,OAAO,CAAC,uBAAuB,CAAiC;IAChE,OAAO,CAAC,yBAAyB,CAAuC;IAKxE,OAAO,CAAC,iBAAiB,CAAuC;IAGhE,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,oBAAoB,CAAmC;gBAEnD,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc;IASjE,cAAc,CAClB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC;cAkBN,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAgEnE;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,iBAAiB;IAmBzB;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,gBAAgB;cAcL,OAAO,IAAI,IAAI;IAclC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM9C,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;IA0B1C,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,WAAW;IA6CnB,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM;IA8EnC,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,SAAS;IAYjB,oFAAoF;IACpF,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,oBAAoB;IAe5B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,wBAAwB;IAWhC,sEAAsE;IACtE,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,kBAAkB;IA0D1B,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,+BAA+B;IAkBvC,OAAO,CAAC,eAAe;CAaxB"}
1
+ {"version":3,"file":"HyperliquidWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAGlB,cAAc,EACd,KAAK,iBAAiB,EAEvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAOL,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAA;AA6C1B;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,QAC5B,iBAEgD,CAAA;AAEtD;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAsB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAC/D,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,eAAe,CAAsD;IAC7E,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,uBAAuB,CAAiC;IAChE,OAAO,CAAC,yBAAyB,CAAuC;IAKxE,OAAO,CAAC,iBAAiB,CAAuC;IAGhE,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,oBAAoB,CAAmC;gBAEnD,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc;IASjE,cAAc,CAClB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC;cAkBN,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IA+DnE;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,iBAAiB;IAmBzB;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,gBAAgB;cAcL,OAAO,IAAI,IAAI;IAalC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM9C,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;IA0B1C,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,WAAW;IA6CnB,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM;IA8EnC,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,wBAAwB;IAsBhC,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,oBAAoB;IAe5B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAuC1B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,wBAAwB;IAWhC,sEAAsE;IACtE,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,kBAAkB;IA0D1B,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,+BAA+B;IAkBvC,OAAO,CAAC,eAAe;CAaxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/perps-sdk-provider-hyperliquid",
3
- "version": "0.0.0-preview-9f2a76b",
3
+ "version": "0.0.0-preview-97b8905",
4
4
  "description": "Hyperliquid provider plugin for @lifi/perps-sdk",
5
5
  "homepage": "https://github.com/lifinance/perps-sdk",
6
6
  "bugs": {
@@ -99,7 +99,6 @@ export class HyperliquidWsProvider extends WsProviderBase<object> {
99
99
  private readonly registry: MarketRegistry | undefined
100
100
  private perpCtxBySubDex = new Map<string, Record<string, HlWsPerpAssetCtx>>()
101
101
  private spotCtxByMarketId: Record<string, HlWsSpotAssetCtx> = {}
102
- private marketsContextByMarketId: Record<string, MarketContext> = {}
103
102
  private orderbookKeysByMarketId = new Map<string, Set<string>>()
104
103
  private latestOrderbookByMarketId = new Map<string, OrderbookResponse>()
105
104
  // Latest mid/mark per `Market.id` from the high-frequency `fastAssetCtxs`
@@ -174,7 +173,6 @@ export class HyperliquidWsProvider extends WsProviderBase<object> {
174
173
  this.perpCtxBySubDex.clear()
175
174
  this.spotCtxByMarketId = {}
176
175
  this.fastCtxByMarketId = {}
177
- this.marketsContextByMarketId = {}
178
176
  }
179
177
  }
180
178
 
@@ -294,7 +292,6 @@ export class HyperliquidWsProvider extends WsProviderBase<object> {
294
292
  this.perpCtxBySubDex.clear()
295
293
  this.spotCtxByMarketId = {}
296
294
  this.fastCtxByMarketId = {}
297
- this.marketsContextByMarketId = {}
298
295
  this.orderbookKeysByMarketId.clear()
299
296
  this.latestOrderbookByMarketId.clear()
300
297
  this.fastDecodeChain = Promise.resolve()
@@ -486,47 +483,41 @@ export class HyperliquidWsProvider extends WsProviderBase<object> {
486
483
  }
487
484
 
488
485
  private handleAllDexsAssetCtxs(data: HlWsAllDexsAssetCtxsData) {
489
- this.emitMarketsContext(
490
- this.mergePerpAssetCtxEntries(allDexsAssetCtxEntries(data))
491
- )
486
+ this.mergePerpAssetCtxEntries(allDexsAssetCtxEntries(data))
487
+ this.emitMarketsContext()
492
488
  }
493
489
 
494
490
  private handlePac(base64: string) {
495
491
  this.pacDecodeChain = this.pacDecodeChain
496
492
  .then(async () => {
497
- this.emitMarketsContext(
498
- this.mergePerpAssetCtxEntries(
499
- await decodeCompressedJson<HlWsPacData>(base64)
500
- )
493
+ this.mergePerpAssetCtxEntries(
494
+ await decodeCompressedJson<HlWsPacData>(base64)
501
495
  )
496
+ this.emitMarketsContext()
502
497
  })
503
498
  .catch((error) => wsLog.handlerFailure(this.providerKey, error))
504
499
  }
505
500
 
506
- /** Merge perp asset contexts in place; returns the marketIds this frame touched. */
507
501
  private mergePerpAssetCtxEntries(
508
502
  entries: [string, HlWsPerpAssetCtxPayload[]][]
509
- ): Set<string> {
510
- const touched = new Set<string>()
503
+ ) {
511
504
  for (const [dex, ctxs] of entries) {
512
- let byMarketId = this.perpCtxBySubDex.get(dex || 'default')
513
- if (byMarketId === undefined) {
514
- byMarketId = {}
515
- this.perpCtxBySubDex.set(dex || 'default', byMarketId)
505
+ const previous = this.perpCtxBySubDex.get(dex || 'default')
506
+ const byMarketId: Record<string, HlWsPerpAssetCtx> = {
507
+ ...(previous ?? {}),
516
508
  }
517
509
  for (const ctx of ctxs) {
518
510
  const marketId = ctx.coin
519
511
  if (marketId === undefined) {
520
512
  continue
521
513
  }
522
- const merged = mergePerpAssetCtx(byMarketId[marketId], marketId, ctx)
514
+ const merged = mergePerpAssetCtx(previous?.[marketId], marketId, ctx)
523
515
  if (merged !== undefined) {
524
516
  byMarketId[marketId] = merged
525
- touched.add(marketId)
526
517
  }
527
518
  }
519
+ this.perpCtxBySubDex.set(dex || 'default', byMarketId)
528
520
  }
529
- return touched
530
521
  }
531
522
 
532
523
  private handleSac(base64: string) {
@@ -534,7 +525,6 @@ export class HyperliquidWsProvider extends WsProviderBase<object> {
534
525
  .then(async () => {
535
526
  const spotMarketIdBySacKey = this.spotMarketIdBySacKey()
536
527
  const ctxs = await decodeCompressedJson<HlWsSacData>(base64)
537
- const touched = new Set<string>()
538
528
  for (const [sacKey, ctx] of Object.entries(ctxs)) {
539
529
  const marketId = spotMarketIdBySacKey.get(sacKey)
540
530
  if (marketId === undefined) {
@@ -544,9 +534,8 @@ export class HyperliquidWsProvider extends WsProviderBase<object> {
544
534
  ...this.spotCtxByMarketId[marketId],
545
535
  ...ctx,
546
536
  }
547
- touched.add(marketId)
548
537
  }
549
- this.emitMarketsContext(touched)
538
+ this.emitMarketsContext()
550
539
  })
551
540
  .catch((error) => wsLog.handlerFailure(this.providerKey, error))
552
541
  }
@@ -583,66 +572,52 @@ export class HyperliquidWsProvider extends WsProviderBase<object> {
583
572
  midPx: 'midPx' in ctx ? ctx.midPx : prev?.midPx,
584
573
  }
585
574
  }
586
- this.emitMarketsContext(Object.keys(ctxs))
575
+ this.emitMarketsContext()
587
576
  })
588
577
  .catch((error) => wsLog.handlerFailure(this.providerKey, error))
589
578
  }
590
579
 
591
580
  /**
592
- * Emit the all-markets context map, re-mapping only the markets the incoming
593
- * frame touched. Each emission is a fresh snapshot object that carries
594
- * untouched entries over by reference, so a listener holding an earlier
595
- * snapshot never observes later-frame mutation.
581
+ * Build the all-markets context map from perp + spot asset contexts, with mid
582
+ * + mark overlaid from `fastAssetCtxs`.
596
583
  */
597
- private emitMarketsContext(touchedMarketIds: Iterable<string>) {
598
- const data: Record<string, MarketContext> = {
599
- ...this.marketsContextByMarketId,
584
+ private emitMarketsContext() {
585
+ const data: Record<string, MarketContext> = {}
586
+ for (const byMarketId of this.perpCtxBySubDex.values()) {
587
+ for (const [marketId, ctx] of Object.entries(byMarketId)) {
588
+ const base = mapMarketContext(marketId, ctx)
589
+ const fast = this.fastCtxByMarketId[marketId]
590
+ data[marketId] = {
591
+ ...base,
592
+ midPrice: fast?.midPx != null ? fast.midPx : base.midPrice,
593
+ markPrice: fast?.markPx != null ? fast.markPx : base.markPrice,
594
+ }
595
+ }
600
596
  }
601
- for (const marketId of touchedMarketIds) {
602
- const context = this.computeMarketContext(marketId)
597
+ for (const [marketId, ctx] of Object.entries(this.spotCtxByMarketId)) {
598
+ const context = mapSpotMarketContext(
599
+ marketId,
600
+ ctx,
601
+ this.fastCtxByMarketId[marketId]
602
+ )
603
603
  if (context === undefined) {
604
- delete data[marketId]
605
- } else {
606
- data[marketId] = context
604
+ continue
607
605
  }
606
+ data[marketId] = context
608
607
  }
609
- this.marketsContextByMarketId = data
610
- this.emit('marketsContext', { channel: 'marketsContext', data })
611
- }
612
-
613
- /**
614
- * Context for one market from the cached feeds: spot asset context when it
615
- * maps, else perp asset context with mid + mark overlaid from
616
- * `fastAssetCtxs`, else the fast feed alone — each price standing in for the
617
- * other where it carries only one of mid/mark.
618
- */
619
- private computeMarketContext(marketId: string): MarketContext | undefined {
620
- const fast = this.fastCtxByMarketId[marketId]
621
- const spotCtx = this.spotCtxByMarketId[marketId]
622
- if (spotCtx !== undefined) {
623
- const context = mapSpotMarketContext(marketId, spotCtx, fast)
624
- if (context !== undefined) {
625
- return context
608
+ for (const [marketId, fast] of Object.entries(this.fastCtxByMarketId)) {
609
+ if (data[marketId] !== undefined) {
610
+ continue
626
611
  }
627
- }
628
- let perpCtx: HlWsPerpAssetCtx | undefined
629
- for (const byMarketId of this.perpCtxBySubDex.values()) {
630
- perpCtx = byMarketId[marketId] ?? perpCtx
631
- }
632
- if (perpCtx !== undefined) {
633
- const base = mapMarketContext(marketId, perpCtx)
634
- return {
635
- ...base,
636
- midPrice: fast?.midPx != null ? fast.midPx : base.midPrice,
637
- markPrice: fast?.markPx != null ? fast.markPx : base.markPrice,
612
+ // No asset-context frame for this market yet — each price stands in for
613
+ // the other where the fast feed carries only one of mid/mark.
614
+ const midPrice = fast.midPx ?? fast.markPx
615
+ const markPrice = fast.markPx ?? fast.midPx
616
+ if (midPrice != null && markPrice != null) {
617
+ data[marketId] = { marketId, midPrice, markPrice }
638
618
  }
639
619
  }
640
- const midPrice = fast?.midPx ?? fast?.markPx
641
- const markPrice = fast?.markPx ?? fast?.midPx
642
- if (midPrice != null && markPrice != null) {
643
- return { marketId, midPrice, markPrice }
644
- }
645
- return undefined
620
+ this.emit('marketsContext', { channel: 'marketsContext', data })
646
621
  }
647
622
 
648
623
  private handleActiveAssetCtx(data: HlWsActiveAssetCtxData, raw: string) {