Skip to content

Commit 3209476

Browse files
committed
Use transferable objects for signing worker communication
Transfer signature buffer back to main thread instead of copying, improving performance for large messages.
1 parent 3e84fc6 commit 3209476

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

packages/sdk/src/signature/SigningWorker.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { expose } from 'comlink'
1+
import { expose, transfer } from 'comlink'
22
import {
33
createSignatureFromData,
44
SigningResult,
@@ -9,7 +9,11 @@ const workerApi = {
99
createSignature: async (
1010
request: SigningRequest
1111
): Promise<SigningResult> => {
12-
return createSignatureFromData(request)
12+
const result = await createSignatureFromData(request)
13+
if (result.type === 'success') {
14+
return transfer(result, [result.signature.buffer])
15+
}
16+
return result
1317
},
1418
}
1519

0 commit comments

Comments
 (0)