@lifi/perps-sdk-provider-hyperliquid 15.0.0 → 17.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 (219) hide show
  1. package/dist/cjs/HyperliquidProvider.d.ts.map +1 -1
  2. package/dist/cjs/HyperliquidProvider.js +5 -1
  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/getOrder.d.ts.map +1 -1
  27. package/dist/cjs/services/getOrder.js +7 -3
  28. package/dist/cjs/services/getOrder.js.map +1 -1
  29. package/dist/cjs/services/getOrders.d.ts.map +1 -1
  30. package/dist/cjs/services/getOrders.js +4 -23
  31. package/dist/cjs/services/getOrders.js.map +1 -1
  32. package/dist/cjs/services/getWithdrawableBalances.d.ts +5 -0
  33. package/dist/cjs/services/getWithdrawableBalances.d.ts.map +1 -0
  34. package/dist/cjs/services/getWithdrawableBalances.js +29 -0
  35. package/dist/cjs/services/getWithdrawableBalances.js.map +1 -0
  36. package/dist/cjs/types/account.d.ts +11 -8
  37. package/dist/cjs/types/account.d.ts.map +1 -1
  38. package/dist/cjs/types/account.js.map +1 -1
  39. package/dist/cjs/types/ws.d.ts +3 -4
  40. package/dist/cjs/types/ws.d.ts.map +1 -1
  41. package/dist/cjs/utils/abstractionMode.d.ts +1 -1
  42. package/dist/cjs/utils/abstractionMode.d.ts.map +1 -1
  43. package/dist/cjs/utils/abstractionMode.js.map +1 -1
  44. package/dist/cjs/utils/explorer.d.ts +2 -1
  45. package/dist/cjs/utils/explorer.d.ts.map +1 -1
  46. package/dist/cjs/utils/explorer.js +24 -1
  47. package/dist/cjs/utils/explorer.js.map +1 -1
  48. package/dist/cjs/utils/index.d.ts +3 -1
  49. package/dist/cjs/utils/index.d.ts.map +1 -1
  50. package/dist/cjs/utils/index.js +7 -2
  51. package/dist/cjs/utils/index.js.map +1 -1
  52. package/dist/cjs/utils/mapPosition.d.ts.map +1 -1
  53. package/dist/cjs/utils/mapPosition.js +1 -4
  54. package/dist/cjs/utils/mapPosition.js.map +1 -1
  55. package/dist/cjs/utils/spotCollateral.d.ts +1 -1
  56. package/dist/cjs/utils/spotCollateral.d.ts.map +1 -1
  57. package/dist/cjs/utils/spotCollateral.js +1 -12
  58. package/dist/cjs/utils/spotCollateral.js.map +1 -1
  59. package/dist/cjs/utils/transferMargin.d.ts +2 -2
  60. package/dist/cjs/utils/transferMargin.d.ts.map +1 -1
  61. package/dist/cjs/utils/transferMargin.js +20 -12
  62. package/dist/cjs/utils/transferMargin.js.map +1 -1
  63. package/dist/cjs/utils/venueTotals.d.ts +11 -0
  64. package/dist/cjs/utils/venueTotals.d.ts.map +1 -0
  65. package/dist/cjs/utils/venueTotals.js +24 -0
  66. package/dist/cjs/utils/venueTotals.js.map +1 -0
  67. package/dist/cjs/utils/withdrawableBalances.d.ts +4 -0
  68. package/dist/cjs/utils/withdrawableBalances.d.ts.map +1 -0
  69. package/dist/cjs/utils/withdrawableBalances.js +42 -0
  70. package/dist/cjs/utils/withdrawableBalances.js.map +1 -0
  71. package/dist/cjs/websocket/HyperliquidWsProvider.d.ts +3 -1
  72. package/dist/cjs/websocket/HyperliquidWsProvider.d.ts.map +1 -1
  73. package/dist/cjs/websocket/HyperliquidWsProvider.js +102 -36
  74. package/dist/cjs/websocket/HyperliquidWsProvider.js.map +1 -1
  75. package/dist/esm/HyperliquidProvider.d.ts.map +1 -1
  76. package/dist/esm/HyperliquidProvider.js +6 -2
  77. package/dist/esm/HyperliquidProvider.js.map +1 -1
  78. package/dist/esm/accountSummary.d.ts +4 -3
  79. package/dist/esm/accountSummary.d.ts.map +1 -1
  80. package/dist/esm/accountSummary.js +36 -18
  81. package/dist/esm/accountSummary.js.map +1 -1
  82. package/dist/esm/index.d.ts +2 -0
  83. package/dist/esm/index.d.ts.map +1 -1
  84. package/dist/esm/index.js +1 -0
  85. package/dist/esm/index.js.map +1 -1
  86. package/dist/esm/services/activeAssetData.d.ts +13 -0
  87. package/dist/esm/services/activeAssetData.d.ts.map +1 -0
  88. package/dist/esm/services/activeAssetData.js +10 -0
  89. package/dist/esm/services/activeAssetData.js.map +1 -0
  90. package/dist/esm/services/getAccount.d.ts.map +1 -1
  91. package/dist/esm/services/getAccount.js +19 -29
  92. package/dist/esm/services/getAccount.js.map +1 -1
  93. package/dist/esm/services/getAvailableToTrade.d.ts +26 -0
  94. package/dist/esm/services/getAvailableToTrade.d.ts.map +1 -0
  95. package/dist/esm/services/getAvailableToTrade.js +42 -0
  96. package/dist/esm/services/getAvailableToTrade.js.map +1 -0
  97. package/dist/esm/services/getMarketSettings.d.ts +1 -1
  98. package/dist/esm/services/getMarketSettings.d.ts.map +1 -1
  99. package/dist/esm/services/getMarketSettings.js +3 -7
  100. package/dist/esm/services/getMarketSettings.js.map +1 -1
  101. package/dist/esm/services/getOrder.d.ts.map +1 -1
  102. package/dist/esm/services/getOrder.js +7 -3
  103. package/dist/esm/services/getOrder.js.map +1 -1
  104. package/dist/esm/services/getOrders.d.ts.map +1 -1
  105. package/dist/esm/services/getOrders.js +6 -34
  106. package/dist/esm/services/getOrders.js.map +1 -1
  107. package/dist/esm/services/getWithdrawableBalances.d.ts +24 -0
  108. package/dist/esm/services/getWithdrawableBalances.d.ts.map +1 -0
  109. package/dist/esm/services/getWithdrawableBalances.js +39 -0
  110. package/dist/esm/services/getWithdrawableBalances.js.map +1 -0
  111. package/dist/esm/types/account.d.ts +21 -8
  112. package/dist/esm/types/account.d.ts.map +1 -1
  113. package/dist/esm/types/account.js.map +1 -1
  114. package/dist/esm/types/ws.d.ts +10 -4
  115. package/dist/esm/types/ws.d.ts.map +1 -1
  116. package/dist/esm/utils/abstractionMode.d.ts +1 -1
  117. package/dist/esm/utils/abstractionMode.d.ts.map +1 -1
  118. package/dist/esm/utils/abstractionMode.js.map +1 -1
  119. package/dist/esm/utils/explorer.d.ts +9 -1
  120. package/dist/esm/utils/explorer.d.ts.map +1 -1
  121. package/dist/esm/utils/explorer.js +34 -1
  122. package/dist/esm/utils/explorer.js.map +1 -1
  123. package/dist/esm/utils/index.d.ts +3 -1
  124. package/dist/esm/utils/index.d.ts.map +1 -1
  125. package/dist/esm/utils/index.js +3 -1
  126. package/dist/esm/utils/index.js.map +1 -1
  127. package/dist/esm/utils/mapPosition.d.ts.map +1 -1
  128. package/dist/esm/utils/mapPosition.js +1 -4
  129. package/dist/esm/utils/mapPosition.js.map +1 -1
  130. package/dist/esm/utils/spotCollateral.d.ts +4 -4
  131. package/dist/esm/utils/spotCollateral.d.ts.map +1 -1
  132. package/dist/esm/utils/spotCollateral.js +4 -23
  133. package/dist/esm/utils/spotCollateral.js.map +1 -1
  134. package/dist/esm/utils/transferMargin.d.ts +12 -8
  135. package/dist/esm/utils/transferMargin.d.ts.map +1 -1
  136. package/dist/esm/utils/transferMargin.js +30 -18
  137. package/dist/esm/utils/transferMargin.js.map +1 -1
  138. package/dist/esm/utils/venueTotals.d.ts +26 -0
  139. package/dist/esm/utils/venueTotals.d.ts.map +1 -0
  140. package/dist/esm/utils/venueTotals.js +26 -0
  141. package/dist/esm/utils/venueTotals.js.map +1 -0
  142. package/dist/esm/utils/withdrawableBalances.d.ts +16 -0
  143. package/dist/esm/utils/withdrawableBalances.d.ts.map +1 -0
  144. package/dist/esm/utils/withdrawableBalances.js +50 -0
  145. package/dist/esm/utils/withdrawableBalances.js.map +1 -0
  146. package/dist/esm/websocket/HyperliquidWsProvider.d.ts +4 -1
  147. package/dist/esm/websocket/HyperliquidWsProvider.d.ts.map +1 -1
  148. package/dist/esm/websocket/HyperliquidWsProvider.js +101 -35
  149. package/dist/esm/websocket/HyperliquidWsProvider.js.map +1 -1
  150. package/dist/types/HyperliquidProvider.d.ts.map +1 -1
  151. package/dist/types/accountSummary.d.ts +4 -3
  152. package/dist/types/accountSummary.d.ts.map +1 -1
  153. package/dist/types/index.d.ts +2 -0
  154. package/dist/types/index.d.ts.map +1 -1
  155. package/dist/types/services/activeAssetData.d.ts +13 -0
  156. package/dist/types/services/activeAssetData.d.ts.map +1 -0
  157. package/dist/types/services/getAccount.d.ts.map +1 -1
  158. package/dist/types/services/getAvailableToTrade.d.ts +26 -0
  159. package/dist/types/services/getAvailableToTrade.d.ts.map +1 -0
  160. package/dist/types/services/getMarketSettings.d.ts +1 -1
  161. package/dist/types/services/getMarketSettings.d.ts.map +1 -1
  162. package/dist/types/services/getOrder.d.ts.map +1 -1
  163. package/dist/types/services/getOrders.d.ts.map +1 -1
  164. package/dist/types/services/getWithdrawableBalances.d.ts +24 -0
  165. package/dist/types/services/getWithdrawableBalances.d.ts.map +1 -0
  166. package/dist/types/types/account.d.ts +21 -8
  167. package/dist/types/types/account.d.ts.map +1 -1
  168. package/dist/types/types/ws.d.ts +10 -4
  169. package/dist/types/types/ws.d.ts.map +1 -1
  170. package/dist/types/utils/abstractionMode.d.ts +1 -1
  171. package/dist/types/utils/abstractionMode.d.ts.map +1 -1
  172. package/dist/types/utils/explorer.d.ts +9 -1
  173. package/dist/types/utils/explorer.d.ts.map +1 -1
  174. package/dist/types/utils/index.d.ts +3 -1
  175. package/dist/types/utils/index.d.ts.map +1 -1
  176. package/dist/types/utils/mapPosition.d.ts.map +1 -1
  177. package/dist/types/utils/spotCollateral.d.ts +4 -4
  178. package/dist/types/utils/spotCollateral.d.ts.map +1 -1
  179. package/dist/types/utils/transferMargin.d.ts +12 -8
  180. package/dist/types/utils/transferMargin.d.ts.map +1 -1
  181. package/dist/types/utils/venueTotals.d.ts +26 -0
  182. package/dist/types/utils/venueTotals.d.ts.map +1 -0
  183. package/dist/types/utils/withdrawableBalances.d.ts +16 -0
  184. package/dist/types/utils/withdrawableBalances.d.ts.map +1 -0
  185. package/dist/types/websocket/HyperliquidWsProvider.d.ts +4 -1
  186. package/dist/types/websocket/HyperliquidWsProvider.d.ts.map +1 -1
  187. package/package.json +3 -3
  188. package/src/HyperliquidProvider.ts +28 -2
  189. package/src/accountSummary.ts +64 -19
  190. package/src/index.ts +2 -0
  191. package/src/services/activeAssetData.ts +24 -0
  192. package/src/services/getAccount.ts +37 -52
  193. package/src/services/getAvailableToTrade.ts +72 -0
  194. package/src/services/getMarketSettings.ts +7 -11
  195. package/src/services/getOrder.ts +10 -3
  196. package/src/services/getOrders.ts +5 -56
  197. package/src/services/getWithdrawableBalances.ts +94 -0
  198. package/src/types/account.ts +22 -8
  199. package/src/types/ws.ts +18 -5
  200. package/src/utils/abstractionMode.ts +1 -1
  201. package/src/utils/explorer.ts +51 -2
  202. package/src/utils/index.ts +7 -1
  203. package/src/utils/mapPosition.ts +1 -5
  204. package/src/utils/spotCollateral.ts +4 -25
  205. package/src/utils/transferMargin.ts +31 -20
  206. package/src/utils/venueTotals.ts +48 -0
  207. package/src/utils/withdrawableBalances.ts +69 -0
  208. package/src/websocket/HyperliquidWsProvider.ts +149 -42
  209. package/dist/cjs/websocket/decodeChain.d.ts +0 -11
  210. package/dist/cjs/websocket/decodeChain.d.ts.map +0 -1
  211. package/dist/cjs/websocket/decodeChain.js +0 -37
  212. package/dist/cjs/websocket/decodeChain.js.map +0 -1
  213. package/dist/esm/websocket/decodeChain.d.ts +0 -30
  214. package/dist/esm/websocket/decodeChain.d.ts.map +0 -1
  215. package/dist/esm/websocket/decodeChain.js +0 -44
  216. package/dist/esm/websocket/decodeChain.js.map +0 -1
  217. package/dist/types/websocket/decodeChain.d.ts +0 -30
  218. package/dist/types/websocket/decodeChain.d.ts.map +0 -1
  219. package/src/websocket/decodeChain.ts +0 -54
