@lifi/perps-sdk-provider-hyperliquid 14.0.0 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) 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/accountSummary.d.ts.map +1 -1
  5. package/dist/cjs/accountSummary.js +34 -7
  6. package/dist/cjs/accountSummary.js.map +1 -1
  7. package/dist/cjs/index.d.ts +2 -0
  8. package/dist/cjs/index.d.ts.map +1 -1
  9. package/dist/cjs/index.js +3 -1
  10. package/dist/cjs/index.js.map +1 -1
  11. package/dist/cjs/services/activeAssetData.d.ts +6 -0
  12. package/dist/cjs/services/activeAssetData.d.ts.map +1 -0
  13. package/dist/cjs/services/activeAssetData.js +7 -0
  14. package/dist/cjs/services/activeAssetData.js.map +1 -0
  15. package/dist/cjs/services/getAccount.d.ts.map +1 -1
  16. package/dist/cjs/services/getAccount.js +23 -35
  17. package/dist/cjs/services/getAccount.js.map +1 -1
  18. package/dist/cjs/services/getAvailableToTrade.d.ts +10 -0
  19. package/dist/cjs/services/getAvailableToTrade.d.ts.map +1 -0
  20. package/dist/cjs/services/getAvailableToTrade.js +32 -0
  21. package/dist/cjs/services/getAvailableToTrade.js.map +1 -0
  22. package/dist/cjs/services/getMarketSettings.d.ts +1 -1
  23. package/dist/cjs/services/getMarketSettings.d.ts.map +1 -1
  24. package/dist/cjs/services/getMarketSettings.js +3 -7
  25. package/dist/cjs/services/getMarketSettings.js.map +1 -1
  26. package/dist/cjs/services/getWithdrawableBalances.d.ts +5 -0
  27. package/dist/cjs/services/getWithdrawableBalances.d.ts.map +1 -0
  28. package/dist/cjs/services/getWithdrawableBalances.js +27 -0
  29. package/dist/cjs/services/getWithdrawableBalances.js.map +1 -0
  30. package/dist/cjs/types/account.d.ts +11 -8
  31. package/dist/cjs/types/account.d.ts.map +1 -1
  32. package/dist/cjs/types/account.js.map +1 -1
  33. package/dist/cjs/types/ws.d.ts +3 -4
  34. package/dist/cjs/types/ws.d.ts.map +1 -1
  35. package/dist/cjs/utils/abstractionMode.d.ts +1 -1
  36. package/dist/cjs/utils/abstractionMode.d.ts.map +1 -1
  37. package/dist/cjs/utils/abstractionMode.js.map +1 -1
  38. package/dist/cjs/utils/index.d.ts +2 -0
  39. package/dist/cjs/utils/index.d.ts.map +1 -1
  40. package/dist/cjs/utils/index.js +6 -1
  41. package/dist/cjs/utils/index.js.map +1 -1
  42. package/dist/cjs/utils/mapActivity.d.ts.map +1 -1
  43. package/dist/cjs/utils/mapActivity.js +4 -12
  44. package/dist/cjs/utils/mapActivity.js.map +1 -1
  45. package/dist/cjs/utils/mapPosition.d.ts.map +1 -1
  46. package/dist/cjs/utils/mapPosition.js +1 -4
  47. package/dist/cjs/utils/mapPosition.js.map +1 -1
  48. package/dist/cjs/utils/spotCollateral.d.ts +1 -1
  49. package/dist/cjs/utils/spotCollateral.d.ts.map +1 -1
  50. package/dist/cjs/utils/spotCollateral.js +1 -12
  51. package/dist/cjs/utils/spotCollateral.js.map +1 -1
  52. package/dist/cjs/utils/venueTotals.d.ts +11 -0
  53. package/dist/cjs/utils/venueTotals.d.ts.map +1 -0
  54. package/dist/cjs/utils/venueTotals.js +24 -0
  55. package/dist/cjs/utils/venueTotals.js.map +1 -0
  56. package/dist/cjs/utils/withdrawableBalances.d.ts +4 -0
  57. package/dist/cjs/utils/withdrawableBalances.d.ts.map +1 -0
  58. package/dist/cjs/utils/withdrawableBalances.js +35 -0
  59. package/dist/cjs/utils/withdrawableBalances.js.map +1 -0
  60. package/dist/cjs/websocket/HyperliquidWsProvider.d.ts +3 -1
  61. package/dist/cjs/websocket/HyperliquidWsProvider.d.ts.map +1 -1
  62. package/dist/cjs/websocket/HyperliquidWsProvider.js +102 -36
  63. package/dist/cjs/websocket/HyperliquidWsProvider.js.map +1 -1
  64. package/dist/esm/HyperliquidProvider.d.ts.map +1 -1
  65. package/dist/esm/HyperliquidProvider.js +4 -0
  66. package/dist/esm/HyperliquidProvider.js.map +1 -1
  67. package/dist/esm/accountSummary.d.ts +4 -3
  68. package/dist/esm/accountSummary.d.ts.map +1 -1
  69. package/dist/esm/accountSummary.js +36 -18
  70. package/dist/esm/accountSummary.js.map +1 -1
  71. package/dist/esm/index.d.ts +2 -0
  72. package/dist/esm/index.d.ts.map +1 -1
  73. package/dist/esm/index.js +1 -0
  74. package/dist/esm/index.js.map +1 -1
  75. package/dist/esm/services/activeAssetData.d.ts +13 -0
  76. package/dist/esm/services/activeAssetData.d.ts.map +1 -0
  77. package/dist/esm/services/activeAssetData.js +10 -0
  78. package/dist/esm/services/activeAssetData.js.map +1 -0
  79. package/dist/esm/services/getAccount.d.ts.map +1 -1
  80. package/dist/esm/services/getAccount.js +19 -29
  81. package/dist/esm/services/getAccount.js.map +1 -1
  82. package/dist/esm/services/getAvailableToTrade.d.ts +26 -0
  83. package/dist/esm/services/getAvailableToTrade.d.ts.map +1 -0
  84. package/dist/esm/services/getAvailableToTrade.js +42 -0
  85. package/dist/esm/services/getAvailableToTrade.js.map +1 -0
  86. package/dist/esm/services/getMarketSettings.d.ts +1 -1
  87. package/dist/esm/services/getMarketSettings.d.ts.map +1 -1
  88. package/dist/esm/services/getMarketSettings.js +3 -7
  89. package/dist/esm/services/getMarketSettings.js.map +1 -1
  90. package/dist/esm/services/getWithdrawableBalances.d.ts +22 -0
  91. package/dist/esm/services/getWithdrawableBalances.d.ts.map +1 -0
  92. package/dist/esm/services/getWithdrawableBalances.js +35 -0
  93. package/dist/esm/services/getWithdrawableBalances.js.map +1 -0
  94. package/dist/esm/types/account.d.ts +21 -8
  95. package/dist/esm/types/account.d.ts.map +1 -1
  96. package/dist/esm/types/account.js.map +1 -1
  97. package/dist/esm/types/ws.d.ts +10 -4
  98. package/dist/esm/types/ws.d.ts.map +1 -1
  99. package/dist/esm/utils/abstractionMode.d.ts +1 -1
  100. package/dist/esm/utils/abstractionMode.d.ts.map +1 -1
  101. package/dist/esm/utils/abstractionMode.js.map +1 -1
  102. package/dist/esm/utils/index.d.ts +2 -0
  103. package/dist/esm/utils/index.d.ts.map +1 -1
  104. package/dist/esm/utils/index.js +2 -0
  105. package/dist/esm/utils/index.js.map +1 -1
  106. package/dist/esm/utils/mapActivity.d.ts.map +1 -1
  107. package/dist/esm/utils/mapActivity.js +5 -13
  108. package/dist/esm/utils/mapActivity.js.map +1 -1
  109. package/dist/esm/utils/mapPosition.d.ts.map +1 -1
  110. package/dist/esm/utils/mapPosition.js +1 -4
  111. package/dist/esm/utils/mapPosition.js.map +1 -1
  112. package/dist/esm/utils/spotCollateral.d.ts +4 -4
  113. package/dist/esm/utils/spotCollateral.d.ts.map +1 -1
  114. package/dist/esm/utils/spotCollateral.js +4 -23
  115. package/dist/esm/utils/spotCollateral.js.map +1 -1
  116. package/dist/esm/utils/venueTotals.d.ts +26 -0
  117. package/dist/esm/utils/venueTotals.d.ts.map +1 -0
  118. package/dist/esm/utils/venueTotals.js +26 -0
  119. package/dist/esm/utils/venueTotals.js.map +1 -0
  120. package/dist/esm/utils/withdrawableBalances.d.ts +14 -0
  121. package/dist/esm/utils/withdrawableBalances.d.ts.map +1 -0
  122. package/dist/esm/utils/withdrawableBalances.js +41 -0
  123. package/dist/esm/utils/withdrawableBalances.js.map +1 -0
  124. package/dist/esm/websocket/HyperliquidWsProvider.d.ts +4 -1
  125. package/dist/esm/websocket/HyperliquidWsProvider.d.ts.map +1 -1
  126. package/dist/esm/websocket/HyperliquidWsProvider.js +101 -35
  127. package/dist/esm/websocket/HyperliquidWsProvider.js.map +1 -1
  128. package/dist/types/HyperliquidProvider.d.ts.map +1 -1
  129. package/dist/types/accountSummary.d.ts +4 -3
  130. package/dist/types/accountSummary.d.ts.map +1 -1
  131. package/dist/types/index.d.ts +2 -0
  132. package/dist/types/index.d.ts.map +1 -1
  133. package/dist/types/services/activeAssetData.d.ts +13 -0
  134. package/dist/types/services/activeAssetData.d.ts.map +1 -0
  135. package/dist/types/services/getAccount.d.ts.map +1 -1
  136. package/dist/types/services/getAvailableToTrade.d.ts +26 -0
  137. package/dist/types/services/getAvailableToTrade.d.ts.map +1 -0
  138. package/dist/types/services/getMarketSettings.d.ts +1 -1
  139. package/dist/types/services/getMarketSettings.d.ts.map +1 -1
  140. package/dist/types/services/getWithdrawableBalances.d.ts +22 -0
  141. package/dist/types/services/getWithdrawableBalances.d.ts.map +1 -0
  142. package/dist/types/types/account.d.ts +21 -8
  143. package/dist/types/types/account.d.ts.map +1 -1
  144. package/dist/types/types/ws.d.ts +10 -4
  145. package/dist/types/types/ws.d.ts.map +1 -1
  146. package/dist/types/utils/abstractionMode.d.ts +1 -1
  147. package/dist/types/utils/abstractionMode.d.ts.map +1 -1
  148. package/dist/types/utils/index.d.ts +2 -0
  149. package/dist/types/utils/index.d.ts.map +1 -1
  150. package/dist/types/utils/mapActivity.d.ts.map +1 -1
  151. package/dist/types/utils/mapPosition.d.ts.map +1 -1
  152. package/dist/types/utils/spotCollateral.d.ts +4 -4
  153. package/dist/types/utils/spotCollateral.d.ts.map +1 -1
  154. package/dist/types/utils/venueTotals.d.ts +26 -0
  155. package/dist/types/utils/venueTotals.d.ts.map +1 -0
  156. package/dist/types/utils/withdrawableBalances.d.ts +14 -0
  157. package/dist/types/utils/withdrawableBalances.d.ts.map +1 -0
  158. package/dist/types/websocket/HyperliquidWsProvider.d.ts +4 -1
  159. package/dist/types/websocket/HyperliquidWsProvider.d.ts.map +1 -1
  160. package/package.json +3 -3
  161. package/src/HyperliquidProvider.ts +26 -0
  162. package/src/accountSummary.ts +64 -19
  163. package/src/index.ts +2 -0
  164. package/src/services/activeAssetData.ts +24 -0
  165. package/src/services/getAccount.ts +37 -52
  166. package/src/services/getAvailableToTrade.ts +72 -0
  167. package/src/services/getMarketSettings.ts +7 -11
  168. package/src/services/getWithdrawableBalances.ts +84 -0
  169. package/src/types/account.ts +22 -8
  170. package/src/types/ws.ts +18 -5
  171. package/src/utils/abstractionMode.ts +1 -1
  172. package/src/utils/index.ts +6 -0
  173. package/src/utils/mapActivity.ts +10 -13
  174. package/src/utils/mapPosition.ts +1 -5
  175. package/src/utils/spotCollateral.ts +4 -25
  176. package/src/utils/venueTotals.ts +48 -0
  177. package/src/utils/withdrawableBalances.ts +57 -0
  178. package/src/websocket/HyperliquidWsProvider.ts +149 -42
  179. package/dist/cjs/websocket/decodeChain.d.ts +0 -11
  180. package/dist/cjs/websocket/decodeChain.d.ts.map +0 -1
  181. package/dist/cjs/websocket/decodeChain.js +0 -37
  182. package/dist/cjs/websocket/decodeChain.js.map +0 -1
  183. package/dist/esm/websocket/decodeChain.d.ts +0 -30
  184. package/dist/esm/websocket/decodeChain.d.ts.map +0 -1
  185. package/dist/esm/websocket/decodeChain.js +0 -44
  186. package/dist/esm/websocket/decodeChain.js.map +0 -1
  187. package/dist/types/websocket/decodeChain.d.ts +0 -30
  188. package/dist/types/websocket/decodeChain.d.ts.map +0 -1
  189. package/src/websocket/decodeChain.ts +0 -54
