@lifi/perps-types 0.1.1-alpha.1 → 0.1.1-alpha.3

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 (82) hide show
  1. package/package.json +9 -2
  2. package/providers/hyperliquid/package.json +5 -0
  3. package/src/_cjs/index.js +1 -0
  4. package/src/_cjs/index.js.map +1 -1
  5. package/src/_cjs/providers/hyperliquid/assetId.js +19 -0
  6. package/src/_cjs/providers/hyperliquid/assetId.js.map +1 -0
  7. package/src/_cjs/providers/hyperliquid/index.js +20 -0
  8. package/src/_cjs/providers/hyperliquid/index.js.map +1 -0
  9. package/src/_cjs/providers/hyperliquid/mappers/history.js +22 -0
  10. package/src/_cjs/providers/hyperliquid/mappers/history.js.map +1 -0
  11. package/src/_cjs/providers/hyperliquid/mappers/index.js +15 -0
  12. package/src/_cjs/providers/hyperliquid/mappers/index.js.map +1 -0
  13. package/src/_cjs/providers/hyperliquid/mappers/market.js +28 -0
  14. package/src/_cjs/providers/hyperliquid/mappers/market.js.map +1 -0
  15. package/src/_cjs/providers/hyperliquid/mappers/order.js +77 -0
  16. package/src/_cjs/providers/hyperliquid/mappers/order.js.map +1 -0
  17. package/src/_cjs/providers/hyperliquid/mappers/position.js +29 -0
  18. package/src/_cjs/providers/hyperliquid/mappers/position.js.map +1 -0
  19. package/src/_cjs/providers/hyperliquid/mappers/shared.js +12 -0
  20. package/src/_cjs/providers/hyperliquid/mappers/shared.js.map +1 -0
  21. package/src/_cjs/providers/hyperliquid/types.js +181 -0
  22. package/src/_cjs/providers/hyperliquid/types.js.map +1 -0
  23. package/src/_cjs/subscriptions.js +3 -0
  24. package/src/_cjs/subscriptions.js.map +1 -0
  25. package/src/_esm/index.js +1 -0
  26. package/src/_esm/index.js.map +1 -1
  27. package/src/_esm/providers/hyperliquid/assetId.js +23 -0
  28. package/src/_esm/providers/hyperliquid/assetId.js.map +1 -0
  29. package/src/_esm/providers/hyperliquid/index.js +4 -0
  30. package/src/_esm/providers/hyperliquid/index.js.map +1 -0
  31. package/src/_esm/providers/hyperliquid/mappers/history.js +18 -0
  32. package/src/_esm/providers/hyperliquid/mappers/history.js.map +1 -0
  33. package/src/_esm/providers/hyperliquid/mappers/index.js +6 -0
  34. package/src/_esm/providers/hyperliquid/mappers/index.js.map +1 -0
  35. package/src/_esm/providers/hyperliquid/mappers/market.js +24 -0
  36. package/src/_esm/providers/hyperliquid/mappers/market.js.map +1 -0
  37. package/src/_esm/providers/hyperliquid/mappers/order.js +72 -0
  38. package/src/_esm/providers/hyperliquid/mappers/order.js.map +1 -0
  39. package/src/_esm/providers/hyperliquid/mappers/position.js +25 -0
  40. package/src/_esm/providers/hyperliquid/mappers/position.js.map +1 -0
  41. package/src/_esm/providers/hyperliquid/mappers/shared.js +13 -0
  42. package/src/_esm/providers/hyperliquid/mappers/shared.js.map +1 -0
  43. package/src/_esm/providers/hyperliquid/types.js +203 -0
  44. package/src/_esm/providers/hyperliquid/types.js.map +1 -0
  45. package/src/_esm/subscriptions.js +2 -0
  46. package/src/_esm/subscriptions.js.map +1 -0
  47. package/src/_types/index.d.ts +1 -0
  48. package/src/_types/index.d.ts.map +1 -1
  49. package/src/_types/market.d.ts +1 -0
  50. package/src/_types/market.d.ts.map +1 -1
  51. package/src/_types/providers/hyperliquid/assetId.d.ts +12 -0
  52. package/src/_types/providers/hyperliquid/assetId.d.ts.map +1 -0
  53. package/src/_types/providers/hyperliquid/index.d.ts +4 -0
  54. package/src/_types/providers/hyperliquid/index.d.ts.map +1 -0
  55. package/src/_types/providers/hyperliquid/mappers/history.d.ts +4 -0
  56. package/src/_types/providers/hyperliquid/mappers/history.d.ts.map +1 -0
  57. package/src/_types/providers/hyperliquid/mappers/index.d.ts +6 -0
  58. package/src/_types/providers/hyperliquid/mappers/index.d.ts.map +1 -0
  59. package/src/_types/providers/hyperliquid/mappers/market.d.ts +4 -0
  60. package/src/_types/providers/hyperliquid/mappers/market.d.ts.map +1 -0
  61. package/src/_types/providers/hyperliquid/mappers/order.d.ts +6 -0
  62. package/src/_types/providers/hyperliquid/mappers/order.d.ts.map +1 -0
  63. package/src/_types/providers/hyperliquid/mappers/position.d.ts +4 -0
  64. package/src/_types/providers/hyperliquid/mappers/position.d.ts.map +1 -0
  65. package/src/_types/providers/hyperliquid/mappers/shared.d.ts +7 -0
  66. package/src/_types/providers/hyperliquid/mappers/shared.d.ts.map +1 -0
  67. package/src/_types/providers/hyperliquid/types.d.ts +340 -0
  68. package/src/_types/providers/hyperliquid/types.d.ts.map +1 -0
  69. package/src/_types/subscriptions.d.ts +70 -0
  70. package/src/_types/subscriptions.d.ts.map +1 -0
  71. package/src/index.ts +1 -0
  72. package/src/market.ts +1 -0
  73. package/src/providers/hyperliquid/assetId.ts +26 -0
  74. package/src/providers/hyperliquid/index.ts +3 -0
  75. package/src/providers/hyperliquid/mappers/history.ts +25 -0
  76. package/src/providers/hyperliquid/mappers/index.ts +5 -0
  77. package/src/providers/hyperliquid/mappers/market.ts +35 -0
  78. package/src/providers/hyperliquid/mappers/order.ts +89 -0
  79. package/src/providers/hyperliquid/mappers/position.ts +35 -0
  80. package/src/providers/hyperliquid/mappers/shared.ts +15 -0
  81. package/src/providers/hyperliquid/types.ts +290 -0
  82. package/src/subscriptions.ts +72 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/market.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGhD,MAAM,wBAAwB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,SAAS;AAEzD,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,QAAwB,EACxB,QAAoB,EACpB,QAAgB,EAChB,UAAkB,EAClB,MAAc,EACN,EAAE;IACV,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,MAAM,eAAe,GACnB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,wBAAwB,CAAC,GAAG,wBAAwB,CAAA;IAEtE,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,IAAI;QACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,OAAO,EAAE,qCAAqC,QAAQ,CAAC,IAAI,MAAM;QACjE,OAAO,EAAE,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC/C,GAAG,EAAE,MAAM;QACX,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,YAAY,EAAE,QAAQ,CAAC,YAAY,KAAK,IAAI;QAC5C,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ,CAAC,OAAO;YACtB,eAAe;SAChB;QACD,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,SAAS,EAAE,QAAQ,CAAC,MAAM;KAC3B,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,72 @@
