@lifi/perps-sdk-provider-hyperliquid 0.0.0-preview-7ce3218 → 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 CHANGED
@@ -27,3 +27,9 @@ const client = createPerpsClient({
27
27
  ```
28
28
 
29
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.
30
+
31
+ ## Security: agent key storage
32
+
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.
34
+
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.
@@ -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;AA+BD,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
+ {"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":"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"}
1
+ {"version":3,"file":"HyperliquidAgentStore.js","sourceRoot":"","sources":["../../../src/signers/HyperliquidAgentStore.ts"],"names":[],"mappings":"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"}
@@ -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;;;;GAIG;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"}
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":"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"}
1
+ {"version":3,"file":"HyperliquidAgentStore.js","sourceRoot":"","sources":["../../../src/signers/HyperliquidAgentStore.ts"],"names":[],"mappings":"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"}
@@ -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;;;;GAIG;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"}
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": "0.0.0-preview-7ce3218",
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": {
@@ -47,11 +47,11 @@
47
47
  ],
48
48
  "dependencies": {
49
49
  "big.js": "^7.0.1",
50
- "@lifi/perps-types": "0.0.0-preview-7ce3218"
50
+ "@lifi/perps-types": "1.0.0"
51
51
  },
52
52
  "peerDependencies": {
53
53
  "viem": "^2.48.8",
54
- "@lifi/perps-sdk": "0.0.0-preview-7ce3218"
54
+ "@lifi/perps-sdk": "1.0.0"
55
55
  },
56
56
  "publishConfig": {
57
57
  "access": "public"
@@ -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