@@ -0,0 +1,26 @@
1
+ import Big from 'big.js';
2
+ import { toWireBig } from './decimal.js';
3
+ /**
4
+ * Sum the venue `marginSummary` totals over every perps sub-dex of an
5
+ * account. `accountValue` is total equity, so it already carries locked
6
+ * margin and unrealized PnL. An entry without a `marginSummary` adds nothing.
7
+ * @public
8
+ */
9
+ export const perpsTotals = (dexStates) => {
10
+ let accountValue = new Big(0);
11
+ let marginUsed = new Big(0);
12
+ for (const { marginSummary } of dexStates) {
13
+ if (marginSummary === undefined) {
14
+ continue;
15
+ }
16
+ accountValue = accountValue.plus(toWireBig(marginSummary.accountValue, 'marginSummary.accountValue'));
17
+ marginUsed = marginUsed.plus(toWireBig(marginSummary.totalMarginUsed, 'marginSummary.totalMarginUsed'));
18
+ }
19
+ return { accountValue, marginUsed };
20
+ };
21
+ /**
22
+ * Sum the unrealized PnL of every position, in quote-asset units.
23
+ * @public
24
+ */
25
+ export const sumUnrealizedPnl = (positions) => positions.reduce((sum, position) => sum.plus(toWireBig(position.unrealizedPnl, 'position.unrealizedPnl')), new Big(0));
26
+ //# sourceMappingURL=venueTotals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"venueTotals.js","sourceRoot":"","sources":["../../../src/utils/venueTotals.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAWxC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,SAAsC,EACE,EAAE;IAC1C,IAAI,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAA;IAC7B,IAAI,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAA;IAC3B,KAAK,MAAM,EAAE,aAAa,EAAE,IAAI,SAAS,EAAE,CAAC;QAC1C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,SAAQ;QACV,CAAC;QACD,YAAY,GAAG,YAAY,CAAC,IAAI,CAC9B,SAAS,CAAC,aAAa,CAAC,YAAY,EAAE,4BAA4B,CAAC,CACpE,CAAA;QACD,UAAU,GAAG,UAAU,CAAC,IAAI,CAC1B,SAAS,CAAC,aAAa,CAAC,eAAe,EAAE,+BAA+B,CAAC,CAC1E,CAAA;IACH,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA;AACrC,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAA8B,EAAO,EAAE,CACtE,SAAS,CAAC,MAAM,CACd,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAChB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC,EACvE,IAAI,GAAG,CAAC,CAAC,CAAC,CACX,CAAA"}
@@ -0,0 +1,14 @@
1
+ import type { ProviderWithdrawableBalance } from '@lifi/perps-sdk';
2
+ import type { HlAbstractionMode, HlClearinghouseState, HlSpotClearinghouseState } from '../types/index.js';
3
+ /**
4
+ * Split a Hyperliquid account's venue figures into the routes a withdrawal
5
+ * draws on. A unified or portfolio-margin account holds its collateral in spot,
6
+ * so each spot token adds the part of `total` that no order or margin holds. A
7
+ * route with nothing left to draw carries no row, and the caller applies the
8
+ * per-asset venue minimum.
9
+ *
10
+ * @param quoteAssetId - `Asset.id` the perps-route row is keyed by.
11
+ * @public
12
+ */
13
+ export declare const hyperliquidWithdrawableBalances: (abstraction: HlAbstractionMode | null, state: HlClearinghouseState, spotState: HlSpotClearinghouseState, quoteAssetId: string) => ProviderWithdrawableBalance[];
14
+ //# sourceMappingURL=withdrawableBalances.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withdrawableBalances.d.ts","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAK1B;;;;;;;;;GASG;AACH,eAAO,MAAM,+BAA+B,GAC1C,aAAa,iBAAiB,GAAG,IAAI,EACrC,OAAO,oBAAoB,EAC3B,WAAW,wBAAwB,EACnC,cAAc,MAAM,KACnB,2BAA2B,EA+B7B,CAAA"}
@@ -0,0 +1,41 @@
1
+ import { isUnifiedAbstraction } from './abstractionMode.js';
2
+ import { assetIsOutcome } from './assetId.js';
3
+ import { toWireBig } from './decimal.js';
4
+ /**
5
+ * Split a Hyperliquid account's venue figures into the routes a withdrawal
6
+ * draws on. A unified or portfolio-margin account holds its collateral in spot,
7
+ * so each spot token adds the part of `total` that no order or margin holds. A
8
+ * route with nothing left to draw carries no row, and the caller applies the
9
+ * per-asset venue minimum.
10
+ *
11
+ * @param quoteAssetId - `Asset.id` the perps-route row is keyed by.
12
+ * @public
13
+ */
14
+ export const hyperliquidWithdrawableBalances = (abstraction, state, spotState, quoteAssetId) => {
15
+ const rows = [];
16
+ if (isUnifiedAbstraction(abstraction)) {
17
+ for (const balance of spotState.balances) {
18
+ if (assetIsOutcome(balance.coin)) {
19
+ continue;
20
+ }
21
+ const spot = toWireBig(balance.total, 'spotBalance.total').minus(toWireBig(balance.hold, 'spotBalance.hold'));
22
+ if (spot.gt(0)) {
23
+ rows.push({
24
+ assetId: String(balance.token),
25
+ route: 'spot',
26
+ available: spot.toFixed(),
27
+ });
28
+ }
29
+ }
30
+ }
31
+ const perps = toWireBig(state.withdrawable, 'clearinghouseState.withdrawable');
32
+ if (perps.gt(0)) {
33
+ rows.push({
34
+ assetId: quoteAssetId,
35
+ route: 'perps',
36
+ available: perps.toFixed(),
37
+ });
38
+ }
39
+ return rows;
40
+ };
41
+ //# sourceMappingURL=withdrawableBalances.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withdrawableBalances.js","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,WAAqC,EACrC,KAA2B,EAC3B,SAAmC,EACnC,YAAoB,EACW,EAAE;IACjC,MAAM,IAAI,GAAkC,EAAE,CAAA;IAE9C,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,SAAQ;YACV,CAAC;YACD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,KAAK,CAC9D,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAC5C,CAAA;YACD,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC;oBACR,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;oBAC9B,KAAK,EAAE,MAAM;oBACb,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE;iBAC1B,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,iCAAiC,CAAC,CAAA;IAC9E,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC;YACR,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
@@ -34,7 +34,7 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
34
34
  private readonly abstractionByUser;
