@lifi/perps-sdk-provider-hyperliquid 0.0.0-preview-c69c4cc → 0.0.0-preview-232a40e
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/dist/cjs/HyperliquidProvider.d.ts.map +1 -1
- package/dist/cjs/HyperliquidProvider.js +4 -5
- package/dist/cjs/HyperliquidProvider.js.map +1 -1
- package/dist/cjs/accountConfig.d.ts +2 -2
- package/dist/cjs/accountConfig.d.ts.map +1 -1
- package/dist/cjs/accountConfig.js +20 -6
- package/dist/cjs/accountConfig.js.map +1 -1
- package/dist/cjs/signers/signActions.d.ts.map +1 -1
- package/dist/cjs/signers/signActions.js +1 -1
- package/dist/cjs/signers/signActions.js.map +1 -1
- package/dist/esm/HyperliquidProvider.d.ts.map +1 -1
- package/dist/esm/HyperliquidProvider.js +8 -8
- package/dist/esm/HyperliquidProvider.js.map +1 -1
- package/dist/esm/accountConfig.d.ts +5 -5
- package/dist/esm/accountConfig.d.ts.map +1 -1
- package/dist/esm/accountConfig.js +30 -12
- package/dist/esm/accountConfig.js.map +1 -1
- package/dist/esm/signers/signActions.d.ts.map +1 -1
- package/dist/esm/signers/signActions.js +1 -1
- package/dist/esm/signers/signActions.js.map +1 -1
- package/dist/types/HyperliquidProvider.d.ts.map +1 -1
- package/dist/types/accountConfig.d.ts +5 -5
- package/dist/types/accountConfig.d.ts.map +1 -1
- package/dist/types/signers/signActions.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/HyperliquidProvider.ts +9 -11
- package/src/accountConfig.ts +36 -15
- package/src/signers/signActions.ts +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidProvider.d.ts","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,mBAAmB,EAkBxB,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AA0BxB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,MAAM,CAAA;AAqBxD,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,
|
|
1
|
+
{"version":3,"file":"HyperliquidProvider.d.ts","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,mBAAmB,EAkBxB,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AA0BxB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,MAAM,CAAA;AAqBxD,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,CAwT1B"}
|
|
@@ -80,19 +80,18 @@ function hyperliquidProvider(options = {}) {
|
|
|
80
80
|
};
|
|
81
81
|
return {
|
|
82
82
|
type: constants_js_1.PROVIDER_KEY,
|
|
83
|
-
internalSetupActions: [perps_types_1.ActionType.SET_REFERRAL],
|
|
84
83
|
conditionalSetupActions: [perps_types_1.ActionType.REVOKE_AGENT],
|
|
85
84
|
bind: (client) => contextRef.bind(client),
|
|
86
85
|
getAgentAddress: async (address) => (await agentStore.get(address)).address,
|
|
87
86
|
hasAgent: (address) => agentStore.has(address),
|
|
88
87
|
removeAgent: (address) => agentStore.remove(address),
|
|
89
88
|
importAgent: (address, privateKey) => agentStore.import(address, privateKey),
|
|
90
|
-
resolveActionRequest: async (action, address,
|
|
89
|
+
resolveActionRequest: async (action, address, signer) => {
|
|
91
90
|
if (action === perps_types_1.ActionType.APPROVE_AGENT) {
|
|
92
91
|
const agentAddress = await resolveApproveAgentAddress(address);
|
|
93
92
|
return { params: { agentAddress } };
|
|
94
93
|
}
|
|
95
|
-
if (
|
|
94
|
+
if (signer === perps_types_1.PerpsSigner.SDK) {
|
|
96
95
|
const agent = await agentStore.get(address);
|
|
97
96
|
return { signerAddress: agent.address };
|
|
98
97
|
}
|
|
@@ -142,12 +141,12 @@ function hyperliquidProvider(options = {}) {
|
|
|
142
141
|
formatOrderSize: (market, size) => (0, orderFormatting_js_1.formatOrderSize)(size, market.szDecimals),
|
|
143
142
|
estimateLiquidationPrice: (market, params) => (0, liquidation_js_1.calculateLiquidationPrice)(params.entryPrice, params.leverage, params.isLong, market.maxLeverage),
|
|
144
143
|
positionRemovableMargin: transferMargin_js_1.positionRemovableMargin,
|
|
145
|
-
projectConfig: (config, setup
|
|
144
|
+
projectConfig: (config, setup) => {
|
|
146
145
|
if (config.provider !== constants_js_1.PROVIDER_KEY) {
|
|
147
146
|
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `hyperliquidProvider.projectConfig received config for provider ` +
|
|
148
147
|
`'${config.provider}'.`);
|
|
149
148
|
}
|
|
150
|
-
return (0, accountConfig_js_1.projectHyperliquidConfigSettings)(config, setup
|
|
149
|
+
return (0, accountConfig_js_1.projectHyperliquidConfigSettings)(config, setup);
|
|
151
150
|
},
|
|
152
151
|
};
|
|
153
152
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":";;AA2JA,
|
|
1
|
+
{"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { AccountConfigSetting, HyperliquidAccountConfig,
|
|
2
|
-
export declare function projectHyperliquidConfigSettings(config: HyperliquidAccountConfig, setup:
|
|
1
|
+
import type { AccountConfigSetting, HyperliquidAccountConfig, SetupAction } from '@lifi/perps-types';
|
|
2
|
+
export declare function projectHyperliquidConfigSettings(config: HyperliquidAccountConfig, setup: SetupAction[]): AccountConfigSetting[];
|
|
3
3
|
//# sourceMappingURL=accountConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACxB,WAAW,EACZ,MAAM,mBAAmB,CAAA;AA+G1B,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,wBAAwB,EAChC,KAAK,EAAE,WAAW,EAAE,GACnB,oBAAoB,EAAE,CAIxB"}
|
|
@@ -3,6 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.projectHyperliquidConfigSettings = projectHyperliquidConfigSettings;
|
|
4
4
|
const perps_sdk_1 = require("@lifi/perps-sdk");
|
|
5
5
|
const perps_types_1 = require("@lifi/perps-types");
|
|
6
|
+
const account_js_1 = require("./types/account.js");
|
|
7
|
+
const ABSTRACTION_OFF_VALUES = new Set([
|
|
8
|
+
account_js_1.HlAbstractionMode.DEFAULT,
|
|
9
|
+
account_js_1.HlAbstractionMode.DISABLED,
|
|
10
|
+
]);
|
|
6
11
|
function assertNever(value) {
|
|
7
12
|
throw new Error(`Unreachable: exhaustiveness check failed for value ${JSON.stringify(value)}`);
|
|
8
13
|
}
|
|
@@ -13,11 +18,20 @@ function projectHyperliquidDescriptor(descriptor, config) {
|
|
|
13
18
|
case perps_types_1.ActionType.APPROVE_BUILDER_FEE:
|
|
14
19
|
case perps_types_1.ActionType.SET_REFERRAL:
|
|
15
20
|
return { type: descriptor.type, values: [] };
|
|
16
|
-
case perps_types_1.ActionType.ACCOUNT_MODE:
|
|
21
|
+
case perps_types_1.ActionType.ACCOUNT_MODE: {
|
|
22
|
+
const mode = config.abstractionMode;
|
|
23
|
+
const bound = (descriptor.options ?? []).flatMap((option) => (0, perps_sdk_1.isSetupOptionFor)(option, perps_types_1.ActionType.ACCOUNT_MODE)
|
|
24
|
+
? [option.params.mode]
|
|
25
|
+
: []);
|
|
26
|
+
const matched = mode === null || ABSTRACTION_OFF_VALUES.has(mode)
|
|
27
|
+
? bound.find((value) => ABSTRACTION_OFF_VALUES.has(value))
|
|
28
|
+
: bound.find((value) => value === mode);
|
|
17
29
|
return {
|
|
18
30
|
type: descriptor.type,
|
|
19
|
-
values: [{ name: 'mode', value:
|
|
31
|
+
values: [{ name: 'mode', value: matched ?? mode }],
|
|
32
|
+
satisfied: matched !== undefined,
|
|
20
33
|
};
|
|
34
|
+
}
|
|
21
35
|
case perps_types_1.ActionType.APPROVE_INTEGRATOR:
|
|
22
36
|
case perps_types_1.ActionType.ACCOUNT_TYPE:
|
|
23
37
|
case perps_types_1.ActionType.SEND_ASSET:
|
|
@@ -37,21 +51,21 @@ function projectHyperliquidDescriptor(descriptor, config) {
|
|
|
37
51
|
case perps_types_1.ActionType.APPROVE_READ_ONLY_TOKEN:
|
|
38
52
|
case perps_types_1.ActionType.SIWE_LOGIN:
|
|
39
53
|
case perps_types_1.ActionType.CREATE_DEPOSIT_ADDRESS:
|
|
40
|
-
case perps_types_1.ActionType.ADD_WITHDRAWAL_ADDRESS:
|
|
41
54
|
case perps_types_1.ActionType.ACCEPT_PROVIDER_TERMS:
|
|
42
55
|
case perps_types_1.ActionType.DEPOSIT:
|
|
43
56
|
case perps_types_1.ActionType.META_ACCEPT_TERMS:
|
|
44
57
|
case perps_types_1.ActionType.META_ONBOARD:
|
|
45
58
|
case perps_types_1.ActionType.META_CREATE_REFERRAL_CODE:
|
|
46
59
|
case perps_types_1.ActionType.SYNC_FEE_ATTRIBUTION:
|
|
60
|
+
case perps_types_1.ActionType.REVOKE_BUILDER_FEE:
|
|
47
61
|
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `Hyperliquid account-config mapper has no projection for ` +
|
|
48
62
|
`descriptor type '${descriptor.type}' — this ActionType is not ` +
|
|
49
|
-
`valid on Provider.setup
|
|
63
|
+
`valid on Provider.setup for Hyperliquid.`);
|
|
50
64
|
default:
|
|
51
65
|
return assertNever(descriptor.type);
|
|
52
66
|
}
|
|
53
67
|
}
|
|
54
|
-
function projectHyperliquidConfigSettings(config, setup
|
|
55
|
-
return
|
|
68
|
+
function projectHyperliquidConfigSettings(config, setup) {
|
|
69
|
+
return setup.map((descriptor) => projectHyperliquidDescriptor(descriptor, config));
|
|
56
70
|
}
|
|
57
71
|
//# sourceMappingURL=accountConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountConfig.js","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"accountConfig.js","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signActions.d.ts","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,UAAU,EAGV,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAA+B,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAO,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAYvE,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,qBAAqB,EACjC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,OAAO,CAAC,gBAAgB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"signActions.d.ts","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,UAAU,EAGV,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAA+B,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAO,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAYvE,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,qBAAqB,EACjC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAuB7B"}
|
|
@@ -8,7 +8,7 @@ async function hyperliquidSignActions(agentStore, method, steps, address, ctx) {
|
|
|
8
8
|
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `hyperliquidProvider.signActions: unsupported SigningMethod '${method}'. ` +
|
|
9
9
|
'Hyperliquid only signs EIP712 actions.');
|
|
10
10
|
}
|
|
11
|
-
const sign = ctx?.
|
|
11
|
+
const sign = ctx?.signer === perps_types_1.PerpsSigner.USER
|
|
12
12
|
? await userWalletSigner(ctx)
|
|
13
13
|
: await agentSigner(agentStore, address);
|
|
14
14
|
return Promise.all(steps.map(async (step) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signActions.js","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":";;AA0BA,
|
|
1
|
+
{"version":3,"file":"signActions.js","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":";;AA0BA,wDA6BC;AAvDD,+CAKwB;AAOxB,mDAA8E;AAcvE,KAAK,UAAU,sBAAsB,CAC1C,UAAiC,EACjC,MAAqB,EACrB,KAAmB,EACnB,OAAgB,EAChB,GAAmC;IAEnC,IAAI,MAAM,KAAK,2BAAa,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,+DAA+D,MAAM,KAAK;YACxE,wCAAwC,CAC3C,CAAA;IACH,CAAC;IAED,MAAM,IAAI,GACR,GAAG,EAAE,MAAM,KAAK,yBAAW,CAAC,IAAI;QAC9B,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC;QAC7B,CAAC,CAAC,MAAM,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAE5C,OAAO,OAAO,CAAC,GAAG,CACf,KAA4B,CAAC,GAAG,CAC/B,KAAK,EAAE,IAAI,EAAmC,EAAE,CAAC,CAAC;QAChD,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC;KAC5B,CAAC,CACH,CACF,CAAA;AACH,CAAC;AAID,KAAK,UAAU,WAAW,CACxB,UAAiC,EACjC,OAAgB;IAEhB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC3C,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,yBAAa,EAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;AAClE,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAuB;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAA;IAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,qEAAqE;YACnE,kEAAkE;YAClE,8BAA8B,CACjC,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9B,IAAA,mCAAuB,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAChD,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidProvider.d.ts","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,mBAAmB,EAkBxB,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AA0BxB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,MAAM,CAAA;AAqBxD,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,oCAAoC,CAAA;AAQ3C;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACnD,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5C;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C;;;OAGG;IACH,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,
|
|
1
|
+
{"version":3,"file":"HyperliquidProvider.d.ts","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,mBAAmB,EAkBxB,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AA0BxB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,MAAM,CAAA;AAqBxD,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,oCAAoC,CAAA;AAQ3C;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACnD,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5C;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C;;;OAGG;IACH,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,CAwT1B"}
|
|
@@ -100,7 +100,6 @@ export function hyperliquidProvider(options = {}) {
|
|
|
100
100
|
};
|
|
101
101
|
return {
|
|
102
102
|
type: PROVIDER_KEY,
|
|
103
|
-
internalSetupActions: [ActionType.SET_REFERRAL],
|
|
104
103
|
// REVOKE_AGENT stages a step only when every named agent slot is taken,
|
|
105
104
|
// so `checkSetup` omits it from `ProviderSetup.checklist` instead of
|
|
106
105
|
// rendering it as a satisfied step.
|
|
@@ -110,7 +109,7 @@ export function hyperliquidProvider(options = {}) {
|
|
|
110
109
|
hasAgent: (address) => agentStore.has(address),
|
|
111
110
|
removeAgent: (address) => agentStore.remove(address),
|
|
112
111
|
importAgent: (address, privateKey) => agentStore.import(address, privateKey),
|
|
113
|
-
resolveActionRequest: async (action, address,
|
|
112
|
+
resolveActionRequest: async (action, address, signer) => {
|
|
114
113
|
// APPROVE_AGENT is user-signed: the user authorises the agent, so the
|
|
115
114
|
// agent address rides as a param (not signerAddress). The agent is
|
|
116
115
|
// provisioned on first use so its address is known before the backend
|
|
@@ -119,10 +118,11 @@ export function hyperliquidProvider(options = {}) {
|
|
|
119
118
|
const agentAddress = await resolveApproveAgentAddress(address);
|
|
120
119
|
return { params: { agentAddress } };
|
|
121
120
|
}
|
|
122
|
-
// SDK-signed actions (trades
|
|
123
|
-
//
|
|
124
|
-
// contribute nothing — core submits under the user's own
|
|
125
|
-
|
|
121
|
+
// SDK-signed actions (trades) carry the agent as the on-wire
|
|
122
|
+
// signerAddress. User-signed actions (builder-fee, account mode,
|
|
123
|
+
// withdrawal) contribute nothing — core submits under the user's own
|
|
124
|
+
// address.
|
|
125
|
+
if (signer === PerpsSigner.SDK) {
|
|
126
126
|
const agent = await agentStore.get(address);
|
|
127
127
|
return { signerAddress: agent.address };
|
|
128
128
|
}
|
|
@@ -175,12 +175,12 @@ export function hyperliquidProvider(options = {}) {
|
|
|
175
175
|
formatOrderSize: (market, size) => formatOrderSize(size, market.szDecimals),
|
|
176
176
|
estimateLiquidationPrice: (market, params) => calculateLiquidationPrice(params.entryPrice, params.leverage, params.isLong, market.maxLeverage),
|
|
177
177
|
positionRemovableMargin,
|
|
178
|
-
projectConfig: (config, setup
|
|
178
|
+
projectConfig: (config, setup) => {
|
|
179
179
|
if (config.provider !== PROVIDER_KEY) {
|
|
180
180
|
throw new PerpsError(PerpsErrorCode.SDKError, `hyperliquidProvider.projectConfig received config for provider ` +
|
|
181
181
|
`'${config.provider}'.`);
|
|
182
182
|
}
|
|
183
|
-
return projectHyperliquidConfigSettings(config, setup
|
|
183
|
+
return projectHyperliquidConfigSettings(config, setup);
|
|
184
184
|
},
|
|
185
185
|
};
|
|
186
186
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { AccountConfigSetting, HyperliquidAccountConfig,
|
|
1
|
+
import type { AccountConfigSetting, HyperliquidAccountConfig, SetupAction } from '@lifi/perps-types';
|
|
2
2
|
/**
|
|
3
|
-
* Project the
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Project the Hyperliquid setup descriptors against the typed
|
|
4
|
+
* `HyperliquidAccountConfig`. Produces exactly one `AccountConfigSetting` per
|
|
5
|
+
* descriptor, in `Provider.setup` order.
|
|
6
6
|
*
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
|
-
export declare function projectHyperliquidConfigSettings(config: HyperliquidAccountConfig, setup:
|
|
9
|
+
export declare function projectHyperliquidConfigSettings(config: HyperliquidAccountConfig, setup: SetupAction[]): AccountConfigSetting[];
|
|
10
10
|
//# sourceMappingURL=accountConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACxB,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAwG1B;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,wBAAwB,EAChC,KAAK,EAAE,WAAW,EAAE,GACnB,oBAAoB,EAAE,CAIxB"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import { PerpsError } from '@lifi/perps-sdk';
|
|
1
|
+
import { isSetupOptionFor, PerpsError } from '@lifi/perps-sdk';
|
|
2
2
|
import { ActionType, PerpsErrorCode } from '@lifi/perps-types';
|
|
3
|
+
import { HlAbstractionMode } from './types/account.js';
|
|
4
|
+
// `null`, `'default'` and `'disabled'` are the same off state; an option may
|
|
5
|
+
// bind either spelling of it.
|
|
6
|
+
const ABSTRACTION_OFF_VALUES = new Set([
|
|
7
|
+
HlAbstractionMode.DEFAULT,
|
|
8
|
+
HlAbstractionMode.DISABLED,
|
|
9
|
+
]);
|
|
3
10
|
function assertNever(value) {
|
|
4
11
|
throw new Error(`Unreachable: exhaustiveness check failed for value ${JSON.stringify(value)}`);
|
|
5
12
|
}
|
|
@@ -15,11 +22,11 @@ function assertNever(value) {
|
|
|
15
22
|
* | REVOKE_AGENT | [] (no parameters)
|
|
16
23
|
* | APPROVE_BUILDER_FEE | [] (no parameters)
|
|
17
24
|
* | SET_REFERRAL | [] (no parameters)
|
|
18
|
-
* | ACCOUNT_MODE | [{ name: 'mode', value: config.abstractionMode }]
|
|
25
|
+
* | ACCOUNT_MODE | [{ name: 'mode', value: config.abstractionMode }] (off → bound off spelling)
|
|
19
26
|
*
|
|
20
27
|
* The switch is exhaustive over `ActionType` so enum additions force a
|
|
21
28
|
* compile error in the `default` arm. ActionTypes that are not valid on
|
|
22
|
-
* `Provider.setup`
|
|
29
|
+
* `Provider.setup` for Hyperliquid throw at runtime.
|
|
23
30
|
*/
|
|
24
31
|
function projectHyperliquidDescriptor(descriptor, config) {
|
|
25
32
|
switch (descriptor.type) {
|
|
@@ -28,11 +35,22 @@ function projectHyperliquidDescriptor(descriptor, config) {
|
|
|
28
35
|
case ActionType.APPROVE_BUILDER_FEE:
|
|
29
36
|
case ActionType.SET_REFERRAL:
|
|
30
37
|
return { type: descriptor.type, values: [] };
|
|
31
|
-
case ActionType.ACCOUNT_MODE:
|
|
38
|
+
case ActionType.ACCOUNT_MODE: {
|
|
39
|
+
const mode = config.abstractionMode;
|
|
40
|
+
const bound = (descriptor.options ?? []).flatMap((option) => isSetupOptionFor(option, ActionType.ACCOUNT_MODE)
|
|
41
|
+
? [option.params.mode]
|
|
42
|
+
: []);
|
|
43
|
+
// The off state projects as whichever off spelling an option binds, so
|
|
44
|
+
// the value always matches the option it is satisfied by.
|
|
45
|
+
const matched = mode === null || ABSTRACTION_OFF_VALUES.has(mode)
|
|
46
|
+
? bound.find((value) => ABSTRACTION_OFF_VALUES.has(value))
|
|
47
|
+
: bound.find((value) => value === mode);
|
|
32
48
|
return {
|
|
33
49
|
type: descriptor.type,
|
|
34
|
-
values: [{ name: 'mode', value:
|
|
50
|
+
values: [{ name: 'mode', value: matched ?? mode }],
|
|
51
|
+
satisfied: matched !== undefined,
|
|
35
52
|
};
|
|
53
|
+
}
|
|
36
54
|
case ActionType.APPROVE_INTEGRATOR:
|
|
37
55
|
case ActionType.ACCOUNT_TYPE:
|
|
38
56
|
case ActionType.SEND_ASSET:
|
|
@@ -52,28 +70,28 @@ function projectHyperliquidDescriptor(descriptor, config) {
|
|
|
52
70
|
case ActionType.APPROVE_READ_ONLY_TOKEN:
|
|
53
71
|
case ActionType.SIWE_LOGIN:
|
|
54
72
|
case ActionType.CREATE_DEPOSIT_ADDRESS:
|
|
55
|
-
case ActionType.ADD_WITHDRAWAL_ADDRESS:
|
|
56
73
|
case ActionType.ACCEPT_PROVIDER_TERMS:
|
|
57
74
|
case ActionType.DEPOSIT:
|
|
58
75
|
case ActionType.META_ACCEPT_TERMS:
|
|
59
76
|
case ActionType.META_ONBOARD:
|
|
60
77
|
case ActionType.META_CREATE_REFERRAL_CODE:
|
|
61
78
|
case ActionType.SYNC_FEE_ATTRIBUTION:
|
|
79
|
+
case ActionType.REVOKE_BUILDER_FEE:
|
|
62
80
|
throw new PerpsError(PerpsErrorCode.SDKError, `Hyperliquid account-config mapper has no projection for ` +
|
|
63
81
|
`descriptor type '${descriptor.type}' — this ActionType is not ` +
|
|
64
|
-
`valid on Provider.setup
|
|
82
|
+
`valid on Provider.setup for Hyperliquid.`);
|
|
65
83
|
default:
|
|
66
84
|
return assertNever(descriptor.type);
|
|
67
85
|
}
|
|
68
86
|
}
|
|
69
87
|
/**
|
|
70
|
-
* Project the
|
|
71
|
-
*
|
|
72
|
-
*
|
|
88
|
+
* Project the Hyperliquid setup descriptors against the typed
|
|
89
|
+
* `HyperliquidAccountConfig`. Produces exactly one `AccountConfigSetting` per
|
|
90
|
+
* descriptor, in `Provider.setup` order.
|
|
73
91
|
*
|
|
74
92
|
* @public
|
|
75
93
|
*/
|
|
76
|
-
export function projectHyperliquidConfigSettings(config, setup
|
|
77
|
-
return
|
|
94
|
+
export function projectHyperliquidConfigSettings(config, setup) {
|
|
95
|
+
return setup.map((descriptor) => projectHyperliquidDescriptor(descriptor, config));
|
|
78
96
|
}
|
|
79
97
|
//# sourceMappingURL=accountConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountConfig.js","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"accountConfig.js","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signActions.d.ts","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,UAAU,EAGV,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAA+B,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAO,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAEvE;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,qBAAqB,EACjC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,OAAO,CAAC,gBAAgB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"signActions.d.ts","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,UAAU,EAGV,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAA+B,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAO,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAEvE;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,qBAAqB,EACjC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAuB7B"}
|
|
@@ -15,7 +15,7 @@ export async function hyperliquidSignActions(agentStore, method, steps, address,
|
|
|
15
15
|
throw new PerpsError(PerpsErrorCode.SDKError, `hyperliquidProvider.signActions: unsupported SigningMethod '${method}'. ` +
|
|
16
16
|
'Hyperliquid only signs EIP712 actions.');
|
|
17
17
|
}
|
|
18
|
-
const sign = ctx?.
|
|
18
|
+
const sign = ctx?.signer === PerpsSigner.USER
|
|
19
19
|
? await userWalletSigner(ctx)
|
|
20
20
|
: await agentSigner(agentStore, address);
|
|
21
21
|
return Promise.all(steps.map(async (step) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signActions.js","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,aAAa,EACb,uBAAuB,GACxB,MAAM,iBAAiB,CAAA;AAOxB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAI9E;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,UAAiC,EACjC,MAAqB,EACrB,KAAmB,EACnB,OAAgB,EAChB,GAAmC;IAEnC,IAAI,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,IAAI,UAAU,CAClB,cAAc,CAAC,QAAQ,EACvB,+DAA+D,MAAM,KAAK;YACxE,wCAAwC,CAC3C,CAAA;IACH,CAAC;IAED,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"signActions.js","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,aAAa,EACb,uBAAuB,GACxB,MAAM,iBAAiB,CAAA;AAOxB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAI9E;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,UAAiC,EACjC,MAAqB,EACrB,KAAmB,EACnB,OAAgB,EAChB,GAAmC;IAEnC,IAAI,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,IAAI,UAAU,CAClB,cAAc,CAAC,QAAQ,EACvB,+DAA+D,MAAM,KAAK;YACxE,wCAAwC,CAC3C,CAAA;IACH,CAAC;IAED,MAAM,IAAI,GACR,GAAG,EAAE,MAAM,KAAK,WAAW,CAAC,IAAI;QAC9B,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC;QAC7B,CAAC,CAAC,MAAM,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAE5C,OAAO,OAAO,CAAC,GAAG,CACf,KAA4B,CAAC,GAAG,CAC/B,KAAK,EAAE,IAAI,EAAmC,EAAE,CAAC,CAAC;QAChD,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC;KAC5B,CAAC,CACH,CACF,CAAA;AACH,CAAC;AAID,KAAK,UAAU,WAAW,CACxB,UAAiC,EACjC,OAAgB;IAEhB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC3C,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;AAClE,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAuB;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAA;IAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,UAAU,CAClB,cAAc,CAAC,QAAQ,EACvB,qEAAqE;YACnE,kEAAkE;YAClE,8BAA8B,CACjC,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9B,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAChD,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidProvider.d.ts","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,mBAAmB,EAkBxB,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AA0BxB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,MAAM,CAAA;AAqBxD,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,oCAAoC,CAAA;AAQ3C;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACnD,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5C;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C;;;OAGG;IACH,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,
|
|
1
|
+
{"version":3,"file":"HyperliquidProvider.d.ts","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,mBAAmB,EAkBxB,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AA0BxB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,MAAM,CAAA;AAqBxD,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,oCAAoC,CAAA;AAQ3C;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACnD,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5C;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C;;;OAGG;IACH,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,CAwT1B"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { AccountConfigSetting, HyperliquidAccountConfig,
|
|
1
|
+
import type { AccountConfigSetting, HyperliquidAccountConfig, SetupAction } from '@lifi/perps-types';
|
|
2
2
|
/**
|
|
3
|
-
* Project the
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Project the Hyperliquid setup descriptors against the typed
|
|
4
|
+
* `HyperliquidAccountConfig`. Produces exactly one `AccountConfigSetting` per
|
|
5
|
+
* descriptor, in `Provider.setup` order.
|
|
6
6
|
*
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
|
-
export declare function projectHyperliquidConfigSettings(config: HyperliquidAccountConfig, setup:
|
|
9
|
+
export declare function projectHyperliquidConfigSettings(config: HyperliquidAccountConfig, setup: SetupAction[]): AccountConfigSetting[];
|
|
10
10
|
//# sourceMappingURL=accountConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACxB,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAwG1B;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,wBAAwB,EAChC,KAAK,EAAE,WAAW,EAAE,GACnB,oBAAoB,EAAE,CAIxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signActions.d.ts","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,UAAU,EAGV,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAA+B,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAO,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAEvE;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,qBAAqB,EACjC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,OAAO,CAAC,gBAAgB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"signActions.d.ts","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,UAAU,EAGV,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAA+B,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAO,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAEvE;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,qBAAqB,EACjC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAuB7B"}
|
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-232a40e",
|
|
4
4
|
"description": "Hyperliquid provider plugin for @lifi/perps-sdk",
|
|
5
5
|
"homepage": "https://github.com/lifinance/perps-sdk",
|
|
6
6
|
"bugs": {
|
|
@@ -49,10 +49,10 @@
|
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"big.js": "^7.0.1",
|
|
51
51
|
"viem": "^2.55.18",
|
|
52
|
-
"@lifi/perps-types": "^0.0.0-preview-
|
|
52
|
+
"@lifi/perps-types": "^0.0.0-preview-232a40e"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
|
-
"@lifi/perps-sdk": "^0.0.0-preview-
|
|
55
|
+
"@lifi/perps-sdk": "^0.0.0-preview-232a40e"
|
|
56
56
|
},
|
|
57
57
|
"publishConfig": {
|
|
58
58
|
"access": "public"
|
|
@@ -45,8 +45,8 @@ import {
|
|
|
45
45
|
type PortfolioHistoryResponse,
|
|
46
46
|
type Position,
|
|
47
47
|
type PositionsResponse,
|
|
48
|
-
type ProviderAction,
|
|
49
48
|
type Quote,
|
|
49
|
+
type SetupAction,
|
|
50
50
|
type SignedActionStep,
|
|
51
51
|
type SigningMethod,
|
|
52
52
|
} from '@lifi/perps-types'
|
|
@@ -229,8 +229,6 @@ export function hyperliquidProvider(
|
|
|
229
229
|
return {
|
|
230
230
|
type: PROVIDER_KEY,
|
|
231
231
|
|
|
232
|
-
internalSetupActions: [ActionType.SET_REFERRAL],
|
|
233
|
-
|
|
234
232
|
// REVOKE_AGENT stages a step only when every named agent slot is taken,
|
|
235
233
|
// so `checkSetup` omits it from `ProviderSetup.checklist` instead of
|
|
236
234
|
// rendering it as a satisfied step.
|
|
@@ -254,7 +252,7 @@ export function hyperliquidProvider(
|
|
|
254
252
|
resolveActionRequest: async (
|
|
255
253
|
action: ActionType,
|
|
256
254
|
address: Address,
|
|
257
|
-
|
|
255
|
+
signer: PerpsSigner
|
|
258
256
|
): Promise<ActionSignerContribution> => {
|
|
259
257
|
// APPROVE_AGENT is user-signed: the user authorises the agent, so the
|
|
260
258
|
// agent address rides as a param (not signerAddress). The agent is
|
|
@@ -264,10 +262,11 @@ export function hyperliquidProvider(
|
|
|
264
262
|
const agentAddress = await resolveApproveAgentAddress(address)
|
|
265
263
|
return { params: { agentAddress } }
|
|
266
264
|
}
|
|
267
|
-
// SDK-signed actions (trades
|
|
268
|
-
//
|
|
269
|
-
// contribute nothing — core submits under the user's own
|
|
270
|
-
|
|
265
|
+
// SDK-signed actions (trades) carry the agent as the on-wire
|
|
266
|
+
// signerAddress. User-signed actions (builder-fee, account mode,
|
|
267
|
+
// withdrawal) contribute nothing — core submits under the user's own
|
|
268
|
+
// address.
|
|
269
|
+
if (signer === PerpsSigner.SDK) {
|
|
271
270
|
const agent = await agentStore.get(address)
|
|
272
271
|
return { signerAddress: agent.address }
|
|
273
272
|
}
|
|
@@ -456,8 +455,7 @@ export function hyperliquidProvider(
|
|
|
456
455
|
|
|
457
456
|
projectConfig: (
|
|
458
457
|
config: AccountConfig,
|
|
459
|
-
setup:
|
|
460
|
-
options: ProviderAction[]
|
|
458
|
+
setup: SetupAction[]
|
|
461
459
|
): AccountConfigSetting[] => {
|
|
462
460
|
if (config.provider !== PROVIDER_KEY) {
|
|
463
461
|
throw new PerpsError(
|
|
@@ -466,7 +464,7 @@ export function hyperliquidProvider(
|
|
|
466
464
|
`'${config.provider}'.`
|
|
467
465
|
)
|
|
468
466
|
}
|
|
469
|
-
return projectHyperliquidConfigSettings(config, setup
|
|
467
|
+
return projectHyperliquidConfigSettings(config, setup)
|
|
470
468
|
},
|
|
471
469
|
}
|
|
472
470
|
}
|
package/src/accountConfig.ts
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
import { PerpsError } from '@lifi/perps-sdk'
|
|
1
|
+
import { isSetupOptionFor, PerpsError } from '@lifi/perps-sdk'
|
|
2
2
|
import type {
|
|
3
3
|
AccountConfigSetting,
|
|
4
4
|
HyperliquidAccountConfig,
|
|
5
|
-
|
|
5
|
+
SetupAction,
|
|
6
6
|
} from '@lifi/perps-types'
|
|
7
7
|
import { ActionType, PerpsErrorCode } from '@lifi/perps-types'
|
|
8
|
+
import { HlAbstractionMode } from './types/account.js'
|
|
9
|
+
|
|
10
|
+
// `null`, `'default'` and `'disabled'` are the same off state; an option may
|
|
11
|
+
// bind either spelling of it.
|
|
12
|
+
const ABSTRACTION_OFF_VALUES: ReadonlySet<string> = new Set([
|
|
13
|
+
HlAbstractionMode.DEFAULT,
|
|
14
|
+
HlAbstractionMode.DISABLED,
|
|
15
|
+
])
|
|
8
16
|
|
|
9
17
|
function assertNever(value: never): never {
|
|
10
18
|
throw new Error(
|
|
@@ -24,14 +32,14 @@ function assertNever(value: never): never {
|
|
|
24
32
|
* | REVOKE_AGENT | [] (no parameters)
|
|
25
33
|
* | APPROVE_BUILDER_FEE | [] (no parameters)
|
|
26
34
|
* | SET_REFERRAL | [] (no parameters)
|
|
27
|
-
* | ACCOUNT_MODE | [{ name: 'mode', value: config.abstractionMode }]
|
|
35
|
+
* | ACCOUNT_MODE | [{ name: 'mode', value: config.abstractionMode }] (off → bound off spelling)
|
|
28
36
|
*
|
|
29
37
|
* The switch is exhaustive over `ActionType` so enum additions force a
|
|
30
38
|
* compile error in the `default` arm. ActionTypes that are not valid on
|
|
31
|
-
* `Provider.setup`
|
|
39
|
+
* `Provider.setup` for Hyperliquid throw at runtime.
|
|
32
40
|
*/
|
|
33
41
|
function projectHyperliquidDescriptor(
|
|
34
|
-
descriptor:
|
|
42
|
+
descriptor: SetupAction,
|
|
35
43
|
config: HyperliquidAccountConfig
|
|
36
44
|
): AccountConfigSetting {
|
|
37
45
|
switch (descriptor.type) {
|
|
@@ -41,11 +49,25 @@ function projectHyperliquidDescriptor(
|
|
|
41
49
|
case ActionType.SET_REFERRAL:
|
|
42
50
|
return { type: descriptor.type, values: [] }
|
|
43
51
|
|
|
44
|
-
case ActionType.ACCOUNT_MODE:
|
|
52
|
+
case ActionType.ACCOUNT_MODE: {
|
|
53
|
+
const mode = config.abstractionMode
|
|
54
|
+
const bound = (descriptor.options ?? []).flatMap((option) =>
|
|
55
|
+
isSetupOptionFor(option, ActionType.ACCOUNT_MODE)
|
|
56
|
+
? [option.params.mode]
|
|
57
|
+
: []
|
|
58
|
+
)
|
|
59
|
+
// The off state projects as whichever off spelling an option binds, so
|
|
60
|
+
// the value always matches the option it is satisfied by.
|
|
61
|
+
const matched =
|
|
62
|
+
mode === null || ABSTRACTION_OFF_VALUES.has(mode)
|
|
63
|
+
? bound.find((value) => ABSTRACTION_OFF_VALUES.has(value))
|
|
64
|
+
: bound.find((value) => value === mode)
|
|
45
65
|
return {
|
|
46
66
|
type: descriptor.type,
|
|
47
|
-
values: [{ name: 'mode', value:
|
|
67
|
+
values: [{ name: 'mode', value: matched ?? mode }],
|
|
68
|
+
satisfied: matched !== undefined,
|
|
48
69
|
}
|
|
70
|
+
}
|
|
49
71
|
|
|
50
72
|
case ActionType.APPROVE_INTEGRATOR:
|
|
51
73
|
case ActionType.ACCOUNT_TYPE:
|
|
@@ -66,18 +88,18 @@ function projectHyperliquidDescriptor(
|
|
|
66
88
|
case ActionType.APPROVE_READ_ONLY_TOKEN:
|
|
67
89
|
case ActionType.SIWE_LOGIN:
|
|
68
90
|
case ActionType.CREATE_DEPOSIT_ADDRESS:
|
|
69
|
-
case ActionType.ADD_WITHDRAWAL_ADDRESS:
|
|
70
91
|
case ActionType.ACCEPT_PROVIDER_TERMS:
|
|
71
92
|
case ActionType.DEPOSIT:
|
|
72
93
|
case ActionType.META_ACCEPT_TERMS:
|
|
73
94
|
case ActionType.META_ONBOARD:
|
|
74
95
|
case ActionType.META_CREATE_REFERRAL_CODE:
|
|
75
96
|
case ActionType.SYNC_FEE_ATTRIBUTION:
|
|
97
|
+
case ActionType.REVOKE_BUILDER_FEE:
|
|
76
98
|
throw new PerpsError(
|
|
77
99
|
PerpsErrorCode.SDKError,
|
|
78
100
|
`Hyperliquid account-config mapper has no projection for ` +
|
|
79
101
|
`descriptor type '${descriptor.type}' — this ActionType is not ` +
|
|
80
|
-
`valid on Provider.setup
|
|
102
|
+
`valid on Provider.setup for Hyperliquid.`
|
|
81
103
|
)
|
|
82
104
|
|
|
83
105
|
default:
|
|
@@ -86,18 +108,17 @@ function projectHyperliquidDescriptor(
|
|
|
86
108
|
}
|
|
87
109
|
|
|
88
110
|
/**
|
|
89
|
-
* Project the
|
|
90
|
-
*
|
|
91
|
-
*
|
|
111
|
+
* Project the Hyperliquid setup descriptors against the typed
|
|
112
|
+
* `HyperliquidAccountConfig`. Produces exactly one `AccountConfigSetting` per
|
|
113
|
+
* descriptor, in `Provider.setup` order.
|
|
92
114
|
*
|
|
93
115
|
* @public
|
|
94
116
|
*/
|
|
95
117
|
export function projectHyperliquidConfigSettings(
|
|
96
118
|
config: HyperliquidAccountConfig,
|
|
97
|
-
setup:
|
|
98
|
-
options: ProviderAction[]
|
|
119
|
+
setup: SetupAction[]
|
|
99
120
|
): AccountConfigSetting[] {
|
|
100
|
-
return
|
|
121
|
+
return setup.map((descriptor) =>
|
|
101
122
|
projectHyperliquidDescriptor(descriptor, config)
|
|
102
123
|
)
|
|
103
124
|
}
|
|
@@ -39,9 +39,10 @@ export async function hyperliquidSignActions(
|
|
|
39
39
|
)
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
const sign =
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
const sign =
|
|
43
|
+
ctx?.signer === PerpsSigner.USER
|
|
44
|
+
? await userWalletSigner(ctx)
|
|
45
|
+
: await agentSigner(agentStore, address)
|
|
45
46
|
|
|
46
47
|
return Promise.all(
|
|
47
48
|
(steps as Eip712ActionStep[]).map(
|