@lifi/perps-sdk-provider-hyperliquid 0.0.0-preview-697b8c5 → 0.0.0-preview-142c251
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 +6 -15
- package/dist/cjs/HyperliquidProvider.d.ts.map +1 -1
- package/dist/cjs/HyperliquidProvider.js +30 -2
- package/dist/cjs/HyperliquidProvider.js.map +1 -1
- package/dist/cjs/accountConfig.js +1 -1
- package/dist/cjs/accountConfig.js.map +1 -1
- package/dist/esm/HyperliquidProvider.d.ts.map +1 -1
- package/dist/esm/HyperliquidProvider.js +32 -4
- package/dist/esm/HyperliquidProvider.js.map +1 -1
- package/dist/esm/accountConfig.js +1 -1
- package/dist/esm/accountConfig.js.map +1 -1
- package/dist/types/HyperliquidProvider.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/HyperliquidProvider.ts +38 -4
- package/src/accountConfig.ts +1 -1
package/README.md
CHANGED
|
@@ -7,18 +7,14 @@
|
|
|
7
7
|
|
|
8
8
|
</div>
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
# `@lifi/perps-sdk-provider-hyperliquid`
|
|
11
11
|
|
|
12
|
-
Hyperliquid provider plugin for
|
|
13
|
-
|
|
14
|
-
## Installation
|
|
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.
|
|
15
13
|
|
|
16
14
|
```bash
|
|
17
15
|
pnpm add @lifi/perps-sdk @lifi/perps-sdk-provider-hyperliquid
|
|
18
16
|
```
|
|
19
17
|
|
|
20
|
-
## Quick start
|
|
21
|
-
|
|
22
18
|
```ts
|
|
23
19
|
import { createPerpsClient } from '@lifi/perps-sdk'
|
|
24
20
|
import { hyperliquidProvider } from '@lifi/perps-sdk-provider-hyperliquid'
|
|
@@ -30,15 +26,10 @@ const client = createPerpsClient({
|
|
|
30
26
|
})
|
|
31
27
|
```
|
|
32
28
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
Setup registers an agent keypair whose private key signs orders locally, so trading needs no per-order wallet popups. The agent key authorizes trading only — it cannot withdraw funds.
|
|
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.
|
|
36
30
|
|
|
37
|
-
|
|
31
|
+
## Security: agent key storage
|
|
38
32
|
|
|
39
|
-
|
|
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.
|
|
40
34
|
|
|
41
|
-
|
|
42
|
-
- [Full documentation](https://public-perps-docs.mintlify.app/) — the exported surface and the agent signing model
|
|
43
|
-
- [API reference](https://public-perps-docs.mintlify.app/api-reference)
|
|
44
|
-
- [Source and issues](https://github.com/lifinance/perps-sdk)
|
|
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":"HyperliquidProvider.d.ts","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"HyperliquidProvider.d.ts","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,mBAAmB,EAcxB,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AAwBxB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,MAAM,CAAA;AAiBxD,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,oCAAoC,CAAA;AAY3C,MAAM,WAAW,0BAA0B;IAOzC,MAAM,CAAC,EAAE,MAAM,CAAA;IAMf,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAUD,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IAEnE,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEnD,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE5C,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5C,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,CAiS1B"}
|
|
@@ -75,7 +75,6 @@ function hyperliquidProvider(options = {}) {
|
|
|
75
75
|
};
|
|
76
76
|
return {
|
|
77
77
|
type: constants_js_1.PROVIDER_KEY,
|
|
78
|
-
internalSetupActions: [perps_types_1.ActionType.SET_REFERRAL],
|
|
79
78
|
bind: (client) => contextRef.bind(client),
|
|
80
79
|
getAgentAddress: async (address) => (await agentStore.get(address)).address,
|
|
81
80
|
hasAgent: (address) => agentStore.has(address),
|
|
@@ -86,7 +85,7 @@ function hyperliquidProvider(options = {}) {
|
|
|
86
85
|
const agentAddress = await resolveApproveAgentAddress(address);
|
|
87
86
|
return { params: { agentAddress } };
|
|
88
87
|
}
|
|
89
|
-
if (signers.includes(perps_types_1.PerpsSigner.
|
|
88
|
+
if (signers.includes(perps_types_1.PerpsSigner.AGENT)) {
|
|
90
89
|
const agent = await agentStore.get(address);
|
|
91
90
|
return { signerAddress: agent.address };
|
|
92
91
|
}
|
|
@@ -100,6 +99,35 @@ function hyperliquidProvider(options = {}) {
|
|
|
100
99
|
marketId: params.marketId,
|
|
101
100
|
limit: params.limit,
|
|
102
101
|
}, opts),
|
|
102
|
+
async getDepositMethods({ address, sourceAsset, }) {
|
|
103
|
+
const exists = await this.accountExists({ address });
|
|
104
|
+
const isArbitrumUsdc = sourceAsset.chainId === 42161 &&
|
|
105
|
+
sourceAsset.address.toLowerCase() ===
|
|
106
|
+
'0xaf88d065e77c8cC2239327C5EDb3A432268e5831'.toLowerCase();
|
|
107
|
+
if (isArbitrumUsdc) {
|
|
108
|
+
return [
|
|
109
|
+
{
|
|
110
|
+
kind: perps_types_1.DepositMethodKind.PROVIDER_BRIDGE,
|
|
111
|
+
accountState: exists ? 'existing' : 'missing',
|
|
112
|
+
sourceAsset,
|
|
113
|
+
destinationAsset: sourceAsset,
|
|
114
|
+
},
|
|
115
|
+
];
|
|
116
|
+
}
|
|
117
|
+
return [
|
|
118
|
+
{
|
|
119
|
+
kind: perps_types_1.DepositMethodKind.LIFI_ROUTE,
|
|
120
|
+
accountState: exists ? 'existing' : 'missing',
|
|
121
|
+
sourceAsset,
|
|
122
|
+
destinationAsset: {
|
|
123
|
+
chainId: 42161,
|
|
124
|
+
address: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
|
|
125
|
+
symbol: 'USDC',
|
|
126
|
+
decimals: 6,
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
];
|
|
130
|
+
},
|
|
103
131
|
getOrders: (params, opts) => (0, getOrders_js_1.getOrders)(contextRef.require(), {
|
|
104
132
|
address: params.address,
|
|
105
133
|
marketId: params.marketId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,8 +33,8 @@ function projectHyperliquidDescriptor(descriptor, config) {
|
|
|
33
33
|
case perps_types_1.ActionType.REGISTER_API_KEY:
|
|
34
34
|
case perps_types_1.ActionType.APPROVE_READ_ONLY_TOKEN:
|
|
35
35
|
case perps_types_1.ActionType.SIWE_LOGIN:
|
|
36
|
-
case perps_types_1.ActionType.ACCEPT_PROVIDER_TERMS:
|
|
37
36
|
case perps_types_1.ActionType.DEPOSIT:
|
|
37
|
+
case perps_types_1.ActionType.CREATE_DEPOSIT_ADDRESS:
|
|
38
38
|
case perps_types_1.ActionType.META_VOTE:
|
|
39
39
|
case perps_types_1.ActionType.META_ACCEPT_TERMS:
|
|
40
40
|
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `Hyperliquid account-config mapper has no projection for ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountConfig.js","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":";;AAsFA,4EAQC;AA9FD,+CAA4C;AAM5C,mDAA8D;AAE9D,SAAS,WAAW,CAAC,KAAY;IAC/B,MAAM,IAAI,KAAK,CACb,sDAAsD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAC9E,CAAA;AACH,CAAC;AAmBD,SAAS,4BAA4B,CACnC,UAA0B,EAC1B,MAAgC;IAEhC,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,wBAAU,CAAC,aAAa,CAAC;QAC9B,KAAK,wBAAU,CAAC,mBAAmB,CAAC;QACpC,KAAK,wBAAU,CAAC,YAAY;YAC1B,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QAE9C,KAAK,wBAAU,CAAC,YAAY;YAC1B,OAAO;gBACL,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;aAC1D,CAAA;QAEH,KAAK,wBAAU,CAAC,kBAAkB,CAAC;QACnC,KAAK,wBAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,wBAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,wBAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,wBAAU,CAAC,QAAQ,CAAC;QACzB,KAAK,wBAAU,CAAC,WAAW,CAAC;QAC5B,KAAK,wBAAU,CAAC,mBAAmB,CAAC;QACpC,KAAK,wBAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,wBAAU,CAAC,iBAAiB,CAAC;QAClC,KAAK,wBAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,wBAAU,CAAC,eAAe,CAAC;QAChC,KAAK,wBAAU,CAAC,sBAAsB,CAAC;QACvC,KAAK,wBAAU,CAAC,uBAAuB,CAAC;QACxC,KAAK,wBAAU,CAAC,gBAAgB,CAAC;QACjC,KAAK,wBAAU,CAAC,uBAAuB,CAAC;QACxC,KAAK,wBAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,wBAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"accountConfig.js","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":";;AAsFA,4EAQC;AA9FD,+CAA4C;AAM5C,mDAA8D;AAE9D,SAAS,WAAW,CAAC,KAAY;IAC/B,MAAM,IAAI,KAAK,CACb,sDAAsD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAC9E,CAAA;AACH,CAAC;AAmBD,SAAS,4BAA4B,CACnC,UAA0B,EAC1B,MAAgC;IAEhC,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,wBAAU,CAAC,aAAa,CAAC;QAC9B,KAAK,wBAAU,CAAC,mBAAmB,CAAC;QACpC,KAAK,wBAAU,CAAC,YAAY;YAC1B,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QAE9C,KAAK,wBAAU,CAAC,YAAY;YAC1B,OAAO;gBACL,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;aAC1D,CAAA;QAEH,KAAK,wBAAU,CAAC,kBAAkB,CAAC;QACnC,KAAK,wBAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,wBAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,wBAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,wBAAU,CAAC,QAAQ,CAAC;QACzB,KAAK,wBAAU,CAAC,WAAW,CAAC;QAC5B,KAAK,wBAAU,CAAC,mBAAmB,CAAC;QACpC,KAAK,wBAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,wBAAU,CAAC,iBAAiB,CAAC;QAClC,KAAK,wBAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,wBAAU,CAAC,eAAe,CAAC;QAChC,KAAK,wBAAU,CAAC,sBAAsB,CAAC;QACvC,KAAK,wBAAU,CAAC,uBAAuB,CAAC;QACxC,KAAK,wBAAU,CAAC,gBAAgB,CAAC;QACjC,KAAK,wBAAU,CAAC,uBAAuB,CAAC;QACxC,KAAK,wBAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,wBAAU,CAAC,OAAO,CAAC;QACxB,KAAK,wBAAU,CAAC,sBAAsB,CAAC;QACvC,KAAK,wBAAU,CAAC,SAAS,CAAC;QAC1B,KAAK,wBAAU,CAAC,iBAAiB;YAC/B,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,0DAA0D;gBACxD,oBAAoB,UAAU,CAAC,IAAI,6BAA6B;gBAChE,6DAA6D,CAChE,CAAA;QAEH;YACE,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;AACH,CAAC;AASD,SAAgB,gCAAgC,CAC9C,MAAgC,EAChC,KAAuB,EACvB,OAAyB;IAEzB,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC/C,4BAA4B,CAAC,UAAU,EAAE,MAAM,CAAC,CACjD,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidProvider.d.ts","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"HyperliquidProvider.d.ts","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,mBAAmB,EAcxB,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AAwBxB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,MAAM,CAAA;AAiBxD,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,oCAAoC,CAAA;AAO3C;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,2EAA2E;IAC3E,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACnD,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5C,oEAAoE;IACpE,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,6DAA6D;IAC7D,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC1E;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,0BAA+B,GACvC,wBAAwB,CAiS1B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PerpsError, PerpsErrorMessage, resolveQuote, } from '@lifi/perps-sdk';
|
|
2
|
-
import { ActionType, PerpsErrorCode, PerpsSigner, } from '@lifi/perps-types';
|
|
2
|
+
import { ActionType, DepositMethodKind, PerpsErrorCode, PerpsSigner, } from '@lifi/perps-types';
|
|
3
3
|
import { isAddress } from 'viem';
|
|
4
4
|
import { projectHyperliquidConfigSettings } from './accountConfig.js';
|
|
5
5
|
import { getAccountSummary } from './accountSummary.js';
|
|
@@ -95,7 +95,6 @@ export function hyperliquidProvider(options = {}) {
|
|
|
95
95
|
};
|
|
96
96
|
return {
|
|
97
97
|
type: PROVIDER_KEY,
|
|
98
|
-
internalSetupActions: [ActionType.SET_REFERRAL],
|
|
99
98
|
bind: (client) => contextRef.bind(client),
|
|
100
99
|
getAgentAddress: async (address) => (await agentStore.get(address)).address,
|
|
101
100
|
hasAgent: (address) => agentStore.has(address),
|
|
@@ -110,10 +109,10 @@ export function hyperliquidProvider(options = {}) {
|
|
|
110
109
|
const agentAddress = await resolveApproveAgentAddress(address);
|
|
111
110
|
return { params: { agentAddress } };
|
|
112
111
|
}
|
|
113
|
-
//
|
|
112
|
+
// Agent-signed actions (trades, account-mode) carry the agent as the
|
|
114
113
|
// on-wire signerAddress. User-signed actions (builder-fee, withdrawal)
|
|
115
114
|
// contribute nothing — core submits under the user's own address.
|
|
116
|
-
if (signers.includes(PerpsSigner.
|
|
115
|
+
if (signers.includes(PerpsSigner.AGENT)) {
|
|
117
116
|
const agent = await agentStore.get(address);
|
|
118
117
|
return { signerAddress: agent.address };
|
|
119
118
|
}
|
|
@@ -127,6 +126,35 @@ export function hyperliquidProvider(options = {}) {
|
|
|
127
126
|
marketId: params.marketId,
|
|
128
127
|
limit: params.limit,
|
|
129
128
|
}, opts),
|
|
129
|
+
async getDepositMethods({ address, sourceAsset, }) {
|
|
130
|
+
const exists = await this.accountExists({ address });
|
|
131
|
+
const isArbitrumUsdc = sourceAsset.chainId === 42161 &&
|
|
132
|
+
sourceAsset.address.toLowerCase() ===
|
|
133
|
+
'0xaf88d065e77c8cC2239327C5EDb3A432268e5831'.toLowerCase();
|
|
134
|
+
if (isArbitrumUsdc) {
|
|
135
|
+
return [
|
|
136
|
+
{
|
|
137
|
+
kind: DepositMethodKind.PROVIDER_BRIDGE,
|
|
138
|
+
accountState: exists ? 'existing' : 'missing',
|
|
139
|
+
sourceAsset,
|
|
140
|
+
destinationAsset: sourceAsset,
|
|
141
|
+
},
|
|
142
|
+
];
|
|
143
|
+
}
|
|
144
|
+
return [
|
|
145
|
+
{
|
|
146
|
+
kind: DepositMethodKind.LIFI_ROUTE,
|
|
147
|
+
accountState: exists ? 'existing' : 'missing',
|
|
148
|
+
sourceAsset,
|
|
149
|
+
destinationAsset: {
|
|
150
|
+
chainId: 42161,
|
|
151
|
+
address: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
|
|
152
|
+
symbol: 'USDC',
|
|
153
|
+
decimals: 6,
|
|
154
|
+
},
|
|
155
|
+
},
|
|
156
|
+
];
|
|
157
|
+
},
|
|
130
158
|
getOrders: (params, opts) => getOrders(contextRef.require(), {
|
|
131
159
|
address: params.address,
|
|
132
160
|
marketId: params.marketId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,8 +47,8 @@ function projectHyperliquidDescriptor(descriptor, config) {
|
|
|
47
47
|
case ActionType.REGISTER_API_KEY:
|
|
48
48
|
case ActionType.APPROVE_READ_ONLY_TOKEN:
|
|
49
49
|
case ActionType.SIWE_LOGIN:
|
|
50
|
-
case ActionType.ACCEPT_PROVIDER_TERMS:
|
|
51
50
|
case ActionType.DEPOSIT:
|
|
51
|
+
case ActionType.CREATE_DEPOSIT_ADDRESS:
|
|
52
52
|
case ActionType.META_VOTE:
|
|
53
53
|
case ActionType.META_ACCEPT_TERMS:
|
|
54
54
|
throw new PerpsError(PerpsErrorCode.SDKError, `Hyperliquid account-config mapper has no projection for ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountConfig.js","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAM5C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAE9D,SAAS,WAAW,CAAC,KAAY;IAC/B,MAAM,IAAI,KAAK,CACb,sDAAsD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAC9E,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,4BAA4B,CACnC,UAA0B,EAC1B,MAAgC;IAEhC,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,UAAU,CAAC,aAAa,CAAC;QAC9B,KAAK,UAAU,CAAC,mBAAmB,CAAC;QACpC,KAAK,UAAU,CAAC,YAAY;YAC1B,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QAE9C,KAAK,UAAU,CAAC,YAAY;YAC1B,OAAO;gBACL,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;aAC1D,CAAA;QAEH,KAAK,UAAU,CAAC,kBAAkB,CAAC;QACnC,KAAK,UAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,UAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,UAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,UAAU,CAAC,QAAQ,CAAC;QACzB,KAAK,UAAU,CAAC,WAAW,CAAC;QAC5B,KAAK,UAAU,CAAC,mBAAmB,CAAC;QACpC,KAAK,UAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,UAAU,CAAC,iBAAiB,CAAC;QAClC,KAAK,UAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,UAAU,CAAC,eAAe,CAAC;QAChC,KAAK,UAAU,CAAC,sBAAsB,CAAC;QACvC,KAAK,UAAU,CAAC,uBAAuB,CAAC;QACxC,KAAK,UAAU,CAAC,gBAAgB,CAAC;QACjC,KAAK,UAAU,CAAC,uBAAuB,CAAC;QACxC,KAAK,UAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"accountConfig.js","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAM5C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAE9D,SAAS,WAAW,CAAC,KAAY;IAC/B,MAAM,IAAI,KAAK,CACb,sDAAsD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAC9E,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,4BAA4B,CACnC,UAA0B,EAC1B,MAAgC;IAEhC,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,UAAU,CAAC,aAAa,CAAC;QAC9B,KAAK,UAAU,CAAC,mBAAmB,CAAC;QACpC,KAAK,UAAU,CAAC,YAAY;YAC1B,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QAE9C,KAAK,UAAU,CAAC,YAAY;YAC1B,OAAO;gBACL,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;aAC1D,CAAA;QAEH,KAAK,UAAU,CAAC,kBAAkB,CAAC;QACnC,KAAK,UAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,UAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,UAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,UAAU,CAAC,QAAQ,CAAC;QACzB,KAAK,UAAU,CAAC,WAAW,CAAC;QAC5B,KAAK,UAAU,CAAC,mBAAmB,CAAC;QACpC,KAAK,UAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,UAAU,CAAC,iBAAiB,CAAC;QAClC,KAAK,UAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,UAAU,CAAC,eAAe,CAAC;QAChC,KAAK,UAAU,CAAC,sBAAsB,CAAC;QACvC,KAAK,UAAU,CAAC,uBAAuB,CAAC;QACxC,KAAK,UAAU,CAAC,gBAAgB,CAAC;QACjC,KAAK,UAAU,CAAC,uBAAuB,CAAC;QACxC,KAAK,UAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,UAAU,CAAC,OAAO,CAAC;QACxB,KAAK,UAAU,CAAC,sBAAsB,CAAC;QACvC,KAAK,UAAU,CAAC,SAAS,CAAC;QAC1B,KAAK,UAAU,CAAC,iBAAiB;YAC/B,MAAM,IAAI,UAAU,CAClB,cAAc,CAAC,QAAQ,EACvB,0DAA0D;gBACxD,oBAAoB,UAAU,CAAC,IAAI,6BAA6B;gBAChE,6DAA6D,CAChE,CAAA;QAEH;YACE,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gCAAgC,CAC9C,MAAgC,EAChC,KAAuB,EACvB,OAAyB;IAEzB,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC/C,4BAA4B,CAAC,UAAU,EAAE,MAAM,CAAC,CACjD,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidProvider.d.ts","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"HyperliquidProvider.d.ts","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,mBAAmB,EAcxB,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AAwBxB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,MAAM,CAAA;AAiBxD,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,oCAAoC,CAAA;AAO3C;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,2EAA2E;IAC3E,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACnD,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5C,oEAAoE;IACpE,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,6DAA6D;IAC7D,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC1E;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,0BAA+B,GACvC,wBAAwB,CAiS1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/perps-sdk-provider-hyperliquid",
|
|
3
|
-
"version": "0.0.0-preview-
|
|
3
|
+
"version": "0.0.0-preview-142c251",
|
|
4
4
|
"description": "Hyperliquid provider plugin for @lifi/perps-sdk",
|
|
5
5
|
"homepage": "https://github.com/lifinance/perps-sdk",
|
|
6
6
|
"bugs": {
|
|
@@ -48,10 +48,10 @@
|
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"big.js": "^7.0.1",
|
|
50
50
|
"viem": "^2.48.8",
|
|
51
|
-
"@lifi/perps-types": "^0.0.0-preview-
|
|
51
|
+
"@lifi/perps-types": "^0.0.0-preview-142c251"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
|
-
"@lifi/perps-sdk": "^0.0.0-preview-
|
|
54
|
+
"@lifi/perps-sdk": "^0.0.0-preview-142c251"
|
|
55
55
|
},
|
|
56
56
|
"publishConfig": {
|
|
57
57
|
"access": "public"
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
type ActionSignerContribution,
|
|
3
|
+
type DepositMethod,
|
|
3
4
|
type LiquidationEstimateParams,
|
|
4
5
|
PerpsError,
|
|
5
6
|
PerpsErrorMessage,
|
|
@@ -8,6 +9,7 @@ import {
|
|
|
8
9
|
type ProviderAccountExistsParams,
|
|
9
10
|
type ProviderGetAccountParams,
|
|
10
11
|
type ProviderGetActivityParams,
|
|
12
|
+
type ProviderGetDepositMethodsParams,
|
|
11
13
|
type ProviderGetFillsParams,
|
|
12
14
|
type ProviderGetOrderParams,
|
|
13
15
|
type ProviderGetOrdersParams,
|
|
@@ -26,6 +28,7 @@ import {
|
|
|
26
28
|
type ActionStep,
|
|
27
29
|
ActionType,
|
|
28
30
|
type ActivitiesResponse,
|
|
31
|
+
DepositMethodKind,
|
|
29
32
|
type FillsResponse,
|
|
30
33
|
type Market,
|
|
31
34
|
type Order,
|
|
@@ -204,8 +207,6 @@ export function hyperliquidProvider(
|
|
|
204
207
|
return {
|
|
205
208
|
type: PROVIDER_KEY,
|
|
206
209
|
|
|
207
|
-
internalSetupActions: [ActionType.SET_REFERRAL],
|
|
208
|
-
|
|
209
210
|
bind: (client: PerpsSDKClient): void => contextRef.bind(client),
|
|
210
211
|
|
|
211
212
|
getAgentAddress: async (address: Address): Promise<Address> =>
|
|
@@ -234,10 +235,10 @@ export function hyperliquidProvider(
|
|
|
234
235
|
const agentAddress = await resolveApproveAgentAddress(address)
|
|
235
236
|
return { params: { agentAddress } }
|
|
236
237
|
}
|
|
237
|
-
//
|
|
238
|
+
// Agent-signed actions (trades, account-mode) carry the agent as the
|
|
238
239
|
// on-wire signerAddress. User-signed actions (builder-fee, withdrawal)
|
|
239
240
|
// contribute nothing — core submits under the user's own address.
|
|
240
|
-
if (signers.includes(PerpsSigner.
|
|
241
|
+
if (signers.includes(PerpsSigner.AGENT)) {
|
|
241
242
|
const agent = await agentStore.get(address)
|
|
242
243
|
return { signerAddress: agent.address }
|
|
243
244
|
}
|
|
@@ -278,6 +279,39 @@ export function hyperliquidProvider(
|
|
|
278
279
|
opts
|
|
279
280
|
),
|
|
280
281
|
|
|
282
|
+
async getDepositMethods({
|
|
283
|
+
address,
|
|
284
|
+
sourceAsset,
|
|
285
|
+
}: ProviderGetDepositMethodsParams): Promise<DepositMethod[]> {
|
|
286
|
+
const exists = await this.accountExists({ address })
|
|
287
|
+
const isArbitrumUsdc =
|
|
288
|
+
sourceAsset.chainId === 42161 &&
|
|
289
|
+
sourceAsset.address.toLowerCase() ===
|
|
290
|
+
'0xaf88d065e77c8cC2239327C5EDb3A432268e5831'.toLowerCase()
|
|
291
|
+
if (isArbitrumUsdc) {
|
|
292
|
+
return [
|
|
293
|
+
{
|
|
294
|
+
kind: DepositMethodKind.PROVIDER_BRIDGE,
|
|
295
|
+
accountState: exists ? 'existing' : 'missing',
|
|
296
|
+
sourceAsset,
|
|
297
|
+
destinationAsset: sourceAsset,
|
|
298
|
+
},
|
|
299
|
+
]
|
|
300
|
+
}
|
|
301
|
+
return [
|
|
302
|
+
{
|
|
303
|
+
kind: DepositMethodKind.LIFI_ROUTE,
|
|
304
|
+
accountState: exists ? 'existing' : 'missing',
|
|
305
|
+
sourceAsset,
|
|
306
|
+
destinationAsset: {
|
|
307
|
+
chainId: 42161,
|
|
308
|
+
address: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
|
|
309
|
+
symbol: 'USDC',
|
|
310
|
+
decimals: 6,
|
|
311
|
+
},
|
|
312
|
+
},
|
|
313
|
+
]
|
|
314
|
+
},
|
|
281
315
|
getOrders: (
|
|
282
316
|
params: ProviderGetOrdersParams,
|
|
283
317
|
opts?: SDKRequestOptions
|
package/src/accountConfig.ts
CHANGED
|
@@ -61,8 +61,8 @@ function projectHyperliquidDescriptor(
|
|
|
61
61
|
case ActionType.REGISTER_API_KEY:
|
|
62
62
|
case ActionType.APPROVE_READ_ONLY_TOKEN:
|
|
63
63
|
case ActionType.SIWE_LOGIN:
|
|
64
|
-
case ActionType.ACCEPT_PROVIDER_TERMS:
|
|
65
64
|
case ActionType.DEPOSIT:
|
|
65
|
+
case ActionType.CREATE_DEPOSIT_ADDRESS:
|
|
66
66
|
case ActionType.META_VOTE:
|
|
67
67
|
case ActionType.META_ACCEPT_TERMS:
|
|
68
68
|
throw new PerpsError(
|