35
35
  private readonly spotRefs;
36
36
  private readonly unifiedSummaryByUser;
37
- private readonly latestPositionsByUser;
37
+ private readonly latestPerpsByUser;
38
38
  private readonly heldSummaryByUser;
39
39
  private perpCtxBySubDex;
40
40
  private spotCtxByMarketId;
@@ -134,6 +134,9 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
134
134
  private static readonly REFRESH_COALESCE_MS;
135
135
  private emitSummaryIfModeAllows;
136
136
  private fetchAbstractionMode;
137
+ private handleActiveAssetData;
137
138
  private handleSpotState;
139
+ /** Read the venue buying power over REST when the spot frame omits it. */
140
+ private fetchAvailableAfterMaintenance;
138
141
  }
139
142
  //# sourceMappingURL=HyperliquidWsProvider.d.ts.map
@@ -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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"}
@@ -1,15 +1,16 @@
1
- import { getMarketRegistry, isActiveMarket, isActiveOrderStatus, PerpsError, ReconnectingWebSocket, resolveSubscribeQuote, summarizeAccount, toPerpsMarketDisplay, WsProviderBase, wsLog, } from '@lifi/perps-sdk';
1
+ import { DecodeChain, getMarketRegistry, isActiveMarket, isActiveOrderStatus, PerpsError, ReconnectingWebSocket, resolveSubscribeQuote, toAssetDisplay, toPerpsMarketDisplay, WsProviderBase, wsLog, } from '@lifi/perps-sdk';
2
2
  import { PerpsErrorCode } from '@lifi/perps-types';
