@lifi/perps-sdk-provider-hyperliquid 0.2.0-alpha.0 → 1.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.
- package/README.md +14 -153
- package/dist/cjs/HyperliquidProvider.js +1 -1
- package/dist/cjs/HyperliquidProvider.js.map +1 -1
- package/dist/cjs/accountSummary.d.ts +1 -1
- package/dist/cjs/accountSummary.d.ts.map +1 -1
- package/dist/cjs/accountSummary.js +2 -2
- package/dist/cjs/accountSummary.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/signers/HyperliquidAgentStore.d.ts.map +1 -1
- package/dist/cjs/signers/HyperliquidAgentStore.js.map +1 -1
- package/dist/esm/HyperliquidProvider.js +2 -2
- package/dist/esm/HyperliquidProvider.js.map +1 -1
- package/dist/esm/accountSummary.d.ts +1 -1
- package/dist/esm/accountSummary.d.ts.map +1 -1
- package/dist/esm/accountSummary.js +1 -1
- package/dist/esm/accountSummary.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/signers/HyperliquidAgentStore.d.ts +6 -0
- package/dist/esm/signers/HyperliquidAgentStore.d.ts.map +1 -1
- package/dist/esm/signers/HyperliquidAgentStore.js +6 -0
- package/dist/esm/signers/HyperliquidAgentStore.js.map +1 -1
- package/dist/types/accountSummary.d.ts +1 -1
- package/dist/types/accountSummary.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/signers/HyperliquidAgentStore.d.ts +6 -0
- package/dist/types/signers/HyperliquidAgentStore.d.ts.map +1 -1
- package/package.json +3 -8
- package/src/HyperliquidProvider.ts +3 -3
- package/src/accountSummary.ts +1 -1
- package/src/index.ts +1 -1
- package/src/signers/HyperliquidAgentStore.ts +6 -0
package/README.md
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
[](/LICENSE)
|
|
4
|
+
[](https://www.npmjs.com/package/@lifi/perps-sdk-provider-hyperliquid)
|
|
5
|
+
[](https://www.npmjs.com/package/@lifi/perps-sdk-provider-hyperliquid)
|
|
6
|
+
[](https://twitter.com/lifiprotocol)
|
|
2
7
|
|
|
3
|
-
|
|
8
|
+
</div>
|
|
9
|
+
|
|
10
|
+
# `@lifi/perps-sdk-provider-hyperliquid`
|
|
4
11
|
|
|
5
|
-
|
|
12
|
+
Hyperliquid provider plugin for [`@lifi/perps-sdk`](https://www.npmjs.com/package/@lifi/perps-sdk) — a workspace package of the [`perps-sdk`](https://www.npmjs.com/package/@lifi/perps-sdk) monorepo. Register it on a `PerpsClient` to trade Hyperliquid perpetuals through the SDK's unified interface.
|
|
6
13
|
|
|
7
14
|
```bash
|
|
8
15
|
pnpm add @lifi/perps-sdk @lifi/perps-sdk-provider-hyperliquid
|
|
9
|
-
# or
|
|
10
|
-
npm install @lifi/perps-sdk @lifi/perps-sdk-provider-hyperliquid
|
|
11
16
|
```
|
|
12
17
|
|
|
13
|
-
## Registration
|
|
14
|
-
|
|
15
|
-
Pass `hyperliquidProvider()` to `createPerpsClient` (or `PerpsClient`):
|
|
16
|
-
|
|
17
18
|
```ts
|
|
18
19
|
import { createPerpsClient } from '@lifi/perps-sdk'
|
|
19
20
|
import { hyperliquidProvider } from '@lifi/perps-sdk-provider-hyperliquid'
|
|
@@ -25,150 +26,10 @@ const client = createPerpsClient({
|
|
|
25
26
|
})
|
|
26
27
|
```
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
Hyperliquid requires every trading action to be signed by a designated **agent wallet** — a fresh EVM keypair the user authorises once. The provider generates this keypair client-side, stores it locally via `HyperliquidAgentStore`, and presents only its address to the backend during setup. The user's own wallet signs a single `APPROVE_AGENT` EIP-712 message; from that point all orders sign with the agent key with no further wallet prompts.
|
|
29
|
+
See the [`@lifi/perps-sdk` README](https://www.npmjs.com/package/@lifi/perps-sdk) and the [full documentation](https://public-perps-docs.mintlify.app/) for setup, options, the exported surface, and the agent signing model.
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
## Setup flow
|
|
35
|
-
|
|
36
|
-
Call `checkSetup` before trading. It reports any unsatisfied setup steps and an `isReady` flag. For a fresh address the only required step is `APPROVE_AGENT`, which is signed by the user's wallet (`PerpsSigner.USER`). After that step is executed, all subsequent orders sign automatically with the agent key (`PerpsSigner.AGENT`) and require no wallet interaction.
|
|
37
|
-
|
|
38
|
-
```ts
|
|
39
|
-
import { PerpsClient } from '@lifi/perps-sdk'
|
|
40
|
-
import { hyperliquidProvider } from '@lifi/perps-sdk-provider-hyperliquid'
|
|
41
|
-
import type { Account, Chain, Transport, WalletClient } from 'viem'
|
|
42
|
-
|
|
43
|
-
const perps = new PerpsClient({
|
|
44
|
-
integrator: 'my-app',
|
|
45
|
-
apiKey: 'your-api-key',
|
|
46
|
-
providers: [hyperliquidProvider()],
|
|
47
|
-
})
|
|
48
|
-
|
|
49
|
-
// Provide the user's wallet for the one USER-signed step.
|
|
50
|
-
perps.setUserWallet(walletClient)
|
|
51
|
-
|
|
52
|
-
const setup = await perps.checkSetup({ provider: 'hyperliquid', address })
|
|
53
|
-
|
|
54
|
-
if (!setup.isReady) {
|
|
55
|
-
const signedActions = await Promise.all(
|
|
56
|
-
setup.setup.map((step) =>
|
|
57
|
-
perps.signProviderSetupAction('hyperliquid', address, step)
|
|
58
|
-
)
|
|
59
|
-
)
|
|
60
|
-
await perps.executeProviderSetup({
|
|
61
|
-
provider: 'hyperliquid',
|
|
62
|
-
address,
|
|
63
|
-
setup: setup.setup,
|
|
64
|
-
signedActions,
|
|
65
|
-
})
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// All orders now sign with the agent key automatically.
|
|
69
|
-
await perps.placeOrder({ provider: 'hyperliquid', address, ... })
|
|
70
|
-
|
|
71
|
-
declare const walletClient: WalletClient<Transport, Chain, Account>
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
See [`examples/agent-trading.ts`](../../examples/agent-trading.ts) for the full flow, including market resolution and order placement.
|
|
75
|
-
|
|
76
|
-
### Sequence diagram
|
|
77
|
-
|
|
78
|
-
```mermaid
|
|
79
|
-
sequenceDiagram
|
|
80
|
-
participant App
|
|
81
|
-
participant PC as PerpsClient
|
|
82
|
-
participant AS as HyperliquidAgentStore
|
|
83
|
-
participant W as User wallet
|
|
84
|
-
participant BE as LI.FI backend
|
|
85
|
-
Note over App,BE: one-time setup
|
|
86
|
-
App->>PC: checkSetup(address)
|
|
87
|
-
PC->>AS: getOrCreate(address)
|
|
88
|
-
AS-->>PC: agent keypair (storage)
|
|
89
|
-
PC->>BE: createAction(APPROVE_AGENT)
|
|
90
|
-
BE-->>PC: EIP-712 typed data
|
|
91
|
-
PC->>W: user signs once
|
|
92
|
-
PC->>BE: executeAction(signed)
|
|
93
|
-
Note over App,BE: steady state — every order
|
|
94
|
-
App->>PC: placeOrder(...)
|
|
95
|
-
PC->>PC: sign with agent key (no wallet popup)
|
|
96
|
-
PC->>BE: createAction → executeAction
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Storage
|
|
100
|
-
|
|
101
|
-
By default the agent keypair is persisted in browser `localStorage` under the key:
|
|
102
|
-
|
|
103
|
-
```
|
|
104
|
-
lifi-perps-agent:<userAddress (lowercased)>:hyperliquid
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
If storage is cleared or the app moves to a new browser or device, the keypair is gone and `checkSetup` will report setup as required again. Re-running the setup flow issues a new keypair and `APPROVE_AGENT` signature — no funds are at risk; the previous agent key simply loses its authorisation.
|
|
108
|
-
|
|
109
|
-
To use a different storage backend (SSR, encrypted storage, in-memory testing), pass a custom [`StorageAdapter`](../../examples/custom-storage.ts) to `hyperliquidProvider`:
|
|
110
|
-
|
|
111
|
-
```ts
|
|
112
|
-
hyperliquidProvider({
|
|
113
|
-
storage: {
|
|
114
|
-
get: async (key) => myStore.get(key) ?? null,
|
|
115
|
-
set: async (key, value) => { myStore.set(key, value) },
|
|
116
|
-
remove: async (key) => { myStore.delete(key) },
|
|
117
|
-
},
|
|
118
|
-
})
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
See [`examples/custom-storage.ts`](../../examples/custom-storage.ts) for a complete example.
|
|
122
|
-
|
|
123
|
-
## Signing
|
|
124
|
-
|
|
125
|
-
| Action class | Signed by | Examples |
|
|
126
|
-
|---|---|---|
|
|
127
|
-
| Trading actions (orders, cancels, leverage) | `PerpsSigner.AGENT` — agent key, no wallet prompt | `placeOrder`, `cancelOrders`, `updateLeverage` |
|
|
128
|
-
| Setup / account actions | `PerpsSigner.USER` — user wallet | `APPROVE_AGENT`, withdrawals |
|
|
129
|
-
|
|
130
|
-
The provider handles signer dispatch internally. Applications do not call signing functions directly.
|
|
131
|
-
|
|
132
|
-
## Agent expiry
|
|
133
|
-
|
|
134
|
-
Hyperliquid agents carry an optional TTL (`agentTtlMs` on `ApproveAgentParams`). When an agent expires, the provider's signing will fail and `checkSetup` will report setup as required for that address again. Completing the setup flow issues and approves a new agent keypair. No funds are affected; only trading authorisation lapses.
|
|
135
|
-
|
|
136
|
-
## Exported surface
|
|
137
|
-
|
|
138
|
-
```ts
|
|
139
|
-
import {
|
|
140
|
-
// Factory and provider types
|
|
141
|
-
hyperliquidProvider, // (): HyperliquidPerpsProvider
|
|
142
|
-
type HyperliquidPerpsProvider, // extends PerpsProviderPlugin; agent lifecycle methods
|
|
143
|
-
type HyperliquidProviderOptions,
|
|
144
|
-
|
|
145
|
-
// Agent store (direct use is optional — the provider manages it automatically)
|
|
146
|
-
HyperliquidAgentStore,
|
|
147
|
-
type HyperliquidAgent, // { address: Address; privateKey: Hex }
|
|
148
|
-
|
|
149
|
-
// WebSocket provider
|
|
150
|
-
HyperliquidWsProvider,
|
|
151
|
-
hyperliquidWsProvider,
|
|
152
|
-
|
|
153
|
-
// Service functions (low-level, provider-agnostic callers)
|
|
154
|
-
getAccount,
|
|
155
|
-
getPositions,
|
|
156
|
-
getOrders,
|
|
157
|
-
getOrder,
|
|
158
|
-
getFills,
|
|
159
|
-
getActivity,
|
|
160
|
-
|
|
161
|
-
// Account utilities
|
|
162
|
-
projectHyperliquidConfigSettings,
|
|
163
|
-
summarizeHyperliquidAccount,
|
|
164
|
-
|
|
165
|
-
// Constants
|
|
166
|
-
DEFAULT_HYPERLIQUID_API_URL,
|
|
167
|
-
HYPERLIQUID_FEE_TIER_FALLBACK,
|
|
168
|
-
HYPERLIQUID_PROVIDER_KEY,
|
|
169
|
-
} from '@lifi/perps-sdk-provider-hyperliquid'
|
|
170
|
-
```
|
|
31
|
+
## Security: agent key storage
|
|
171
32
|
|
|
172
|
-
`
|
|
33
|
+
The agent keypair is persisted via a `StorageAdapter`, which defaults to browser `localStorage`. The agent private key is therefore readable by any same-origin script — an XSS vulnerability in the host page can exfiltrate it. To harden this, pass a more secure `StorageAdapter` (e.g. one backed by an encrypted or in-memory store) to the `HyperliquidAgentStore` constructor.
|
|
173
34
|
|
|
174
|
-
|
|
35
|
+
The blast radius is bounded: the agent key authorizes trading only. Fund withdrawal still requires L1 `APPROVE_AGENT` consent, which the agent key alone cannot grant.
|
|
@@ -119,7 +119,7 @@ function hyperliquidProvider(options = {}) {
|
|
|
119
119
|
type: params.type,
|
|
120
120
|
}, opts),
|
|
121
121
|
getQuote: (params, opts) => (0, perps_sdk_1.resolveQuote)(contextRef.require().client, constants_js_1.PROVIDER_KEY, params, constants_js_1.HYPERLIQUID_FEE_TIER_FALLBACK, opts),
|
|
122
|
-
|
|
122
|
+
getAccountSummary: (account, positions) => (0, accountSummary_js_1.getAccountSummary)(account, positions),
|
|
123
123
|
formatOrderPrice: (market, price) => (0, orderFormatting_js_1.formatOrderPrice)(price, market.szDecimals, market.categoryId === constants_js_1.SPOT_MARKET_ID ? 'spot' : undefined),
|
|
124
124
|
formatOrderSize: (market, size) => (0, orderFormatting_js_1.formatOrderSize)(size, market.szDecimals),
|
|
125
125
|
estimateLiquidationPrice: (market, params) => (0, liquidation_js_1.calculateLiquidationPrice)(params.entryPrice, params.leverage, params.isLong, market.maxLeverage),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":";;AAgIA,kDA4PC;AA5XD,+CAkBwB;AACxB,mDAqB0B;AAC1B,+BAAwD;AACxD,yDAAqE;AACrE,
|
|
1
|
+
{"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":";;AAgIA,kDA4PC;AA5XD,+CAkBwB;AACxB,mDAqB0B;AAC1B,+BAAwD;AACxD,yDAAqE;AACrE,2DAAuD;AACvD,iDAKuB;AACvB,6CAAoD;AACpD,4DAAqD;AACrD,8DAAuD;AACvD,wDAAiD;AACjD,wDAAiD;AACjD,0DAAmD;AACnD,gEAAyD;AACzD,iFAG2C;AAC3C,6DAAiE;AAEjE,yDAAkE;AAClE,2DAAkE;AAClE,mEAA8E;AA+D9E,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,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,KAAK,CAAC,EAAE,CAAC;gBACxC,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,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,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,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,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,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,3 +1,3 @@
|
|
|
1
1
|
import type { AccountResponse, AccountSummary, Position } from '@lifi/perps-types';
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function getAccountSummary(account: AccountResponse, positions: Position[]): AccountSummary;
|
|
3
3
|
//# sourceMappingURL=accountSummary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAqB1B,wBAAgB,
|
|
1
|
+
{"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAqB1B,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,QAAQ,EAAE,GACpB,cAAc,CAEhB"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getAccountSummary = getAccountSummary;
|
|
4
4
|
const perps_sdk_1 = require("@lifi/perps-sdk");
|
|
5
5
|
const index_js_1 = require("./types/index.js");
|
|
6
6
|
const isUnifiedMode = (account) => account.config.provider === 'hyperliquid' &&
|
|
7
7
|
(account.config.abstractionMode === index_js_1.HlAbstractionMode.UNIFIED_ACCOUNT ||
|
|
8
8
|
account.config.abstractionMode === index_js_1.HlAbstractionMode.PORTFOLIO_MARGIN);
|
|
9
|
-
function
|
|
9
|
+
function getAccountSummary(account, positions) {
|
|
10
10
|
return (0, perps_sdk_1.summarizeAccount)(account, positions, isUnifiedMode(account));
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=accountSummary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountSummary.js","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":";;AA0BA,
|
|
1
|
+
{"version":3,"file":"accountSummary.js","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":";;AA0BA,8CAKC;AA/BD,+CAAkD;AAMlD,+CAAoD;AAQpD,MAAM,aAAa,GAAG,CAAC,OAAwB,EAAW,EAAE,CAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,aAAa;IACzC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,KAAK,4BAAiB,CAAC,eAAe;QACnE,OAAO,CAAC,MAAM,CAAC,eAAe,KAAK,4BAAiB,CAAC,gBAAgB,CAAC,CAAA;AAS1E,SAAgB,iBAAiB,CAC/B,OAAwB,EACxB,SAAqB;IAErB,OAAO,IAAA,4BAAgB,EAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;AACrE,CAAC"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { projectHyperliquidConfigSettings } from './accountConfig.js';
|
|
2
|
-
export {
|
|
2
|
+
export { getAccountSummary } from './accountSummary.js';
|
|
3
3
|
export { DEFAULT_HYPERLIQUID_API_URL, HYPERLIQUID_FEE_TIER_FALLBACK, PROVIDER_KEY as HYPERLIQUID_PROVIDER_KEY, } from './constants.js';
|
|
4
4
|
export { type HyperliquidPerpsProvider, type HyperliquidProviderOptions, hyperliquidProvider, } from './HyperliquidProvider.js';
|
|
5
5
|
export type { GetAccountParams } from './services/getAccount.js';
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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,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,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,11 +14,11 @@ 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.getPositions = exports.getOrders = exports.getOrder = exports.getFills = exports.getActivity = exports.getAccount = exports.hyperliquidProvider = exports.HYPERLIQUID_PROVIDER_KEY = exports.HYPERLIQUID_FEE_TIER_FALLBACK = exports.DEFAULT_HYPERLIQUID_API_URL = exports.
|
|
17
|
+
exports.hyperliquidWsProvider = exports.HyperliquidWsProvider = exports.HyperliquidAgentStore = exports.getPositions = exports.getOrders = exports.getOrder = exports.getFills = exports.getActivity = 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");
|
|
21
|
-
Object.defineProperty(exports, "
|
|
21
|
+
Object.defineProperty(exports, "getAccountSummary", { enumerable: true, get: function () { return accountSummary_js_1.getAccountSummary; } });
|
|
22
22
|
var constants_js_1 = require("./constants.js");
|
|
23
23
|
Object.defineProperty(exports, "DEFAULT_HYPERLIQUID_API_URL", { enumerable: true, get: function () { return constants_js_1.DEFAULT_HYPERLIQUID_API_URL; } });
|
|
24
24
|
Object.defineProperty(exports, "HYPERLIQUID_FEE_TIER_FALLBACK", { enumerable: true, get: function () { return constants_js_1.HYPERLIQUID_FEE_TIER_FALLBACK; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAaA,uDAAqE;AAA5D,oIAAA,gCAAgC,OAAA;AACzC,
|
|
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,4DAAuD;AAA9C,6GAAA,WAAW,OAAA;AAEpB,sDAAiD;AAAxC,uGAAA,QAAQ,OAAA;AAEjB,sDAAiD;AAAxC,uGAAA,QAAQ,OAAA;AAEjB,wDAAmD;AAA1C,yGAAA,SAAS,OAAA;AAElB,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":"HyperliquidAgentStore.d.ts","sourceRoot":"","sources":["../../../src/signers/HyperliquidAgentStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAoB,MAAM,MAAM,CAAA;AAW/D,MAAM,WAAW,gBAAgB;IAE/B,OAAO,EAAE,OAAO,CAAA;IAEhB,UAAU,EAAE,GAAG,CAAA;CAChB;
|
|
1
|
+
{"version":3,"file":"HyperliquidAgentStore.d.ts","sourceRoot":"","sources":["../../../src/signers/HyperliquidAgentStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAoB,MAAM,MAAM,CAAA;AAW/D,MAAM,WAAW,gBAAgB;IAE/B,OAAO,EAAE,OAAO,CAAA;IAEhB,UAAU,EAAE,GAAG,CAAA;CAChB;AAqCD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,KAAK,CAA2C;gBAE5C,OAAO,CAAC,EAAE,cAAc;IAIpC,OAAO,CAAC,UAAU;IAYZ,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+BhD,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2BxD,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAavC,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgB1E,UAAU,IAAI,IAAI;CAGnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidAgentStore.js","sourceRoot":"","sources":["../../../src/signers/HyperliquidAgentStore.ts"],"names":[],"mappings":";;;AAAA,+CAMwB;AACxB,mDAAkD;AAClD,+BAA+D;AAC/D,4CAAuE;AACvE,kDAA8C;AAE9C,MAAM,cAAc,GAAG,kBAAkB,CAAA;AAczC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAgB,EAAE;IAC5D,IAAI,CAAC,IAAA,YAAK,EAAC,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,CAAC;QACH,IAAA,8BAAmB,EAAC,KAAK,CAAC,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAA6B,EAAE;IACvE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAgC,CAAA;IAChE,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,IAAA,gBAAS,EAAC,OAAO,CAAC;QAClB,oBAAoB,CAAC,UAAU,CAAC,CACjC,CAAA;AACH,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"HyperliquidAgentStore.js","sourceRoot":"","sources":["../../../src/signers/HyperliquidAgentStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { PerpsError, PerpsErrorMessage, resolveQuote, } from '@lifi/perps-sdk';
|
|
|
2
2
|
import { ActionType, PerpsErrorCode, PerpsSigner, } from '@lifi/perps-types';
|
|
3
3
|
import { isAddress } from 'viem';
|
|
4
4
|
import { projectHyperliquidConfigSettings } from './accountConfig.js';
|
|
5
|
-
import {
|
|
5
|
+
import { getAccountSummary } from './accountSummary.js';
|
|
6
6
|
import { DEFAULT_HYPERLIQUID_API_URL, HYPERLIQUID_FEE_TIER_FALLBACK, PROVIDER_KEY, SPOT_MARKET_ID, } from './constants.js';
|
|
7
7
|
import { HyperliquidContextRef } from './context.js';
|
|
8
8
|
import { getAccount } from './services/getAccount.js';
|
|
@@ -146,7 +146,7 @@ export function hyperliquidProvider(options = {}) {
|
|
|
146
146
|
type: params.type,
|
|
147
147
|
}, opts),
|
|
148
148
|
getQuote: (params, opts) => resolveQuote(contextRef.require().client, PROVIDER_KEY, params, HYPERLIQUID_FEE_TIER_FALLBACK, opts),
|
|
149
|
-
|
|
149
|
+
getAccountSummary: (account, positions) => getAccountSummary(account, positions),
|
|
150
150
|
formatOrderPrice: (market, price) => formatOrderPrice(price, market.szDecimals, market.categoryId === SPOT_MARKET_ID ? 'spot' : undefined),
|
|
151
151
|
formatOrderSize: (market, size) => formatOrderSize(size, market.szDecimals),
|
|
152
152
|
estimateLiquidationPrice: (market, params) => calculateLiquidationPrice(params.entryPrice, params.leverage, params.isLong, market.maxLeverage),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EACV,iBAAiB,EAUjB,YAAY,GAIb,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAML,UAAU,EAMV,cAAc,EAEd,WAAW,GAOZ,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAA0B,SAAS,EAAE,MAAM,MAAM,CAAA;AACxD,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,5 +6,5 @@ import type { AccountResponse, AccountSummary, Position } from '@lifi/perps-type
|
|
|
6
6
|
*
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
|
-
export declare function
|
|
9
|
+
export declare function getAccountSummary(account: AccountResponse, positions: Position[]): AccountSummary;
|
|
10
10
|
//# sourceMappingURL=accountSummary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAc1B;;;;;;GAMG;AACH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAc1B;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,QAAQ,EAAE,GACpB,cAAc,CAEhB"}
|
|
@@ -16,7 +16,7 @@ const isUnifiedMode = (account) => account.config.provider === 'hyperliquid' &&
|
|
|
16
16
|
*
|
|
17
17
|
* @public
|
|
18
18
|
*/
|
|
19
|
-
export function
|
|
19
|
+
export function getAccountSummary(account, positions) {
|
|
20
20
|
return summarizeAccount(account, positions, isUnifiedMode(account));
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=accountSummary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountSummary.js","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAMlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,OAAwB,EAAW,EAAE,CAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,aAAa;IACzC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,KAAK,iBAAiB,CAAC,eAAe;QACnE,OAAO,CAAC,MAAM,CAAC,eAAe,KAAK,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;AAE1E;;;;;;GAMG;AACH,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"accountSummary.js","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAMlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,OAAwB,EAAW,EAAE,CAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,aAAa;IACzC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,KAAK,iBAAiB,CAAC,eAAe;QACnE,OAAO,CAAC,MAAM,CAAC,eAAe,KAAK,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;AAE1E;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAwB,EACxB,SAAqB;IAErB,OAAO,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;AACrE,CAAC"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
10
|
export { projectHyperliquidConfigSettings } from './accountConfig.js';
|
|
11
|
-
export {
|
|
11
|
+
export { getAccountSummary } from './accountSummary.js';
|
|
12
12
|
export { DEFAULT_HYPERLIQUID_API_URL, HYPERLIQUID_FEE_TIER_FALLBACK, PROVIDER_KEY as HYPERLIQUID_PROVIDER_KEY, } from './constants.js';
|
|
13
13
|
export { type HyperliquidPerpsProvider, type HyperliquidProviderOptions, hyperliquidProvider, } from './HyperliquidProvider.js';
|
|
14
14
|
export type { GetAccountParams } from './services/getAccount.js';
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AAEH,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AAEH,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,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,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/esm/index.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
12
|
export { projectHyperliquidConfigSettings } from './accountConfig.js';
|
|
13
|
-
export {
|
|
13
|
+
export { getAccountSummary } from './accountSummary.js';
|
|
14
14
|
export { DEFAULT_HYPERLIQUID_API_URL, HYPERLIQUID_FEE_TIER_FALLBACK, PROVIDER_KEY as HYPERLIQUID_PROVIDER_KEY, } from './constants.js';
|
|
15
15
|
export { hyperliquidProvider, } from './HyperliquidProvider.js';
|
|
16
16
|
export { getAccount } from './services/getAccount.js';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+EAA+E;AAE/E;;;;;;;;GAQG;AAEH,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+EAA+E;AAE/E;;;;;;;;GAQG;AAEH,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,EAGL,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,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"}
|
|
@@ -15,6 +15,12 @@ export interface HyperliquidAgent {
|
|
|
15
15
|
* Owns the Hyperliquid agent keypair lifecycle: generate, persist, look up,
|
|
16
16
|
* and revoke. Keyed per user L1 address. Persisted via the injected
|
|
17
17
|
* {@link StorageAdapter} (browser `localStorage` by default).
|
|
18
|
+
*
|
|
19
|
+
* @security The default adapter is browser `localStorage`, so the stored agent
|
|
20
|
+
* private key is readable by any same-origin script (e.g. via XSS). Pass a more
|
|
21
|
+
* secure {@link StorageAdapter} to the constructor to harden this. Blast radius
|
|
22
|
+
* is limited to agent trading: fund withdrawal still requires L1 `APPROVE_AGENT`
|
|
23
|
+
* consent that the agent key alone cannot grant.
|
|
18
24
|
*/
|
|
19
25
|
export declare class HyperliquidAgentStore {
|
|
20
26
|
private storage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidAgentStore.d.ts","sourceRoot":"","sources":["../../../src/signers/HyperliquidAgentStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAoB,MAAM,MAAM,CAAA;AAM/D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,yBAAyB;IACzB,UAAU,EAAE,GAAG,CAAA;CAChB;AA0BD
|
|
1
|
+
{"version":3,"file":"HyperliquidAgentStore.d.ts","sourceRoot":"","sources":["../../../src/signers/HyperliquidAgentStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAoB,MAAM,MAAM,CAAA;AAM/D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,yBAAyB;IACzB,UAAU,EAAE,GAAG,CAAA;CAChB;AA0BD;;;;;;;;;;GAUG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,KAAK,CAA2C;gBAE5C,OAAO,CAAC,EAAE,cAAc;IAIpC,OAAO,CAAC,UAAU;IAIlB;;;;;;;OAOG;IACG,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0BtD;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0B9D,oDAAoD;IAC9C,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAS7C;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7C;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAe1E,mEAAmE;IACnE,UAAU,IAAI,IAAI;CAGnB"}
|
|
@@ -29,6 +29,12 @@ const isHyperliquidAgent = (value) => {
|
|
|
29
29
|
* Owns the Hyperliquid agent keypair lifecycle: generate, persist, look up,
|
|
30
30
|
* and revoke. Keyed per user L1 address. Persisted via the injected
|
|
31
31
|
* {@link StorageAdapter} (browser `localStorage` by default).
|
|
32
|
+
*
|
|
33
|
+
* @security The default adapter is browser `localStorage`, so the stored agent
|
|
34
|
+
* private key is readable by any same-origin script (e.g. via XSS). Pass a more
|
|
35
|
+
* secure {@link StorageAdapter} to the constructor to harden this. Blast radius
|
|
36
|
+
* is limited to agent trading: fund withdrawal still requires L1 `APPROVE_AGENT`
|
|
37
|
+
* consent that the agent key alone cannot grant.
|
|
32
38
|
*/
|
|
33
39
|
export class HyperliquidAgentStore {
|
|
34
40
|
storage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidAgentStore.js","sourceRoot":"","sources":["../../../src/signers/HyperliquidAgentStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,iBAAiB,GAElB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAA0B,SAAS,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,MAAM,cAAc,GAAG,kBAAkB,CAAA;AAczC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAgB,EAAE;IAC5D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,CAAC;QACH,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAA6B,EAAE;IACvE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAgC,CAAA;IAChE,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,SAAS,CAAC,OAAO,CAAC;QAClB,oBAAoB,CAAC,UAAU,CAAC,CACjC,CAAA;AACH,CAAC,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"HyperliquidAgentStore.js","sourceRoot":"","sources":["../../../src/signers/HyperliquidAgentStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,5 +6,5 @@ import type { AccountResponse, AccountSummary, Position } from '@lifi/perps-type
|
|
|
6
6
|
*
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
|
-
export declare function
|
|
9
|
+
export declare function getAccountSummary(account: AccountResponse, positions: Position[]): AccountSummary;
|
|
10
10
|
//# sourceMappingURL=accountSummary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAc1B;;;;;;GAMG;AACH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAc1B;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,QAAQ,EAAE,GACpB,cAAc,CAEhB"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
10
|
export { projectHyperliquidConfigSettings } from './accountConfig.js';
|
|
11
|
-
export {
|
|
11
|
+
export { getAccountSummary } from './accountSummary.js';
|
|
12
12
|
export { DEFAULT_HYPERLIQUID_API_URL, HYPERLIQUID_FEE_TIER_FALLBACK, PROVIDER_KEY as HYPERLIQUID_PROVIDER_KEY, } from './constants.js';
|
|
13
13
|
export { type HyperliquidPerpsProvider, type HyperliquidProviderOptions, hyperliquidProvider, } from './HyperliquidProvider.js';
|
|
14
14
|
export type { GetAccountParams } from './services/getAccount.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AAEH,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AAEH,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,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,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"}
|
|
@@ -15,6 +15,12 @@ export interface HyperliquidAgent {
|
|
|
15
15
|
* Owns the Hyperliquid agent keypair lifecycle: generate, persist, look up,
|
|
16
16
|
* and revoke. Keyed per user L1 address. Persisted via the injected
|
|
17
17
|
* {@link StorageAdapter} (browser `localStorage` by default).
|
|
18
|
+
*
|
|
19
|
+
* @security The default adapter is browser `localStorage`, so the stored agent
|
|
20
|
+
* private key is readable by any same-origin script (e.g. via XSS). Pass a more
|
|
21
|
+
* secure {@link StorageAdapter} to the constructor to harden this. Blast radius
|
|
22
|
+
* is limited to agent trading: fund withdrawal still requires L1 `APPROVE_AGENT`
|
|
23
|
+
* consent that the agent key alone cannot grant.
|
|
18
24
|
*/
|
|
19
25
|
export declare class HyperliquidAgentStore {
|
|
20
26
|
private storage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidAgentStore.d.ts","sourceRoot":"","sources":["../../../src/signers/HyperliquidAgentStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAoB,MAAM,MAAM,CAAA;AAM/D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,yBAAyB;IACzB,UAAU,EAAE,GAAG,CAAA;CAChB;AA0BD
|
|
1
|
+
{"version":3,"file":"HyperliquidAgentStore.d.ts","sourceRoot":"","sources":["../../../src/signers/HyperliquidAgentStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAoB,MAAM,MAAM,CAAA;AAM/D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,yBAAyB;IACzB,UAAU,EAAE,GAAG,CAAA;CAChB;AA0BD;;;;;;;;;;GAUG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,KAAK,CAA2C;gBAE5C,OAAO,CAAC,EAAE,cAAc;IAIpC,OAAO,CAAC,UAAU;IAIlB;;;;;;;OAOG;IACG,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0BtD;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0B9D,oDAAoD;IAC9C,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAS7C;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7C;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAe1E,mEAAmE;IACnE,UAAU,IAAI,IAAI;CAGnB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/perps-sdk-provider-hyperliquid",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Hyperliquid provider plugin for @lifi/perps-sdk",
|
|
5
5
|
"homepage": "https://github.com/lifinance/perps-sdk",
|
|
6
6
|
"bugs": {
|
|
@@ -24,11 +24,6 @@
|
|
|
24
24
|
"import": "./dist/esm/index.js",
|
|
25
25
|
"default": "./dist/cjs/index.js"
|
|
26
26
|
},
|
|
27
|
-
"./realtime": {
|
|
28
|
-
"types": "./dist/types/realtime/index.d.ts",
|
|
29
|
-
"import": "./dist/esm/realtime/index.js",
|
|
30
|
-
"default": "./dist/cjs/realtime/index.js"
|
|
31
|
-
},
|
|
32
27
|
"./utils": {
|
|
33
28
|
"types": "./dist/types/utils/index.d.ts",
|
|
34
29
|
"import": "./dist/esm/utils/index.js",
|
|
@@ -52,11 +47,11 @@
|
|
|
52
47
|
],
|
|
53
48
|
"dependencies": {
|
|
54
49
|
"big.js": "^7.0.1",
|
|
55
|
-
"@lifi/perps-types": "
|
|
50
|
+
"@lifi/perps-types": "1.0.0"
|
|
56
51
|
},
|
|
57
52
|
"peerDependencies": {
|
|
58
53
|
"viem": "^2.48.8",
|
|
59
|
-
"@lifi/perps-sdk": "
|
|
54
|
+
"@lifi/perps-sdk": "1.0.0"
|
|
60
55
|
},
|
|
61
56
|
"publishConfig": {
|
|
62
57
|
"access": "public"
|
|
@@ -41,7 +41,7 @@ import {
|
|
|
41
41
|
} from '@lifi/perps-types'
|
|
42
42
|
import { type Address, type Hex, isAddress } from 'viem'
|
|
43
43
|
import { projectHyperliquidConfigSettings } from './accountConfig.js'
|
|
44
|
-
import {
|
|
44
|
+
import { getAccountSummary } from './accountSummary.js'
|
|
45
45
|
import {
|
|
46
46
|
DEFAULT_HYPERLIQUID_API_URL,
|
|
47
47
|
HYPERLIQUID_FEE_TIER_FALLBACK,
|
|
@@ -337,10 +337,10 @@ export function hyperliquidProvider(
|
|
|
337
337
|
opts
|
|
338
338
|
),
|
|
339
339
|
|
|
340
|
-
|
|
340
|
+
getAccountSummary: (
|
|
341
341
|
account: AccountResponse,
|
|
342
342
|
positions: Position[]
|
|
343
|
-
): AccountSummary =>
|
|
343
|
+
): AccountSummary => getAccountSummary(account, positions),
|
|
344
344
|
|
|
345
345
|
formatOrderPrice: (market: Market, price: number): string =>
|
|
346
346
|
formatOrderPrice(
|
package/src/accountSummary.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
export { projectHyperliquidConfigSettings } from './accountConfig.js'
|
|
15
|
-
export {
|
|
15
|
+
export { getAccountSummary } from './accountSummary.js'
|
|
16
16
|
export {
|
|
17
17
|
DEFAULT_HYPERLIQUID_API_URL,
|
|
18
18
|
HYPERLIQUID_FEE_TIER_FALLBACK,
|
|
@@ -52,6 +52,12 @@ const isHyperliquidAgent = (value: unknown): value is HyperliquidAgent => {
|
|
|
52
52
|
* Owns the Hyperliquid agent keypair lifecycle: generate, persist, look up,
|
|
53
53
|
* and revoke. Keyed per user L1 address. Persisted via the injected
|
|
54
54
|
* {@link StorageAdapter} (browser `localStorage` by default).
|
|
55
|
+
*
|
|
56
|
+
* @security The default adapter is browser `localStorage`, so the stored agent
|
|
57
|
+
* private key is readable by any same-origin script (e.g. via XSS). Pass a more
|
|
58
|
+
* secure {@link StorageAdapter} to the constructor to harden this. Blast radius
|
|
59
|
+
* is limited to agent trading: fund withdrawal still requires L1 `APPROVE_AGENT`
|
|
60
|
+
* consent that the agent key alone cannot grant.
|
|
55
61
|
*/
|
|
56
62
|
export class HyperliquidAgentStore {
|
|
57
63
|
private storage: StorageAdapter
|