@lifi/perps-sdk-provider-hyperliquid 5.1.0 → 6.0.1

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 (263) hide show
  1. package/dist/cjs/HyperliquidProvider.d.ts.map +1 -1
  2. package/dist/cjs/HyperliquidProvider.js +4 -0
  3. package/dist/cjs/HyperliquidProvider.js.map +1 -1
  4. package/dist/cjs/services/getAccount.d.ts.map +1 -1
  5. package/dist/cjs/services/getAccount.js +1 -1
  6. package/dist/cjs/services/getAccount.js.map +1 -1
  7. package/dist/cjs/services/getActivity.d.ts.map +1 -1
  8. package/dist/cjs/services/getActivity.js.map +1 -1
  9. package/dist/cjs/services/getFills.d.ts.map +1 -1
  10. package/dist/cjs/services/getFills.js.map +1 -1
  11. package/dist/cjs/services/getMarketSettings.d.ts +10 -0
  12. package/dist/cjs/services/getMarketSettings.d.ts.map +1 -0
  13. package/dist/cjs/services/getMarketSettings.js +26 -0
  14. package/dist/cjs/services/getMarketSettings.js.map +1 -0
  15. package/dist/cjs/services/getOrders.d.ts.map +1 -1
  16. package/dist/cjs/services/getOrders.js.map +1 -1
  17. package/dist/cjs/services/getPositions.d.ts.map +1 -1
  18. package/dist/cjs/services/getPositions.js +1 -1
  19. package/dist/cjs/services/getPositions.js.map +1 -1
  20. package/dist/cjs/signers/HyperliquidAgentStore.d.ts.map +1 -1
  21. package/dist/cjs/signers/HyperliquidAgentStore.js.map +1 -1
  22. package/dist/cjs/signers/signActions.d.ts.map +1 -1
  23. package/dist/cjs/signers/signActions.js.map +1 -1
  24. package/dist/cjs/types/account.d.ts +11 -0
  25. package/dist/cjs/types/account.d.ts.map +1 -1
  26. package/dist/cjs/types/account.js.map +1 -1
  27. package/dist/cjs/types/action.d.ts.map +1 -1
  28. package/dist/cjs/types/action.js.map +1 -1
  29. package/dist/cjs/types/asset.d.ts +1 -0
  30. package/dist/cjs/types/asset.d.ts.map +1 -1
  31. package/dist/cjs/types/fill.d.ts.map +1 -1
  32. package/dist/cjs/types/ledger.d.ts.map +1 -1
  33. package/dist/cjs/types/ledger.js.map +1 -1
  34. package/dist/cjs/types/order.d.ts.map +1 -1
  35. package/dist/cjs/types/ws.d.ts.map +1 -1
  36. package/dist/cjs/utils/assetId.d.ts.map +1 -1
  37. package/dist/cjs/utils/assetId.js.map +1 -1
  38. package/dist/cjs/utils/assetLogo.d.ts.map +1 -1
  39. package/dist/cjs/utils/assetLogo.js.map +1 -1
  40. package/dist/cjs/utils/decodeFastAssetCtxs.d.ts.map +1 -1
  41. package/dist/cjs/utils/decodeFastAssetCtxs.js.map +1 -1
  42. package/dist/cjs/utils/index.d.ts +1 -0
  43. package/dist/cjs/utils/index.d.ts.map +1 -1
  44. package/dist/cjs/utils/index.js +3 -1
  45. package/dist/cjs/utils/index.js.map +1 -1
  46. package/dist/cjs/utils/infoClient.d.ts.map +1 -1
  47. package/dist/cjs/utils/infoClient.js.map +1 -1
  48. package/dist/cjs/utils/mapActivity.d.ts.map +1 -1
  49. package/dist/cjs/utils/mapActivity.js +13 -10
  50. package/dist/cjs/utils/mapActivity.js.map +1 -1
  51. package/dist/cjs/utils/mapFill.d.ts.map +1 -1
  52. package/dist/cjs/utils/mapFill.js.map +1 -1
  53. package/dist/cjs/utils/mapMarket.d.ts.map +1 -1
  54. package/dist/cjs/utils/mapMarket.js +6 -1
  55. package/dist/cjs/utils/mapMarket.js.map +1 -1
  56. package/dist/cjs/utils/mapOrder.d.ts.map +1 -1
  57. package/dist/cjs/utils/mapOrder.js.map +1 -1
  58. package/dist/cjs/utils/mapPosition.d.ts +2 -2
  59. package/dist/cjs/utils/mapPosition.d.ts.map +1 -1
  60. package/dist/cjs/utils/mapPosition.js +17 -10
  61. package/dist/cjs/utils/mapPosition.js.map +1 -1
  62. package/dist/cjs/utils/spotBalance.d.ts.map +1 -1
  63. package/dist/cjs/utils/spotBalance.js.map +1 -1
  64. package/dist/cjs/utils/spotCollateral.d.ts.map +1 -1
  65. package/dist/cjs/utils/spotCollateral.js.map +1 -1
  66. package/dist/cjs/utils/transferMargin.d.ts +3 -0
  67. package/dist/cjs/utils/transferMargin.d.ts.map +1 -0
  68. package/dist/cjs/utils/transferMargin.js +40 -0
  69. package/dist/cjs/utils/transferMargin.js.map +1 -0
  70. package/dist/cjs/websocket/HyperliquidWsProvider.d.ts.map +1 -1
  71. package/dist/cjs/websocket/HyperliquidWsProvider.js +3 -1
  72. package/dist/cjs/websocket/HyperliquidWsProvider.js.map +1 -1
  73. package/dist/esm/HyperliquidProvider.d.ts +14 -4
  74. package/dist/esm/HyperliquidProvider.d.ts.map +1 -1
  75. package/dist/esm/HyperliquidProvider.js +4 -0
  76. package/dist/esm/HyperliquidProvider.js.map +1 -1
  77. package/dist/esm/services/getAccount.d.ts.map +1 -1
  78. package/dist/esm/services/getAccount.js +2 -2
  79. package/dist/esm/services/getAccount.js.map +1 -1
  80. package/dist/esm/services/getActivity.d.ts +5 -1
  81. package/dist/esm/services/getActivity.d.ts.map +1 -1
  82. package/dist/esm/services/getActivity.js.map +1 -1
  83. package/dist/esm/services/getFills.d.ts +4 -3
  84. package/dist/esm/services/getFills.d.ts.map +1 -1
  85. package/dist/esm/services/getFills.js.map +1 -1
  86. package/dist/esm/services/getMarketSettings.d.ts +21 -0
  87. package/dist/esm/services/getMarketSettings.d.ts.map +1 -0
  88. package/dist/esm/services/getMarketSettings.js +29 -0
  89. package/dist/esm/services/getMarketSettings.js.map +1 -0
  90. package/dist/esm/services/getOrders.d.ts +2 -1
  91. package/dist/esm/services/getOrders.d.ts.map +1 -1
  92. package/dist/esm/services/getOrders.js.map +1 -1
  93. package/dist/esm/services/getPositions.d.ts +2 -2
  94. package/dist/esm/services/getPositions.d.ts.map +1 -1
  95. package/dist/esm/services/getPositions.js +2 -2
  96. package/dist/esm/services/getPositions.js.map +1 -1
  97. package/dist/esm/signers/HyperliquidAgentStore.d.ts +3 -3
  98. package/dist/esm/signers/HyperliquidAgentStore.d.ts.map +1 -1
  99. package/dist/esm/signers/HyperliquidAgentStore.js +1 -0
  100. package/dist/esm/signers/HyperliquidAgentStore.js.map +1 -1
  101. package/dist/esm/signers/signActions.d.ts +8 -6
  102. package/dist/esm/signers/signActions.d.ts.map +1 -1
  103. package/dist/esm/signers/signActions.js +8 -6
  104. package/dist/esm/signers/signActions.js.map +1 -1
  105. package/dist/esm/types/account.d.ts +68 -8
  106. package/dist/esm/types/account.d.ts.map +1 -1
  107. package/dist/esm/types/account.js.map +1 -1
  108. package/dist/esm/types/action.d.ts +28 -10
  109. package/dist/esm/types/action.d.ts.map +1 -1
  110. package/dist/esm/types/action.js +7 -7
  111. package/dist/esm/types/action.js.map +1 -1
  112. package/dist/esm/types/asset.d.ts +62 -15
  113. package/dist/esm/types/asset.d.ts.map +1 -1
  114. package/dist/esm/types/fill.d.ts +9 -3
  115. package/dist/esm/types/fill.d.ts.map +1 -1
  116. package/dist/esm/types/ledger.d.ts +24 -6
  117. package/dist/esm/types/ledger.d.ts.map +1 -1
  118. package/dist/esm/types/ledger.js.map +1 -1
  119. package/dist/esm/types/order.d.ts +19 -5
  120. package/dist/esm/types/order.d.ts.map +1 -1
  121. package/dist/esm/types/ws.d.ts +43 -14
  122. package/dist/esm/types/ws.d.ts.map +1 -1
  123. package/dist/esm/utils/assetId.d.ts +7 -7
  124. package/dist/esm/utils/assetId.d.ts.map +1 -1
  125. package/dist/esm/utils/assetId.js +7 -7
  126. package/dist/esm/utils/assetId.js.map +1 -1
  127. package/dist/esm/utils/assetLogo.d.ts +15 -13
  128. package/dist/esm/utils/assetLogo.d.ts.map +1 -1
  129. package/dist/esm/utils/assetLogo.js +15 -13
  130. package/dist/esm/utils/assetLogo.js.map +1 -1
  131. package/dist/esm/utils/decodeFastAssetCtxs.d.ts +7 -1
  132. package/dist/esm/utils/decodeFastAssetCtxs.d.ts.map +1 -1
  133. package/dist/esm/utils/decodeFastAssetCtxs.js +7 -1
  134. package/dist/esm/utils/decodeFastAssetCtxs.js.map +1 -1
  135. package/dist/esm/utils/index.d.ts +1 -0
  136. package/dist/esm/utils/index.d.ts.map +1 -1
  137. package/dist/esm/utils/index.js +1 -0
  138. package/dist/esm/utils/index.js.map +1 -1
  139. package/dist/esm/utils/infoClient.d.ts +6 -1
  140. package/dist/esm/utils/infoClient.d.ts.map +1 -1
  141. package/dist/esm/utils/infoClient.js.map +1 -1
  142. package/dist/esm/utils/mapActivity.d.ts +10 -1
  143. package/dist/esm/utils/mapActivity.d.ts.map +1 -1
  144. package/dist/esm/utils/mapActivity.js +23 -11
  145. package/dist/esm/utils/mapActivity.js.map +1 -1
  146. package/dist/esm/utils/mapFill.d.ts +1 -0
  147. package/dist/esm/utils/mapFill.d.ts.map +1 -1
  148. package/dist/esm/utils/mapFill.js +1 -0
  149. package/dist/esm/utils/mapFill.js.map +1 -1
  150. package/dist/esm/utils/mapMarket.d.ts.map +1 -1
  151. package/dist/esm/utils/mapMarket.js +8 -1
  152. package/dist/esm/utils/mapMarket.js.map +1 -1
  153. package/dist/esm/utils/mapOrder.d.ts +15 -4
  154. package/dist/esm/utils/mapOrder.d.ts.map +1 -1
  155. package/dist/esm/utils/mapOrder.js +15 -4
  156. package/dist/esm/utils/mapOrder.js.map +1 -1
  157. package/dist/esm/utils/mapPosition.d.ts +8 -3
  158. package/dist/esm/utils/mapPosition.d.ts.map +1 -1
  159. package/dist/esm/utils/mapPosition.js +20 -11
  160. package/dist/esm/utils/mapPosition.js.map +1 -1
  161. package/dist/esm/utils/spotBalance.d.ts +9 -10
  162. package/dist/esm/utils/spotBalance.d.ts.map +1 -1
  163. package/dist/esm/utils/spotBalance.js +9 -10
  164. package/dist/esm/utils/spotBalance.js.map +1 -1
  165. package/dist/esm/utils/spotCollateral.d.ts +9 -5
  166. package/dist/esm/utils/spotCollateral.d.ts.map +1 -1
  167. package/dist/esm/utils/spotCollateral.js +4 -4
  168. package/dist/esm/utils/spotCollateral.js.map +1 -1
  169. package/dist/esm/utils/transferMargin.d.ts +14 -0
  170. package/dist/esm/utils/transferMargin.d.ts.map +1 -0
  171. package/dist/esm/utils/transferMargin.js +45 -0
  172. package/dist/esm/utils/transferMargin.js.map +1 -0
  173. package/dist/esm/websocket/HyperliquidWsProvider.d.ts.map +1 -1
  174. package/dist/esm/websocket/HyperliquidWsProvider.js +4 -2
  175. package/dist/esm/websocket/HyperliquidWsProvider.js.map +1 -1
  176. package/dist/types/HyperliquidProvider.d.ts +14 -4
  177. package/dist/types/HyperliquidProvider.d.ts.map +1 -1
  178. package/dist/types/services/getAccount.d.ts.map +1 -1
  179. package/dist/types/services/getActivity.d.ts +5 -1
  180. package/dist/types/services/getActivity.d.ts.map +1 -1
  181. package/dist/types/services/getFills.d.ts +4 -3
  182. package/dist/types/services/getFills.d.ts.map +1 -1
  183. package/dist/types/services/getMarketSettings.d.ts +21 -0
  184. package/dist/types/services/getMarketSettings.d.ts.map +1 -0
  185. package/dist/types/services/getOrders.d.ts +2 -1
  186. package/dist/types/services/getOrders.d.ts.map +1 -1
  187. package/dist/types/services/getPositions.d.ts +2 -2
  188. package/dist/types/services/getPositions.d.ts.map +1 -1
  189. package/dist/types/signers/HyperliquidAgentStore.d.ts +3 -3
  190. package/dist/types/signers/HyperliquidAgentStore.d.ts.map +1 -1
  191. package/dist/types/signers/signActions.d.ts +8 -6
  192. package/dist/types/signers/signActions.d.ts.map +1 -1
  193. package/dist/types/types/account.d.ts +68 -8
  194. package/dist/types/types/account.d.ts.map +1 -1
  195. package/dist/types/types/action.d.ts +28 -10
  196. package/dist/types/types/action.d.ts.map +1 -1
  197. package/dist/types/types/asset.d.ts +62 -15
  198. package/dist/types/types/asset.d.ts.map +1 -1
  199. package/dist/types/types/fill.d.ts +9 -3
  200. package/dist/types/types/fill.d.ts.map +1 -1
  201. package/dist/types/types/ledger.d.ts +24 -6
  202. package/dist/types/types/ledger.d.ts.map +1 -1
  203. package/dist/types/types/order.d.ts +19 -5
  204. package/dist/types/types/order.d.ts.map +1 -1
  205. package/dist/types/types/ws.d.ts +43 -14
  206. package/dist/types/types/ws.d.ts.map +1 -1
  207. package/dist/types/utils/assetId.d.ts +7 -7
  208. package/dist/types/utils/assetId.d.ts.map +1 -1
  209. package/dist/types/utils/assetLogo.d.ts +15 -13
  210. package/dist/types/utils/assetLogo.d.ts.map +1 -1
  211. package/dist/types/utils/decodeFastAssetCtxs.d.ts +7 -1
  212. package/dist/types/utils/decodeFastAssetCtxs.d.ts.map +1 -1
  213. package/dist/types/utils/index.d.ts +1 -0
  214. package/dist/types/utils/index.d.ts.map +1 -1
  215. package/dist/types/utils/infoClient.d.ts +6 -1
  216. package/dist/types/utils/infoClient.d.ts.map +1 -1
  217. package/dist/types/utils/mapActivity.d.ts +10 -1
  218. package/dist/types/utils/mapActivity.d.ts.map +1 -1
  219. package/dist/types/utils/mapFill.d.ts +1 -0
  220. package/dist/types/utils/mapFill.d.ts.map +1 -1
  221. package/dist/types/utils/mapMarket.d.ts.map +1 -1
  222. package/dist/types/utils/mapOrder.d.ts +15 -4
  223. package/dist/types/utils/mapOrder.d.ts.map +1 -1
  224. package/dist/types/utils/mapPosition.d.ts +8 -3
  225. package/dist/types/utils/mapPosition.d.ts.map +1 -1
  226. package/dist/types/utils/spotBalance.d.ts +9 -10
  227. package/dist/types/utils/spotBalance.d.ts.map +1 -1
  228. package/dist/types/utils/spotCollateral.d.ts +9 -5
  229. package/dist/types/utils/spotCollateral.d.ts.map +1 -1
  230. package/dist/types/utils/transferMargin.d.ts +14 -0
  231. package/dist/types/utils/transferMargin.d.ts.map +1 -0
  232. package/dist/types/websocket/HyperliquidWsProvider.d.ts.map +1 -1
  233. package/package.json +3 -3
  234. package/src/HyperliquidProvider.ts +30 -4
  235. package/src/services/getAccount.ts +7 -1
  236. package/src/services/getActivity.ts +5 -1
  237. package/src/services/getFills.ts +4 -3
  238. package/src/services/getMarketSettings.ts +56 -0
  239. package/src/services/getOrders.ts +2 -1
  240. package/src/services/getPositions.ts +13 -4
  241. package/src/signers/HyperliquidAgentStore.ts +3 -3
  242. package/src/signers/signActions.ts +8 -6
  243. package/src/types/account.ts +66 -8
  244. package/src/types/action.ts +28 -10
  245. package/src/types/asset.ts +62 -15
  246. package/src/types/fill.ts +9 -3
  247. package/src/types/ledger.ts +24 -6
  248. package/src/types/order.ts +19 -5
  249. package/src/types/ws.ts +43 -14
  250. package/src/utils/assetId.ts +7 -7
  251. package/src/utils/assetLogo.ts +15 -13
  252. package/src/utils/decodeFastAssetCtxs.ts +7 -1
  253. package/src/utils/index.ts +1 -0
  254. package/src/utils/infoClient.ts +6 -1
  255. package/src/utils/mapActivity.ts +23 -11
  256. package/src/utils/mapFill.ts +1 -0
  257. package/src/utils/mapMarket.ts +10 -1
  258. package/src/utils/mapOrder.ts +15 -4
  259. package/src/utils/mapPosition.ts +24 -15
  260. package/src/utils/spotBalance.ts +9 -10
  261. package/src/utils/spotCollateral.ts +9 -5
  262. package/src/utils/transferMargin.ts +65 -0
  263. package/src/websocket/HyperliquidWsProvider.ts +4 -1