3
3
  import Big from 'big.js';
4
4
  import { isAddress } from 'viem';
5
5
  import { DEFAULT_HYPERLIQUID_API_URL, HYPERLIQUID_FEE_TIER_FALLBACK, SPOT_MARKET_ID, } from '../constants.js';
6
6
  import { HlAbstractionMode } from '../types/index.js';
7
7
  import { toWireBig } from '../utils/decimal.js';
8
- import { assetIsOutcome, decodeCompressedJson, decodeFastAssetCtxs, hlInfoOptions, infoRequest, isOpenAssetPosition, mapFill, mapMarketContext, mapOrder, mapPosition, partitionSpotBalances, priceStepToAggregation, spotAssetFromToken, spotBalance, spotPriceById, } from '../utils/index.js';
9
- import { DecodeChain } from './decodeChain.js';
8
+ import { assetIsOutcome, decodeCompressedJson, decodeFastAssetCtxs, hlInfoOptions, infoRequest, isOpenAssetPosition, mapFill, mapMarketContext, mapOrder, mapPosition, partitionSpotBalances, perpsTotals, priceStepToAggregation, spotAssetFromToken, spotBalance, spotPriceById, sumUnrealizedPnl, } from '../utils/index.js';
10
9
  /** HL's compact `l2` snapshot carries 20 levels per side. */
