@lifi/perps-sdk-provider-hyperliquid 0.0.0-preview-9a53502 → 0.0.0-preview-ef23ec2

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 (165) hide show
  1. package/README.md +56 -0
  2. package/dist/cjs/HyperliquidProvider.d.ts.map +1 -1
  3. package/dist/cjs/HyperliquidProvider.js +1 -2
  4. package/dist/cjs/HyperliquidProvider.js.map +1 -1
  5. package/dist/cjs/index.d.ts +0 -2
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js +1 -3
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/services/getAccount.d.ts.map +1 -1
  10. package/dist/cjs/services/getAccount.js +20 -13
  11. package/dist/cjs/services/getAccount.js.map +1 -1
  12. package/dist/cjs/services/getOrder.d.ts.map +1 -1
  13. package/dist/cjs/services/getOrder.js +12 -3
  14. package/dist/cjs/services/getOrder.js.map +1 -1
  15. package/dist/cjs/services/getOrders.d.ts +2 -7
  16. package/dist/cjs/services/getOrders.d.ts.map +1 -1
  17. package/dist/cjs/services/getOrders.js +43 -31
  18. package/dist/cjs/services/getOrders.js.map +1 -1
  19. package/dist/cjs/services/getPortfolioHistory.d.ts.map +1 -1
  20. package/dist/cjs/services/getPortfolioHistory.js +36 -11
  21. package/dist/cjs/services/getPortfolioHistory.js.map +1 -1
  22. package/dist/cjs/types/order.d.ts +24 -0
  23. package/dist/cjs/types/order.d.ts.map +1 -1
  24. package/dist/cjs/types/ws.d.ts +14 -0
  25. package/dist/cjs/types/ws.d.ts.map +1 -1
  26. package/dist/cjs/utils/abstractionMode.d.ts +3 -0
  27. package/dist/cjs/utils/abstractionMode.d.ts.map +1 -0
  28. package/dist/cjs/utils/abstractionMode.js +8 -0
  29. package/dist/cjs/utils/abstractionMode.js.map +1 -0
  30. package/dist/cjs/utils/decimal.d.ts +3 -0
  31. package/dist/cjs/utils/decimal.d.ts.map +1 -0
  32. package/dist/cjs/utils/decimal.js +19 -0
  33. package/dist/cjs/utils/decimal.js.map +1 -0
  34. package/dist/cjs/utils/index.d.ts +1 -1
  35. package/dist/cjs/utils/index.d.ts.map +1 -1
  36. package/dist/cjs/utils/index.js +1 -6
  37. package/dist/cjs/utils/index.js.map +1 -1
  38. package/dist/cjs/utils/mapFill.d.ts.map +1 -1
  39. package/dist/cjs/utils/mapFill.js +0 -1
  40. package/dist/cjs/utils/mapFill.js.map +1 -1
  41. package/dist/cjs/utils/mapMarketContext.d.ts +2 -2
  42. package/dist/cjs/utils/mapMarketContext.d.ts.map +1 -1
  43. package/dist/cjs/utils/mapMarketContext.js +21 -4
  44. package/dist/cjs/utils/mapMarketContext.js.map +1 -1
  45. package/dist/cjs/utils/mapOrder.d.ts +4 -9
  46. package/dist/cjs/utils/mapOrder.d.ts.map +1 -1
  47. package/dist/cjs/utils/mapOrder.js +148 -135
  48. package/dist/cjs/utils/mapOrder.js.map +1 -1
  49. package/dist/cjs/utils/spotCollateral.d.ts.map +1 -1
  50. package/dist/cjs/utils/spotCollateral.js +4 -0
  51. package/dist/cjs/utils/spotCollateral.js.map +1 -1
  52. package/dist/cjs/websocket/HyperliquidWsProvider.d.ts +3 -0
  53. package/dist/cjs/websocket/HyperliquidWsProvider.d.ts.map +1 -1
  54. package/dist/cjs/websocket/HyperliquidWsProvider.js +71 -32
  55. package/dist/cjs/websocket/HyperliquidWsProvider.js.map +1 -1
  56. package/dist/esm/HyperliquidProvider.d.ts.map +1 -1
  57. package/dist/esm/HyperliquidProvider.js +1 -2
  58. package/dist/esm/HyperliquidProvider.js.map +1 -1
  59. package/dist/esm/index.d.ts +0 -2
  60. package/dist/esm/index.d.ts.map +1 -1
  61. package/dist/esm/index.js +0 -1
  62. package/dist/esm/index.js.map +1 -1
  63. package/dist/esm/services/getAccount.d.ts.map +1 -1
  64. package/dist/esm/services/getAccount.js +17 -13
  65. package/dist/esm/services/getAccount.js.map +1 -1
  66. package/dist/esm/services/getOrder.d.ts.map +1 -1
  67. package/dist/esm/services/getOrder.js +12 -3
  68. package/dist/esm/services/getOrder.js.map +1 -1
  69. package/dist/esm/services/getOrders.d.ts +4 -24
  70. package/dist/esm/services/getOrders.d.ts.map +1 -1
  71. package/dist/esm/services/getOrders.js +47 -43
  72. package/dist/esm/services/getOrders.js.map +1 -1
  73. package/dist/esm/services/getPortfolioHistory.d.ts +3 -3
  74. package/dist/esm/services/getPortfolioHistory.d.ts.map +1 -1
  75. package/dist/esm/services/getPortfolioHistory.js +47 -14
  76. package/dist/esm/services/getPortfolioHistory.js.map +1 -1
  77. package/dist/esm/types/order.d.ts +26 -0
  78. package/dist/esm/types/order.d.ts.map +1 -1
  79. package/dist/esm/types/ws.d.ts +15 -0
  80. package/dist/esm/types/ws.d.ts.map +1 -1
  81. package/dist/esm/utils/abstractionMode.d.ts +8 -0
  82. package/dist/esm/utils/abstractionMode.d.ts.map +1 -0
  83. package/dist/esm/utils/abstractionMode.js +9 -0
  84. package/dist/esm/utils/abstractionMode.js.map +1 -0
  85. package/dist/esm/utils/decimal.d.ts +10 -0
  86. package/dist/esm/utils/decimal.d.ts.map +1 -0
  87. package/dist/esm/utils/decimal.js +19 -0
  88. package/dist/esm/utils/decimal.js.map +1 -0
  89. package/dist/esm/utils/index.d.ts +1 -1
  90. package/dist/esm/utils/index.d.ts.map +1 -1
  91. package/dist/esm/utils/index.js +1 -1
  92. package/dist/esm/utils/index.js.map +1 -1
  93. package/dist/esm/utils/mapFill.d.ts.map +1 -1
  94. package/dist/esm/utils/mapFill.js +1 -2
  95. package/dist/esm/utils/mapFill.js.map +1 -1
  96. package/dist/esm/utils/mapMarketContext.d.ts +7 -4
  97. package/dist/esm/utils/mapMarketContext.d.ts.map +1 -1
  98. package/dist/esm/utils/mapMarketContext.js +27 -6
  99. package/dist/esm/utils/mapMarketContext.js.map +1 -1
  100. package/dist/esm/utils/mapOrder.d.ts +8 -73
  101. package/dist/esm/utils/mapOrder.d.ts.map +1 -1
  102. package/dist/esm/utils/mapOrder.js +147 -187
  103. package/dist/esm/utils/mapOrder.js.map +1 -1
  104. package/dist/esm/utils/spotCollateral.d.ts.map +1 -1
  105. package/dist/esm/utils/spotCollateral.js +4 -0
  106. package/dist/esm/utils/spotCollateral.js.map +1 -1
  107. package/dist/esm/websocket/HyperliquidWsProvider.d.ts +4 -1
  108. package/dist/esm/websocket/HyperliquidWsProvider.d.ts.map +1 -1
  109. package/dist/esm/websocket/HyperliquidWsProvider.js +75 -37
  110. package/dist/esm/websocket/HyperliquidWsProvider.js.map +1 -1
  111. package/dist/types/HyperliquidProvider.d.ts.map +1 -1
  112. package/dist/types/index.d.ts +0 -2
  113. package/dist/types/index.d.ts.map +1 -1
  114. package/dist/types/services/getAccount.d.ts.map +1 -1
  115. package/dist/types/services/getOrder.d.ts.map +1 -1
  116. package/dist/types/services/getOrders.d.ts +4 -24
  117. package/dist/types/services/getOrders.d.ts.map +1 -1
  118. package/dist/types/services/getPortfolioHistory.d.ts +3 -3
  119. package/dist/types/services/getPortfolioHistory.d.ts.map +1 -1
  120. package/dist/types/types/order.d.ts +26 -0
  121. package/dist/types/types/order.d.ts.map +1 -1
  122. package/dist/types/types/ws.d.ts +15 -0
  123. package/dist/types/types/ws.d.ts.map +1 -1
  124. package/dist/types/utils/abstractionMode.d.ts +8 -0
  125. package/dist/types/utils/abstractionMode.d.ts.map +1 -0
  126. package/dist/types/utils/decimal.d.ts +10 -0
  127. package/dist/types/utils/decimal.d.ts.map +1 -0
  128. package/dist/types/utils/index.d.ts +1 -1
  129. package/dist/types/utils/index.d.ts.map +1 -1
  130. package/dist/types/utils/mapFill.d.ts.map +1 -1
  131. package/dist/types/utils/mapMarketContext.d.ts +7 -4
  132. package/dist/types/utils/mapMarketContext.d.ts.map +1 -1
  133. package/dist/types/utils/mapOrder.d.ts +8 -73
  134. package/dist/types/utils/mapOrder.d.ts.map +1 -1
  135. package/dist/types/utils/spotCollateral.d.ts.map +1 -1
  136. package/dist/types/websocket/HyperliquidWsProvider.d.ts +4 -1
  137. package/dist/types/websocket/HyperliquidWsProvider.d.ts.map +1 -1
  138. package/package.json +3 -3
  139. package/src/HyperliquidProvider.ts +1 -13
  140. package/src/index.ts +0 -2
  141. package/src/services/getAccount.ts +24 -18
  142. package/src/services/getOrder.ts +22 -4
  143. package/src/services/getOrders.ts +81 -78
  144. package/src/services/getPortfolioHistory.ts +73 -21
  145. package/src/types/order.ts +25 -0
  146. package/src/types/ws.ts +16 -0
  147. package/src/utils/abstractionMode.ts +12 -0
  148. package/src/utils/decimal.ts +21 -0
  149. package/src/utils/index.ts +0 -5
  150. package/src/utils/mapFill.ts +0 -2
  151. package/src/utils/mapMarketContext.ts +32 -7
  152. package/src/utils/mapOrder.ts +162 -212
  153. package/src/utils/spotCollateral.ts +4 -0
  154. package/src/websocket/HyperliquidWsProvider.ts +105 -46
  155. package/dist/cjs/services/getRunningTwaps.d.ts +0 -10
  156. package/dist/cjs/services/getRunningTwaps.d.ts.map +0 -1
  157. package/dist/cjs/services/getRunningTwaps.js +0 -46
  158. package/dist/cjs/services/getRunningTwaps.js.map +0 -1
  159. package/dist/esm/services/getRunningTwaps.d.ts +0 -12
  160. package/dist/esm/services/getRunningTwaps.d.ts.map +0 -1
  161. package/dist/esm/services/getRunningTwaps.js +0 -40
  162. package/dist/esm/services/getRunningTwaps.js.map +0 -1
  163. package/dist/types/services/getRunningTwaps.d.ts +0 -12
  164. package/dist/types/services/getRunningTwaps.d.ts.map +0 -1
  165. package/src/services/getRunningTwaps.ts +0 -90