@@ -0,0 +1,5 @@
1
+ import { type ProviderGetWithdrawableBalancesParams, type ProviderWithdrawableBalance, type SDKRequestOptions } from '@lifi/perps-sdk';
2
+ import type { HyperliquidContext } from '../context.js';
3
+ export type GetWithdrawableBalancesParams = ProviderGetWithdrawableBalancesParams;
4
+ export declare const getWithdrawableBalances: ({ client, apiUrl }: HyperliquidContext, params: GetWithdrawableBalancesParams, options?: SDKRequestOptions) => Promise<ProviderWithdrawableBalance[]>;
5
+ //# sourceMappingURL=getWithdrawableBalances.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWithdrawableBalances.d.ts","sourceRoot":"","sources":["../../../src/services/getWithdrawableBalances.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,qCAAqC,EAC1C,KAAK,2BAA2B,EAChC,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AAGxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAcvD,MAAM,MAAM,6BAA6B,GACvC,qCAAqC,CAAA;AAgBvC,eAAO,MAAM,uBAAuB,GAClC,oBAAoB,kBAAkB,EACtC,QAAQ,6BAA6B,EACrC,UAAU,iBAAiB,KAC1B,OAAO,CAAC,2BAA2B,EAAE,CAgDvC,CAAA"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getWithdrawableBalances = void 0;
4
+ const perps_sdk_1 = require("@lifi/perps-sdk");
5
+ const perps_types_1 = require("@lifi/perps-types");
6
+ const constants_js_1 = require("../constants.js");
7
+ const infoClient_js_1 = require("../utils/infoClient.js");
8
+ const withdrawableBalances_js_1 = require("../utils/withdrawableBalances.js");
9
+ const getWithdrawableBalances = async ({ client, apiUrl }, params, options) => {
10
+ const registry = (0, perps_sdk_1.getMarketRegistry)(client, constants_js_1.PROVIDER_KEY);
11
+ const infoOpts = (0, infoClient_js_1.hlInfoOptions)(client, options);
12
+ const [{ providers }, markets, abstraction, state, spotState] = await Promise.all([
13
+ (0, perps_sdk_1.getProviders)(client, options),
14
+ registry.sync(),
15
+ (0, infoClient_js_1.infoRequest)(apiUrl, { type: 'userAbstraction', user: params.address }, infoOpts),
16
+ (0, infoClient_js_1.infoRequest)(apiUrl, { type: 'clearinghouseState', user: params.address }, infoOpts),
17
+ (0, infoClient_js_1.infoRequest)(apiUrl, { type: 'spotClearinghouseState', user: params.address }, infoOpts),
18
+ ]);
19
+ const quoteAsset = markets.find((market) => market.categoryId === constants_js_1.MAIN_MARKET_ID)?.quoteAsset;
20
+ if (quoteAsset === undefined) {
21
+ const error = new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `Hyperliquid market registry carries no '${constants_js_1.MAIN_MARKET_ID}' market to name the withdrawal quote asset`);
22
+ error.tool = constants_js_1.PROVIDER_KEY;
23
+ throw error;
24
+ }
25
+ const feeUsd = providers.find((provider) => provider.key === constants_js_1.PROVIDER_KEY)?.withdrawalFeeUsd;
26
+ return (0, withdrawableBalances_js_1.hyperliquidWithdrawableBalances)(abstraction, state, spotState, quoteAsset.id, feeUsd === undefined ? undefined : String(feeUsd));
27
+ };
28
+ exports.getWithdrawableBalances = getWithdrawableBalances;
29
+ //# sourceMappingURL=getWithdrawableBalances.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWithdrawableBalances.js","sourceRoot":"","sources":["../../../src/services/getWithdrawableBalances.ts"],"names":[],"mappings":";;;AAAA,+CAOwB;AACxB,mDAAkD;AAClD,kDAA8D;AAO9D,0DAAmE;AACnE,8EAAkF;AAwB3E,MAAM,uBAAuB,GAAG,KAAK,EAC1C,EAAE,MAAM,EAAE,MAAM,EAAsB,EACtC,MAAqC,EACrC,OAA2B,EACa,EAAE;IAC1C,MAAM,QAAQ,GAAG,IAAA,6BAAiB,EAAC,MAAM,EAAE,2BAAY,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,IAAA,6BAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE/C,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,GAC3D,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,IAAA,wBAAY,EAAC,MAAM,EAAE,OAAO,CAAC;QAC7B,QAAQ,CAAC,IAAI,EAAE;QACf,IAAA,2BAAW,EACT,MAAM,EACN,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EACjD,QAAQ,CACT;QACD,IAAA,2BAAW,EACT,MAAM,EACN,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EACpD,QAAQ,CACT;QACD,IAAA,2BAAW,EACT,MAAM,EACN,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EACxD,QAAQ,CACT;KACF,CAAC,CAAA;IAEJ,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAC7B,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,6BAAc,CACjD,EAAE,UAAU,CAAA;IACb,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,sBAAU,CAC1B,4BAAc,CAAC,QAAQ,EACvB,2CAA2C,6BAAc,6CAA6C,CACvG,CAAA;QACD,KAAK,CAAC,IAAI,GAAG,2BAAY,CAAA;QACzB,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAC3B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,2BAAY,CAC5C,EAAE,gBAAgB,CAAA;IAEnB,OAAO,IAAA,yDAA+B,EACpC,WAAW,EACX,KAAK,EACL,SAAS,EACT,UAAU,CAAC,EAAE,EACb,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAClD,CAAA;AACH,CAAC,CAAA;AApDY,QAAA,uBAAuB,2BAoDnC"}
@@ -19,16 +19,18 @@ export type HlPosition = {
19
19
  export type HlAssetPosition = {
20
20
  position: HlPosition;
21
21
  };
22
+ export type HlMarginSummary = {
23
+ accountValue: string;
24
+ totalNtlPos: string;
25
+ totalRawUsd: string;
26
+ totalMarginUsed: string;
27
+ };
22
28
  export type HlClearinghouseState = {
23
29
  assetPositions: HlAssetPosition[];
24
- marginSummary: {
25
- accountValue: string;
26
- totalMarginUsed: string;
27
- };
28
- crossMarginSummary: {
29
- accountValue: string;
30
- totalMarginUsed: string;
31
- };
30
+ marginSummary: HlMarginSummary;
31
+ crossMarginSummary: HlMarginSummary;
32
+ crossMaintenanceMarginUsed: string;
33
+ withdrawable: string;
32
34
  };
33
35
  export type HlSpotBalance = {
34
36
  coin: string;
@@ -39,6 +41,7 @@ export type HlSpotBalance = {
39
41
  };
40
42
  export type HlSpotClearinghouseState = {
41
43
  balances: HlSpotBalance[];
44
+ tokenToAvailableAfterMaintenance: [number, string][];
42
45
  };
43
46
  export type HlUserFees = {
44
47
  userAddRate: string;
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/types/account.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,UAAU,GAAG;IAEvB,IAAI,EAAE,MAAM,CAAA;IAEZ,GAAG,EAAE,MAAM,CAAA;IAEX,OAAO,EAAE,MAAM,CAAA;IAEf,aAAa,EAAE,MAAM,CAAA;IAErB,aAAa,EAAE,MAAM,CAAA;IAErB,aAAa,EAAE,MAAM,CAAA;IAErB,UAAU,EAAE,MAAM,CAAA;IAElB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IAOD,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAA;QACf,SAAS,EAAE,MAAM,CAAA;QACjB,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;CACF,CAAA;AAOD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,UAAU,CAAA;CACrB,CAAA;AASD,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,eAAe,EAAE,CAAA;IACjC,aAAa,EAAE;QACb,YAAY,EAAE,MAAM,CAAA;QACpB,eAAe,EAAE,MAAM,CAAA;KACxB,CAAA;IACD,kBAAkB,EAAE;QAClB,YAAY,EAAE,MAAM,CAAA;QACpB,eAAe,EAAE,MAAM,CAAA;KACxB,CAAA;CACF,CAAA;AAQD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAMD,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,aAAa,EAAE,CAAA;CAC1B,CAAA;AAQD,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,sBAAsB,EAAE,MAAM,CAAA;CAC/B,CAAA;AAOD,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;AAQrD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAQD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE;QAAE,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACvD,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAQD,eAAO,MAAM,iBAAiB;;;;;;CAMpB,CAAA;AAGV,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAA"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/types/account.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,UAAU,GAAG;IAEvB,IAAI,EAAE,MAAM,CAAA;IAEZ,GAAG,EAAE,MAAM,CAAA;IAEX,OAAO,EAAE,MAAM,CAAA;IAEf,aAAa,EAAE,MAAM,CAAA;IAErB,aAAa,EAAE,MAAM,CAAA;IAErB,aAAa,EAAE,MAAM,CAAA;IAErB,UAAU,EAAE,MAAM,CAAA;IAElB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IAOD,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAA;QACf,SAAS,EAAE,MAAM,CAAA;QACjB,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;CACF,CAAA;AAOD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,UAAU,CAAA;CACrB,CAAA;AAOD,MAAM,MAAM,eAAe,GAAG;IAE5B,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AASD,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,eAAe,EAAE,CAAA;IACjC,aAAa,EAAE,eAAe,CAAA;IAC9B,kBAAkB,EAAE,eAAe,CAAA;IACnC,0BAA0B,EAAE,MAAM,CAAA;IAClC,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAQD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAMD,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,aAAa,EAAE,CAAA;IAKzB,gCAAgC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;CACrD,CAAA;AAQD,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,sBAAsB,EAAE,MAAM,CAAA;CAC/B,CAAA;AAOD,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;AAQrD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAQD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE;QAAE,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACvD,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAQD,eAAO,MAAM,iBAAiB;;;;;;CAMpB,CAAA;AAGV,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/types/account.ts"],"names":[],"mappings":";;;AAgJa,QAAA,iBAAiB,GAAG;IAC/B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,eAAe,EAAE,gBAAgB;IACjC,gBAAgB,EAAE,iBAAiB;IACnC,eAAe,EAAE,gBAAgB;CACzB,CAAA"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/types/account.ts"],"names":[],"mappings":";;;AA8Ja,QAAA,iBAAiB,GAAG;IAC/B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,eAAe,EAAE,gBAAgB;IACjC,gBAAgB,EAAE,iBAAiB;IACnC,eAAe,EAAE,gBAAgB;CACzB,CAAA"}
@@ -104,17 +104,16 @@ export type HlWsUserFillsData = {
104
104
  user: string;
105
105
  fills: HlUserFill[];
106
106
  };
107
+ export type HlWsDexClearinghouseState = Pick<HlClearinghouseState, 'assetPositions'> & Partial<Pick<HlClearinghouseState, 'marginSummary'>>;
107
108
  export type HlWsAllDexsClearinghouseStateData = {
108
109
  user: string;
109
- clearinghouseStates: [
110
- string,
111
- Pick<HlClearinghouseState, 'assetPositions' | 'marginSummary'>
112
- ][];
110
+ clearinghouseStates: [string, HlWsDexClearinghouseState][];
113
111
  };
114
112
  export type HlWsSpotStateData = {
115
113
  user: string;
116
114
  spotState: {
117
115
  balances: HlSpotBalance[];
116
+ tokenToAvailableAfterMaintenance?: [number, string][];
118
117
  };
119
118
  };
120
119
  export {};
@@ -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,3 +1,3 @@
1
1
  import { HlAbstractionMode } from '../types/account.js';
2
- export declare const isUnifiedAbstraction: (abstraction: HlAbstractionMode | null) => boolean;
2
+ export declare const isUnifiedAbstraction: (abstraction: HlAbstractionMode | string | null) => boolean;
3
3
  //# sourceMappingURL=abstractionMode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abstractionMode.d.ts","sourceRoot":"","sources":["../../../src/utils/abstractionMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAOvD,eAAO,MAAM,oBAAoB,GAC/B,aAAa,iBAAiB,GAAG,IAAI,KACpC,OAEiD,CAAA"}
1
+ {"version":3,"file":"abstractionMode.d.ts","sourceRoot":"","sources":["../../../src/utils/abstractionMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAOvD,eAAO,MAAM,oBAAoB,GAC/B,aAAa,iBAAiB,GAAG,MAAM,GAAG,IAAI,KAC7C,OAEiD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"abstractionMode.js","sourceRoot":"","sources":["../../../src/utils/abstractionMode.ts"],"names":[],"mappings":";;;AAAA,oDAAuD;AAOhD,MAAM,oBAAoB,GAAG,CAClC,WAAqC,EAC5B,EAAE,CACX,WAAW,KAAK,8BAAiB,CAAC,eAAe;IACjD,WAAW,KAAK,8BAAiB,CAAC,gBAAgB,CAAA;AAJvC,QAAA,oBAAoB,wBAImB"}
1
+ {"version":3,"file":"abstractionMode.js","sourceRoot":"","sources":["../../../src/utils/abstractionMode.ts"],"names":[],"mappings":";;;AAAA,oDAAuD;AAOhD,MAAM,oBAAoB,GAAG,CAClC,WAA8C,EACrC,EAAE,CACX,WAAW,KAAK,8BAAiB,CAAC,eAAe;IACjD,WAAW,KAAK,8BAAiB,CAAC,gBAAgB,CAAA;AAJvC,QAAA,oBAAoB,wBAImB"}
@@ -1,7 +1,8 @@
1
- import type { OrderBase } from '@lifi/perps-types';
1
+ import type { Order, OrderBase } from '@lifi/perps-types';
2
2
  import { type HlExplorerTx } from '../types/explorer.js';
3
3
  import { type InfoRequestOptions } from './infoClient.js';
4
4
  export declare const fetchUserTransactions: (address: string, options?: InfoRequestOptions) => Promise<HlExplorerTx[]>;
5
5
  export declare const getClientOrderIds: (action: Record<string, unknown>) => string[];
6
6
  export declare const matchOrderActionHash: (txs: HlExplorerTx[], order: Pick<OrderBase, "clientOrderId">) => string | undefined;
7
+ export declare const withExplorerLinks: (orders: Order[], address: string, options: InfoRequestOptions) => Promise<Order[]>;
7
8
  //# sourceMappingURL=explorer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"explorer.d.ts","sourceRoot":"","sources":["../../../src/utils/explorer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAGlD,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAerE,eAAO,MAAM,qBAAqB,GAChC,SAAS,MAAM,EACf,UAAU,kBAAkB,KAC3B,OAAO,CAAC,YAAY,EAAE,CASxB,CAAA;AASD,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,MAAM,EAyBR,CAAA;AASD,eAAO,MAAM,oBAAoB,GAC/B,KAAK,YAAY,EAAE,EACnB,OAAO,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,KACtC,MAAM,GAAG,SAaX,CAAA"}
1
+ {"version":3,"file":"explorer.d.ts","sourceRoot":"","sources":["../../../src/utils/explorer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAGzD,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAerE,eAAO,MAAM,qBAAqB,GAChC,SAAS,MAAM,EACf,UAAU,kBAAkB,KAC3B,OAAO,CAAC,YAAY,EAAE,CASxB,CAAA;AASD,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,MAAM,EAyBR,CAAA;AASD,eAAO,MAAM,oBAAoB,GAC/B,KAAK,YAAY,EAAE,EACnB,OAAO,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,KACtC,MAAM,GAAG,SAaX,CAAA;AAWD,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,KAAK,EAAE,EACf,SAAS,MAAM,EACf,SAAS,kBAAkB,KAC1B,OAAO,CAAC,KAAK,EAAE,CA4BjB,CAAA"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.matchOrderActionHash = exports.getClientOrderIds = exports.fetchUserTransactions = void 0;
3
+ exports.withExplorerLinks = exports.matchOrderActionHash = exports.getClientOrderIds = exports.fetchUserTransactions = void 0;
4
+ const perps_sdk_1 = require("@lifi/perps-sdk");
4
5
  const viem_1 = require("viem");
5
6
  const constants_js_1 = require("../constants.js");
6
7
  const explorer_js_1 = require("../types/explorer.js");
@@ -46,4 +47,26 @@ const matchOrderActionHash = (txs, order) => {
46
47
  return match?.hash;
47
48
  };
48
49
  exports.matchOrderActionHash = matchOrderActionHash;
50
+ const warn = (0, perps_sdk_1.createWarnOnce)();
51
+ const withExplorerLinks = async (orders, address, options) => {
52
+ if (!orders.some((order) => order.clientOrderId !== undefined)) {
53
+ return orders;
54
+ }
55
+ let txs;
56
+ try {
57
+ txs = await (0, exports.fetchUserTransactions)(address, options);
58
+ }
59
+ catch (error) {
60
+ if (!(error instanceof perps_sdk_1.PerpsError) || options.signal?.aborted) {
61
+ throw error;
62
+ }
63
+ warn('explorer link lookup failed', `[${constants_js_1.PROVIDER_KEY}] explorer link lookup failed: ${error.message}`);
64
+ return orders;
65
+ }
66
+ return orders.map((order) => {
67
+ const explorerLink = (0, perps_sdk_1.explorerTxUrl)(perps_sdk_1.ExplorerChainId.HYPERLIQUID, (0, exports.matchOrderActionHash)(txs, order));
68
+ return explorerLink === undefined ? order : { ...order, explorerLink };
69
+ });
70
+ };
71
+ exports.withExplorerLinks = withExplorerLinks;
49
72
  //# sourceMappingURL=explorer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"explorer.js","sourceRoot":"","sources":["../../../src/utils/explorer.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAC5B,kDAA8D;AAC9D,sDAAwE;AACxE,mDAAqE;AAErE,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CACpE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAA;AAYtC,MAAM,qBAAqB,GAAG,KAAK,EACxC,OAAe,EACf,OAA4B,EACH,EAAE;IAC3B,MAAM,IAAI,GAAG,MAAM,IAAA,0BAAU,EAC3B,2CAA4B,EAC5B,sBAAsB,EACtB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,EACtC,OAAO,CACR,CAAA;IACD,MAAM,GAAG,GAAG,IAAI,EAAE,GAAG,CAAA;IACrB,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,4BAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC7D,CAAC,CAAA;AAZY,QAAA,qBAAqB,yBAYjC;AASM,MAAM,iBAAiB,GAAG,CAC/B,MAA+B,EACrB,EAAE;IACZ,MAAM,KAAK,GAAc;QACvB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;YAChC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC7B,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC5C;YACH,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,CAAC,KAAK;KACb,CAAA;IACD,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,SAAQ;QACV,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAA;QACpB,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,IAAA,YAAK,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAC9B,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AA3BY,QAAA,iBAAiB,qBA2B7B;AASM,MAAM,oBAAoB,GAAG,CAClC,GAAmB,EACnB,KAAuC,EACnB,EAAE;IACtB,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;IAC/B,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAA;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CACpB,CAAC,EAAE,EAAE,EAAE,CACL,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC;QACnB,IAAA,yBAAiB,EAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CACzE,CAAA;IACD,OAAO,KAAK,EAAE,IAAI,CAAA;AACpB,CAAC,CAAA;AAhBY,QAAA,oBAAoB,wBAgBhC"}
1
+ {"version":3,"file":"explorer.js","sourceRoot":"","sources":["../../../src/utils/explorer.ts"],"names":[],"mappings":"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"}
@@ -16,5 +16,7 @@ export { formatOrderPrice, formatOrderSize, getMaxPriceDecimals, } from './order
16
16
  export { priceStepToAggregation } from './priceStepToAggregation.js';
17
17
  export { spotAssetFromToken, spotBalance, spotPriceById, } from './spotBalance.js';
18
18
  export { partitionSpotBalances, type SpotPartition } from './spotCollateral.js';
19
- export { positionMarginConstraints } from './transferMargin.js';
19
+ export { positionRemovableMargin } from './transferMargin.js';
20
+ export { type DexMarginSummary, perpsTotals, sumUnrealizedPnl, } from './venueTotals.js';
21
+ export { hyperliquidWithdrawableBalances } from './withdrawableBalances.js';
20
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,gBAAgB,GACjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,eAAe,CAAA;AACtB,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,EACL,kBAAkB,EAClB,cAAc,EACd,mBAAmB,GACpB,MAAM,kBAAkB,CAAA;AACzB,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,KAAK,WAAW,EAChB,QAAQ,EACR,cAAc,EACd,YAAY,GACb,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
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,gBAAgB,GACjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,eAAe,CAAA;AACtB,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,EACL,kBAAkB,EAClB,cAAc,EACd,mBAAmB,GACpB,MAAM,kBAAkB,CAAA;AACzB,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,KAAK,WAAW,EAChB,QAAQ,EACR,cAAc,EACd,YAAY,GACb,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,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EACL,KAAK,gBAAgB,EACrB,WAAW,EACX,gBAAgB,GACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.positionMarginConstraints = exports.partitionSpotBalances = exports.spotPriceById = exports.spotBalance = exports.spotAssetFromToken = exports.priceStepToAggregation = exports.getMaxPriceDecimals = exports.formatOrderSize = exports.formatOrderPrice = exports.perpsDexNames = exports.coinAsset = exports.mapPosition = exports.isOpenAssetPosition = exports.mapOrderType = exports.mapOrderStatus = exports.mapOrder = exports.mapMarketContext = exports.mapMarket = exports.mapFill = exports.classifyFillFromPosition = exports.mapLiquidationFills = exports.mapLedgerEntry = exports.mapFundingActivity = exports.calculateMaintenanceMarginRate = exports.calculateLiquidationPrice = exports.infoRequest = exports.hlInfoOptions = exports.matchOrderActionHash = exports.getClientOrderIds = exports.fetchUserTransactions = exports.decodeFastAssetCtxs = exports.decodeCompressedJson = exports.UNIT_TOKEN_NAMES = exports.spotLogoURI = exports.applyLogoOverride = exports.getProviderIndex = exports.calculateAssetId = exports.assetIsSpot = exports.assetIsOutcome = void 0;
3
+ exports.hyperliquidWithdrawableBalances = exports.sumUnrealizedPnl = exports.perpsTotals = exports.positionRemovableMargin = exports.partitionSpotBalances = exports.spotPriceById = exports.spotBalance = exports.spotAssetFromToken = exports.priceStepToAggregation = exports.getMaxPriceDecimals = exports.formatOrderSize = exports.formatOrderPrice = exports.perpsDexNames = exports.coinAsset = exports.mapPosition = exports.isOpenAssetPosition = exports.mapOrderType = exports.mapOrderStatus = exports.mapOrder = exports.mapMarketContext = exports.mapMarket = exports.mapFill = exports.classifyFillFromPosition = exports.mapLiquidationFills = exports.mapLedgerEntry = exports.mapFundingActivity = exports.calculateMaintenanceMarginRate = exports.calculateLiquidationPrice = exports.infoRequest = exports.hlInfoOptions = exports.matchOrderActionHash = exports.getClientOrderIds = exports.fetchUserTransactions = exports.decodeFastAssetCtxs = exports.decodeCompressedJson = exports.UNIT_TOKEN_NAMES = exports.spotLogoURI = exports.applyLogoOverride = exports.getProviderIndex = exports.calculateAssetId = exports.assetIsSpot = exports.assetIsOutcome = void 0;
4
4
  var assetId_js_1 = require("./assetId.js");
5
5
  Object.defineProperty(exports, "assetIsOutcome", { enumerable: true, get: function () { return assetId_js_1.assetIsOutcome; } });
6
6
  Object.defineProperty(exports, "assetIsSpot", { enumerable: true, get: function () { return assetId_js_1.assetIsSpot; } });
@@ -57,5 +57,10 @@ Object.defineProperty(exports, "spotPriceById", { enumerable: true, get: functio
57
57
  var spotCollateral_js_1 = require("./spotCollateral.js");
58
58
  Object.defineProperty(exports, "partitionSpotBalances", { enumerable: true, get: function () { return spotCollateral_js_1.partitionSpotBalances; } });
59
59
  var transferMargin_js_1 = require("./transferMargin.js");
60
- Object.defineProperty(exports, "positionMarginConstraints", { enumerable: true, get: function () { return transferMargin_js_1.positionMarginConstraints; } });
60
+ Object.defineProperty(exports, "positionRemovableMargin", { enumerable: true, get: function () { return transferMargin_js_1.positionRemovableMargin; } });
61
+ var venueTotals_js_1 = require("./venueTotals.js");
62
+ Object.defineProperty(exports, "perpsTotals", { enumerable: true, get: function () { return venueTotals_js_1.perpsTotals; } });
63
+ Object.defineProperty(exports, "sumUnrealizedPnl", { enumerable: true, get: function () { return venueTotals_js_1.sumUnrealizedPnl; } });
64
+ var withdrawableBalances_js_1 = require("./withdrawableBalances.js");
65
+ Object.defineProperty(exports, "hyperliquidWithdrawableBalances", { enumerable: true, get: function () { return withdrawableBalances_js_1.hyperliquidWithdrawableBalances; } });
61
66
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAIA,2CAKqB;AAJnB,4GAAA,cAAc,OAAA;AACd,yGAAA,WAAW,OAAA;AACX,8GAAA,gBAAgB,OAAA;AAChB,8GAAA,gBAAgB,OAAA;AAElB,+CAIuB;AAHrB,iHAAA,iBAAiB,OAAA;AACjB,2GAAA,WAAW,OAAA;AACX,gHAAA,gBAAgB,OAAA;AAElB,mEAGiC;AAF/B,8HAAA,oBAAoB,OAAA;AACpB,6HAAA,mBAAmB,OAAA;AAErB,6CAIsB;AAHpB,oHAAA,qBAAqB,OAAA;AACrB,gHAAA,iBAAiB,OAAA;AACjB,mHAAA,oBAAoB,OAAA;AAGtB,iDAA4D;AAAnD,8GAAA,aAAa,OAAA;AAAE,4GAAA,WAAW,OAAA;AACnC,mDAGyB;AAFvB,2HAAA,yBAAyB,OAAA;AACzB,gIAAA,8BAA8B,OAAA;AAEhC,mDAIyB;AAHvB,oHAAA,kBAAkB,OAAA;AAClB,gHAAA,cAAc,OAAA;AACd,qHAAA,mBAAmB,OAAA;AAErB,2CAAgE;AAAvD,sHAAA,wBAAwB,OAAA;AAAE,qGAAA,OAAO,OAAA;AAC1C,+CAA0C;AAAjC,yGAAA,SAAS,OAAA;AAClB,6DAAwD;AAA/C,uHAAA,gBAAgB,OAAA;AACzB,6CAKsB;AAHpB,uGAAA,QAAQ,OAAA;AACR,6GAAA,cAAc,OAAA;AACd,2GAAA,YAAY,OAAA;AAEd,mDAAmE;AAA1D,qHAAA,mBAAmB,OAAA;AAAE,6GAAA,WAAW,OAAA;AACzC,uDAA6D;AAApD,6GAAA,SAAS,OAAA;AAAE,iHAAA,aAAa,OAAA;AACjC,2DAI6B;AAH3B,sHAAA,gBAAgB,OAAA;AAChB,qHAAA,eAAe,OAAA;AACf,yHAAA,mBAAmB,OAAA;AAErB,yEAAoE;AAA3D,mIAAA,sBAAsB,OAAA;AAC/B,mDAIyB;AAHvB,oHAAA,kBAAkB,OAAA;AAClB,6GAAA,WAAW,OAAA;AACX,+GAAA,aAAa,OAAA;AAEf,yDAA+E;AAAtE,0HAAA,qBAAqB,OAAA;AAC9B,yDAA+D;AAAtD,8HAAA,yBAAyB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAIA,2CAKqB;AAJnB,4GAAA,cAAc,OAAA;AACd,yGAAA,WAAW,OAAA;AACX,8GAAA,gBAAgB,OAAA;AAChB,8GAAA,gBAAgB,OAAA;AAElB,+CAIuB;AAHrB,iHAAA,iBAAiB,OAAA;AACjB,2GAAA,WAAW,OAAA;AACX,gHAAA,gBAAgB,OAAA;AAElB,mEAGiC;AAF/B,8HAAA,oBAAoB,OAAA;AACpB,6HAAA,mBAAmB,OAAA;AAErB,6CAIsB;AAHpB,oHAAA,qBAAqB,OAAA;AACrB,gHAAA,iBAAiB,OAAA;AACjB,mHAAA,oBAAoB,OAAA;AAGtB,iDAA4D;AAAnD,8GAAA,aAAa,OAAA;AAAE,4GAAA,WAAW,OAAA;AACnC,mDAGyB;AAFvB,2HAAA,yBAAyB,OAAA;AACzB,gIAAA,8BAA8B,OAAA;AAEhC,mDAIyB;AAHvB,oHAAA,kBAAkB,OAAA;AAClB,gHAAA,cAAc,OAAA;AACd,qHAAA,mBAAmB,OAAA;AAErB,2CAAgE;AAAvD,sHAAA,wBAAwB,OAAA;AAAE,qGAAA,OAAO,OAAA;AAC1C,+CAA0C;AAAjC,yGAAA,SAAS,OAAA;AAClB,6DAAwD;AAA/C,uHAAA,gBAAgB,OAAA;AACzB,6CAKsB;AAHpB,uGAAA,QAAQ,OAAA;AACR,6GAAA,cAAc,OAAA;AACd,2GAAA,YAAY,OAAA;AAEd,mDAAmE;AAA1D,qHAAA,mBAAmB,OAAA;AAAE,6GAAA,WAAW,OAAA;AACzC,uDAA6D;AAApD,6GAAA,SAAS,OAAA;AAAE,iHAAA,aAAa,OAAA;AACjC,2DAI6B;AAH3B,sHAAA,gBAAgB,OAAA;AAChB,qHAAA,eAAe,OAAA;AACf,yHAAA,mBAAmB,OAAA;AAErB,yEAAoE;AAA3D,mIAAA,sBAAsB,OAAA;AAC/B,mDAIyB;AAHvB,oHAAA,kBAAkB,OAAA;AAClB,6GAAA,WAAW,OAAA;AACX,+GAAA,aAAa,OAAA;AAEf,yDAA+E;AAAtE,0HAAA,qBAAqB,OAAA;AAC9B,yDAA6D;AAApD,4HAAA,uBAAuB,OAAA;AAChC,mDAIyB;AAFvB,6GAAA,WAAW,OAAA;AACX,kHAAA,gBAAgB,OAAA;AAElB,qEAA2E;AAAlE,0IAAA,+BAA+B,OAAA"}
@@ -1 +1 @@
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;AAQxD,eAAO,MAAM,mBAAmB,GAAI,IAAI,eAAe,KAAG,OAChB,CAAA;AAU1C,eAAO,MAAM,WAAW,GACtB,IAAI,eAAe,EACnB,QAAQ,kBAAkB,KACzB,QA0BF,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;AAQxD,eAAO,MAAM,mBAAmB,GAAI,IAAI,eAAe,KAAG,OAChB,CAAA;AAU1C,eAAO,MAAM,WAAW,GACtB,IAAI,eAAe,EACnB,QAAQ,kBAAkB,KACzB,QAsBF,CAAA"}
@@ -14,9 +14,6 @@ const mapPosition = (ap, market) => {
14
14
  const positionValue = new big_js_1.default(pos.positionValue).abs();
15
15
  const leverage = new big_js_1.default(pos.leverage.value);
16
16
  const marginMode = pos.leverage.type === 'cross' ? perps_types_1.MarginMode.CROSS : perps_types_1.MarginMode.ISOLATED;
17
- const marginUsed = marginMode === perps_types_1.MarginMode.ISOLATED
18
- ? new big_js_1.default(pos.marginUsed).minus(pos.unrealizedPnl).toFixed()
19
- : pos.marginUsed;
20
17
  return {
21
18
  market,
22
19
  side: szi.gte(0) ? perps_types_1.PositionSide.LONG : perps_types_1.PositionSide.SHORT,
@@ -27,7 +24,7 @@ const mapPosition = (ap, market) => {
27
24
  unrealizedPnl: pos.unrealizedPnl,
28
25
  accruedFunding: new big_js_1.default(pos.cumFunding.sinceOpen).neg().toFixed(),
29
26
  leverage: ap.position.leverage.value,
30
- marginUsed,
27
+ marginUsed: pos.marginUsed,
31
28
  initialMarginRequirement: positionValue.div(leverage).toFixed(),
32
29
  marginMode,
33
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mapPosition.js","sourceRoot":"","sources":["../../../src/utils/mapPosition.ts"],"names":[],"mappings":";;;;;;AACA,mDAA4D;AAC5D,oDAAwB;AASjB,MAAM,mBAAmB,GAAG,CAAC,EAAmB,EAAW,EAAE,CAClE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAD7B,QAAA,mBAAmB,uBACU;AAUnC,MAAM,WAAW,GAAG,CACzB,EAAmB,EACnB,MAA0B,EAChB,EAAE;IACZ,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAA;IACvB,MAAM,GAAG,GAAG,IAAI,gBAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5B,MAAM,aAAa,GAAG,IAAI,gBAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,CAAA;IACtD,MAAM,QAAQ,GAAG,IAAI,gBAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,UAAU,GACd,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,wBAAU,CAAC,KAAK,CAAC,CAAC,CAAC,wBAAU,CAAC,QAAQ,CAAA;IACxE,MAAM,UAAU,GACd,UAAU,KAAK,wBAAU,CAAC,QAAQ;QAChC,CAAC,CAAC,IAAI,gBAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE;QAC5D,CAAC,CAAC,GAAG,CAAC,UAAU,CAAA;IAEpB,OAAO;QACL,MAAM;QACN,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0BAAY,CAAC,IAAI,CAAC,CAAC,CAAC,0BAAY,CAAC,KAAK;QACzD,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;QACzB,UAAU,EAAE,GAAG,CAAC,OAAO,IAAI,GAAG;QAC9B,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE;QACnE,gBAAgB,EAAE,GAAG,CAAC,aAAa,IAAI,GAAG;QAC1C,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,cAAc,EAAE,IAAI,gBAAG,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;QACjE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;QACpC,UAAU;QACV,wBAAwB,EAAE,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;QAC/D,UAAU;KACX,CAAA;AACH,CAAC,CAAA;AA7BY,QAAA,WAAW,eA6BvB"}
1
+ {"version":3,"file":"mapPosition.js","sourceRoot":"","sources":["../../../src/utils/mapPosition.ts"],"names":[],"mappings":";;;;;;AACA,mDAA4D;AAC5D,oDAAwB;AASjB,MAAM,mBAAmB,GAAG,CAAC,EAAmB,EAAW,EAAE,CAClE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAD7B,QAAA,mBAAmB,uBACU;AAUnC,MAAM,WAAW,GAAG,CACzB,EAAmB,EACnB,MAA0B,EAChB,EAAE;IACZ,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAA;IACvB,MAAM,GAAG,GAAG,IAAI,gBAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5B,MAAM,aAAa,GAAG,IAAI,gBAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,CAAA;IACtD,MAAM,QAAQ,GAAG,IAAI,gBAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,UAAU,GACd,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,wBAAU,CAAC,KAAK,CAAC,CAAC,CAAC,wBAAU,CAAC,QAAQ,CAAA;IAExE,OAAO;QACL,MAAM;QACN,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0BAAY,CAAC,IAAI,CAAC,CAAC,CAAC,0BAAY,CAAC,KAAK;QACzD,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;QACzB,UAAU,EAAE,GAAG,CAAC,OAAO,IAAI,GAAG;QAC9B,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE;QACnE,gBAAgB,EAAE,GAAG,CAAC,aAAa,IAAI,GAAG;QAC1C,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,cAAc,EAAE,IAAI,gBAAG,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;QACjE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;QACpC,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,wBAAwB,EAAE,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;QAC/D,UAAU;KACX,CAAA;AACH,CAAC,CAAA;AAzBY,QAAA,WAAW,eAyBvB"}
@@ -3,5 +3,5 @@ export interface SpotPartition {
3
3
  collateralBalances: Balance[];
4
4
  balances: Balance[];
5
5
  }
6
- export declare const partitionSpotBalances: (spotBalances: readonly Balance[], quoteAssetIds: ReadonlySet<string>, portfolioMargin: boolean) => SpotPartition;
6
+ export declare const partitionSpotBalances: (spotBalances: readonly Balance[], quoteAssetIds: ReadonlySet<string>) => SpotPartition;
7
7
  //# 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;AAqBhD,MAAM,WAAW,aAAa;IAC5B,kBAAkB,EAAE,OAAO,EAAE,CAAA;IAC7B,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAQD,eAAO,MAAM,qBAAqB,GAChC,cAAc,SAAS,OAAO,EAAE,EAChC,eAAe,WAAW,CAAC,MAAM,CAAC,EAClC,iBAAiB,OAAO,KACvB,aAqBF,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;AAQhD,MAAM,WAAW,aAAa;IAC5B,kBAAkB,EAAE,OAAO,EAAE,CAAA;IAC7B,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAQD,eAAO,MAAM,qBAAqB,GAChC,cAAc,SAAS,OAAO,EAAE,EAChC,eAAe,WAAW,CAAC,MAAM,CAAC,KACjC,aAcF,CAAA"}
@@ -2,11 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.partitionSpotBalances = void 0;
4
4
  const decimal_js_1 = require("./decimal.js");
5
- const PORTFOLIO_MARGIN_LTV = {
6
- HYPE: 0.5,
7
- UBTC: 0.5,
8
- };
9
- const partitionSpotBalances = (spotBalances, quoteAssetIds, portfolioMargin) => {
5
+ const partitionSpotBalances = (spotBalances, quoteAssetIds) => {
10
6
  const collateralBalances = [];
11
7
  const balances = [];
12
8
  for (const balance of spotBalances) {
@@ -15,13 +11,6 @@ const partitionSpotBalances = (spotBalances, quoteAssetIds, portfolioMargin) =>
15
11
  }
16
12
  if (quoteAssetIds.has(balance.asset.id)) {
17
13
  collateralBalances.push(balance);
18
- continue;
19
- }
20
- const ltv = portfolioMargin
21
- ? PORTFOLIO_MARGIN_LTV[balance.asset.displaySymbol]
22
- : undefined;
23
- if (ltv !== undefined) {
24
- collateralBalances.push({ ...balance, collateralWeight: ltv });
25
14
  }
26
15
  else {
27
16
  balances.push(balance);
@@ -1 +1 @@
1
- {"version":3,"file":"spotCollateral.js","sourceRoot":"","sources":["../../../src/utils/spotCollateral.ts"],"names":[],"mappings":";;;AACA,6CAAwC;AAUxC,MAAM,oBAAoB,GAAqC;IAC7D,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;CACV,CAAA;AAkBM,MAAM,qBAAqB,GAAG,CACnC,YAAgC,EAChC,aAAkC,EAClC,eAAwB,EACT,EAAE;IACjB,MAAM,kBAAkB,GAAc,EAAE,CAAA;IACxC,MAAM,QAAQ,GAAc,EAAE,CAAA;IAC9B,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,IAAA,sBAAS,EAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,SAAQ;QACV,CAAC;QACD,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACxC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAChC,SAAQ;QACV,CAAC;QACD,MAAM,GAAG,GAAG,eAAe;YACzB,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;YACnD,CAAC,CAAC,SAAS,CAAA;QACb,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,kBAAkB,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAA;QAChE,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAA;AACzC,CAAC,CAAA;AAzBY,QAAA,qBAAqB,yBAyBjC"}
1
+ {"version":3,"file":"spotCollateral.js","sourceRoot":"","sources":["../../../src/utils/spotCollateral.ts"],"names":[],"mappings":";;;AACA,6CAAwC;AAkBjC,MAAM,qBAAqB,GAAG,CACnC,YAAgC,EAChC,aAAkC,EACnB,EAAE;IACjB,MAAM,kBAAkB,GAAc,EAAE,CAAA;IACxC,MAAM,QAAQ,GAAc,EAAE,CAAA;IAC9B,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,IAAA,sBAAS,EAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,SAAQ;QACV,CAAC;QACD,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACxC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAA;AACzC,CAAC,CAAA;AAjBY,QAAA,qBAAqB,yBAiBjC"}
@@ -1,3 +1,3 @@
1
- import { type Position, type PositionMarginConstraints } from '@lifi/perps-types';
2
- export declare function positionMarginConstraints(position: Position): PositionMarginConstraints | undefined;
1
+ import { type Position } from '@lifi/perps-types';
2
+ export declare function positionRemovableMargin(position: Position): string | undefined;
3
3
  //# sourceMappingURL=transferMargin.d.ts.map
@@ -1 +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;AAoC1B,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,QAAQ,GACjB,yBAAyB,GAAG,SAAS,CAoBvC"}
1
+ {"version":3,"file":"transferMargin.d.ts","sourceRoot":"","sources":["../../../src/utils/transferMargin.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,QAAQ,EAGd,MAAM,mBAAmB,CAAA;AA2C1B,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,GACjB,MAAM,GAAG,SAAS,CAwBpB"}
@@ -3,38 +3,46 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.positionMarginConstraints = positionMarginConstraints;
6
+ exports.positionRemovableMargin = positionRemovableMargin;
7
7
  const perps_sdk_1 = require("@lifi/perps-sdk");
8
8
  const perps_types_1 = require("@lifi/perps-types");
9
9
  const big_js_1 = __importDefault(require("big.js"));
10
10
  const NOTIONAL_FLOOR_RATIO = '0.1';
11
- const AMOUNT_INCREMENT = '0.000001';
12
- function positivePositionAmount(value, field) {
13
- let amount;
11
+ const AMOUNT_DECIMALS = 6;
12
+ function positionAmount(value, field) {
14
13
  try {
15
- amount = new big_js_1.default(value);
14
+ return new big_js_1.default(value);
16
15
  }
17
16
  catch {
18
17
  throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Invalid decimal string on Position.${field}: '${value}'`);
19
18
  }
19
+ }
20
+ function positivePositionAmount(value, field) {
21
+ const amount = positionAmount(value, field);
20
22
  if (amount.lte(0)) {
21
23
  throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Position.${field} must be greater than zero.`);
22
24
  }
23
25
  return amount;
24
26
  }
25
- function positionMarginConstraints(position) {
27
+ function positionRemovableMargin(position) {
26
28
  if (!(0, perps_types_1.positionSupportsMarginAdjustment)(position)) {
27
29
  return undefined;
28
30
  }
31
+ if (!(0, perps_types_1.positionSupportsMarginRemoval)(position)) {
32
+ return '0';
33
+ }
34
+ const marginUsed = positionAmount(position.marginUsed, 'marginUsed');
29
35
  const initialMargin = positivePositionAmount(position.initialMarginRequirement, 'initialMarginRequirement');
30
- const notional = positivePositionAmount(position.size, 'size').times(positivePositionAmount(position.markPrice, 'markPrice'));
31
- const notionalFloor = notional.times(NOTIONAL_FLOOR_RATIO);
36
+ const notionalFloor = positivePositionAmount(position.size, 'size')
37
+ .times(positivePositionAmount(position.markPrice, 'markPrice'))
38
+ .times(NOTIONAL_FLOOR_RATIO);
32
39
  const minimumMargin = initialMargin.gt(notionalFloor)
33
40
  ? initialMargin
34
41
  : notionalFloor;
35
- return {
36
- minimumMarginRequirement: minimumMargin.toFixed(),
37
- amountIncrement: AMOUNT_INCREMENT,
38
- };
42
+ const removable = marginUsed.minus(minimumMargin);
43
+ if (removable.lte(0)) {
44
+ return '0';
45
+ }
46
+ return removable.round(AMOUNT_DECIMALS, big_js_1.default.roundDown).toFixed();
39
47
  }
40
48
  //# sourceMappingURL=transferMargin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transferMargin.js","sourceRoot":"","sources":["../../../src/utils/transferMargin.ts"],"names":[],"mappings":";;;;;AA0CA,8DAsBC;AAhED,+CAA4C;AAC5C,mDAK0B;AAC1B,oDAAwB;AAExB,MAAM,oBAAoB,GAAG,KAAK,CAAA;AAClC,MAAM,gBAAgB,GAAG,UAAU,CAAA;AAEnC,SAAS,sBAAsB,CAAC,KAAa,EAAE,KAAa;IAC1D,IAAI,MAAW,CAAA;IACf,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,gBAAG,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,sCAAsC,KAAK,MAAM,KAAK,GAAG,CAC1D,CAAA;IACH,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,YAAY,KAAK,6BAA6B,CAC/C,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAaD,SAAgB,yBAAyB,CACvC,QAAkB;IAElB,IAAI,CAAC,IAAA,8CAAgC,EAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,aAAa,GAAG,sBAAsB,CAC1C,QAAQ,CAAC,wBAAwB,EACjC,0BAA0B,CAC3B,CAAA;IACD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAClE,sBAAsB,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CACxD,CAAA;IACD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAC1D,MAAM,aAAa,GAAG,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC;QACnD,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,aAAa,CAAA;IAEjB,OAAO;QACL,wBAAwB,EAAE,aAAa,CAAC,OAAO,EAAE;QACjD,eAAe,EAAE,gBAAgB;KAClC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"transferMargin.js","sourceRoot":"","sources":["../../../src/utils/transferMargin.ts"],"names":[],"mappings":";;;;;AAiDA,0DA0BC;AA3ED,+CAA4C;AAC5C,mDAK0B;AAC1B,oDAAwB;AAExB,MAAM,oBAAoB,GAAG,KAAK,CAAA;AAClC,MAAM,eAAe,GAAG,CAAC,CAAA;AAEzB,SAAS,cAAc,CAAC,KAAa,EAAE,KAAa;IAClD,IAAI,CAAC;QACH,OAAO,IAAI,gBAAG,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,sCAAsC,KAAK,MAAM,KAAK,GAAG,CAC1D,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa,EAAE,KAAa;IAC1D,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC3C,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,YAAY,KAAK,6BAA6B,CAC/C,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAiBD,SAAgB,uBAAuB,CACrC,QAAkB;IAElB,IAAI,CAAC,IAAA,8CAAgC,EAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,CAAC,IAAA,2CAA6B,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC7C,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IACpE,MAAM,aAAa,GAAG,sBAAsB,CAC1C,QAAQ,CAAC,wBAAwB,EACjC,0BAA0B,CAC3B,CAAA;IACD,MAAM,aAAa,GAAG,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;SAChE,KAAK,CAAC,sBAAsB,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SAC9D,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAC9B,MAAM,aAAa,GAAG,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC;QACnD,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,aAAa,CAAA;IAEjB,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IACjD,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,OAAO,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,gBAAG,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAA;AAClE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { HyperliquidMarginSummary, Position } from '@lifi/perps-types';
2
+ import Big from 'big.js';
3
+ export interface DexMarginSummary {
4
+ marginSummary?: HyperliquidMarginSummary;
5
+ }
6
+ export declare const perpsTotals: (dexStates: readonly DexMarginSummary[]) => {
7
+ accountValue: Big;
8
+ marginUsed: Big;
9
+ };
10
+ export declare const sumUnrealizedPnl: (positions: readonly Position[]) => Big;
11
+ //# sourceMappingURL=venueTotals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"venueTotals.d.ts","sourceRoot":"","sources":["../../../src/utils/venueTotals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,GAAG,MAAM,QAAQ,CAAA;AAQxB,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,wBAAwB,CAAA;CACzC;AAQD,eAAO,MAAM,WAAW,GACtB,WAAW,SAAS,gBAAgB,EAAE,KACrC;IAAE,YAAY,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,GAAG,CAAA;CAetC,CAAA;AAMD,eAAO,MAAM,gBAAgB,GAAI,WAAW,SAAS,QAAQ,EAAE,KAAG,GAK/D,CAAA"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.sumUnrealizedPnl = exports.perpsTotals = void 0;
7
+ const big_js_1 = __importDefault(require("big.js"));
8
+ const decimal_js_1 = require("./decimal.js");
9
+ const perpsTotals = (dexStates) => {
10
+ let accountValue = new big_js_1.default(0);
11
+ let marginUsed = new big_js_1.default(0);
12
+ for (const { marginSummary } of dexStates) {
13
+ if (marginSummary === undefined) {
14
+ continue;
15
+ }
16
+ accountValue = accountValue.plus((0, decimal_js_1.toWireBig)(marginSummary.accountValue, 'marginSummary.accountValue'));
17
+ marginUsed = marginUsed.plus((0, decimal_js_1.toWireBig)(marginSummary.totalMarginUsed, 'marginSummary.totalMarginUsed'));
18
+ }
19
+ return { accountValue, marginUsed };
20
+ };
21
+ exports.perpsTotals = perpsTotals;
22
+ const sumUnrealizedPnl = (positions) => positions.reduce((sum, position) => sum.plus((0, decimal_js_1.toWireBig)(position.unrealizedPnl, 'position.unrealizedPnl')), new big_js_1.default(0));
23
+ exports.sumUnrealizedPnl = sumUnrealizedPnl;
24
+ //# sourceMappingURL=venueTotals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"venueTotals.js","sourceRoot":"","sources":["../../../src/utils/venueTotals.ts"],"names":[],"mappings":";;;;;;AACA,oDAAwB;AACxB,6CAAwC;AAiBjC,MAAM,WAAW,GAAG,CACzB,SAAsC,EACE,EAAE;IAC1C,IAAI,YAAY,GAAG,IAAI,gBAAG,CAAC,CAAC,CAAC,CAAA;IAC7B,IAAI,UAAU,GAAG,IAAI,gBAAG,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,IAAA,sBAAS,EAAC,aAAa,CAAC,YAAY,EAAE,4BAA4B,CAAC,CACpE,CAAA;QACD,UAAU,GAAG,UAAU,CAAC,IAAI,CAC1B,IAAA,sBAAS,EAAC,aAAa,CAAC,eAAe,EAAE,+BAA+B,CAAC,CAC1E,CAAA;IACH,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA;AACrC,CAAC,CAAA;AAjBY,QAAA,WAAW,eAiBvB;AAMM,MAAM,gBAAgB,GAAG,CAAC,SAA8B,EAAO,EAAE,CACtE,SAAS,CAAC,MAAM,CACd,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAChB,GAAG,CAAC,IAAI,CAAC,IAAA,sBAAS,EAAC,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC,EACvE,IAAI,gBAAG,CAAC,CAAC,CAAC,CACX,CAAA;AALU,QAAA,gBAAgB,oBAK1B"}
@@ -0,0 +1,4 @@
1
+ import type { ProviderWithdrawableBalance } from '@lifi/perps-sdk';
2
+ import type { HlAbstractionMode, HlClearinghouseState, HlSpotClearinghouseState } from '../types/index.js';
3
+ export declare const hyperliquidWithdrawableBalances: (abstraction: HlAbstractionMode | null, state: HlClearinghouseState, spotState: HlSpotClearinghouseState, quoteAssetId: string, withdrawalFee?: string) => ProviderWithdrawableBalance[];
4
+ //# 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;AAiB1B,eAAO,MAAM,+BAA+B,GAC1C,aAAa,iBAAiB,GAAG,IAAI,EACrC,OAAO,oBAAoB,EAC3B,WAAW,wBAAwB,EACnC,cAAc,MAAM,EACpB,gBAAgB,MAAM,KACrB,2BAA2B,EAwC7B,CAAA"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hyperliquidWithdrawableBalances = void 0;
4
+ const abstractionMode_js_1 = require("./abstractionMode.js");
5
+ const assetId_js_1 = require("./assetId.js");
6
+ const decimal_js_1 = require("./decimal.js");
7
+ const hyperliquidWithdrawableBalances = (abstraction, state, spotState, quoteAssetId, withdrawalFee) => {
8
+ const rows = [];
9
+ const fee = withdrawalFee === undefined
10
+ ? undefined
11
+ : (0, decimal_js_1.toWireBig)(withdrawalFee, 'providers.withdrawalFeeUsd').toFixed();
12
+ const feeFor = (assetId) => fee === undefined || assetId !== quoteAssetId ? {} : { withdrawalFee: fee };
13
+ if ((0, abstractionMode_js_1.isUnifiedAbstraction)(abstraction)) {
14
+ for (const balance of spotState.balances) {
15
+ if ((0, assetId_js_1.assetIsOutcome)(balance.coin)) {
16
+ continue;
17
+ }
18
+ const spot = (0, decimal_js_1.toWireBig)(balance.total, 'spotBalance.total').minus((0, decimal_js_1.toWireBig)(balance.hold, 'spotBalance.hold'));
19
+ if (spot.gt(0)) {
20
+ const assetId = String(balance.token);
21
+ rows.push({
22
+ assetId,
23
+ route: 'spot',
24
+ available: spot.toFixed(),
25
+ ...feeFor(assetId),
26
+ });
27
+ }
28
+ }
29
+ }
30
+ const perps = (0, decimal_js_1.toWireBig)(state.withdrawable, 'clearinghouseState.withdrawable');
31
+ if (perps.gt(0)) {
32
+ rows.push({
33
+ assetId: quoteAssetId,
34
+ route: 'perps',
35
+ available: perps.toFixed(),
36
+ ...feeFor(quoteAssetId),
37
+ });
38
+ }
39
+ return rows;
40
+ };
41
+ exports.hyperliquidWithdrawableBalances = hyperliquidWithdrawableBalances;
42
+ //# sourceMappingURL=withdrawableBalances.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withdrawableBalances.js","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":";;;AAMA,6DAA2D;AAC3D,6CAA6C;AAC7C,6CAAwC;AAcjC,MAAM,+BAA+B,GAAG,CAC7C,WAAqC,EACrC,KAA2B,EAC3B,SAAmC,EACnC,YAAoB,EACpB,aAAsB,EACS,EAAE;IACjC,MAAM,IAAI,GAAkC,EAAE,CAAA;IAC9C,MAAM,GAAG,GACP,aAAa,KAAK,SAAS;QACzB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAA,sBAAS,EAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC,OAAO,EAAE,CAAA;IACtE,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,EAAE,CACjC,GAAG,KAAK,SAAS,IAAI,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,CAAA;IAE7E,IAAI,IAAA,yCAAoB,EAAC,WAAW,CAAC,EAAE,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,IAAA,2BAAc,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,SAAQ;YACV,CAAC;YACD,MAAM,IAAI,GAAG,IAAA,sBAAS,EAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,KAAK,CAC9D,IAAA,sBAAS,EAAC,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAC5C,CAAA;YACD,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACrC,IAAI,CAAC,IAAI,CAAC;oBACR,OAAO;oBACP,KAAK,EAAE,MAAM;oBACb,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE;oBACzB,GAAG,MAAM,CAAC,OAAO,CAAC;iBACnB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,sBAAS,EAAC,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;YAC1B,GAAG,MAAM,CAAC,YAAY,CAAC;SACxB,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AA9CY,QAAA,+BAA+B,mCA8C3C"}
@@ -11,7 +11,7 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
11
11
  private readonly abstractionByUser;
12
12
  private readonly spotRefs;
13
13
  private readonly unifiedSummaryByUser;
14
- private readonly latestPositionsByUser;
14
+ private readonly latestPerpsByUser;
15
15
  private readonly heldSummaryByUser;
16
16
  private perpCtxBySubDex;
17
17
  private spotCtxByMarketId;
@@ -70,6 +70,8 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
70
70
  private static readonly REFRESH_COALESCE_MS;
71
71
  private emitSummaryIfModeAllows;
72
72
  private fetchAbstractionMode;
73
+ private handleActiveAssetData;
73
74
  private handleSpotState;
75
+ private fetchAvailableAfterMaintenance;
74
76
  }
75
77
  //# 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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"}