1
+ import { OrderSide, OrderStatus, OrderType, TimeInForce, } from '../../../enums.js';
2
+ import { resolveAssetIdFromLookup } from './shared.js';
3
+ export const mapOpenOrder = (o, dexKey, assetIdLookup) => ({
4
+ id: String(o.oid),
5
+ symbol: o.coin,
6
+ assetId: resolveAssetIdFromLookup(assetIdLookup, o.coin),
7
+ dex: dexKey,
8
+ side: o.side === 'B' ? OrderSide.BUY : OrderSide.SELL,
9
+ type: o.orderType === 'Limit' ? OrderType.LIMIT : OrderType.MARKET,
10
+ size: o.sz,
11
+ price: o.limitPx,
12
+ filledSize: o.origSz
13
+ ? (parseFloat(o.origSz) - parseFloat(o.sz)).toString()
14
+ : '0',
15
+ reduceOnly: o.reduceOnly ?? false,
16
+ createdAt: new Date(o.timestamp).toISOString(),
17
+ });
18
+ const mapOrderStatus = (status) => {
19
+ switch (status) {
20
+ case 'open':
21
+ case 'resting':
22
+ return OrderStatus.OPEN;
23
+ case 'filled':
24
+ return OrderStatus.FILLED;
25
+ case 'canceled':
26
+ case 'cancelled':
27
+ return OrderStatus.CANCELLED;
28
+ case 'rejected':
29
+ return OrderStatus.REJECTED;
30
+ case 'triggered':
31
+ return OrderStatus.TRIGGERED;
32
+ case 'marginCanceled':
33
+ return OrderStatus.CANCELLED;
34
+ default:
35
+ return OrderStatus.PENDING;
36
+ }
37
+ };
38
+ const mapTimeInForce = (tif) => {
39
+ switch (tif) {
40
+ case 'Gtc':
41
+ return TimeInForce.GTC;
42
+ case 'Ioc':
43
+ return TimeInForce.IOC;
44
+ case 'Alo':
45
+ return TimeInForce.POST_ONLY;
46
+ default:
47
+ return undefined;
48
+ }
49
+ };
50
+ export const mapOrder = (detail) => {
51
+ const o = detail.order;
52
+ const filled = parseFloat(o.origSz) - parseFloat(o.sz);
53
+ return {
54
+ orderId: String(o.oid),
55
+ clientOrderId: o.cloid ?? undefined,
56
+ symbol: o.coin,
57
+ side: o.side === 'B' ? OrderSide.BUY : OrderSide.SELL,
58
+ type: o.orderType === 'Limit' ? OrderType.LIMIT : OrderType.MARKET,
59
+ price: o.limitPx,
60
+ originalSize: o.origSz,
61
+ remainingSize: o.sz,
62
+ filledSize: filled.toString(),
63
+ timeInForce: mapTimeInForce(o.tif ?? undefined),
64
+ reduceOnly: o.reduceOnly ?? undefined,
65
+ isTrigger: o.triggerCondition !== undefined && o.triggerCondition !== 'N/A',
66
+ triggerPrice: o.triggerPx ?? undefined,
67
+ status: mapOrderStatus(detail.status),
68
+ createdAt: new Date(o.timestamp).toISOString(),
69
+ updatedAt: new Date(detail.statusTimestamp).toISOString(),
70
+ };
71
+ };
72
+ //# sourceMappingURL=order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.js","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/order.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { MarginMode, PositionSide } from '../../../enums.js';
2
+ import { resolveAssetIdFromLookup } from './shared.js';
3
+ export const mapPosition = (ap, dexKey, assetIdLookup) => {
4
+ const pos = ap.position;
5
+ const szi = parseFloat(pos.szi);
6
+ return {
7
+ symbol: pos.coin,
8
+ assetId: resolveAssetIdFromLookup(assetIdLookup, pos.coin),
9
+ dex: dexKey,
10
+ side: szi >= 0 ? PositionSide.LONG : PositionSide.SHORT,
11
+ size: Math.abs(szi).toString(),
12
+ entryPrice: pos.entryPx ?? '0',
13
+ markPrice: pos.positionValue && szi !== 0
14
+ ? (parseFloat(pos.positionValue) / Math.abs(szi)).toString()
15
+ : '0',
16
+ liquidationPrice: pos.liquidationPx ?? '0',
17
+ unrealizedPnl: pos.unrealizedPnl,
18
+ leverage: ap.position.leverage.value,
19
+ marginUsed: pos.marginUsed,
20
+ marginMode: ap.position.leverage.type === 'cross'
21
+ ? MarginMode.CROSS
22
+ : MarginMode.ISOLATED,
23
+ };
24
+ };
25
+ //# sourceMappingURL=position.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position.js","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAI5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAEtD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,EAAmB,EACnB,MAAc,EACd,aAAkC,EACxB,EAAE;IACZ,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAA;IACvB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAE/B,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,IAAI;QAChB,OAAO,EAAE,wBAAwB,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC;QAC1D,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK;QACvD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAC9B,UAAU,EAAE,GAAG,CAAC,OAAO,IAAI,GAAG;QAC9B,SAAS,EACP,GAAG,CAAC,aAAa,IAAI,GAAG,KAAK,CAAC;YAC5B,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC5D,CAAC,CAAC,GAAG;QACT,gBAAgB,EAAE,GAAG,CAAC,aAAa,IAAI,GAAG;QAC1C,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;QACpC,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,UAAU,EACR,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO;YACnC,CAAC,CAAC,UAAU,CAAC,KAAK;YAClB,CAAC,CAAC,UAAU,CAAC,QAAQ;KAC1B,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Look up an asset ID by symbol, throwing if the symbol is unknown.
3
+ * Asset ID 0 is a valid Hyperliquid asset (BTC-PERP), so a fallback
4
+ * to 0 would silently corrupt data.
5
+ */
6
+ export const resolveAssetIdFromLookup = (lookup, symbol) => {
7
+ const id = lookup.get(symbol);
8
+ if (id === undefined) {
9
+ throw new Error(`Unknown asset symbol: ${symbol}`);
10
+ }
11
+ return id;
12
+ };
13
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/shared.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,MAA2B,EAC3B,MAAc,EACN,EAAE;IACV,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA"}
@@ -0,0 +1,203 @@
1
+ import { Type } from '@sinclair/typebox';
2
+ // ---------------------------------------------------------------------------
3
+ // Hyperliquid /info response schemas (TypeBox)
4
+ //
5
+ // Each schema produces both a JSON Schema object (for AJV validation) and a
6
+ // TypeScript type via Static<>. The derived types are structurally identical
7
+ // to the hand-written ones they replace.
8
+ //
9
+ // All schemas use additionalProperties: true (TypeBox default) so that new
10
+ // fields added by Hyperliquid pass through without breaking validation.
11
+ // ---------------------------------------------------------------------------
12
+ // -- metaAndAssetCtxs -------------------------------------------------------
13
+ export const HlUniverseItemSchema = Type.Object({
14
+ name: Type.String(),
15
+ szDecimals: Type.Number(),
16
+ maxLeverage: Type.Number(),
17
+ onlyIsolated: Type.Boolean(),
18
+ isDelisted: Type.Boolean(),
19
+ });
20
+ export const HlMetaSchema = Type.Object({
21
+ universe: Type.Array(HlUniverseItemSchema),
22
+ });
23
+ export const HlAssetCtxSchema = Type.Object({
24
+ funding: Type.String(),
25
+ openInterest: Type.String(),
26
+ dayNtlVlm: Type.String(),
27
+ markPx: Type.String(),
28
+ });
29
+ export const HlMetaAndAssetCtxsSchema = Type.Tuple([
30
+ HlMetaSchema,
31
+ Type.Array(HlAssetCtxSchema),
32
+ ]);
33
+ // -- allMids ----------------------------------------------------------------
34
+ export const HlAllMidsSchema = Type.Record(Type.String(), Type.String());
35
+ // -- candleSnapshot ---------------------------------------------------------
36
+ export const HlCandleSchema = Type.Object({
37
+ t: Type.Number(),
38
+ o: Type.String(),
39
+ h: Type.String(),
40
+ l: Type.String(),
41
+ c: Type.String(),
42
+ v: Type.String(),
43
+ });
44
+ export const HlCandleSnapshotSchema = Type.Array(HlCandleSchema);
45
+ // -- l2Book -----------------------------------------------------------------
46
+ export const HlLevelSchema = Type.Object({
47
+ px: Type.String(),
48
+ sz: Type.String(),
49
+ n: Type.Number(),
50
+ });
51
+ export const HlL2BookSchema = Type.Object({
52
+ levels: Type.Tuple([Type.Array(HlLevelSchema), Type.Array(HlLevelSchema)]),
53
+ time: Type.Number(),
54
+ });
55
+ // -- clearinghouseState -----------------------------------------------------
56
+ export const HlPositionSchema = Type.Object({
57
+ coin: Type.String(),
58
+ szi: Type.String(),
59
+ entryPx: Type.String(),
60
+ positionValue: Type.String(),
61
+ liquidationPx: Type.String(),
62
+ unrealizedPnl: Type.String(),
63
+ marginUsed: Type.String(),
64
+ leverage: Type.Object({
65
+ type: Type.String(),
66
+ value: Type.Number(),
67
+ }),
68
+ });
69
+ export const HlAssetPositionSchema = Type.Object({
70
+ position: HlPositionSchema,
71
+ });
72
+ export const HlClearinghouseStateSchema = Type.Object({
73
+ assetPositions: Type.Array(HlAssetPositionSchema),
74
+ marginSummary: Type.Object({
75
+ accountValue: Type.String(),
76
+ totalMarginUsed: Type.String(),
77
+ }),
78
+ crossMarginSummary: Type.Object({
79
+ accountValue: Type.String(),
80
+ totalMarginUsed: Type.String(),
81
+ }),
82
+ });
83
+ // -- spotClearinghouseState -------------------------------------------------
84
+ export const HlSpotBalanceSchema = Type.Object({
85
+ coin: Type.String(),
86
+ token: Type.Number(),
87
+ total: Type.String(),
88
+ hold: Type.String(),
89
+ entryNtl: Type.String(),
90
+ });
91
+ export const HlSpotClearinghouseStateSchema = Type.Object({
92
+ balances: Type.Array(HlSpotBalanceSchema),
93
+ });
94
+ // -- userFees ---------------------------------------------------------------
95
+ export const HlUserFeesSchema = Type.Object({
96
+ userAddRate: Type.String(),
97
+ userCrossRate: Type.String(),
98
+ activeReferralDiscount: Type.String(),
99
+ });
100
+ // -- frontendOpenOrders -----------------------------------------------------
101
+ export const HlFrontendOpenOrderSchema = Type.Object({
102
+ oid: Type.Number(),
103
+ coin: Type.String(),
104
+ side: Type.String(),
105
+ sz: Type.String(),
106
+ limitPx: Type.String(),
107
+ orderType: Type.String(),
108
+ origSz: Type.String(),
109
+ reduceOnly: Type.Boolean(),
110
+ timestamp: Type.Number(),
111
+ });
112
+ export const HlFrontendOpenOrdersSchema = Type.Array(HlFrontendOpenOrderSchema);
113
+ // -- extraAgents ------------------------------------------------------------
114
+ export const HlExtraAgentsSchema = Type.Array(Type.Record(Type.String(), Type.Unknown()));
115
+ // -- userFills / userFillsByTime --------------------------------------------
116
+ export const HlUserFillSchema = Type.Object({
117
+ tid: Type.Number(),
118
+ coin: Type.String(),
119
+ side: Type.String(),
120
+ sz: Type.String(),
121
+ px: Type.String(),
122
+ dir: Type.String(),
123
+ fee: Type.String(),
124
+ closedPnl: Type.String(),
125
+ time: Type.Number(),
126
+ });
127
+ export const HlUserFillsSchema = Type.Array(HlUserFillSchema);
128
+ export const HlUserFillsByTimeSchema = Type.Array(HlUserFillSchema);
129
+ // -- orderStatus ------------------------------------------------------------
130
+ export const HlOrderDetailSchema = Type.Object({
131
+ order: Type.Object({
132
+ oid: Type.Number(),
133
+ coin: Type.String(),
134
+ side: Type.String(),
135
+ sz: Type.String(),
136
+ limitPx: Type.String(),
137
+ orderType: Type.String(),
138
+ origSz: Type.String(),
139
+ reduceOnly: Type.Boolean(),
140
+ timestamp: Type.Number(),
141
+ tif: Type.Union([Type.String(), Type.Null()]),
142
+ cloid: Type.Union([Type.String(), Type.Null()]),
143
+ triggerCondition: Type.String(),
144
+ triggerPx: Type.Union([Type.String(), Type.Null()]),
145
+ }),
146
+ status: Type.String(),
147
+ statusTimestamp: Type.Number(),
148
+ });
149
+ export const HlOrderStatusFoundSchema = Type.Object({
150
+ status: Type.Literal('order'),
151
+ order: HlOrderDetailSchema,
152
+ });
153
+ export const HlOrderStatusResponseSchema = Type.Union([
154
+ HlOrderStatusFoundSchema,
155
+ Type.Object({ status: Type.Literal('unknownOid') }),
156
+ ]);
157
+ // -- perpDexs ---------------------------------------------------------------
158
+ export const HlPerpDexsSchema = Type.Array(Type.Union([Type.Null(), Type.Object({ name: Type.String() })]));
159
+ // ---------------------------------------------------------------------------
160
+ // Exchange request / response schemas
161
+ // ---------------------------------------------------------------------------
162
+ export const HlExchangeRequestSchema = Type.Object({
163
+ action: Type.Record(Type.String(), Type.Unknown()),
164
+ signature: Type.Object({
165
+ r: Type.String(),
166
+ s: Type.String(),
167
+ v: Type.Number(),
168
+ }),
169
+ nonce: Type.Number(),
170
+ vaultAddress: Type.Optional(Type.Union([Type.String(), Type.Null()])),
171
+ });
172
+ export const HlExchangeResponseSchema = Type.Object({
173
+ status: Type.String(),
174
+ response: Type.Optional(Type.Union([
175
+ Type.String(),
176
+ Type.Object({
177
+ type: Type.String(),
178
+ data: Type.Optional(Type.Object({
179
+ statuses: Type.Optional(Type.Array(Type.Union([
180
+ Type.String(),
181
+ Type.Object({
182
+ filled: Type.Object({
183
+ totalSz: Type.String(),
184
+ avgPx: Type.String(),
185
+ oid: Type.Number(),
186
+ }),
187
+ }),
188
+ Type.Object({ resting: Type.Object({ oid: Type.Number() }) }),
189
+ Type.Object({
190
+ waitingForFill: Type.Object({ oid: Type.Number() }),
191
+ }),
192
+ Type.Object({
193
+ waitingForTrigger: Type.Object({ oid: Type.Number() }),
194
+ }),
195
+ Type.Object({ success: Type.Literal(true) }),
196
+ Type.Object({ error: Type.String() }),
197
+ ]))),
198
+ status: Type.Optional(Type.Unknown()),
199
+ })),
200
+ }),
201
+ ])),
202
+ });
203
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../providers/hyperliquid/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=subscriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../subscriptions.ts"],"names":[],"mappings":""}
@@ -6,4 +6,5 @@ export * from './account.js';
6
6
  export * from './trading.js';