package/README.md CHANGED
@@ -35,6 +35,62 @@ Setup registers an agent keypair whose private key signs orders locally, so trad
35
35
 
36
36
  The keypair is persisted through a `StorageAdapter`. The default adapter encrypts values with AES-GCM before writing to browser `localStorage`, holding the master key as a non-extractable `CryptoKey` handle in IndexedDB, so key material is never stored as plaintext. Pass your own `StorageAdapter` to the `HyperliquidAgentStore` constructor to use a different backend — a custom adapter bypasses this encryption and is responsible for protecting the key at rest.
37
37
 
38
+ ## Order reads
39
+
40
+ `getOrders` returns `{ provider, orders, pagination }`. Each `Order` carries a
41
+ venue `orderId`, optional `clientOrderId`, lifecycle `status`, decimal quantities,
42
+ and timestamps. `type` distinguishes `RegularOrder`, `TriggerOrder`, and
43
+ `TwapOrder`. Trigger rows include a derived ABOVE or BELOW `triggerCondition`.
44
+
45
+ Attached TP/SL legs appear as separate PENDING rows with the parent's `oid` in
46
+ `parentOrderId`. Position-level triggers have no parent. A null `cloid` omits
47
+ `clientOrderId`. These order feeds contain no transaction hash, so they omit
48
+ `explorerLink`.
49
+
50
+ | Venue state | SDK status |
51
+ | --- | --- |
52
+ | Attached child while its parent rests | PENDING |
53
+ | `open`, no fills | OPEN |
54
+ | `open`, positive filled size | PARTIALLY_FILLED |
55
+ | `triggered` | TRIGGERED |
56
+ | `filled` | FILLED |
57
+ | `canceled`, `scheduledCancel`, documented cancellation reasons | CANCELLED |
58
+ | `rejected`, documented rejection reasons | REJECTED |
59
+ | TWAP `activated` | OPEN or PARTIALLY_FILLED |
60
+ | TWAP `waitingForTrigger` | OPEN |
61
+ | TWAP `finished` | FILLED |
62
+ | TWAP `terminated`, `stopped` | CANCELLED |
63
+ | TWAP `error` | REJECTED |
64
+
65
+ Hyperliquid does not document an EXPIRED order status. Unknown status strings
66
+ throw `PerpsError`. Cancel and rejection rows keep the venue reason in
67
+ `statusReason`.
68
+
69
+ ```ts
70
+ import { getOrders } from '@lifi/perps-sdk'
71
+ import { OrderStatus } from '@lifi/perps-types'
72
+
73
+ const { orders } = await getOrders(client, {
74
+ provider: 'hyperliquid',
75
+ address: '0xUser',
76
+ statuses: [OrderStatus.FILLED, OrderStatus.CANCELLED],
77
+ })
78
+ ```
79
+
80
+ The default filter is `ACTIVE_ORDER_STATUSES`: PENDING, OPEN,
81
+ PARTIALLY_FILLED, and TRIGGERED. Active filters read `frontendOpenOrders`.
82
+ Terminal filters read `historicalOrders`. Mixed filters read both.
83
+ `twapHistory` supplies both running and finished TWAP parents.
84
+ `getOrder` reads `orderStatus` and uses the same mapper.
85
+
86
+ The venue returns at most 2,000 historical orders. The provider returns the
87
+ available matching rows in one response; it does not expose older pages.
88
+
89
+ The `orderUpdates` WebSocket feed omits execution metadata. The provider reads
90
+ `orderStatus` for each update, then retains the stream's status and quantities.
91
+ The provider emits frames in stream order after these HTTP reads finish.
92
+ Unavailable metadata reports a decode failure instead of inventing an order type.
93
+
38
94
  ## Documentation