11
10
  const HL_L2_BOOK_MAX_LEVELS_PER_SIDE = 20;
12
11
  const normalizeHlAddress = (address) => isAddress(address, { strict: false }) ? address.toLowerCase() : address;
12
+ /** Venue buying power for the asset the main perps dex settles in. */
13
+ const availableAfterMaintenance = (spotState, quoteAssetId) => spotState.tokenToAvailableAfterMaintenance?.find(([token]) => String(token) === quoteAssetId)?.[1];
13
14
  /**
14
15
  * `WsProviderFactory` constructor for Hyperliquid — pass to
15
16
  * `new PerpsWsClient(client, { wsProviders: { hyperliquid: hyperliquidWsProvider() } })`.
@@ -58,7 +59,7 @@ export class HyperliquidWsProvider extends WsProviderBase {
58
59
  unifiedSummaryByUser = new Map();
59
60
  // Kept outside the pipeline entry: the first clearinghouse frame lands
60
61
  // while the mode read is still pending, before the pipeline exists.
61
- latestPositionsByUser = new Map();
62
+ latestPerpsByUser = new Map();
62
63
  heldSummaryByUser = new Map();
63
64
  perpCtxBySubDex = new Map();
64
65
  spotCtxByMarketId = {};
@@ -129,7 +130,8 @@ export class HyperliquidWsProvider extends WsProviderBase {
129
130
  (sub.channel === 'marketContext' ||
130
131
  sub.channel === 'orderbook' ||
131
132
  sub.channel === 'candle' ||
132
- sub.channel === 'trades')) {
133
+ sub.channel === 'trades' ||
134
+ sub.channel === 'availableToTrade')) {
133
135
  this.registry.requireActive(sub.marketId);
134
136
  }
135
137
  // Markets context aggregates slower asset-context feeds with fast mid/mark
@@ -178,7 +180,7 @@ export class HyperliquidWsProvider extends WsProviderBase {
178
180
  // subscription so a resubscribe reflects an account-mode change.
179
181
  this.abstractionByUser.delete(user);
180
182
  this.heldSummaryByUser.delete(user);
181
- this.latestPositionsByUser.delete(user);
183
+ this.latestPerpsByUser.delete(user);
182
184
  this.syncUnifiedPipeline(user, user, null);
183
185
  this.unregisterSub(wireKey);
184
186
  this.rws.send(JSON.stringify({ method: 'unsubscribe', subscription: payload }));
@@ -321,6 +323,8 @@ export class HyperliquidWsProvider extends WsProviderBase {
321
323
  return `accountSummary:${sub.address.toLowerCase()}`;
322
324
  case 'spotBalances':
323
325
  return `spotState:${sub.address.toLowerCase()}`;
326
+ case 'availableToTrade':
327
+ return `activeAssetData:${sub.address.toLowerCase()}:${sub.marketId}`;
324
328
  }
325
329
  }
326
330
  orderbookAggregation(marketId, priceStep) {
@@ -381,6 +385,12 @@ export class HyperliquidWsProvider extends WsProviderBase {
381
385
  };
382
386
  case 'spotBalances':
383
387
  return { type: 'spotState', user: normalizeHlAddress(sub.address) };
388
+ case 'availableToTrade':
389
+ return {
390
+ type: 'activeAssetData',
391
+ user: normalizeHlAddress(sub.address),
392
+ coin: sub.marketId,
393
+ };
384
394
  }
385
395
  }
386
396
  handleMessage(raw) {
@@ -449,6 +459,9 @@ export class HyperliquidWsProvider extends WsProviderBase {
449
459
  case 'spotState':
450
460
  this.handleSpotState(msg.data);
451
461
  break;
462
+ case 'activeAssetData':
463
+ this.handleActiveAssetData(msg.data);
464
+ break;
452
465
  }
453
466
  }
454
467
  catch (error) {
@@ -861,26 +874,22 @@ export class HyperliquidWsProvider extends WsProviderBase {
861
874
  channel: 'positions',
862
875
  data: positions,
863
876
  });
864
- this.latestPositionsByUser.set(data.user.toLowerCase(), positions);
865
- this.emitUnifiedSummary(data.user.toLowerCase());
866
- let accountValue = 0;
867
- let marginUsed = 0;
868
- for (const [, state] of data.clearinghouseStates) {
869
- accountValue +=
870
- Number.parseFloat(state.marginSummary?.accountValue ?? '') || 0;
871
- marginUsed +=
872
- Number.parseFloat(state.marginSummary?.totalMarginUsed ?? '') || 0;
873
- }
874
- const unrealizedPnl = positions.reduce((sum, p) => sum + (Number.parseFloat(p.unrealizedPnl) || 0), 0);
877
+ const { accountValue, marginUsed } = perpsTotals(data.clearinghouseStates.map(([, state]) => state));
878
+ const key = data.user.toLowerCase();
879
+ this.latestPerpsByUser.set(key, {
880
+ positions,
881
+ marginUsed: marginUsed.toFixed(),
882
+ });
883
+ this.emitUnifiedSummary(key);
875
884
  // Equity semantics, matching the REST summary: `accountValue` already
876
885
  // carries locked margin and unrealized PnL. Spot balances stream apart,
877
886
  // so this portfolio value covers perps equity only — which is why the
878
887
  // frame is gated on the abstraction mode below.
879
888
  this.emitSummaryIfModeAllows(data.user, {
880
- portfolioValue: accountValue.toString(),
881
- availableMargin: (accountValue - marginUsed).toString(),
882
- marginUsed: marginUsed.toString(),
883
- unrealizedPnl: unrealizedPnl.toString(),
889
+ portfolioValue: accountValue.toFixed(),
890
+ availableMargin: accountValue.minus(marginUsed).toFixed(),
891
+ marginUsed: marginUsed.toFixed(),
892
+ unrealizedPnl: sumUnrealizedPnl(positions).toFixed(),
884
893
  });
885
894
  }
886
895
  /** Whether the mode's collateral lives per-dex, making the perps-only
@@ -936,21 +945,26 @@ export class HyperliquidWsProvider extends WsProviderBase {
936
945
  }
937
946
  emitUnifiedSummary(key) {
938
947
  const pipeline = this.unifiedSummaryByUser.get(key);
939
- const positions = this.latestPositionsByUser.get(key);
948
+ const perps = this.latestPerpsByUser.get(key);
940
949
  // Both envelopes must have arrived: a spot-only summary would report
941
950
  // zero margin used against real positions.
942
- if (pipeline?.spot === undefined || positions === undefined) {
951
+ if (pipeline?.spot === undefined ||
952
+ pipeline.availableMargin === undefined ||
953
+ perps === undefined) {
943
954
  return;
944
955
  }
945
- const summary = summarizeAccount(
946
- // summarizeAccount reads only the two balance lists.
947
- {
948
- collateralBalances: pipeline.spot.collateralBalances,
949
- balances: pipeline.spot.balances,
950
- }, positions, 'gross');
956
+ const portfolioValue = [
957
+ ...pipeline.spot.collateralBalances,
958
+ ...pipeline.spot.balances,
959
+ ].reduce((sum, balance) => sum.plus(toWireBig(balance.valueUsd, 'spotBalance.valueUsd')), new Big(0));
951
960
  this.emit(`accountSummary:${key}`, {
952
961
  channel: 'accountSummary',
953
- data: summary,
962
+ data: {
963
+ portfolioValue: portfolioValue.toFixed(),
964
+ availableMargin: pipeline.availableMargin,
965
+ marginUsed: perps.marginUsed,
966
+ unrealizedPnl: sumUnrealizedPnl(perps.positions).toFixed(),
967
+ },
954
968
  });
955
969
  }
956
970
  /** Re-read the abstraction mode this long after the previous read, so an
@@ -1021,6 +1035,23 @@ export class HyperliquidWsProvider extends WsProviderBase {
1021
1035
  wsLog.handlerFailure(this.providerKey, error);
1022
1036
  });
1023
1037
  }
1038
+ handleActiveAssetData(data) {
1039
+ const market = this.registry?.get(data.coin);
1040
+ if (market === undefined) {
1041
+ throw new PerpsError(PerpsErrorCode.ValidationError, `[${this.providerKey}] activeAssetData frame names unknown market '${data.coin}'.`);
1042
+ }
1043
+ const [buy, sell] = data.availableToTrade;
1044
+ this.emit(`activeAssetData:${data.user.toLowerCase()}:${data.coin}`, {
1045
+ channel: 'availableToTrade',
1046
+ data: {
1047
+ providerId: market.providerId,
1048
+ marketId: market.id,
1049
+ asset: toAssetDisplay(market.quoteAsset),
1050
+ buy,
1051
+ sell,
1052
+ },
1053
+ });
1054
+ }
1024
1055
  handleSpotState(data) {
1025
1056
  const user = data.user.toLowerCase();
1026
1057
  const markets = this.registry?.activeMarkets ?? [];
@@ -1039,15 +1070,45 @@ export class HyperliquidWsProvider extends WsProviderBase {
1039
1070
  const pipeline = this.unifiedSummaryByUser.get(user);
1040
1071
  if (pipeline !== undefined) {
1041
1072
  const quoteAssetIds = new Set(markets.map((m) => m.quoteAsset.id));
1042
- const entry = this.abstractionByUser.get(user);
1043
- const portfolioMargin = entry !== undefined &&
1044
- entry !== 'pending' &&
1045
- entry.mode === HlAbstractionMode.PORTFOLIO_MARGIN;
1046
1073
  // Same partition as getAccount so REST and WS agree on collateral.
1047
- pipeline.spot = partitionSpotBalances(rows.map(({ balance }) => balance), quoteAssetIds, portfolioMargin);
1074
+ pipeline.spot = partitionSpotBalances(rows.map(({ balance }) => balance), quoteAssetIds);
1075
+ const settlementAssetId = markets.find((m) => m.categoryId === this.providerKey)?.quoteAsset.id;
1076
+ const available = availableAfterMaintenance(data.spotState, settlementAssetId);
1077
+ if (available === undefined) {
1078
+ this.fetchAvailableAfterMaintenance(user, data.user, settlementAssetId);
1079
+ }
1080
+ else {
1081
+ pipeline.availableMargin = available;
1082
+ }
1048
1083
  this.emitUnifiedSummary(user);
1049
1084
  }
1050
1085
  }
1086
+ /** Read the venue buying power over REST when the spot frame omits it. */
1087
+ fetchAvailableAfterMaintenance(key, user, quoteAssetId) {
1088
+ const client = this.client;
1089
+ const pipeline = this.unifiedSummaryByUser.get(key);
1090
+ if (client === undefined ||
1091
+ pipeline === undefined ||
1092
+ pipeline.availableMarginPending) {
1093
+ return;
1094
+ }
1095
+ pipeline.availableMarginPending = true;
1096
+ infoRequest(DEFAULT_HYPERLIQUID_API_URL, { type: 'spotClearinghouseState', user }, hlInfoOptions(client)).then((state) => {
1097
+ const current = this.unifiedSummaryByUser.get(key);
1098
+ if (current === undefined) {
1099
+ return;
1100
+ }
1101
+ current.availableMarginPending = false;
1102
+ current.availableMargin = availableAfterMaintenance(state, quoteAssetId);
1103
+ this.emitUnifiedSummary(key);
1104
+ }, (error) => {
1105
+ const current = this.unifiedSummaryByUser.get(key);
1106
+ if (current !== undefined) {
1107
+ current.availableMarginPending = false;
1108
+ }
1109
+ wsLog.handlerFailure(this.providerKey, error);
1110
+ });
1111
+ }
1051
1112
  }