@@ -18,7 +18,11 @@ export type HlWsPerpAssetCtx = {
18
18
  midPx: string | null;
19
19
  oraclePx: string;
20
20
  };
21
- /** @public */
21
+ /**
22
+ * Partial perp context carried by compressed (`pac`) updates. Omitted fields
23
+ * are unchanged from the prior context and must be merged by the consumer.
24
+ * @public
25
+ */
22
26
  export type HlWsPerpAssetCtxPayload = Partial<HlWsPerpAssetCtx>;
23
27
  /**
24
28
  * `allDexsAssetCtxs` carries one `[dex, ctxs]` pair per perp sub-DEX, mirroring
@@ -36,7 +40,7 @@ export type HlWsAllDexsAssetCtxsData = {
36
40
  * @public
37
41
  */
38
42
  export type HlWsPacData = [string, HlWsPerpAssetCtxPayload[]][];
39
- /** @public */
43
+ /** Generic Hyperliquid WS envelope; `channel` identifies the subscription and `data` is channel-specific. @public */
40
44
  export type HlWsMessage = {
41
45
  channel: string;
42
46
  data: unknown;
@@ -51,7 +55,12 @@ export type HlWsFastAssetCtx = {
51
55
  markPx?: string;
52
56
  midPx?: string | null;
53
57
  };
54
- /** @public */
58
+ /**
59
+ * Incremental spot asset context. Hyperliquid may encode numeric fields as
60
+ * strings or numbers and omits unchanged fields; `midPx: null` means no book
61
+ * midpoint is available.
62
+ * @public
63
+ */
55
64
  export type HlWsSpotAssetCtx = {
56
65
  dayNtlVlm?: HlWsNumberString;
57
66
  prevDayPx?: HlWsNumberString;
@@ -60,12 +69,12 @@ export type HlWsSpotAssetCtx = {
60
69
  dayBaseVlm?: HlWsNumberString;
61
70
  circulatingSupply?: HlWsNumberString;
62
71
  };
63
- /** @public */
72
+ /** Active perp context event keyed by its Hyperliquid wire coin. @public */
64
73
  export type HlWsActiveAssetCtxData = {
65
74
  coin: string;
66
75
  ctx: Partial<Record<keyof HlWsPerpAssetCtx, HlWsNumberString | null>>;
67
76
  };
68
- /** @public */
77
+ /** Active spot context event keyed by its Hyperliquid wire coin. @public */
69
78
  export type HlWsActiveSpotAssetCtxData = {
70
79
  coin: string;
71
80
  ctx: HlWsSpotAssetCtx;
@@ -76,11 +85,15 @@ export type HlWsActiveSpotAssetCtxData = {
76
85
  * @public
77
86
  */
78
87
  export type HlWsSacData = Record<string, HlWsSpotAssetCtx>;
79
- /** @public */
88
+ /** L2 snapshot envelope with the wire coin attached to {@link HlL2Book}. @public */
80
89
  export type HlWsL2BookData = HlL2Book & {
81
90
  coin: string;
82
91
  };
83
- /** @public */
92
+ /**
93
+ * L2 channel payload. `s` is a full snapshot, while `u` is a compressed delta;
94
+ * `c` carries the checksum/control value when present.
95
+ * @public
96
+ */
84
97
  export type HlWsL2Data = {
85
98
  s?: HlL2Book & {
86
99
  coin: string;
@@ -88,12 +101,16 @@ export type HlWsL2Data = {
88
101
  c?: string;
89
102
  u?: HlWsCompressedL2Data;
90
103
  };
91
- /** @public */
104
+ /** One level in a compressed L2 update: `p` is price and `s` is size. @public */
92
105
  export type HlWsCompressedL2Level = {
93
106
  p: string;
94
107
  s: string;
95
108
  };
96
- /** @public */
109
+ /**
110
+ * Compressed L2 delta. `t` is the update timestamp in milliseconds, `l` holds
111
+ * bid/ask levels, and optional `r` describes removals.
112
+ * @public
113
+ */
97
114
  export type HlWsCompressedL2Data = {
98
115
  c: string;
99
116
  t: number;
@@ -107,14 +124,22 @@ export type HlWsCompressedL2Data = {
107
124
  }>
108
125
  ];
109
126
  };
110
- /** @public */
127
+ /**
128
+ * Candle event payload. Inherited `t` is candle-open time; `T` is close time,
129
+ * `s` is the symbol, `i` is interval, and `n` is the trade count.
130
+ * @public
131
+ */
111
132
  export type HlWsCandleData = HlCandle & {
112
133
  T: number;
113
134
  s: string;
114
135
  i: string;
115
136
  n: number;
116
137
  };
117
- /** @public */
138
+ /**
139
+ * Public trade event. Prices and size are decimal strings; `time` is
140
+ * milliseconds since epoch, with optional trade ID and transaction hash.
141
+ * @public
142
+ */
118
143
  export type HlWsTrade = {
119
144
  coin: string;
120
145
  side: string;
@@ -124,13 +149,17 @@ export type HlWsTrade = {
124
149
  tid?: number;
125
150
  hash?: string;
126
151
  };
127
- /** @public */
152
+ /** User fills event; `isSnapshot` distinguishes the initial snapshot from updates. @public */
128
153
  export type HlWsUserFillsData = {
129
154
  isSnapshot: boolean;
130
155
  user: string;
131
156
  fills: HlUserFill[];
132
157
  };
133
- /** @public */
158
+ /**
159
+ * Per-dex clearinghouse event for one user. Each tuple contains a wire DEX name
160
+ * and the perp positions/equity fields supplied by that DEX.
161
+ * @public
162
+ */
134
163
  export type HlWsAllDexsClearinghouseStateData = {
135
164
  user: string;
136
165
  clearinghouseStates: [
@@ -138,7 +167,7 @@ export type HlWsAllDexsClearinghouseStateData = {
138
167
  Pick<HlClearinghouseState, 'assetPositions' | 'marginSummary'>
139
168
  ][];
140
169
  };
141
- /** @public */
170
+ /** User spot clearinghouse event containing the current spot balances. @public */
142
171
  export type HlWsSpotStateData = {
143
172
  user: string;
144
173
  spotState: {
@@ -1 +1 @@
1
- {"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../../src/types/ws.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../../src/types/ws.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,19 @@
1
1
  /**
2
- * Spot asset IDs use the @pairIndex format (e.g. "@230").
3
- *
2
+ * Return whether a Hyperliquid asset ID identifies spot (`@<pairIndex>`).
3
+ * @param assetId - Raw Hyperliquid asset ID.
4
4
  * @public
5
5
  */
6
6
  export declare const assetIsSpot: (assetId: string) => boolean;
7
7
  /**
8
- * Calculate the asset ID for a given provider index and asset index.
9
- *
10
- * Main provider (provider = ''): assetId = indexInProvider
11
- * HIP-3 providers (provider = 'xyz'): assetId = 100_000 + perpDexIndex * 10_000 + indexInProvider
8
+ * Calculate Hyperliquid's numeric asset ID from a perp DEX index and the
9
+ * asset's zero-based index within that DEX. The main DEX uses the index
10
+ * directly; HIP-3 DEXes use `100000 + dexIndex * 10000 + assetIndex`.
12
11
  * @public
13
12
  */
14
13
  export declare const calculateAssetId: (providerIndex: number, indexInProvider: number) => number;
15
14
  /**
16
- * Get the provider index from the given list of provider names.
15
+ * Find a sub-DEX's zero-based index in the names returned by Hyperliquid.
16
+ * @throws If `provider` is absent from `providerNames`.
17
17
  * @public
18
18
  */
19
19
  export declare const getProviderIndex: (provider: string, providerNames: string[]) => number;
@@ -1 +1 @@
1
- {"version":3,"file":"assetId.d.ts","sourceRoot":"","sources":["../../../src/utils/assetId.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,KAAG,OAAkC,CAAA;AAEhF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAC3B,eAAe,MAAM,EACrB,iBAAiB,MAAM,KACtB,MAKF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,EAChB,eAAe,MAAM,EAAE,KACtB,MAMF,CAAA"}
1
+ {"version":3,"file":"assetId.d.ts","sourceRoot":"","sources":["../../../src/utils/assetId.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,KAAG,OAAkC,CAAA;AAEhF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,eAAe,MAAM,EACrB,iBAAiB,MAAM,KACtB,MAKF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,EAChB,eAAe,MAAM,EAAE,KACtB,MAMF,CAAA"}
@@ -1,20 +1,22 @@
1
1
  import type { Asset } from '@lifi/perps-types';
2
- /** Token `name`s of the Unit-bridged HL spot assets. */
2
+ /**
3
+ * Names of Unit-bridged Hyperliquid spot tokens recognized by the logo
4
+ * resolver. The set is read-only and is intended for callers that need to
5
+ * distinguish Unit balances before resolving their icons.
6
+ * @public
7
+ */
3
8
  export declare const UNIT_TOKEN_NAMES: ReadonlySet<string>;
4
- /** Return `asset` with its `logoURI` replaced when a display-symbol override exists. */
9
+ /**
10
+ * Apply the provider's known symbol-specific logo corrections to an asset.
11
+ * Returns the original object when no override exists.
12
+ * @public
13
+ */
5
14
  export declare const applyLogoOverride: (asset: Asset) => Asset;
6
15
  /**
7
- * Override-aware logo URI for a Hyperliquid spot token. Base rule is
8
- * `coins/${name}_spot.svg`; a Unit-bridged token (`fullName` starts with
9
- * "Unit") resolves to its underlying's icon instead; the override table wins
10
- * over both.
11
- *
12
- * When `fullName` is absent — spot *balances* (`HlSpotBalance`) carry no
13
- * `fullName` and this issue deliberately does not fetch `spotMeta` on the
14
- * account path — the derivation degrades to the symbol-keyed override + base
15
- * `_spot` rule, so a Unit-bridged balance uses the base rule rather than its
16
- * underlying's icon. The registry path (which has `fullName`) keeps full Unit
17
- * resolution.
16
+ * Resolve the logo URI for a Hyperliquid spot token. Unit-bridged tokens use
17
+ * the underlying symbol's icon when `fullName` starts with `'Unit'`; otherwise
18
+ * the base URI is `coins/${name}_spot.svg`. Known symbol overrides win.
19
+ * @public
18
20
  */
19
21
  export declare const spotLogoURI: (name: string, fullName?: string | null) => string;
20
22
  //# sourceMappingURL=assetLogo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assetLogo.d.ts","sourceRoot":"","sources":["../../../src/utils/assetLogo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAiD9C,wDAAwD;AACxD,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAEhD,CAAA;AAQD,wFAAwF;AACxF,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,KAAG,KAGhD,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,WAAW,MAAM,GAAG,IAAI,KAAG,MAKpE,CAAA"}
1
+ {"version":3,"file":"assetLogo.d.ts","sourceRoot":"","sources":["../../../src/utils/assetLogo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAiD9C;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAEhD,CAAA;AAQD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,KAAG,KAGhD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,WAAW,MAAM,GAAG,IAAI,KAAG,MAKpE,CAAA"}
@@ -1,5 +1,10 @@
1
1
  import type { HlWsFastAssetCtx } from '../types/index.js';
2
- /** Decode a base64 + raw-DEFLATE (RFC 1951) payload into parsed JSON. */
2
+ /**
3
+ * Decode a base64-encoded raw-DEFLATE payload and parse its UTF-8 JSON body.
4
+ * @typeParam T - Expected shape of the decoded JSON value.
5
+ * @throws If decompression or JSON parsing fails.
6
+ * @public
7
+ */
3
8
  export declare function decodeCompressedJson<T>(base64: string): Promise<T>;
4
9
  /**
5
10
  * Decode a Hyperliquid `fastAssetCtxs` frame. HL sends the payload as a
@@ -8,6 +13,7 @@ export declare function decodeCompressedJson<T>(base64: string): Promise<T>;
8
13
  * (Node 18+, modern browsers), so no dependency is needed.
9
14
  *
10
15
  * @throws If the input is not valid base64 / raw-DEFLATE / JSON.
16
+ * @public
11
17
  */
12
18
  export declare function decodeFastAssetCtxs(base64: string): Promise<Record<string, HlWsFastAssetCtx>>;
13
19
  //# sourceMappingURL=decodeFastAssetCtxs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decodeFastAssetCtxs.d.ts","sourceRoot":"","sources":["../../../src/utils/decodeFastAssetCtxs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,yEAAyE;AACzE,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAcxE;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAE3C"}
1
+ {"version":3,"file":"decodeFastAssetCtxs.d.ts","sourceRoot":"","sources":["../../../src/utils/decodeFastAssetCtxs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAcxE;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAE3C"}
@@ -15,4 +15,5 @@ export { formatOrderPrice, formatOrderSize, getMaxPriceDecimals, } from './order
15
15
  export { priceStepToAggregation } from './priceStepToAggregation.js';
16
16
  export { spotAssetFromToken, spotBalance, spotPriceById, } from './spotBalance.js';
17
17
  export { partitionSpotBalances, type SpotPartition } from './spotCollateral.js';
18
+ export { positionMarginConstraints } from './transferMargin.js';
18
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,gBAAgB,GACjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EACL,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EACL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,aAAa,GACd,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,qBAAqB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,gBAAgB,GACjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EACL,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EACL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,aAAa,GACd,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,qBAAqB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA"}
@@ -1,7 +1,12 @@
1
1
  import { type PerpsSDKClient, type ResolvedRetryPolicy, type SDKRequestOptions } from '@lifi/perps-sdk';
2
2
  /** @internal */
3
3
  export declare const HYPERLIQUID_RETRY_DEFAULTS: ResolvedRetryPolicy;
4
- /** @public */
4
+ /**
5
+ * Transport options for a direct Hyperliquid `/info` request. `policy`
6
+ * controls retries, `signal` cancels the request, and `fetchImpl` overrides
7
+ * the runtime's global `fetch` implementation.
8
+ * @public
9
+ */
5
10
  export interface InfoRequestOptions {
6
11
  signal?: AbortSignal;
7
12
  policy?: ResolvedRetryPolicy;
@@ -1 +1 @@
1
- {"version":3,"file":"infoClient.d.ts","sourceRoot":"","sources":["../../../src/utils/infoClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EAExB,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AAuBxB,gBAAgB;AAChB,eAAO,MAAM,0BAA0B,EAAE,mBAmBxC,CAAA;AAED,cAAc;AACd,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAC5B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,QAAQ,cAAc,EACtB,UAAU,iBAAiB,KAC1B,kBAQD,CAAA;AAEF;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,CAAC,CAAC,CAqCZ"}
1
+ {"version":3,"file":"infoClient.d.ts","sourceRoot":"","sources":["../../../src/utils/infoClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EAExB,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AAuBxB,gBAAgB;AAChB,eAAO,MAAM,0BAA0B,EAAE,mBAmBxC,CAAA;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAC5B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,QAAQ,cAAc,EACtB,UAAU,iBAAiB,KAC1B,kBAQD,CAAA;AAEF;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,CAAC,CAAC,CAqCZ"}
@@ -10,6 +10,15 @@ import type { HlFundingUpdate, HlLedgerUpdate } from '../types/index.js';
10
10
  * @public
11
11
  */
12
12
  export declare const mapLedgerEntry: (entry: HlLedgerUpdate, providerKey: string, queriedAddress: string, resolveMarket: (coin: string) => MarketDisplay) => ActivityItem | null;
13
- /** @public */
13
+ /**
14
+ * Map a Hyperliquid funding ledger update to a normalized funding activity.
15
+ * `amount`, `positionSize`, and `fundingRate` retain the upstream decimal
16
+ * strings; `resolveMarket` supplies the provider-agnostic market metadata.
17
+ *
18
+ * `userFunding` entries all carry the zero hash, so a deterministic
19
+ * `funding:<coin>:<ISO time>` id is synthesized — funding accrues at most
20
+ * once per coin per hourly settlement, so the pair is unique per account.
21
+ * @public
22
+ */
14
23
  export declare const mapFundingActivity: (entry: HlFundingUpdate, providerKey: string, resolveMarket: (coin: string) => MarketDisplay) => FundingActivity;
15
24
  //# sourceMappingURL=mapActivity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapActivity.d.ts","sourceRoot":"","sources":["../../../src/utils/mapActivity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAEZ,eAAe,EAEf,aAAa,EAGd,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGxE;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,cAAc,EACrB,aAAa,MAAM,EACnB,gBAAgB,MAAM,EACtB,eAAe,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,KAC7C,YAAY,GAAG,IA0IjB,CAAA;AAED,cAAc;AACd,eAAO,MAAM,kBAAkB,GAC7B,OAAO,eAAe,EACtB,aAAa,MAAM,EACnB,eAAe,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,KAC7C,eASD,CAAA"}
1
+ {"version":3,"file":"mapActivity.d.ts","sourceRoot":"","sources":["../../../src/utils/mapActivity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAEZ,eAAe,EAEf,aAAa,EAGd,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGxE;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,cAAc,EACrB,aAAa,MAAM,EACnB,gBAAgB,MAAM,EACtB,eAAe,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,KAC7C,YAAY,GAAG,IA0IjB,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,eAAe,EACtB,aAAa,MAAM,EACnB,eAAe,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,KAC7C,eAYF,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { classifyFillFromPosition } from '@lifi/perps-sdk';
2
2
  import type { Fill, MarketDisplay } from '@lifi/perps-types';
3
3
  import type { HlUserFill } from '../types/index.js';
4
+ /** Re-export the shared fill-position classifier used by Hyperliquid mappings. @public */
4
5
  export { classifyFillFromPosition };
5
6
  /**
6
7
  * Spot-ness comes from the resolved market's category, not the coin string —
@@ -1 +1 @@
1
- {"version":3,"file":"mapFill.d.ts","sourceRoot":"","sources":["../../../src/utils/mapFill.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EAGzB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAS5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,wBAAwB,EAAE,CAAA;AAEnC;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,MAAM,UAAU,EAAE,QAAQ,aAAa,KAAG,IA4BhE,CAAA"}
1
+ {"version":3,"file":"mapFill.d.ts","sourceRoot":"","sources":["../../../src/utils/mapFill.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EAGzB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAS5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,0FAA0F;AAC1F,OAAO,EAAE,wBAAwB,EAAE,CAAA;AAEnC;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,MAAM,UAAU,EAAE,QAAQ,aAAa,KAAG,IA4BhE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapMarket.d.ts","sourceRoot":"","sources":["../../../src/utils/mapMarket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAQvD;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GACpB,UAAU,cAAc,EACxB,YAAY,MAAM,KACjB,WAcD,CAAA"}
1
+ {"version":3,"file":"mapMarket.d.ts","sourceRoot":"","sources":["../../../src/utils/mapMarket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAQvD;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GACpB,UAAU,cAAc,EACxB,YAAY,MAAM,KACjB,WAsBD,CAAA"}
@@ -7,7 +7,7 @@ import type { HlFrontendOpenOrder, HlOrderDetail } from '../types/index.js';
7
7
  * @public
8
8
  */
9
9
  export declare const mapOrderType: (orderType: string) => OrderType;
10
- /** @public */
10
+ /** Return whether an SDK order type represents a take-profit or stop trigger. @public */
11
11
  export declare const isTriggerType: (type: OrderType) => boolean;
12
12
  /**
13
13
  * Decide whether a raw Hyperliquid order belongs in the cross-provider
@@ -30,9 +30,16 @@ export declare const isTriggerType: (type: OrderType) => boolean;
30
30
  * @public
31
31
  */
32
32
  export declare const isTriggerOrder: (o: HlFrontendOpenOrder | HlOrderDetail["order"]) => boolean;
33
- /** @public */
33
+ /**
34
+ * Map an open Hyperliquid order to the SDK's normalized open-order shape.
35
+ * Numeric IDs become strings and wire millisecond timestamps become ISO dates.
36
+ * @public
37
+ */
34
38
  export declare const mapOpenOrder: (o: HlFrontendOpenOrder, market: MarketDisplay) => OpenOrder;
35
- /** @public */
39
+ /**
40
+ * Map a Hyperliquid trigger/TP-SL order to the SDK's trigger-order shape.
41
+ * @public
42
+ */
36
43
  export declare const mapTriggerOrder: (o: HlFrontendOpenOrder, market: MarketDisplay) => TriggerOrder;
37
44
  /**
38
45
  * Map a raw Hyperliquid order status string to the SDK's OrderStatus enum.
@@ -54,6 +61,10 @@ export declare const mapOrderStatus: (status: string) => OrderStatus;
54
61
  * @public
55
62
  */
56
63
  export declare const mapStatusReason: (status: string) => string | undefined;
57
- /** @public */
64
+ /**
65
+ * Map an `orderStatus` detail to the SDK's normalized order shape, preserving
66
+ * decimal size/price strings and translating status, side, and time-in-force.
67
+ * @public
68
+ */
58
69
  export declare const mapOrder: (detail: HlOrderDetail, market: MarketDisplay) => Order;
59
70
  //# sourceMappingURL=mapOrder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapOrder.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,KAAK,EACL,YAAY,EACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAEL,WAAW,EACX,SAAS,EAEV,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAE3E;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,WAAW,MAAM,KAAG,SAehD,CAAA;AAED,cAAc;AACd,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,KAAG,OAIjB,CAAA;AAE/B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,cAAc,GACzB,GAAG,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC,KAC9C,OAkBF,CAAA;AAED,cAAc;AACd,eAAO,MAAM,YAAY,GACvB,GAAG,mBAAmB,EACtB,QAAQ,aAAa,KACpB,SAaD,CAAA;AAEF,cAAc;AACd,eAAO,MAAM,eAAe,GAC1B,GAAG,mBAAmB,EACtB,QAAQ,aAAa,KACpB,YAcF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,WAwB/C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SAmDzD,CAAA;AAeD,cAAc;AACd,eAAO,MAAM,QAAQ,GACnB,QAAQ,aAAa,EACrB,QAAQ,aAAa,KACpB,KAsBF,CAAA"}
1
+ {"version":3,"file":"mapOrder.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,KAAK,EACL,YAAY,EACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAEL,WAAW,EACX,SAAS,EAEV,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAE3E;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,WAAW,MAAM,KAAG,SAehD,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,KAAG,OAIjB,CAAA;AAE/B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,cAAc,GACzB,GAAG,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC,KAC9C,OAkBF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,GACvB,GAAG,mBAAmB,EACtB,QAAQ,aAAa,KACpB,SAaD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAC1B,GAAG,mBAAmB,EACtB,QAAQ,aAAa,KACpB,YAcF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,WAwB/C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SAmDzD,CAAA;AAeD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GACnB,QAAQ,aAAa,EACrB,QAAQ,aAAa,KACpB,KAsBF,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { MarketDisplay, Position } from '@lifi/perps-types';
1
+ import type { PerpsMarketDisplay, Position } from '@lifi/perps-types';
2
2
  import type { HlAssetPosition } from '../types/index.js';
3
3
  /**
4
4
  * True when the assetPosition has non-zero size. Hyperliquid keeps zero-size
@@ -7,6 +7,11 @@ import type { HlAssetPosition } from '../types/index.js';
7
7
  * @public
8
8
  */
9
9
  export declare const isOpenAssetPosition: (ap: HlAssetPosition) => boolean;
10
- /** @public */
11
- export declare const mapPosition: (ap: HlAssetPosition, market: MarketDisplay) => Position;
10
+ /**
11
+ * Map a non-zero Hyperliquid position payload to the SDK's normalized
12
+ * position. Signed wire size determines side; decimal strings remain strings
13
+ * in the normalized response.
14
+ * @public
15
+ */
16
+ export declare const mapPosition: (ap: HlAssetPosition, market: PerpsMarketDisplay) => Position;
12
17
  //# sourceMappingURL=mapPosition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapPosition.d.ts","sourceRoot":"","sources":["../../../src/utils/mapPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAExD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,IAAI,eAAe,KAAG,OAChB,CAAA;AAE1C,cAAc;AACd,eAAO,MAAM,WAAW,GACtB,IAAI,eAAe,EACnB,QAAQ,aAAa,KACpB,QAsBF,CAAA"}
1
+ {"version":3,"file":"mapPosition.d.ts","sourceRoot":"","sources":["../../../src/utils/mapPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAGrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAExD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,IAAI,eAAe,KAAG,OAChB,CAAA;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GACtB,IAAI,eAAe,EACnB,QAAQ,kBAAkB,KACzB,QAyBF,CAAA"}
@@ -1,20 +1,19 @@
1
1
  import type { Asset, Balance, Market } from '@lifi/perps-types';
2
2
  import type { HlSpotBalance } from '../types/index.js';
3
3
  /**
4
- * USD price keyed by spot token index: each spot market's live USD price
5
- * (from `priceByMarketId`, keyed by `Market.id`) under its base-asset id, and
6
- * every market's quote-asset id at $1. A spot market absent from
7
- * `priceByMarketId` values its token at 0.
4
+ * Build USD prices keyed by spot token asset ID. Base tokens use the supplied
5
+ * market mark price; quote tokens default to exactly `$1`; missing base prices
6
+ * default to `0`.
7
+ * @public
8
8
  */
9
9
  export declare const spotPriceById: (markets: readonly Market[], priceByMarketId: ReadonlyMap<string, number>) => Map<string, number>;
10
10
  /**
11
- * The held spot {@link Asset} for an HL balance: the venue token index
12
- * (`b.token`) as `Asset.id` equal to that token's spot `Market.baseAsset.id`
13
- * with display fields derived from the coin and the override-aware spot logo.
14
- * `HlSpotBalance` carries no `fullName`, so Unit-bridged balances take the base
15
- * `_spot` rule (see {@link spotLogoURI}).
11
+ * Convert a Hyperliquid spot balance's numeric token index into an SDK asset.
12
+ * The balance payload has no `fullName`, so logo resolution uses the base
13
+ * `_spot` URI rule rather than Unit-underlying lookup.
14
+ * @public
16
15
  */
17
16
  export declare const spotAssetFromToken: (b: HlSpotBalance) => Asset;
18
- /** Assemble a typed spot {@link Balance} from its resolved asset and raw size. */
17
+ /** Assemble a typed spot {@link Balance}; `total` is native token units and its USD value uses `priceById`. @public */
19
18
  export declare const spotBalance: (asset: Asset, total: string, priceById: Map<string, number>) => Balance;
20
19
  //# sourceMappingURL=spotBalance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spotBalance.d.ts","sourceRoot":"","sources":["../../../src/utils/spotBalance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAItD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GACxB,SAAS,SAAS,MAAM,EAAE,EAC1B,iBAAiB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3C,GAAG,CAAC,MAAM,EAAE,MAAM,CAapB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAI,GAAG,aAAa,KAAG,KAIpD,CAAA;AAEF,kFAAkF;AAClF,eAAO,MAAM,WAAW,GACtB,OAAO,KAAK,EACZ,OAAO,MAAM,EACb,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAC7B,OAKD,CAAA"}
1
+ {"version":3,"file":"spotBalance.d.ts","sourceRoot":"","sources":["../../../src/utils/spotBalance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAItD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GACxB,SAAS,SAAS,MAAM,EAAE,EAC1B,iBAAiB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3C,GAAG,CAAC,MAAM,EAAE,MAAM,CAapB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,GAAG,aAAa,KAAG,KAIpD,CAAA;AAEF,uHAAuH;AACvH,eAAO,MAAM,WAAW,GACtB,OAAO,KAAK,EACZ,OAAO,MAAM,EACb,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAC7B,OAKD,CAAA"}
@@ -1,14 +1,18 @@
1
1
  import type { Balance } from '@lifi/perps-types';
2
- /** @internal */
2
+ /**
3
+ * Result of {@link partitionSpotBalances}: balances that count toward
4
+ * collateral and balances treated as ordinary holdings.
5
+ * @public
6
+ */
3
7
  export interface SpotPartition {
4
8
  collateralBalances: Balance[];
5
9
  balances: Balance[];
6
10
  }
7
11
  /**
8
- * Split spot balances into margin collateral and flat holdings. A balance is
9
- * collateral when its token is a category quote asset (full value) or, under
10
- * portfolio margin, an LTV-weighted asset (HYPE/BTC); everything else is a
11
- * flat holding.
12
+ * Partition spot balances into collateral and ordinary holdings. Quote assets
13
+ * are full-value collateral; portfolio-margin-supported assets retain their
14
+ * LTV as `collateralWeight`.
15
+ * @public
12
16
  */
13
17
  export declare const partitionSpotBalances: (spotBalances: readonly Balance[], quoteAssetIds: ReadonlySet<string>, portfolioMargin: boolean) => SpotPartition;
14
18
  //# sourceMappingURL=spotCollateral.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spotCollateral.d.ts","sourceRoot":"","sources":["../../../src/utils/spotCollateral.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAehD,gBAAgB;AAChB,MAAM,WAAW,aAAa;IAC5B,kBAAkB,EAAE,OAAO,EAAE,CAAA;IAC7B,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,cAAc,SAAS,OAAO,EAAE,EAChC,eAAe,WAAW,CAAC,MAAM,CAAC,EAClC,iBAAiB,OAAO,KACvB,aAkBF,CAAA"}
1
+ {"version":3,"file":"spotCollateral.d.ts","sourceRoot":"","sources":["../../../src/utils/spotCollateral.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAehD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,kBAAkB,EAAE,OAAO,EAAE,CAAA;IAC7B,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,cAAc,SAAS,OAAO,EAAE,EAChC,eAAe,WAAW,CAAC,MAAM,CAAC,EAClC,iBAAiB,OAAO,KACvB,aAkBF,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { type Position, type PositionMarginConstraints } from '@lifi/perps-types';
2
+ /**
3
+ * Hyperliquid's exact documented transfer-margin requirement:
4
+ * `max(initial_margin_required, 0.1 * total_position_value)`.
5
+ *
6
+ * Strict-isolated markets still return constraints because margin can be
7
+ * added; their market capability prevents removal. Cross positions and
8
+ * markets without individual margin adjustment return `undefined`.
9
+ *
10
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/trading/margining
11
+ * @public
12
+ */
13
+ export declare function positionMarginConstraints(position: Position): PositionMarginConstraints | undefined;
14
+ //# sourceMappingURL=transferMargin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transferMargin.d.ts","sourceRoot":"","sources":["../../../src/utils/transferMargin.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,yBAAyB,EAE/B,MAAM,mBAAmB,CAAA;AAyB1B;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,QAAQ,GACjB,yBAAyB,GAAG,SAAS,CAoBvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HyperliquidWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperliquidWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/perps-sdk-provider-hyperliquid",
3
- "version": "5.1.0",
3
+ "version": "6.0.1",
4
4
  "description": "Hyperliquid provider plugin for @lifi/perps-sdk",
5
5
  "homepage": "https://github.com/lifinance/perps-sdk",
6
6
  "bugs": {
@@ -48,10 +48,10 @@
48
48
  "dependencies": {
49
49
  "big.js": "^7.0.1",
50
50
  "viem": "^2.48.8",
51
- "@lifi/perps-types": "^3.3.2"
51
+ "@lifi/perps-types": "^4.1.0"
52
52
  },
53
53
  "peerDependencies": {
54
- "@lifi/perps-sdk": "^5.0.0"
54
+ "@lifi/perps-sdk": "^6.1.0"
55
55
  },
56
56
  "publishConfig": {
57
57
  "access": "public"