39
95
 
40
96
  - [`@lifi/perps-sdk` README](https://www.npmjs.com/package/@lifi/perps-sdk) — client setup, options, and the WebSocket API
@@ -1 +1 @@
1
- {"version":3,"file":"HyperliquidProvider.d.ts","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,mBAAmB,EAgBxB,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AA0BxB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,MAAM,CAAA;AAoBxD,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,oCAAoC,CAAA;AAa3C,MAAM,WAAW,0BAA0B;IAOzC,MAAM,CAAC,EAAE,MAAM,CAAA;IAMf,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAWD,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IAKnE,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEnD,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAK5C,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAK5C,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC1E;AAuBD,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,0BAA+B,GACvC,wBAAwB,CA+S1B"}
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;AAa3C,MAAM,WAAW,0BAA0B;IAOzC,MAAM,CAAC,EAAE,MAAM,CAAA;IAMf,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAWD,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IAKnE,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEnD,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAK5C,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAK5C,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC1E;AAuBD,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,0BAA+B,GACvC,wBAAwB,CAsS1B"}
@@ -17,7 +17,6 @@ const getOrder_js_1 = require("./services/getOrder.js");
17
17
  const getOrders_js_1 = require("./services/getOrders.js");
18
18
  const getPortfolioHistory_js_1 = require("./services/getPortfolioHistory.js");
19
19
  const getPositions_js_1 = require("./services/getPositions.js");
20
- const getRunningTwaps_js_1 = require("./services/getRunningTwaps.js");
21
20
  const HyperliquidAgentStore_js_1 = require("./signers/HyperliquidAgentStore.js");
22
21
  const signActions_js_1 = require("./signers/signActions.js");
23
22
  const infoClient_js_1 = require("./utils/infoClient.js");
@@ -112,10 +111,10 @@ function hyperliquidProvider(options = {}) {
112
111
  getMarketSettings: (params, opts) => (0, getMarketSettings_js_1.getMarketSettings)(contextRef.require(), { address: params.address, market: params.market }, opts),
113
112
  getOrders: (params, opts) => (0, getOrders_js_1.getOrders)(contextRef.require(), {
114
113
  address: params.address,
114
+ statuses: params.statuses,
115
115
  marketId: params.marketId,
116
116
  limit: params.limit,
117
117
  }, opts),
118
- getRunningTwaps: (params, opts) => (0, getRunningTwaps_js_1.getRunningTwaps)(contextRef.require(), { address: params.address, marketId: params.marketId }, opts),
119
118
  getOrder: (params, opts) => (0, getOrder_js_1.getOrder)(contextRef.require(), { address: params.address, id: params.id }, opts),
120
119
  getFills: (params, opts) => (0, getFills_js_1.getFills)(contextRef.require(), {
121
120
  address: params.address,
@@ -1 +1 @@
1
- {"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":";;AAwJA,kDAiTC;AAzcD,+CAwBwB;AACxB,mDAwB0B;AAC1B,+BAAwD;AACxD,yDAAqE;AACrE,2DAAuD;AACvD,iDAKuB;AACvB,6CAAoD;AACpD,4DAAqD;AACrD,wEAAiE;AACjE,8DAAuD;AACvD,wDAAiD;AACjD,0EAAmE;AACnE,wDAAiD;AACjD,0DAAmD;AACnD,8EAAuE;AACvE,gEAAyD;AACzD,sEAA+D;AAC/D,iFAG2C;AAC3C,6DAAiE;AAEjE,yDAAkE;AAClE,2DAAkE;AAClE,mEAA8E;AAC9E,iEAAqE;AAyErE,SAAgB,mBAAmB,CACjC,UAAsC,EAAE;IAExC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,0CAA2B,CAAA;IAC5D,MAAM,UAAU,GAAG,IAAI,gDAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7D,MAAM,UAAU,GAAG,IAAI,kCAAqB,CAAC,MAAM,CAAC,CAAA;IAEpD,MAAM,cAAc,GAAG,CAAC,KAAc,EAAiB,EAAE,CACvD,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAA,gBAAS,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAE5E,MAAM,cAAc,GAAG,CAAC,KAAc,EAAiB,EAAE;QACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;QAChD,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,MAAM,yBAAyB,GAAG,KAAK,EACrC,OAAgB,EAChB,iBAA0B,EACR,EAAE;QACpB,IAAI,OAAO,GAAiD,IAAI,CAAA;QAChE,IAAI,CAAC;YACH,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,CAAA;QAChC,CAAC;QAAC,MAAM,CAAC;YAEP,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAW,EAC9B,MAAM,EACN,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,EACtC,IAAA,6BAAa,EAAC,OAAO,CAAC,MAAM,CAAC,CAC9B,CAAA;QACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAA;QAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CACvB,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,KAAK,CACZ,CAAA;QACxC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACrD,OAAO,YAAY,KAAK,IAAI,IAAI,YAAY,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5D,CAAC,CAAA;IAED,MAAM,0BAA0B,GAAG,KAAK,EACtC,OAAgB,EACE,EAAE;QACpB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAChD,IAAI,CAAC;gBACH,IAAI,MAAM,yBAAyB,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjE,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oBAChC,OAAO,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;gBACxD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;YACD,OAAO,UAAU,CAAC,OAAO,CAAA;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IACE,KAAK,YAAY,sBAAU;gBAC3B,KAAK,CAAC,OAAO,KAAK,6BAAiB,CAAC,aAAa,EACjD,CAAC;gBACD,OAAO,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;YACxD,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC,CAAA;IAED,OAAO;QACL,IAAI,EAAE,2BAAY;QAElB,oBAAoB,EAAE,CAAC,wBAAU,CAAC,YAAY,CAAC;QAK/C,uBAAuB,EAAE,CAAC,wBAAU,CAAC,YAAY,CAAC;QAElD,IAAI,EAAE,CAAC,MAAsB,EAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAE/D,eAAe,EAAE,KAAK,EAAE,OAAgB,EAAoB,EAAE,CAC5D,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;QAEzC,QAAQ,EAAE,CAAC,OAAgB,EAAoB,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;QAEzE,WAAW,EAAE,CAAC,OAAgB,EAAiB,EAAE,CAC/C,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;QAE5B,WAAW,EAAE,CACX,OAAgB,EAChB,UAAe,EACY,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;QAEtE,oBAAoB,EAAE,KAAK,EACzB,MAAkB,EAClB,OAAgB,EAChB,OAAsB,EACa,EAAE;YAKrC,IAAI,MAAM,KAAK,wBAAU,CAAC,aAAa,EAAE,CAAC;gBACxC,MAAM,YAAY,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,CAAA;gBAC9D,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,CAAA;YACrC,CAAC;YAID,IAAI,OAAO,CAAC,QAAQ,CAAC,yBAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAC3C,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,CAAA;YACzC,CAAC;YACD,OAAO,EAAE,CAAA;QACX,CAAC;QAED,WAAW,EAAE,CACX,MAAqB,EACrB,KAAmB,EACnB,OAAgB,EAChB,GAAwB,EACK,EAAE,CAC/B,IAAA,uCAAsB,EAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC;QAEjE,UAAU,EAAE,CACV,MAAgC,EAChC,IAAwB,EACE,EAAE,CAC5B,IAAA,0BAAU,EAAC,UAAU,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC;QAErE,aAAa,EAAE,CACb,MAAmC,EACnC,IAAwB,EACN,EAAE,CACpB,IAAA,sCAAgB,EAAC,UAAU,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC;QAK3E,cAAc,EAAE,KAAK,IAA0B,EAAE,CAAC,CAAC;YACjD,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,4BAAgB;SAC9B,CAAC;QAEF,YAAY,EAAE,CACZ,MAAkC,EAClC,IAAwB,EACI,EAAE,CAC9B,IAAA,8BAAY,EACV,UAAU,CAAC,OAAO,EAAE,EACpB;YACE,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,EACD,IAAI,CACL;QAEH,iBAAiB,EAAE,CACjB,MAAuC,EACvC,IAAwB,EACa,EAAE,CACvC,IAAA,wCAAiB,EACf,UAAU,CAAC,OAAO,EAAE,EACpB,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAClD,IAAI,CACL;QAEH,SAAS,EAAE,CACT,MAA+B,EAC/B,IAAwB,EACC,EAAE,CAC3B,IAAA,wBAAS,EACP,UAAU,CAAC,OAAO,EAAE,EACpB;YACE,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,EACD,IAAI,CACL;QAEH,eAAe,EAAE,CACf,MAAqC,EACrC,IAAwB,EACF,EAAE,CACxB,IAAA,oCAAe,EACb,UAAU,CAAC,OAAO,EAAE,EACpB,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EACtD,IAAI,CACL;QAEH,QAAQ,EAAE,CACR,MAA8B,EAC9B,IAAwB,EACR,EAAE,CAClB,IAAA,sBAAQ,EACN,UAAU,CAAC,OAAO,EAAE,EACpB,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAC1C,IAAI,CACL;QAEH,QAAQ,EAAE,CACR,MAA8B,EAC9B,IAAwB,EACA,EAAE,CAC1B,IAAA,sBAAQ,EACN,UAAU,CAAC,OAAO,EAAE,EACpB;YACE,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,EACD,IAAI,CACL;QAEH,WAAW,EAAE,CACX,MAAiC,EACjC,IAAwB,EACK,EAAE,CAC/B,IAAA,4BAAW,EACT,UAAU,CAAC,OAAO,EAAE,EACpB;YACE,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,EACD,IAAI,CACL;QAEH,mBAAmB,EAAE,CACnB,MAAyC,EACzC,IAAwB,EACW,EAAE,CACrC,IAAA,4CAAmB,EACjB,UAAU,CAAC,OAAO,EAAE,EACpB,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAChD,IAAI,CACL;QAEH,QAAQ,EAAE,CACR,MAA8B,EAC9B,IAAwB,EACR,EAAE,CAClB,IAAA,wBAAY,EACV,UAAU,CAAC,OAAO,EAAE,CAAC,MAAM,EAC3B,2BAAY,EACZ,MAAM,EACN,4CAA6B,EAC7B,IAAI,CACL;QAEH,iBAAiB,EAAE,CACjB,OAAwB,EACxB,SAAqB,EACL,EAAE,CAAC,IAAA,qCAAiB,EAAC,OAAO,EAAE,SAAS,CAAC;QAE1D,gBAAgB,EAAE,CAAC,MAAc,EAAE,KAAa,EAAU,EAAE,CAC1D,IAAA,qCAAgB,EACd,KAAK,EACL,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,UAAU,KAAK,6BAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAC1D;QAEH,eAAe,EAAE,CAAC,MAAc,EAAE,IAAY,EAAU,EAAE,CACxD,IAAA,oCAAe,EAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC;QAE1C,wBAAwB,EAAE,CACxB,MAAmB,EACnB,MAAiC,EACb,EAAE,CACtB,IAAA,0CAAyB,EACvB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,WAAW,CACnB;QAEH,yBAAyB,EAAzB,6CAAyB;QAEzB,aAAa,EAAE,CACb,MAAqB,EACrB,KAAuB,EACvB,OAAyB,EACD,EAAE;YAC1B,IAAI,MAAM,CAAC,QAAQ,KAAK,2BAAY,EAAE,CAAC;gBACrC,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,iEAAiE;oBAC/D,IAAI,MAAM,CAAC,QAAQ,IAAI,CAC1B,CAAA;YACH,CAAC;YACD,OAAO,IAAA,mDAAgC,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QACjE,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,6 @@ export type { GetPortfolioHistoryParams } from './services/getPortfolioHistory.j
18
18
  export { getPortfolioHistory } from './services/getPortfolioHistory.js';
19
19
  export type { GetPositionsParams } from './services/getPositions.js';
20
20
  export { getPositions } from './services/getPositions.js';
21
- export type { GetRunningTwapsParams } from './services/getRunningTwaps.js';
22
- export { getRunningTwaps } from './services/getRunningTwaps.js';
23
21
  export type { HyperliquidAgent } from './signers/HyperliquidAgentStore.js';
24
22
  export { HyperliquidAgentStore } from './signers/HyperliquidAgentStore.js';
25
23
  export * from './types/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,YAAY,IAAI,wBAAwB,GACzC,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,sCAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,YAAY,IAAI,wBAAwB,GACzC,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,sCAAsC,CAAA"}
package/dist/cjs/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.hyperliquidWsProvider = exports.HyperliquidWsProvider = exports.HyperliquidAgentStore = exports.getRunningTwaps = exports.getPositions = exports.getPortfolioHistory = exports.getOrders = exports.getOrder = exports.getFills = exports.getActivity = exports.getAccountExists = exports.getAccount = exports.hyperliquidProvider = exports.HYPERLIQUID_PROVIDER_KEY = exports.HYPERLIQUID_FEE_TIER_FALLBACK = exports.DEFAULT_HYPERLIQUID_API_URL = exports.getAccountSummary = exports.projectHyperliquidConfigSettings = void 0;
17
+ exports.hyperliquidWsProvider = exports.HyperliquidWsProvider = exports.HyperliquidAgentStore = exports.getPositions = exports.getPortfolioHistory = exports.getOrders = exports.getOrder = exports.getFills = exports.getActivity = exports.getAccountExists = exports.getAccount = exports.hyperliquidProvider = exports.HYPERLIQUID_PROVIDER_KEY = exports.HYPERLIQUID_FEE_TIER_FALLBACK = exports.DEFAULT_HYPERLIQUID_API_URL = exports.getAccountSummary = exports.projectHyperliquidConfigSettings = void 0;
18
18
  var accountConfig_js_1 = require("./accountConfig.js");
19
19
  Object.defineProperty(exports, "projectHyperliquidConfigSettings", { enumerable: true, get: function () { return accountConfig_js_1.projectHyperliquidConfigSettings; } });
20
20
  var accountSummary_js_1 = require("./accountSummary.js");
@@ -41,8 +41,6 @@ var getPortfolioHistory_js_1 = require("./services/getPortfolioHistory.js");
41
41
  Object.defineProperty(exports, "getPortfolioHistory", { enumerable: true, get: function () { return getPortfolioHistory_js_1.getPortfolioHistory; } });
42
42
  var getPositions_js_1 = require("./services/getPositions.js");
43
43
  Object.defineProperty(exports, "getPositions", { enumerable: true, get: function () { return getPositions_js_1.getPositions; } });
44
- var getRunningTwaps_js_1 = require("./services/getRunningTwaps.js");
45
- Object.defineProperty(exports, "getRunningTwaps", { enumerable: true, get: function () { return getRunningTwaps_js_1.getRunningTwaps; } });
46
44
  var HyperliquidAgentStore_js_1 = require("./signers/HyperliquidAgentStore.js");
47
45
  Object.defineProperty(exports, "HyperliquidAgentStore", { enumerable: true, get: function () { return HyperliquidAgentStore_js_1.HyperliquidAgentStore; } });
48
46
  __exportStar(require("./types/index.js"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAaA,uDAAqE;AAA5D,oIAAA,gCAAgC,OAAA;AACzC,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,+CAIuB;AAHrB,2HAAA,2BAA2B,OAAA;AAC3B,6HAAA,6BAA6B,OAAA;AAC7B,wHAAA,YAAY,OAA4B;AAE1C,mEAIiC;AAD/B,6HAAA,mBAAmB,OAAA;AAGrB,0DAAqD;AAA5C,2GAAA,UAAU,OAAA;AAEnB,sEAAiE;AAAxD,uHAAA,gBAAgB,OAAA;AAEzB,4DAAuD;AAA9C,6GAAA,WAAW,OAAA;AAEpB,sDAAiD;AAAxC,uGAAA,QAAQ,OAAA;AAEjB,sDAAiD;AAAxC,uGAAA,QAAQ,OAAA;AAEjB,wDAAmD;AAA1C,yGAAA,SAAS,OAAA;AAElB,4EAAuE;AAA9D,6HAAA,mBAAmB,OAAA;AAE5B,8DAAyD;AAAhD,+GAAA,YAAY,OAAA;AAErB,oEAA+D;AAAtD,qHAAA,eAAe,OAAA;AAExB,+EAA0E;AAAjE,iIAAA,qBAAqB,OAAA;AAC9B,mDAAgC;AAChC,mDAAgC;AAChC,iFAG6C;AAF3C,iIAAA,qBAAqB,OAAA;AACrB,iIAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAaA,uDAAqE;AAA5D,oIAAA,gCAAgC,OAAA;AACzC,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,+CAIuB;AAHrB,2HAAA,2BAA2B,OAAA;AAC3B,6HAAA,6BAA6B,OAAA;AAC7B,wHAAA,YAAY,OAA4B;AAE1C,mEAIiC;AAD/B,6HAAA,mBAAmB,OAAA;AAGrB,0DAAqD;AAA5C,2GAAA,UAAU,OAAA;AAEnB,sEAAiE;AAAxD,uHAAA,gBAAgB,OAAA;AAEzB,4DAAuD;AAA9C,6GAAA,WAAW,OAAA;AAEpB,sDAAiD;AAAxC,uGAAA,QAAQ,OAAA;AAEjB,sDAAiD;AAAxC,uGAAA,QAAQ,OAAA;AAEjB,wDAAmD;AAA1C,yGAAA,SAAS,OAAA;AAElB,4EAAuE;AAA9D,6HAAA,mBAAmB,OAAA;AAE5B,8DAAyD;AAAhD,+GAAA,YAAY,OAAA;AAErB,+EAA0E;AAAjE,iIAAA,qBAAqB,OAAA;AAC9B,mDAAgC;AAChC,mDAAgC;AAChC,iFAG6C;AAF3C,iIAAA,qBAAqB,OAAA;AACrB,iIAAA,qBAAqB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getAccount.d.ts","sourceRoot":"","sources":["../../../src/services/getAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EAGvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,eAAe,EAKhB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAuBvD,MAAM,MAAM,gBAAgB,GAAG,wBAAwB,CAAA;AA6GvD,eAAO,MAAM,UAAU,GACrB,oBAAoB,kBAAkB,EACtC,QAAQ,gBAAgB,EACxB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,eAAe,CAgHzB,CAAA"}
1
+ {"version":3,"file":"getAccount.d.ts","sourceRoot":"","sources":["../../../src/services/getAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EAGvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,eAAe,EAKhB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAyBvD,MAAM,MAAM,gBAAgB,GAAG,wBAAwB,CAAA;AAgHvD,eAAO,MAAM,UAAU,GACrB,oBAAoB,kBAAkB,EACtC,QAAQ,gBAAgB,EACxB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,eAAe,CAgHzB,CAAA"}
@@ -1,46 +1,53 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.getAccount = void 0;
4
7
  const perps_sdk_1 = require("@lifi/perps-sdk");
8
+ const big_js_1 = __importDefault(require("big.js"));
5
9
  const constants_js_1 = require("../constants.js");
6
10
  const index_js_1 = require("../types/index.js");
11
+ const abstractionMode_js_1 = require("../utils/abstractionMode.js");
12
+ const decimal_js_1 = require("../utils/decimal.js");
7
13
  const index_js_2 = require("../utils/index.js");
8
14
  const infoClient_js_1 = require("../utils/infoClient.js");
9
15
  const mapPosition_js_1 = require("../utils/mapPosition.js");
10
- const getAccountValue = (state) => Number.parseFloat(state.marginSummary.accountValue);
11
- const getTotalMarginUsed = (state) => Number.parseFloat(state.marginSummary.totalMarginUsed);
16
+ const getAccountValue = (state) => (0, decimal_js_1.toWireBig)(state.marginSummary.accountValue, 'marginSummary.accountValue');
17
+ const getTotalMarginUsed = (state) => (0, decimal_js_1.toWireBig)(state.marginSummary.totalMarginUsed, 'marginSummary.totalMarginUsed');
12
18
  const getMarginUsed = (abstraction, positions, stateByDex) => {
13
19
  if (abstraction === index_js_1.HlAbstractionMode.UNIFIED_ACCOUNT ||
14
20
  abstraction === index_js_1.HlAbstractionMode.PORTFOLIO_MARGIN) {
15
- const total = positions.reduce((sum, p) => sum + Number.parseFloat(p.marginUsed), 0);
16
- return total.toString();
21
+ const total = positions.reduce((sum, position) => sum.plus((0, decimal_js_1.toWireBig)(position.marginUsed, 'positions.marginUsed')), new big_js_1.default(0));
22
+ return total.toFixed();
17
23
  }
18
24
  if (abstraction === index_js_1.HlAbstractionMode.DEX_ABSTRACTION) {
19
- let total = 0;
25
+ let total = new big_js_1.default(0);
20
26
  for (const [, state] of stateByDex) {
21
- total += getTotalMarginUsed(state);
27
+ total = total.plus(getTotalMarginUsed(state));
22
28
  }
23
- return total.toString();
29
+ return total.toFixed();
24
30
  }
25
31
  const mainState = stateByDex.get('');
26
32
  if (!mainState) {
27
33
  return '0';
28
34
  }
29
- return getTotalMarginUsed(mainState).toString();
35
+ return getTotalMarginUsed(mainState).toFixed();
30
36
  };
31
- const isUnifiedMode = (abstraction) => abstraction === index_js_1.HlAbstractionMode.UNIFIED_ACCOUNT ||
32
- abstraction === index_js_1.HlAbstractionMode.PORTFOLIO_MARGIN;
33
37
  const buildBalances = (abstraction, spotState, stateByDex, quoteAssetIds, priceById, quoteAssetByCategory) => {
34
38
  const { balances, collateralBalances } = (0, index_js_2.partitionSpotBalances)(spotState.balances.map((b) => (0, index_js_2.spotBalance)((0, index_js_2.spotAssetFromToken)(b), b.total, priceById)), quoteAssetIds, abstraction === index_js_1.HlAbstractionMode.PORTFOLIO_MARGIN);
35
- if (!isUnifiedMode(abstraction)) {
39
+ if (!(0, abstractionMode_js_1.isUnifiedAbstraction)(abstraction)) {
36
40
  for (const [dex, state] of stateByDex) {
37
41
  const categoryId = dex || constants_js_1.PROVIDER_KEY;
38
42
  const value = getAccountValue(state);
43
+ if (!value.gt(0)) {
44
+ continue;
45
+ }
39
46
  collateralBalances.push({
40
47
  categoryId,
41
48
  asset: quoteAssetByCategory.get(categoryId),
42
- units: value.toString(),
43
- valueUsd: value.toString(),
49
+ units: value.toFixed(),
50
+ valueUsd: value.toFixed(),
44
51
  });
45
52
  }
46
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getAccount.js","sourceRoot":"","sources":["../../../src/services/getAccount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getAccount.js","sourceRoot":"","sources":["../../../src/services/getAccount.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getOrder.d.ts","sourceRoot":"","sources":["../../../src/services/getOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAG9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAUvD,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAA;AAQnD,eAAO,MAAM,QAAQ,GACnB,oBAAoB,kBAAkB,EACtC,QAAQ,cAAc,EACtB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,KAAK,CA6Bf,CAAA"}
1
+ {"version":3,"file":"getOrder.d.ts","sourceRoot":"","sources":["../../../src/services/getOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAG9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAavD,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAA;AAQnD,eAAO,MAAM,QAAQ,GACnB,oBAAoB,kBAAkB,EACtC,QAAQ,cAAc,EACtB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,KAAK,CA4Cf,CAAA"}
@@ -7,14 +7,23 @@ const constants_js_1 = require("../constants.js");
7
7
  const index_js_1 = require("../utils/index.js");
8
8
  const infoClient_js_1 = require("../utils/infoClient.js");
9
9
  const getOrder = async ({ client, apiUrl }, params, options) => {
10
- const oid = Number.parseInt(params.id, 10);
11
- if (Number.isNaN(oid)) {
12
- const err = new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Invalid order ID: ${params.id}. Must be a numeric oid.`);
10
+ const isClientId = /^0x[0-9a-fA-F]{32}$/.test(params.id);
11
+ const oid = isClientId ? params.id : Number(params.id);
12
+ if (!isClientId &&
13
+ (!/^[0-9]+$/.test(params.id) || !Number.isSafeInteger(oid))) {
14
+ const err = new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Invalid order ID: ${params.id}. Expected a numeric oid or a 128-bit cloid.`);
13
15
  err.tool = constants_js_1.PROVIDER_KEY;
14
16
  throw err;
15
17
  }
16
18
  const status = await (0, infoClient_js_1.infoRequest)(apiUrl, { type: 'orderStatus', user: params.address, oid }, (0, infoClient_js_1.hlInfoOptions)(client, options));
17
19
  if (status.status !== 'order') {
20
+ const history = await (0, infoClient_js_1.infoRequest)(apiUrl, { type: 'twapHistory', user: params.address }, (0, infoClient_js_1.hlInfoOptions)(client, options));
21
+ const twap = history.find((entry) => String(entry.twapId) === params.id);
22
+ if (twap !== undefined) {
23
+ const registry = (0, perps_sdk_1.getMarketRegistry)(client, constants_js_1.PROVIDER_KEY);
24
+ await registry.sync();
25
+ return (0, index_js_1.mapOrder)(twap, registry.require(twap.state.coin));
26
+ }
18
27
  const err = new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.OrderNotFound, `Order not found: ${params.id}`);
19
28
  err.tool = constants_js_1.PROVIDER_KEY;
20
29
  throw err;
@@ -1 +1 @@
1
- {"version":3,"file":"getOrder.js","sourceRoot":"","sources":["../../../src/services/getOrder.ts"],"names":[],"mappings":";;;AAAA,+CAKwB;AAExB,mDAAkD;AAClD,kDAA8C;AAG9C,gDAA4C;AAC5C,0DAAmE;AAe5D,MAAM,QAAQ,GAAG,KAAK,EAC3B,EAAE,MAAM,EAAE,MAAM,EAAsB,EACtC,MAAsB,EACtB,OAA2B,EACX,EAAE;IAClB,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC1C,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,IAAI,sBAAU,CACxB,4BAAc,CAAC,eAAe,EAC9B,qBAAqB,MAAM,CAAC,EAAE,0BAA0B,CACzD,CAAA;QACD,GAAG,CAAC,IAAI,GAAG,2BAAY,CAAA;QACvB,MAAM,GAAG,CAAA;IACX,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAW,EAC9B,MAAM,EACN,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,EAClD,IAAA,6BAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAC/B,CAAA;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,sBAAU,CACxB,4BAAc,CAAC,aAAa,EAC5B,oBAAoB,MAAM,CAAC,EAAE,EAAE,CAChC,CAAA;QACD,GAAG,CAAC,IAAI,GAAG,2BAAY,CAAA;QACvB,MAAM,GAAG,CAAA;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,6BAAiB,EAAC,MAAM,EAAE,2BAAY,CAAC,CAAA;IACxD,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IACrB,OAAO,IAAA,mBAAQ,EAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAC1E,CAAC,CAAA;AAjCY,QAAA,QAAQ,YAiCpB"}
1
+ {"version":3,"file":"getOrder.js","sourceRoot":"","sources":["../../../src/services/getOrder.ts"],"names":[],"mappings":";;;AAAA,+CAKwB;AAExB,mDAAkD;AAClD,kDAA8C;AAM9C,gDAA4C;AAC5C,0DAAmE;AAe5D,MAAM,QAAQ,GAAG,KAAK,EAC3B,EAAE,MAAM,EAAE,MAAM,EAAsB,EACtC,MAAsB,EACtB,OAA2B,EACX,EAAE;IAClB,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACxD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACtD,IACE,CAAC,UAAU;QACX,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAC3D,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,sBAAU,CACxB,4BAAc,CAAC,eAAe,EAC9B,qBAAqB,MAAM,CAAC,EAAE,8CAA8C,CAC7E,CAAA;QACD,GAAG,CAAC,IAAI,GAAG,2BAAY,CAAA;QACvB,MAAM,GAAG,CAAA;IACX,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAW,EAC9B,MAAM,EACN,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,EAClD,IAAA,6BAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAC/B,CAAA;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAW,EAC/B,MAAM,EACN,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAC7C,IAAA,6BAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAC/B,CAAA;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,CAAA;QACxE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAA,6BAAiB,EAAC,MAAM,EAAE,2BAAY,CAAC,CAAA;YACxD,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YACrB,OAAO,IAAA,mBAAQ,EAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAC1D,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,sBAAU,CACxB,4BAAc,CAAC,aAAa,EAC5B,oBAAoB,MAAM,CAAC,EAAE,EAAE,CAChC,CAAA;QACD,GAAG,CAAC,IAAI,GAAG,2BAAY,CAAA;QACvB,MAAM,GAAG,CAAA;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,6BAAiB,EAAC,MAAM,EAAE,2BAAY,CAAC,CAAA;IACxD,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IACrB,OAAO,IAAA,mBAAQ,EAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAC1E,CAAC,CAAA;AAhDY,QAAA,QAAQ,YAgDpB"}
@@ -1,11 +1,6 @@
1
- import { type SDKRequestOptions } from '@lifi/perps-sdk';
1
+ import { type ProviderGetOrdersParams, type SDKRequestOptions } from '@lifi/perps-sdk';
2
2
  import type { OrdersResponse } from '@lifi/perps-types';
3
- import type { Address } from 'viem';
4
3
  import type { HyperliquidContext } from '../context.js';
5
- export interface GetOrdersParams {
6
- address: Address;
7
- marketId?: string;
8
- limit?: number;
9
- }
4
+ export type GetOrdersParams = ProviderGetOrdersParams;
10
5
  export declare const getOrders: ({ client, apiUrl }: HyperliquidContext, params: GetOrdersParams, options?: SDKRequestOptions) => Promise<OrdersResponse>;
11
6
  //# sourceMappingURL=getOrders.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getOrders.d.ts","sourceRoot":"","sources":["../../../src/services/getOrders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,KAAK,EAAa,cAAc,EAAgB,MAAM,mBAAmB,CAAA;AAChF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAkBvD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAA;IAEhB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAYD,eAAO,MAAM,SAAS,GACpB,oBAAoB,kBAAkB,EACtC,QAAQ,eAAe,EACvB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,cAAc,CAyDxB,CAAA"}
1
+ {"version":3,"file":"getOrders.d.ts","sourceRoot":"","sources":["../../../src/services/getOrders.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAS,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAUvD,MAAM,MAAM,eAAe,GAAG,uBAAuB,CAAA;AAGrD,eAAO,MAAM,SAAS,GACpB,oBAAoB,kBAAkB,EACtC,QAAQ,eAAe,EACvB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,cAAc,CA8ExB,CAAA"}
@@ -6,45 +6,57 @@ const constants_js_1 = require("../constants.js");
6
6
  const index_js_1 = require("../utils/index.js");
7
7
  const infoClient_js_1 = require("../utils/infoClient.js");
8
8
  const getOrders = async ({ client, apiUrl }, params, options) => {
9
+ const statuses = params.statuses ?? [...perps_sdk_1.ACTIVE_ORDER_STATUSES];
10
+ if (statuses.length === 0) {
11
+ return {
12
+ provider: constants_js_1.PROVIDER_KEY,
13
+ orders: [],
14
+ pagination: { limit: params.limit ?? 0, hasMore: false },
15
+ };
16
+ }
9
17
  const registry = (0, perps_sdk_1.getMarketRegistry)(client, constants_js_1.PROVIDER_KEY);
10
18
  const markets = await registry.sync();
11
19
  const infoOpts = (0, infoClient_js_1.hlInfoOptions)(client, options);
12
- const ordersResults = await Promise.all((0, index_js_1.perpsDexNames)(markets).map((name) => (0, infoClient_js_1.infoRequest)(apiUrl, {
13
- type: 'frontendOpenOrders',
14
- user: params.address,
15
- ...(name ? { dex: name } : {}),
16
- }, infoOpts)));
17
- const raw = ordersResults.flat();
18
- const childOids = new Set();
19
- for (const o of raw) {
20
- for (const child of o.children ?? []) {
21
- childOids.add(child.oid);
20
+ const active = statuses.some(perps_sdk_1.isActiveOrderStatus);
21
+ const terminal = statuses.some((status) => !(0, perps_sdk_1.isActiveOrderStatus)(status));
22
+ const [open, historical, twaps] = await Promise.all([
23
+ active
24
+ ? Promise.all((0, index_js_1.perpsDexNames)(markets).map((name) => (0, infoClient_js_1.infoRequest)(apiUrl, {
25
+ type: 'frontendOpenOrders',
26
+ user: params.address,
27
+ ...(name ? { dex: name } : {}),
28
+ }, infoOpts)))
29
+ : [],
30
+ terminal
31
+ ? (0, infoClient_js_1.infoRequest)(apiUrl, { type: 'historicalOrders', user: params.address }, infoOpts)
32
+ : [],
33
+ (0, infoClient_js_1.infoRequest)(apiUrl, { type: 'twapHistory', user: params.address }, infoOpts),
34
+ ]);
35
+ const rows = new Map();
36
+ for (const detail of historical) {
37
+ const order = (0, index_js_1.mapOrder)(detail, registry.require(detail.order.coin));
38
+ rows.set(order.orderId, order);
39
+ }
40
+ const raw = open.flat();
41
+ const childIds = new Set(raw.flatMap((order) => (order.children ?? []).map((child) => child.oid)));
42
+ for (const order of raw) {
43
+ if (!childIds.has(order.oid)) {
44
+ rows.set(String(order.oid), (0, index_js_1.mapOrder)(order, registry.require(order.coin)));
45
+ }
46
+ for (const child of order.children ?? []) {
47
+ rows.set(String(child.oid), (0, index_js_1.mapOrder)(child, registry.require(child.coin), String(order.oid)));
22
48
  }
23
49
  }
24
- const nonChild = raw.filter((o) => !childOids.has(o.oid));
25
- let openOrders = nonChild
26
- .filter((o) => !(0, index_js_1.isTriggerOrder)(o))
27
- .map((o) => (0, index_js_1.mapOpenOrder)(o, registry.require(o.coin)));
28
- let triggerOrders = [
29
- ...nonChild
30
- .filter((o) => (0, index_js_1.isTriggerOrder)(o))
31
- .map((o) => (0, index_js_1.mapTriggerOrder)(o, registry.require(o.coin))),
32
- ...raw
33
- .filter((o) => childOids.has(o.oid))
34
- .map((o) => (0, index_js_1.mapTriggerOrder)(o, registry.require(o.coin))),
35
- ];
36
- if (params.marketId !== undefined) {
37
- openOrders = openOrders.filter((o) => o.market.id === params.marketId);
38
- triggerOrders = triggerOrders.filter((o) => o.market.id === params.marketId);
50
+ for (const twap of twaps) {
51
+ const order = (0, index_js_1.mapOrder)(twap, registry.require(twap.state.coin));
52
+ rows.set(`twap:${order.orderId}`, order);
39
53
  }
54
+ const matching = [...rows.values()].filter((order) => statuses.includes(order.status) &&
55
+ (params.marketId === undefined || order.market.id === params.marketId));
40
56
  return {
41
57
  provider: constants_js_1.PROVIDER_KEY,
42
- openOrders,
43
- triggerOrders,
44
- pagination: {
45
- limit: params.limit ?? openOrders.length + triggerOrders.length,
46
- hasMore: false,
47
- },
58
+ orders: matching,
59
+ pagination: { limit: params.limit ?? matching.length, hasMore: false },
48
60
  };
49
61
  };
50
62
  exports.getOrders = getOrders;
@@ -1 +1 @@
1
- {"version":3,"file":"getOrders.js","sourceRoot":"","sources":["../../../src/services/getOrders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getOrders.js","sourceRoot":"","sources":["../../../src/services/getOrders.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPortfolioHistory.d.ts","sourceRoot":"","sources":["../../../src/services/getPortfolioHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC9B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAKvD,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,qBAAqB,CAAA;CAC7B;AAgBD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,kBAAkB,EACvB,MAAM,EAAE,yBAAyB,EACjC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,CA8BnC"}
1
+ {"version":3,"file":"getPortfolioHistory.d.ts","sourceRoot":"","sources":["../../../src/services/getPortfolioHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC9B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAWvD,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,qBAAqB,CAAA;CAC7B;AAwDD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,kBAAkB,EACvB,MAAM,EAAE,yBAAyB,EACjC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,CAmCnC"}
@@ -3,32 +3,57 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPortfolioHistory = getPortfolioHistory;
4
4
  const perps_sdk_1 = require("@lifi/perps-sdk");
5
5
  const perps_types_1 = require("@lifi/perps-types");
6
+ const abstractionMode_js_1 = require("../utils/abstractionMode.js");
6
7
  const infoClient_js_1 = require("../utils/infoClient.js");
7
- const PERIOD_BY_RANGE = {
8
+ const COMBINED_PERIOD_BY_RANGE = {
8
9
  '24h': 'day',
9
10
  '7d': 'week',
10
11
  '30d': 'month',
11
12
  all: 'allTime',
12
13
  };
14
+ const PERP_PERIOD_BY_RANGE = {
15
+ '24h': 'perpDay',
16
+ '7d': 'perpWeek',
17
+ '30d': 'perpMonth',
18
+ all: 'perpAllTime',
19
+ };
20
+ const joinWindow = (window, period) => {
21
+ const pnlByTimestamp = new Map(window.pnlHistory);
22
+ let matched = 0;
23
+ let cumulative = '0';
24
+ const points = window.accountValueHistory.map(([timestamp, accountValue]) => {
25
+ const sample = pnlByTimestamp.get(timestamp);
26
+ if (sample !== undefined) {
27
+ matched += 1;
28
+ cumulative = sample;
29
+ }
30
+ return { timestamp, accountValue, pnl: cumulative };
31
+ });
32
+ if (points.length > 0 && window.pnlHistory.length > 0 && matched === 0) {
33
+ throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ThirdPartyError, `Hyperliquid portfolio window '${period}' samples PnL on no ` +
34
+ 'account-value timestamp.');
35
+ }
36
+ return points;
37
+ };
13
38
  async function getPortfolioHistory(ctx, params, options) {
14
39
  const { client, apiUrl } = ctx;
15
- const period = PERIOD_BY_RANGE[params.range];
16
- const portfolio = await (0, infoClient_js_1.infoRequest)(apiUrl, { type: 'portfolio', user: params.address }, (0, infoClient_js_1.hlInfoOptions)(client, options));
40
+ const infoOpts = (0, infoClient_js_1.hlInfoOptions)(client, options);
41
+ const [portfolio, abstraction] = await Promise.all([
42
+ (0, infoClient_js_1.infoRequest)(apiUrl, { type: 'portfolio', user: params.address }, infoOpts),
43
+ (0, infoClient_js_1.infoRequest)(apiUrl, { type: 'userAbstraction', user: params.address }, infoOpts),
44
+ ]);
45
+ const period = (0, abstractionMode_js_1.isUnifiedAbstraction)(abstraction)
46
+ ? COMBINED_PERIOD_BY_RANGE[params.range]
47
+ : PERP_PERIOD_BY_RANGE[params.range];
17
48
  const window = portfolio.find(([key]) => key === period)?.[1];
18
49
  if (window === undefined) {
19
50
  throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ThirdPartyError, `Hyperliquid portfolio response has no '${period}' window.`);
20
51
  }
21
- const points = window.accountValueHistory.map(([timestamp, accountValue], i) => ({
22
- timestamp,
23
- accountValue,
24
- pnl: window.pnlHistory[i]?.[1] ?? '0',
25
- }));
26
- const last = window.pnlHistory.at(-1);
27
52
  return {
28
53
  range: params.range,
29
- points,
54
+ points: joinWindow(window, period),
30
55
  volume: window.vlm,
31
- totalPnl: last?.[1],
56
+ totalPnl: window.pnlHistory.at(-1)?.[1],
32
57
  };
33
58
  }
34
59
  //# sourceMappingURL=getPortfolioHistory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPortfolioHistory.js","sourceRoot":"","sources":["../../../src/services/getPortfolioHistory.ts"],"names":[],"mappings":";;AA+BA,kDAkCC;AAjED,+CAAoE;AACpE,mDAI0B;AAI1B,0DAAmE;AAQnE,MAAM,eAAe,GAAqD;IACxE,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,SAAS;CACf,CAAA;AASM,KAAK,UAAU,mBAAmB,CACvC,GAAuB,EACvB,MAAiC,EACjC,OAA2B;IAE3B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;IAC9B,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAW,EACjC,MAAM,EACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAC3C,IAAA,6BAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAC/B,CAAA;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,0CAA0C,MAAM,WAAW,CAC5D,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAC3C,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,SAAS;QACT,YAAY;QACZ,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG;KACtC,CAAC,CACH,CAAA;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACrC,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM;QACN,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;KACpB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"getPortfolioHistory.js","sourceRoot":"","sources":["../../../src/services/getPortfolioHistory.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export type HlFrontendOpenOrder = {
9
9
  reduceOnly: boolean;
10
10
  timestamp: number;
11
11
  isTrigger: boolean;
12
+ tpsl?: 'tp' | 'sl';
12
13
  isPositionTpsl: boolean;
13
14
  triggerCondition: string;
14
15
  triggerPx: string;
@@ -32,6 +33,10 @@ export type HlOrderDetail = {
32
33
  cloid: string | null;
33
34
  triggerCondition: string;
34
35
  triggerPx: string | null;
36
+ isTrigger?: boolean;
37
+ tpsl?: 'tp' | 'sl';
38
+ children?: HlFrontendOpenOrder[];
39
+ isPositionTpsl?: boolean;
35
40
  };
36
41
  status: string;
37
42
  statusTimestamp: number;
@@ -43,4 +48,23 @@ export type HlOrderStatusFound = {
43
48
  export type HlOrderStatusResponse = HlOrderStatusFound | {
44
49
  status: 'unknownOid';
45
50
  };
51
+ export type HlHistoricalOrders = HlOrderDetail[];
52
+ export interface HlTwapHistoryEntry {
53
+ state: {
54
+ coin: string;
55
+ executedNtl: string;
56
+ executedSz: string;
57
+ minutes: number;
58
+ side: string;
59
+ sz: string;
60
+ timestamp: number;
61
+ reduceOnly: boolean;
62
+ };
63
+ status: {
64
+ status: string;
65
+ description?: string;
66
+ };
67
+ time: number;
68
+ twapId?: number;
69
+ }
46
70
  //# sourceMappingURL=order.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../src/types/order.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,cAAc,EAAE,OAAO,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAChC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB,CAAA;AAGD,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,EAAE,CAAA;AAQxD,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,OAAO,EAAE,MAAM,CAAA;QACf,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,MAAM,CAAA;QACd,UAAU,EAAE,OAAO,CAAA;QACnB,SAAS,EAAE,MAAM,CAAA;QACjB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;QAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB,gBAAgB,EAAE,MAAM,CAAA;QACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KACzB,CAAA;IACD,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAGD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,aAAa,CAAA;CACrB,CAAA;AAOD,MAAM,MAAM,qBAAqB,GAC7B,kBAAkB,GAClB;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,CAAA"}
1
+ {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../src/types/order.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IAClB,cAAc,EAAE,OAAO,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAChC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB,CAAA;AAGD,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,EAAE,CAAA;AAQxD,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,OAAO,EAAE,MAAM,CAAA;QACf,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,MAAM,CAAA;QACd,UAAU,EAAE,OAAO,CAAA;QACnB,SAAS,EAAE,MAAM,CAAA;QACjB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;QAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB,gBAAgB,EAAE,MAAM,CAAA;QACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;QACxB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;QAClB,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAA;QAChC,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB,CAAA;IACD,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAGD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,aAAa,CAAA;CACrB,CAAA;AAOD,MAAM,MAAM,qBAAqB,GAC7B,kBAAkB,GAClB;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,CAAA;AAG5B,MAAM,MAAM,kBAAkB,GAAG,aAAa,EAAE,CAAA;AAGhD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,EAAE,OAAO,CAAA;KACpB,CAAA;IACD,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAChD,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB"}