1052
1113
  const isObject = (v) => typeof v === 'object' && v !== null;
1053
1114
  const toMarketContextString = (value) => typeof value === 'string' || typeof value === 'number'
@@ -1219,6 +1280,11 @@ function isValidHlFrame(channel, data) {
1219
1280
  return (typeof data.user === 'string' &&
1220
1281
  isObject(data.spotState) &&
1221
1282
  Array.isArray(data.spotState.balances));
1283
+ case 'activeAssetData':
1284
+ return (typeof data.user === 'string' &&
1285
+ typeof data.coin === 'string' &&
1286
+ Array.isArray(data.availableToTrade) &&
1287
+ data.availableToTrade.length === 2);
1222
1288
  default:
1223
1289
  return true;
1224
1290
  }
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HyperliquidProvider.d.ts","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,mBAAmB,EAexB,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AAyBxB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,MAAM,CAAA;AAmBxD,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,oCAAoC,CAAA;AAQ3C;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACnD,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5C;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC1E;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,0BAA+B,GACvC,wBAAwB,CAsS1B"}
1
+ {"version":3,"file":"HyperliquidProvider.d.ts","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,mBAAmB,EAkBxB,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AA0BxB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,MAAM,CAAA;AAqBxD,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,oCAAoC,CAAA;AAQ3C;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACnD,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5C;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC1E;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,0BAA+B,GACvC,wBAAwB,CA0T1B"}
@@ -1,9 +1,10 @@
1
1
  import type { AccountResponse, AccountSummary, Position } from '@lifi/perps-types';