7
7
  export * from './withdrawal.js';
8
8
  export * from './errors.js';
9
+ export * from './subscriptions.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA"}
@@ -14,6 +14,7 @@ export interface Dex {
14
14
  logoURI: string;
15
15
  authorizations: Authorization[];
16
16
  extraData?: Record<string, unknown>;
17
+ wsUrl?: string;
17
18
  }
18
19
  export interface DexesResponse {
19
20
  dexes: Dex[];
@@ -1 +1 @@
1
- {"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../market.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;IACrC,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,GAAG;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,GAAG,EAAE,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,WAAW,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,MAAM,aAAa,GACrB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAA;AAER,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB"}
1
+ {"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../market.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;IACrC,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,GAAG;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,GAAG,EAAE,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,WAAW,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,MAAM,aAAa,GACrB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAA;AAER,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Calculate the asset ID for a given DEX index and asset index.
3
+ *
4
+ * Main DEX (dex = ''): assetId = indexInDex
5
+ * HIP-3 DEXes (dex = 'xyz'): assetId = 100_000 + perpDexIndex * 10_000 + indexInDex
6
+ */
7
+ export declare const calculateAssetId: (dexIndex: number, indexInDex: number) => number;
8
+ /**
9
+ * Get the DEX index from the given list of dex names.
10
+ */
11
+ export declare const getDexIndex: (dex: string, dexNames: string[]) => number;
12
+ //# sourceMappingURL=assetId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assetId.d.ts","sourceRoot":"","sources":["../../../providers/hyperliquid/assetId.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,EAChB,YAAY,MAAM,KACjB,MAKF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,EAAE,UAAU,MAAM,EAAE,KAAG,MAM7D,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './types.js';
2
+ export * from './assetId.js';
3
+ export * from './mappers/index.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../providers/hyperliquid/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { HistoryItem } from '../../../account.js';
2
+ import type { HlUserFill } from '../types.js';
3
+ export declare const mapHistoryItem: (fill: HlUserFill, dexKey: string, assetIdLookup: Map<string, number>) => HistoryItem;
4
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/history.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAI7C,eAAO,MAAM,cAAc,GACzB,MAAM,UAAU,EAChB,QAAQ,MAAM,EACd,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KACjC,WAcD,CAAA"}
@@ -0,0 +1,6 @@
1
+ export { resolveAssetIdFromLookup } from './shared.js';
2
+ export { mapMarket } from './market.js';
3
+ export { mapOpenOrder, mapOrder } from './order.js';
4
+ export { mapPosition } from './position.js';
5
+ export { mapHistoryItem } from './history.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { Market } from '../../../market.js';
2
+ import type { HlAssetCtx, HlUniverseItem } from '../types.js';
3
+ export declare const mapMarket: (universe: HlUniverseItem, assetCtx: HlAssetCtx, dexIndex: number, indexInDex: number, dexKey: string) => Market;
4
+ //# sourceMappingURL=market.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/market.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAI7D,eAAO,MAAM,SAAS,GACpB,UAAU,cAAc,EACxB,UAAU,UAAU,EACpB,UAAU,MAAM,EAChB,YAAY,MAAM,EAClB,QAAQ,MAAM,KACb,MAsBF,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { OpenOrder } from '../../../account.js';
2
+ import type { Order } from '../../../trading.js';
3
+ import type { HlFrontendOpenOrder, HlOrderDetail } from '../types.js';
4
+ export declare const mapOpenOrder: (o: HlFrontendOpenOrder, dexKey: string, assetIdLookup: Map<string, number>) => OpenOrder;
5
+ export declare const mapOrder: (detail: HlOrderDetail) => Order;
6
+ //# sourceMappingURL=order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/order.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAIrE,eAAO,MAAM,YAAY,GACvB,GAAG,mBAAmB,EACtB,QAAQ,MAAM,EACd,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KACjC,SAcD,CAAA;AAoCF,eAAO,MAAM,QAAQ,GAAI,QAAQ,aAAa,KAAG,KAsBhD,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { Position } from '../../../account.js';
2
+ import type { HlAssetPosition } from '../types.js';
3
+ export declare const mapPosition: (ap: HlAssetPosition, dexKey: string, assetIdLookup: Map<string, number>) => Position;
4
+ //# sourceMappingURL=position.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/position.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAIlD,eAAO,MAAM,WAAW,GACtB,IAAI,eAAe,EACnB,QAAQ,MAAM,EACd,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KACjC,QAwBF,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Look up an asset ID by symbol, throwing if the symbol is unknown.
3
+ * Asset ID 0 is a valid Hyperliquid asset (BTC-PERP), so a fallback
4
+ * to 0 would silently corrupt data.
5
+ */
6
+ export declare const resolveAssetIdFromLookup: (lookup: Map<string, number>, symbol: string) => number;
7
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/shared.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GACnC,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,QAAQ,MAAM,KACb,MAMF,CAAA"}