@lifi/perps-sdk-provider-lighter 13.0.0 → 13.0.1
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/signers/signActions.d.ts.map +1 -1
- package/dist/cjs/signers/signActions.js +7 -28
- package/dist/cjs/signers/signActions.js.map +1 -1
- package/dist/cjs/signers/wasmLoader.d.ts +0 -3
- package/dist/cjs/signers/wasmLoader.d.ts.map +1 -1
- package/dist/cjs/signers/wasmLoader.js +3 -2
- package/dist/cjs/signers/wasmLoader.js.map +1 -1
- package/dist/esm/signers/signActions.d.ts.map +1 -1
- package/dist/esm/signers/signActions.js +28 -47
- package/dist/esm/signers/signActions.js.map +1 -1
- package/dist/esm/signers/wasmLoader.d.ts +0 -3
- package/dist/esm/signers/wasmLoader.d.ts.map +1 -1
- package/dist/esm/signers/wasmLoader.js +7 -2
- package/dist/esm/signers/wasmLoader.js.map +1 -1
- package/dist/types/signers/signActions.d.ts.map +1 -1
- package/dist/types/signers/wasmLoader.d.ts +0 -3
- package/dist/types/signers/wasmLoader.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/signers/signActions.ts +60 -58
- package/src/signers/wasmLoader.ts +7 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signActions.d.ts","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAA8B,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAOnC,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,KAAK,EAAiB,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"signActions.d.ts","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAA8B,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAOnC,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,KAAK,EAAiB,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,KAAK,EAEV,aAAa,EAEd,MAAM,oBAAoB,CAAA;AAW3B,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,aAAa,CAAA;IACrB,QAAQ,EAAE,eAAe,CAAA;IAIzB,SAAS,EAAE,gBAAgB,CAAA;IAO3B,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACvD;AA8BD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,sBAAsB,EAC5B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,kBAAkB,EAAE,EAC3B,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAkBrC;AAiVD,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,eAAe,EAAE,EACxB,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CA6ElC;AASD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,sBAAsB,EAC5B,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE,OAAO,EAChB,GAAG,CAAC,EAAE,kBAAkB,GACvB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAsB7B"}
|
|
@@ -85,14 +85,14 @@ async function signRegisterApiKey(deps, address, step, ctx) {
|
|
|
85
85
|
},
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
|
-
async function
|
|
88
|
+
async function signL1CountersignedWasmAction(deps, address, step, ctx, actionLabel, signMethod) {
|
|
89
89
|
const walletSigner = ctx?.userWallet;
|
|
90
90
|
if (!walletSigner) {
|
|
91
|
-
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError,
|
|
91
|
+
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `${actionLabel} requires the end-user wallet — pass \`userWallet\` to ` +
|
|
92
92
|
'createPerpsClient or call setUserWallet(walletClient).');
|
|
93
93
|
}
|
|
94
94
|
const apiKey = await requireApiKey(deps, address);
|
|
95
|
-
const signed = await
|
|
95
|
+
const signed = await signMethod(step.wasmSignParams, {
|
|
96
96
|
apiKeyPrivateKey: apiKey.apiKeyPrivateKey,
|
|
97
97
|
apiKeyIndex: apiKey.apiKeyIndex,
|
|
98
98
|
accountIndex: apiKey.accountIndex,
|
|
@@ -112,32 +112,11 @@ async function signApproveIntegrator(deps, address, step, ctx) {
|
|
|
112
112
|
},
|
|
113
113
|
};
|
|
114
114
|
}
|
|
115
|
+
async function signApproveIntegrator(deps, address, step, ctx) {
|
|
116
|
+
return await signL1CountersignedWasmAction(deps, address, step, ctx, 'APPROVE_INTEGRATOR', (wasmSignParams, context) => deps.signer.signApproveIntegrator(wasmSignParams, context));
|
|
117
|
+
}
|
|
115
118
|
async function signTransfer(deps, address, step, ctx) {
|
|
116
|
-
|
|
117
|
-
if (!walletSigner) {
|
|
118
|
-
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, 'TRANSFER requires the end-user wallet — pass `userWallet` to ' +
|
|
119
|
-
'createPerpsClient or call setUserWallet(walletClient).');
|
|
120
|
-
}
|
|
121
|
-
const apiKey = await requireApiKey(deps, address);
|
|
122
|
-
const signed = await deps.signer.signTransfer(step.wasmSignParams, {
|
|
123
|
-
apiKeyPrivateKey: apiKey.apiKeyPrivateKey,
|
|
124
|
-
apiKeyIndex: apiKey.apiKeyIndex,
|
|
125
|
-
accountIndex: apiKey.accountIndex,
|
|
126
|
-
});
|
|
127
|
-
const l1Signature = await walletSigner.signMessage({
|
|
128
|
-
account: walletSigner.account,
|
|
129
|
-
message: signed.messageToSign,
|
|
130
|
-
});
|
|
131
|
-
const txInfoWithL1Sig = deps.signer.embedL1Signature(signed.txInfo, l1Signature);
|
|
132
|
-
return {
|
|
133
|
-
action: step.action,
|
|
134
|
-
wasmSignParams: step.wasmSignParams,
|
|
135
|
-
signedTx: {
|
|
136
|
-
txType: signed.txType,
|
|
137
|
-
txInfo: txInfoWithL1Sig,
|
|
138
|
-
txHash: signed.txHash,
|
|
139
|
-
},
|
|
140
|
-
};
|
|
119
|
+
return await signL1CountersignedWasmAction(deps, address, step, ctx, 'TRANSFER', (wasmSignParams, context) => deps.signer.signTransfer(wasmSignParams, context));
|
|
141
120
|
}
|
|
142
121
|
async function executeTokenAuthMutation(deps, address, step) {
|
|
143
122
|
const apiKey = await requireApiKey(deps, address);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signActions.js","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"signActions.js","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,6 @@ export interface LighterWasmExports {
|
|
|
7
7
|
CreateClient: (url: string, privateKey: string, chainId: number, apiKeyIndex: number, accountIndex: number) => {
|
|
8
8
|
error?: string;
|
|
9
9
|
};
|
|
10
|
-
CheckClient: (apiKeyIndex: number, accountIndex: number) => {
|
|
11
|
-
error?: string;
|
|
12
|
-
};
|
|
13
10
|
CreateAuthToken: (deadline: number, apiKeyIndex: number, accountIndex: number) => {
|
|
14
11
|
authToken?: string;
|
|
15
12
|
error?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasmLoader.d.ts","sourceRoot":"","sources":["../../../src/signers/wasmLoader.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM;QACpB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,YAAY,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,KACjB;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"wasmLoader.d.ts","sourceRoot":"","sources":["../../../src/signers/wasmLoader.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM;QACpB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,YAAY,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,KACjB;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAOvB,eAAe,EAAE,CACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,KACjB;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAS3C,gBAAgB,EAAE,CAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,KACjB,UAAU,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAiB5C,eAAe,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IAEnD,eAAe,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IAKnD,mBAAmB,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IAUvD,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAE7E,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IAKhD,kBAAkB,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IAOtD,eAAe,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IAKnD,gBAAgB,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IASpD,qBAAqB,EAAE,CACrB,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,UAAU,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAM5C,uBAAuB,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IAM3D,4BAA4B,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;CACjE;AAGD,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAiID,wBAAsB,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAYnE;AA8DD,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
|
|
@@ -40,7 +40,6 @@ const wasmBinaryUrl_js_1 = require("./wasmBinaryUrl.js");
|
|
|
40
40
|
const WASM_FUNCTION_NAMES = [
|
|
41
41
|
'GenerateAPIKey',
|
|
42
42
|
'CreateClient',
|
|
43
|
-
'CheckClient',
|
|
44
43
|
'CreateAuthToken',
|
|
45
44
|
'SignChangePubKey',
|
|
46
45
|
'SignCreateOrder',
|
|
@@ -130,15 +129,17 @@ async function loadWasmUncached() {
|
|
|
130
129
|
const { instance } = await WebAssembly.instantiate(wasmBytes, go.importObject);
|
|
131
130
|
void go.run(instance);
|
|
132
131
|
await yieldToGoRuntime();
|
|
132
|
+
const globals = globalThis;
|
|
133
133
|
const exports = {};
|
|
134
134
|
for (const name of WASM_FUNCTION_NAMES) {
|
|
135
|
-
const fn =
|
|
135
|
+
const fn = globals[name];
|
|
136
136
|
if (typeof fn !== 'function') {
|
|
137
137
|
throw new Error(`Lighter WASM did not export expected function: ${name}. ` +
|
|
138
138
|
'The .wasm binary may be stale or incompatible.');
|
|
139
139
|
}
|
|
140
140
|
;
|
|
141
141
|
exports[name] = fn;
|
|
142
|
+
delete globals[name];
|
|
142
143
|
}
|
|
143
144
|
return exports;
|
|
144
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasmLoader.js","sourceRoot":"","sources":["../../../src/signers/wasmLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"wasmLoader.js","sourceRoot":"","sources":["../../../src/signers/wasmLoader.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,EAAc,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAA8B,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAOnC,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,KAAK,EAAiB,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"signActions.d.ts","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAA8B,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAOnC,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,KAAK,EAAiB,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,KAAK,EAEV,aAAa,EAEd,MAAM,oBAAoB,CAAA;AAE3B;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,aAAa,CAAA;IACrB,QAAQ,EAAE,eAAe,CAAA;IACzB;;qCAEiC;IACjC,SAAS,EAAE,gBAAgB,CAAA;IAC3B;;;;;OAKG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACvD;AAiBD;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,sBAAsB,EAC5B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,kBAAkB,EAAE,EAC3B,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAkBrC;AAgUD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,eAAe,EAAE,EACxB,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CA6ElC;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,sBAAsB,EAC5B,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE,OAAO,EAChB,GAAG,CAAC,EAAE,kBAAkB,GACvB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAsB7B"}
|
|
@@ -117,25 +117,27 @@ async function signRegisterApiKey(deps, address, step, ctx) {
|
|
|
117
117
|
};
|
|
118
118
|
}
|
|
119
119
|
/**
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
* 3.
|
|
125
|
-
*
|
|
120
|
+
* Shared L1-countersign flow for the Lighter WASM_BLOB actions that require
|
|
121
|
+
* the end-user's Ethereum wallet:
|
|
122
|
+
* 1. Guard that the caller supplied `ctx.userWallet`.
|
|
123
|
+
* 2. Load the user's stored API key (no keypair generation).
|
|
124
|
+
* 3. Wasm-sign the blob via `signMethod`, obtaining the EIP-191 L1 message
|
|
125
|
+
* the wallet must countersign.
|
|
126
|
+
* 4. Have the user's L1 Ethereum wallet sign that message.
|
|
127
|
+
* 5. Inject the L1 signature into the txInfo JSON as `L1Sig`.
|
|
126
128
|
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
129
|
+
* `actionLabel` names the caller's action in the missing-wallet error
|
|
130
|
+
* message. `signMethod` is the caller's wasm-signing call; each caller keeps
|
|
131
|
+
* its own doc comment stating why its flow needs the L1 signature.
|
|
130
132
|
*/
|
|
131
|
-
async function
|
|
133
|
+
async function signL1CountersignedWasmAction(deps, address, step, ctx, actionLabel, signMethod) {
|
|
132
134
|
const walletSigner = ctx?.userWallet;
|
|
133
135
|
if (!walletSigner) {
|
|
134
|
-
throw new PerpsError(PerpsErrorCode.SDKError,
|
|
136
|
+
throw new PerpsError(PerpsErrorCode.SDKError, `${actionLabel} requires the end-user wallet — pass \`userWallet\` to ` +
|
|
135
137
|
'createPerpsClient or call setUserWallet(walletClient).');
|
|
136
138
|
}
|
|
137
139
|
const apiKey = await requireApiKey(deps, address);
|
|
138
|
-
const signed = await
|
|
140
|
+
const signed = await signMethod(step.wasmSignParams, {
|
|
139
141
|
apiKeyPrivateKey: apiKey.apiKeyPrivateKey,
|
|
140
142
|
apiKeyIndex: apiKey.apiKeyIndex,
|
|
141
143
|
accountIndex: apiKey.accountIndex,
|
|
@@ -156,43 +158,22 @@ async function signApproveIntegrator(deps, address, step, ctx) {
|
|
|
156
158
|
};
|
|
157
159
|
}
|
|
158
160
|
/**
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
*
|
|
161
|
+
* APPROVE_INTEGRATOR flow. Requires the end-user's wallet in
|
|
162
|
+
* `ctx.userWallet`: Lighter rejects the tx without the user's `L1Sig` when
|
|
163
|
+
* the integrator account belongs to a different L1 address with non-zero fee
|
|
164
|
+
* caps.
|
|
165
|
+
*/
|
|
166
|
+
async function signApproveIntegrator(deps, address, step, ctx) {
|
|
167
|
+
return await signL1CountersignedWasmAction(deps, address, step, ctx, 'APPROVE_INTEGRATOR', (wasmSignParams, context) => deps.signer.signApproveIntegrator(wasmSignParams, context));
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* TRANSFER flow. Requires the end-user's wallet in `ctx.userWallet`: the
|
|
171
|
+
* destination account and the amount are only bound to the account owner by
|
|
172
|
+
* the user's `L1Sig`, so the stored API key alone must not authorize the
|
|
173
|
+
* move.
|
|
169
174
|
*/
|
|
170
175
|
async function signTransfer(deps, address, step, ctx) {
|
|
171
|
-
|
|
172
|
-
if (!walletSigner) {
|
|
173
|
-
throw new PerpsError(PerpsErrorCode.SDKError, 'TRANSFER requires the end-user wallet — pass `userWallet` to ' +
|
|
174
|
-
'createPerpsClient or call setUserWallet(walletClient).');
|
|
175
|
-
}
|
|
176
|
-
const apiKey = await requireApiKey(deps, address);
|
|
177
|
-
const signed = await deps.signer.signTransfer(step.wasmSignParams, {
|
|
178
|
-
apiKeyPrivateKey: apiKey.apiKeyPrivateKey,
|
|
179
|
-
apiKeyIndex: apiKey.apiKeyIndex,
|
|
180
|
-
accountIndex: apiKey.accountIndex,
|
|
181
|
-
});
|
|
182
|
-
const l1Signature = await walletSigner.signMessage({
|
|
183
|
-
account: walletSigner.account,
|
|
184
|
-
message: signed.messageToSign,
|
|
185
|
-
});
|
|
186
|
-
const txInfoWithL1Sig = deps.signer.embedL1Signature(signed.txInfo, l1Signature);
|
|
187
|
-
return {
|
|
188
|
-
action: step.action,
|
|
189
|
-
wasmSignParams: step.wasmSignParams,
|
|
190
|
-
signedTx: {
|
|
191
|
-
txType: signed.txType,
|
|
192
|
-
txInfo: txInfoWithL1Sig,
|
|
193
|
-
txHash: signed.txHash,
|
|
194
|
-
},
|
|
195
|
-
};
|
|
176
|
+
return await signL1CountersignedWasmAction(deps, address, step, ctx, 'TRANSFER', (wasmSignParams, context) => deps.signer.signTransfer(wasmSignParams, context));
|
|
196
177
|
}
|
|
197
178
|
/**
|
|
198
179
|
* Execute a token-authenticated Lighter mutation (`ACCOUNT_TYPE` →
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signActions.js","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA2B,MAAM,iBAAiB,CAAA;AASrE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAE7E,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EACL,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"signActions.js","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,9 +14,6 @@ export interface LighterWasmExports {
|
|
|
14
14
|
CreateClient: (url: string, privateKey: string, chainId: number, apiKeyIndex: number, accountIndex: number) => {
|
|
15
15
|
error?: string;
|
|
16
16
|
};
|
|
17
|
-
CheckClient: (apiKeyIndex: number, accountIndex: number) => {
|
|
18
|
-
error?: string;
|
|
19
|
-
};
|
|
20
17
|
/**
|
|
21
18
|
* Returns `{authToken}` on success — note the field name is `authToken`,
|
|
22
19
|
* NOT `token`. Reading the wrong field silently fails (Go sets nothing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasmLoader.d.ts","sourceRoot":"","sources":["../../../src/signers/wasmLoader.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM;QACpB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,YAAY,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,KACjB;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACvB
|
|
1
|
+
{"version":3,"file":"wasmLoader.d.ts","sourceRoot":"","sources":["../../../src/signers/wasmLoader.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM;QACpB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,YAAY,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,KACjB;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACvB;;;;;OAKG;IACH,eAAe,EAAE,CACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,KACjB;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3C;;;;;;;OAOG;IACH,gBAAgB,EAAE,CAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,KACjB,UAAU,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C;;;;;;;;;;;;;;;OAeG;IACH,eAAe,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IACnD,2EAA2E;IAC3E,eAAe,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IACnD;;;OAGG;IACH,mBAAmB,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IACvD;;;;;;;;OAQG;IACH,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7E,iFAAiF;IACjF,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IAChD;;;OAGG;IACH,kBAAkB,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IACtD;;;;;OAKG;IACH,eAAe,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IACnD;;;OAGG;IACH,gBAAgB,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IACpD;;;;;;;OAOG;IACH,qBAAqB,EAAE,CACrB,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,UAAU,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C;;;;OAIG;IACH,uBAAuB,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IAC3D;;;;OAIG;IACH,4BAA4B,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;CACjE;AAED,gBAAgB;AAChB,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAuHD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAYnE;AAyDD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
|
|
@@ -5,7 +5,6 @@ import { lighterWasmBinaryUrl, resolveEmittedBinaryUrl, } from './wasmBinaryUrl.
|
|
|
5
5
|
const WASM_FUNCTION_NAMES = [
|
|
6
6
|
'GenerateAPIKey',
|
|
7
7
|
'CreateClient',
|
|
8
|
-
'CheckClient',
|
|
9
8
|
'CreateAuthToken',
|
|
10
9
|
'SignChangePubKey',
|
|
11
10
|
'SignCreateOrder',
|
|
@@ -132,15 +131,21 @@ async function loadWasmUncached() {
|
|
|
132
131
|
void go.run(instance);
|
|
133
132
|
// Wait microtasks to let Go's init() register JS-bound functions.
|
|
134
133
|
await yieldToGoRuntime();
|
|
134
|
+
// Go's main.go only calls `js.Global().Set(name, ...)`; it never reads those
|
|
135
|
+
// names back, so dispatch survives the deletion while the captured handle
|
|
136
|
+
// keeps working. Left installed, they let any same-origin script sign with
|
|
137
|
+
// the API key held inside the instance. Never restore them for convenience.
|
|
138
|
+
const globals = globalThis;
|
|
135
139
|
const exports = {};
|
|
136
140
|
for (const name of WASM_FUNCTION_NAMES) {
|
|
137
|
-
const fn =
|
|
141
|
+
const fn = globals[name];
|
|
138
142
|
if (typeof fn !== 'function') {
|
|
139
143
|
throw new Error(`Lighter WASM did not export expected function: ${name}. ` +
|
|
140
144
|
'The .wasm binary may be stale or incompatible.');
|
|
141
145
|
}
|
|
142
146
|
;
|
|
143
147
|
exports[name] = fn;
|
|
148
|
+
delete globals[name];
|
|
144
149
|
}
|
|
145
150
|
return exports;
|
|
146
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasmLoader.js","sourceRoot":"","sources":["../../../src/signers/wasmLoader.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,uEAAuE;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EACL,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"wasmLoader.js","sourceRoot":"","sources":["../../../src/signers/wasmLoader.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,EAAc,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAA8B,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAOnC,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,KAAK,EAAiB,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"signActions.d.ts","sourceRoot":"","sources":["../../../src/signers/signActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAA8B,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAOnC,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,KAAK,EAAiB,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,KAAK,EAEV,aAAa,EAEd,MAAM,oBAAoB,CAAA;AAE3B;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,aAAa,CAAA;IACrB,QAAQ,EAAE,eAAe,CAAA;IACzB;;qCAEiC;IACjC,SAAS,EAAE,gBAAgB,CAAA;IAC3B;;;;;OAKG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACvD;AAiBD;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,sBAAsB,EAC5B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,kBAAkB,EAAE,EAC3B,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAkBrC;AAgUD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,eAAe,EAAE,EACxB,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CA6ElC;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,sBAAsB,EAC5B,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE,OAAO,EAChB,GAAG,CAAC,EAAE,kBAAkB,GACvB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAsB7B"}
|
|
@@ -14,9 +14,6 @@ export interface LighterWasmExports {
|
|
|
14
14
|
CreateClient: (url: string, privateKey: string, chainId: number, apiKeyIndex: number, accountIndex: number) => {
|
|
15
15
|
error?: string;
|
|
16
16
|
};
|
|
17
|
-
CheckClient: (apiKeyIndex: number, accountIndex: number) => {
|
|
18
|
-
error?: string;
|
|
19
|
-
};
|
|
20
17
|
/**
|
|
21
18
|
* Returns `{authToken}` on success — note the field name is `authToken`,
|
|
22
19
|
* NOT `token`. Reading the wrong field silently fails (Go sets nothing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasmLoader.d.ts","sourceRoot":"","sources":["../../../src/signers/wasmLoader.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM;QACpB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,YAAY,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,KACjB;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACvB
|
|
1
|
+
{"version":3,"file":"wasmLoader.d.ts","sourceRoot":"","sources":["../../../src/signers/wasmLoader.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM;QACpB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,YAAY,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,KACjB;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACvB;;;;;OAKG;IACH,eAAe,EAAE,CACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,KACjB;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3C;;;;;;;OAOG;IACH,gBAAgB,EAAE,CAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,KACjB,UAAU,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C;;;;;;;;;;;;;;;OAeG;IACH,eAAe,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IACnD,2EAA2E;IAC3E,eAAe,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IACnD;;;OAGG;IACH,mBAAmB,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IACvD;;;;;;;;OAQG;IACH,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7E,iFAAiF;IACjF,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IAChD;;;OAGG;IACH,kBAAkB,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IACtD;;;;;OAKG;IACH,eAAe,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IACnD;;;OAGG;IACH,gBAAgB,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IACpD;;;;;;;OAOG;IACH,qBAAqB,EAAE,CACrB,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,UAAU,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C;;;;OAIG;IACH,uBAAuB,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;IAC3D;;;;OAIG;IACH,4BAA4B,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAA;CACjE;AAED,gBAAgB;AAChB,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAuHD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAYnE;AAyDD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
|
package/package.json
CHANGED
|
@@ -17,7 +17,11 @@ import {
|
|
|
17
17
|
} from '../constants.js'
|
|
18
18
|
import type { ApiParams, LighterApiClient } from '../utils/apiClient.js'
|
|
19
19
|
import type { LighterApiKey, LighterKeyStore } from './LighterKeyStore.js'
|
|
20
|
-
import type {
|
|
20
|
+
import type {
|
|
21
|
+
LighterSignedBlob,
|
|
22
|
+
LighterSigner,
|
|
23
|
+
LighterSignerContext,
|
|
24
|
+
} from './LighterSigner.js'
|
|
21
25
|
|
|
22
26
|
/**
|
|
23
27
|
* Per-batch dependencies the Lighter `signActions` implementation needs:
|
|
@@ -202,34 +206,41 @@ async function signRegisterApiKey(
|
|
|
202
206
|
}
|
|
203
207
|
|
|
204
208
|
/**
|
|
205
|
-
*
|
|
206
|
-
*
|
|
207
|
-
*
|
|
208
|
-
*
|
|
209
|
-
* 3.
|
|
210
|
-
*
|
|
209
|
+
* Shared L1-countersign flow for the Lighter WASM_BLOB actions that require
|
|
210
|
+
* the end-user's Ethereum wallet:
|
|
211
|
+
* 1. Guard that the caller supplied `ctx.userWallet`.
|
|
212
|
+
* 2. Load the user's stored API key (no keypair generation).
|
|
213
|
+
* 3. Wasm-sign the blob via `signMethod`, obtaining the EIP-191 L1 message
|
|
214
|
+
* the wallet must countersign.
|
|
215
|
+
* 4. Have the user's L1 Ethereum wallet sign that message.
|
|
216
|
+
* 5. Inject the L1 signature into the txInfo JSON as `L1Sig`.
|
|
211
217
|
*
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
*
|
|
218
|
+
* `actionLabel` names the caller's action in the missing-wallet error
|
|
219
|
+
* message. `signMethod` is the caller's wasm-signing call; each caller keeps
|
|
220
|
+
* its own doc comment stating why its flow needs the L1 signature.
|
|
215
221
|
*/
|
|
216
|
-
async function
|
|
222
|
+
async function signL1CountersignedWasmAction(
|
|
217
223
|
deps: LighterSignActionsDeps,
|
|
218
224
|
address: Address,
|
|
219
225
|
step: WasmBlobActionStep,
|
|
220
|
-
ctx: SignActionsContext | undefined
|
|
226
|
+
ctx: SignActionsContext | undefined,
|
|
227
|
+
actionLabel: 'APPROVE_INTEGRATOR' | 'TRANSFER',
|
|
228
|
+
signMethod: (
|
|
229
|
+
wasmSignParams: Record<string, unknown>,
|
|
230
|
+
context: LighterSignerContext
|
|
231
|
+
) => Promise<LighterSignedBlob & { messageToSign: string }>
|
|
221
232
|
): Promise<WasmBlobSignedActionStep> {
|
|
222
233
|
const walletSigner = ctx?.userWallet
|
|
223
234
|
if (!walletSigner) {
|
|
224
235
|
throw new PerpsError(
|
|
225
236
|
PerpsErrorCode.SDKError,
|
|
226
|
-
|
|
237
|
+
`${actionLabel} requires the end-user wallet — pass \`userWallet\` to ` +
|
|
227
238
|
'createPerpsClient or call setUserWallet(walletClient).'
|
|
228
239
|
)
|
|
229
240
|
}
|
|
230
241
|
|
|
231
242
|
const apiKey = await requireApiKey(deps, address)
|
|
232
|
-
const signed = await
|
|
243
|
+
const signed = await signMethod(step.wasmSignParams, {
|
|
233
244
|
apiKeyPrivateKey: apiKey.apiKeyPrivateKey,
|
|
234
245
|
apiKeyIndex: apiKey.apiKeyIndex,
|
|
235
246
|
accountIndex: apiKey.accountIndex,
|
|
@@ -257,58 +268,49 @@ async function signApproveIntegrator(
|
|
|
257
268
|
}
|
|
258
269
|
|
|
259
270
|
/**
|
|
260
|
-
*
|
|
261
|
-
*
|
|
262
|
-
*
|
|
263
|
-
*
|
|
264
|
-
* 3. Have the user's L1 Ethereum wallet sign that message.
|
|
265
|
-
* 4. Inject the L1 signature into the txInfo JSON as `L1Sig`.
|
|
266
|
-
*
|
|
267
|
-
* Requires the end-user's wallet in `ctx.userWallet`: the destination account
|
|
268
|
-
* and the amount are only bound to the account owner by the user's `L1Sig`,
|
|
269
|
-
* so the stored API key alone must not authorize the move.
|
|
271
|
+
* APPROVE_INTEGRATOR flow. Requires the end-user's wallet in
|
|
272
|
+
* `ctx.userWallet`: Lighter rejects the tx without the user's `L1Sig` when
|
|
273
|
+
* the integrator account belongs to a different L1 address with non-zero fee
|
|
274
|
+
* caps.
|
|
270
275
|
*/
|
|
271
|
-
async function
|
|
276
|
+
async function signApproveIntegrator(
|
|
272
277
|
deps: LighterSignActionsDeps,
|
|
273
278
|
address: Address,
|
|
274
279
|
step: WasmBlobActionStep,
|
|
275
280
|
ctx: SignActionsContext | undefined
|
|
276
281
|
): Promise<WasmBlobSignedActionStep> {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
)
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
const apiKey = await requireApiKey(deps, address)
|
|
287
|
-
const signed = await deps.signer.signTransfer(step.wasmSignParams, {
|
|
288
|
-
apiKeyPrivateKey: apiKey.apiKeyPrivateKey,
|
|
289
|
-
apiKeyIndex: apiKey.apiKeyIndex,
|
|
290
|
-
accountIndex: apiKey.accountIndex,
|
|
291
|
-
})
|
|
292
|
-
|
|
293
|
-
const l1Signature = await walletSigner.signMessage({
|
|
294
|
-
account: walletSigner.account,
|
|
295
|
-
message: signed.messageToSign,
|
|
296
|
-
})
|
|
297
|
-
|
|
298
|
-
const txInfoWithL1Sig = deps.signer.embedL1Signature(
|
|
299
|
-
signed.txInfo,
|
|
300
|
-
l1Signature
|
|
282
|
+
return await signL1CountersignedWasmAction(
|
|
283
|
+
deps,
|
|
284
|
+
address,
|
|
285
|
+
step,
|
|
286
|
+
ctx,
|
|
287
|
+
'APPROVE_INTEGRATOR',
|
|
288
|
+
(wasmSignParams, context) =>
|
|
289
|
+
deps.signer.signApproveIntegrator(wasmSignParams, context)
|
|
301
290
|
)
|
|
291
|
+
}
|
|
302
292
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
293
|
+
/**
|
|
294
|
+
* TRANSFER flow. Requires the end-user's wallet in `ctx.userWallet`: the
|
|
295
|
+
* destination account and the amount are only bound to the account owner by
|
|
296
|
+
* the user's `L1Sig`, so the stored API key alone must not authorize the
|
|
297
|
+
* move.
|
|
298
|
+
*/
|
|
299
|
+
async function signTransfer(
|
|
300
|
+
deps: LighterSignActionsDeps,
|
|
301
|
+
address: Address,
|
|
302
|
+
step: WasmBlobActionStep,
|
|
303
|
+
ctx: SignActionsContext | undefined
|
|
304
|
+
): Promise<WasmBlobSignedActionStep> {
|
|
305
|
+
return await signL1CountersignedWasmAction(
|
|
306
|
+
deps,
|
|
307
|
+
address,
|
|
308
|
+
step,
|
|
309
|
+
ctx,
|
|
310
|
+
'TRANSFER',
|
|
311
|
+
(wasmSignParams, context) =>
|
|
312
|
+
deps.signer.signTransfer(wasmSignParams, context)
|
|
313
|
+
)
|
|
312
314
|
}
|
|
313
315
|
|
|
314
316
|
/**
|
|
@@ -27,7 +27,6 @@ export interface LighterWasmExports {
|
|
|
27
27
|
apiKeyIndex: number,
|
|
28
28
|
accountIndex: number
|
|
29
29
|
) => { error?: string }
|
|
30
|
-
CheckClient: (apiKeyIndex: number, accountIndex: number) => { error?: string }
|
|
31
30
|
/**
|
|
32
31
|
* Returns `{authToken}` on success — note the field name is `authToken`,
|
|
33
32
|
* NOT `token`. Reading the wrong field silently fails (Go sets nothing
|
|
@@ -143,7 +142,6 @@ export interface SignResult {
|
|
|
143
142
|
const WASM_FUNCTION_NAMES = [
|
|
144
143
|
'GenerateAPIKey',
|
|
145
144
|
'CreateClient',
|
|
146
|
-
'CheckClient',
|
|
147
145
|
'CreateAuthToken',
|
|
148
146
|
'SignChangePubKey',
|
|
149
147
|
'SignCreateOrder',
|
|
@@ -304,9 +302,14 @@ async function loadWasmUncached(): Promise<LighterWasmExports> {
|
|
|
304
302
|
// Wait microtasks to let Go's init() register JS-bound functions.
|
|
305
303
|
await yieldToGoRuntime()
|
|
306
304
|
|
|
305
|
+
// Go's main.go only calls `js.Global().Set(name, ...)`; it never reads those
|
|
306
|
+
// names back, so dispatch survives the deletion while the captured handle
|
|
307
|
+
// keeps working. Left installed, they let any same-origin script sign with
|
|
308
|
+
// the API key held inside the instance. Never restore them for convenience.
|
|
309
|
+
const globals = globalThis as Record<string, unknown>
|
|
307
310
|
const exports: Partial<LighterWasmExports> = {}
|
|
308
311
|
for (const name of WASM_FUNCTION_NAMES) {
|
|
309
|
-
const fn =
|
|
312
|
+
const fn = globals[name]
|
|
310
313
|
if (typeof fn !== 'function') {
|
|
311
314
|
throw new Error(
|
|
312
315
|
`Lighter WASM did not export expected function: ${name}. ` +
|
|
@@ -314,6 +317,7 @@ async function loadWasmUncached(): Promise<LighterWasmExports> {
|
|
|
314
317
|
)
|
|
315
318
|
}
|
|
316
319
|
;(exports as Record<string, unknown>)[name] = fn
|
|
320
|
+
delete globals[name]
|
|
317
321
|
}
|
|
318
322
|
|
|
319
323
|
return exports as LighterWasmExports
|