2
2
  /**
3
- * Roll a Hyperliquid {@link AccountResponse} up into an {@link AccountSummary},
4
- * branching on the abstraction mode so the margin/PnL content of the
5
- * collateral rows is interpreted correctly.
3
+ * Roll a Hyperliquid account and its open positions up into an
4
+ * {@link AccountSummary}, from the venue figures the response carries.
6
5
  *
6
+ * @throws {PerpsError} `SDKError` when the account is not a Hyperliquid one,
7
+ * or when a unified/portfolio-margin account carries no venue buying power.
7
8
  * @public
8
9
  */
9
10
  export declare function getAccountSummary(account: AccountResponse, positions: Position[]): AccountSummary;
@@ -1 +1 @@
1
- {"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAiB1B;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,QAAQ,EAAE,GACpB,cAAc,CAEhB"}
1
+ {"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EAGd,QAAQ,EACT,MAAM,mBAAmB,CAAA;AA6C1B;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,QAAQ,EAAE,GACpB,cAAc,CAgBhB"}
@@ -27,6 +27,8 @@ export type { GetPortfolioHistoryParams } from './services/getPortfolioHistory.j
27
27
  export { getPortfolioHistory } from './services/getPortfolioHistory.js';
28
28
  export type { GetPositionsParams } from './services/getPositions.js';
29
29
  export { getPositions } from './services/getPositions.js';
30
+ export type { GetWithdrawableBalancesParams } from './services/getWithdrawableBalances.js';
31
+ export { getWithdrawableBalances } from './services/getWithdrawableBalances.js';
30
32
  export type { HyperliquidAgent } from './signers/HyperliquidAgentStore.js';
31
33
  export { HyperliquidAgentStore } from './signers/HyperliquidAgentStore.js';
32
34
  export * from './types/index.js';