@seams/wallet 0.5.1 → 0.5.3
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/LICENSE.md +201 -0
- package/THIRD_PARTY_NOTICES.md +15095 -0
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +7 -14
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +2 -1
- package/dist/esm/core/signingEngine/flows/signNear/signNear.js +16 -30
- package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +102 -80
- package/dist/esm/core/signingEngine/session/identity/exactWalletSessionReader.js +2 -27
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/signing.js +1 -1
- package/dist/esm/react/SeamsWeb/signingSurface/BrowserSigningSurface.js +7 -14
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlow.js +2 -1
- package/dist/esm/react/core/signingEngine/flows/signNear/signNear.js +16 -30
- package/dist/esm/react/core/signingEngine/flows/signNear/signTransactions.js +102 -80
- package/dist/esm/react/core/signingEngine/session/identity/exactWalletSessionReader.js +2 -27
- package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/signing.js +1 -1
- package/dist/esm/sdk/{display-rIXVrumh.js → display-CV_FRBAv.js} +1 -1
- package/dist/esm/sdk/export-private-key-viewer.js +8804 -55
- package/dist/esm/sdk/halo-border.js +8887 -8
- package/dist/{public/sdk/host-BqwEYhX0.js → esm/sdk/host-saeh9CWY.js} +2 -2
- package/dist/esm/sdk/passkey-halo-loading.js +8850 -27
- package/dist/{public/sdk/registrationPreparationPreload-u3ruCmpF.js → esm/sdk/registrationPreparationPreload-9iIiVEzP.js} +2 -2
- package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/esm/sdk/{runtime-auth-Da9yQyaD.js → runtime-auth-CqJzUZit.js} +3 -3
- package/dist/esm/sdk/{runtime-device-link-DNlzlwrr.js → runtime-device-link-BDex3l39.js} +2 -2
- package/dist/{public/sdk/runtime-ecdsa-tempo-B7dBVcCI.js → esm/sdk/runtime-ecdsa-tempo-CV2jjenL.js} +2 -2
- package/dist/{public/sdk/runtime-email-otp-CckVQZJC.js → esm/sdk/runtime-email-otp-CRXxFJfB.js} +2 -2
- package/dist/{public/sdk/runtime-export-WAiBwZL_.js → esm/sdk/runtime-export-DDRRvQHJ.js} +2 -2
- package/dist/esm/sdk/{runtime-near-DBJ4KfFv.js → runtime-near-DOmJffsR.js} +2 -2
- package/dist/{public/sdk/runtime-preferences-DmH7eMHH.js → esm/sdk/runtime-preferences-CPxDZqxr.js} +2 -2
- package/dist/esm/sdk/{runtime-recovery-kPgl9nTT.js → runtime-recovery-wZqjlB5u.js} +2 -2
- package/dist/esm/sdk/{runtimeContext-BorCgXo5.js → runtimeContext-D73F6HOf.js} +18 -50
- package/dist/{public/sdk/runtimeLoader-BKQjNgXO.js → esm/sdk/runtimeLoader-DzuoDxql.js} +9 -9
- package/dist/{public/sdk/signEvmFamily-CwJEkCP7.js → esm/sdk/signEvmFamily-CIlzzMEd.js} +3 -3
- package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-DtF2dEhK.js → signEvmFamilyWithUiConfirmForTempo-LNMzIdPa.js} +2 -2
- package/dist/esm/sdk/{signEvmWithUiConfirm-CeDL-vEX.js → signEvmWithUiConfirm-C4vBAKpE.js} +1 -1
- package/dist/esm/sdk/{signNear-B04A4qzs.js → signNear-d9Xz3SDg.js} +118 -110
- package/dist/esm/sdk/{signatureUses-BsYpH81W.js → signatureUses-Dg0S52Mp.js} +2 -1
- package/dist/{public/sdk/signerLoader-BhF6IFbD.js → esm/sdk/signerLoader-DVlqSMOs.js} +2 -2
- package/dist/esm/sdk/tx-confirm-ui.js +9568 -206
- package/dist/esm/sdk/w3a-tx-confirmer.js +8335 -206
- package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +4 -4
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
- package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
- package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/{display-rIXVrumh.js → display-CV_FRBAv.js} +1 -1
- package/dist/public/sdk/export-private-key-viewer.js +8804 -55
- package/dist/public/sdk/halo-border.js +8887 -8
- package/dist/{esm/sdk/host-BqwEYhX0.js → public/sdk/host-saeh9CWY.js} +2 -2
- package/dist/public/sdk/passkey-halo-loading.js +8850 -27
- package/dist/{esm/sdk/registrationPreparationPreload-u3ruCmpF.js → public/sdk/registrationPreparationPreload-9iIiVEzP.js} +2 -2
- package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/sdk/{runtime-auth-Da9yQyaD.js → runtime-auth-CqJzUZit.js} +3 -3
- package/dist/public/sdk/{runtime-device-link-DNlzlwrr.js → runtime-device-link-BDex3l39.js} +2 -2
- package/dist/{esm/sdk/runtime-ecdsa-tempo-B7dBVcCI.js → public/sdk/runtime-ecdsa-tempo-CV2jjenL.js} +2 -2
- package/dist/{esm/sdk/runtime-email-otp-CckVQZJC.js → public/sdk/runtime-email-otp-CRXxFJfB.js} +2 -2
- package/dist/{esm/sdk/runtime-export-WAiBwZL_.js → public/sdk/runtime-export-DDRRvQHJ.js} +2 -2
- package/dist/public/sdk/{runtime-near-DBJ4KfFv.js → runtime-near-DOmJffsR.js} +2 -2
- package/dist/{esm/sdk/runtime-preferences-DmH7eMHH.js → public/sdk/runtime-preferences-CPxDZqxr.js} +2 -2
- package/dist/public/sdk/{runtime-recovery-kPgl9nTT.js → runtime-recovery-wZqjlB5u.js} +2 -2
- package/dist/public/sdk/{runtimeContext-BorCgXo5.js → runtimeContext-D73F6HOf.js} +18 -50
- package/dist/{esm/sdk/runtimeLoader-BKQjNgXO.js → public/sdk/runtimeLoader-DzuoDxql.js} +9 -9
- package/dist/{esm/sdk/signEvmFamily-CwJEkCP7.js → public/sdk/signEvmFamily-CIlzzMEd.js} +3 -3
- package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-DtF2dEhK.js → signEvmFamilyWithUiConfirmForTempo-LNMzIdPa.js} +2 -2
- package/dist/public/sdk/{signEvmWithUiConfirm-CeDL-vEX.js → signEvmWithUiConfirm-C4vBAKpE.js} +1 -1
- package/dist/public/sdk/{signNear-B04A4qzs.js → signNear-d9Xz3SDg.js} +118 -110
- package/dist/public/sdk/{signatureUses-BsYpH81W.js → signatureUses-Dg0S52Mp.js} +2 -1
- package/dist/{esm/sdk/signerLoader-BhF6IFbD.js → public/sdk/signerLoader-DVlqSMOs.js} +2 -2
- package/dist/public/sdk/tx-confirm-ui.js +9568 -206
- package/dist/public/sdk/w3a-tx-confirmer.js +8335 -206
- package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/public/sdk/workers/device-linking-key.worker.js +8603 -3
- package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +12320 -1
- package/dist/public/sdk/workers/ecdsa-online-client.worker.js +623 -1
- package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +1276 -1
- package/dist/public/sdk/workers/email-otp.worker.js +15653 -7
- package/dist/public/sdk/workers/email_otp_runtime.js +39 -3
- package/dist/public/sdk/workers/email_otp_runtime_bg.wasm +0 -0
- package/dist/public/sdk/workers/evm-crypto.worker.js +1157 -5
- package/dist/public/sdk/workers/evm_crypto.wasm +0 -0
- package/dist/public/sdk/workers/evm_crypto_bg.wasm +0 -0
- package/dist/public/sdk/workers/near-signer.worker.js +1631 -2
- package/dist/public/sdk/workers/near_signer.wasm +0 -0
- package/dist/public/sdk/workers/passkey-confirm.worker.js +606 -1
- package/dist/public/sdk/workers/passkey-mpc-export.worker.js +5406 -2
- package/dist/public/sdk/workers/passkey-mpc-session.worker.js +1717 -1
- package/dist/public/sdk/workers/router_ab_ecdsa_client_bg.wasm +0 -0
- package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/sdk/workers/shamir3pass.worker.js +874 -4
- package/dist/public/sdk/workers/shamir3pass_runtime.js +84 -31
- package/dist/public/sdk/workers/shamir3pass_runtime_bg.wasm +0 -0
- package/dist/public/sdk/workers/tempo-signer.worker.js +987 -5
- package/dist/public/sdk/workers/tempo_signer.wasm +0 -0
- package/dist/public/sdk/workers/tempo_signer_bg.wasm +0 -0
- package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +55 -1244
- package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
- package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
- package/dist/public/wallet-assets.manifest.json +44 -44
- package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +4 -4
- package/dist/types/wallet/src/core/signingEngine/session/identity/exactWalletSessionReader.d.ts +1 -9
- package/dist/workers/device-linking-key.worker.js +8603 -3
- package/dist/workers/ecdsa-derivation-client.worker.js +12320 -1
- package/dist/workers/ecdsa-online-client.worker.js +623 -1
- package/dist/workers/ecdsa-presign-client.worker.js +1276 -1
- package/dist/workers/email-otp.worker.js +15653 -7
- package/dist/workers/email_otp_runtime.js +39 -3
- package/dist/workers/email_otp_runtime_bg.wasm +0 -0
- package/dist/workers/evm-crypto.worker.js +1157 -5
- package/dist/workers/evm_crypto.wasm +0 -0
- package/dist/workers/evm_crypto_bg.wasm +0 -0
- package/dist/workers/near-signer.worker.js +1631 -2
- package/dist/workers/near_signer.wasm +0 -0
- package/dist/workers/passkey-confirm.worker.js +606 -1
- package/dist/workers/passkey-mpc-export.worker.js +5406 -2
- package/dist/workers/passkey-mpc-session.worker.js +1717 -1
- package/dist/workers/router_ab_ecdsa_client_bg.wasm +0 -0
- package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/workers/shamir3pass.worker.js +874 -4
- package/dist/workers/shamir3pass_runtime.js +84 -31
- package/dist/workers/shamir3pass_runtime_bg.wasm +0 -0
- package/dist/workers/tempo-signer.worker.js +987 -5
- package/dist/workers/tempo_signer.wasm +0 -0
- package/dist/workers/tempo_signer_bg.wasm +0 -0
- package/dist/workers/wallet-custody-ceremony.worker.js +55 -1244
- package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
- package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
- package/package.json +5 -2
- package/LICENSE +0 -21
|
@@ -112,6 +112,51 @@ function createNearTransactionSigningOperationId() {
|
|
|
112
112
|
const randomId = secureRandomBase64Url(32, "NEAR transaction signing operation IDs");
|
|
113
113
|
return SigningSessionIds.signingOperation(`near-transaction-sign:${randomId}`);
|
|
114
114
|
}
|
|
115
|
+
async function prepareNearTransactionConfirmationReadiness(args) {
|
|
116
|
+
const material = await prepareNearOperationStepUpMaterial({
|
|
117
|
+
method: args.method,
|
|
118
|
+
preparation: args.preparation,
|
|
119
|
+
executor: args.executor
|
|
120
|
+
});
|
|
121
|
+
const materialFacts = nearOperationStepUpMaterialFacts(material);
|
|
122
|
+
if (String(materialFacts.thresholdSessionId) !== args.expectedThresholdSessionId) throw new Error("[SigningEngine][near] prepared operation material changed threshold session");
|
|
123
|
+
registerNearOperationStepUpBuilder({
|
|
124
|
+
requestId: args.requestId,
|
|
125
|
+
build: async (preparation) => {
|
|
126
|
+
if (preparation.kind !== "near_transaction") throw new Error("[SigningEngine][near] transaction step-up preparation kind changed");
|
|
127
|
+
if (preparation.operationId !== String(args.operation.operationId)) throw new Error("[SigningEngine][near] operation step-up operation identity changed");
|
|
128
|
+
return await prepareRouterAbEd25519NearTransactionOperationStepUp({
|
|
129
|
+
...args.operation,
|
|
130
|
+
thresholdSessionId: materialFacts.thresholdSessionId,
|
|
131
|
+
materialFacts,
|
|
132
|
+
materialActivation: material.materialActivation,
|
|
133
|
+
transactionContext: preparation.transactionContext,
|
|
134
|
+
displayDigest: preparation.displayDigest
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
registerNearImplicitAccountFunder({
|
|
139
|
+
requestId: args.requestId,
|
|
140
|
+
fund: async (request) => await fundNearImplicitAccountForOperationStepUp({
|
|
141
|
+
...args.funding,
|
|
142
|
+
request,
|
|
143
|
+
fundingSession: await args.executor.resolveFundingSession(),
|
|
144
|
+
method: args.method
|
|
145
|
+
})
|
|
146
|
+
});
|
|
147
|
+
return material;
|
|
148
|
+
}
|
|
149
|
+
function clearNearTransactionConfirmationResources(requestId) {
|
|
150
|
+
clearNearOperationStepUpBuilder(requestId);
|
|
151
|
+
clearNearImplicitAccountFunder(requestId);
|
|
152
|
+
}
|
|
153
|
+
function clearNearTransactionConfirmationReadinessWhenSettled(args) {
|
|
154
|
+
if (!args.readiness) {
|
|
155
|
+
clearNearTransactionConfirmationResources(args.requestId);
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
args.readiness.then(clearNearTransactionConfirmationResources.bind(void 0, args.requestId), clearNearTransactionConfirmationResources.bind(void 0, args.requestId));
|
|
159
|
+
}
|
|
115
160
|
/**
|
|
116
161
|
* Sign one NEAR transaction. A transaction may contain multiple actions.
|
|
117
162
|
*/
|
|
@@ -201,44 +246,28 @@ async function runNearAuthorizationRequiredTransactionSigning(payload) {
|
|
|
201
246
|
...emailOtpEd25519StepUp ? { emailOtpEd25519StepUp } : {}
|
|
202
247
|
});
|
|
203
248
|
if (preparedStepUp.kind === "warm_session") throw new Error("[SigningEngine][near] deferred Ed25519 transaction cannot use warm session");
|
|
204
|
-
const operationStepUpMaterial = await prepareNearOperationStepUpMaterial({
|
|
205
|
-
method: preparedStepUp.kind,
|
|
206
|
-
preparation: yaoSigningPreparation,
|
|
207
|
-
executor: yaoMaterialExecutor
|
|
208
|
-
});
|
|
209
|
-
const materialFacts = nearOperationStepUpMaterialFacts(operationStepUpMaterial);
|
|
210
249
|
const signingOperationUses = requiredNearTransactionSignatureUses(transaction);
|
|
211
|
-
|
|
212
|
-
requestId: String(operationId),
|
|
213
|
-
build: async (preparation) => {
|
|
214
|
-
if (preparation.kind !== "near_transaction") throw new Error("[SigningEngine][near] transaction step-up preparation kind changed");
|
|
215
|
-
return await prepareRouterAbEd25519NearTransactionOperationStepUp({
|
|
216
|
-
ctx,
|
|
217
|
-
thresholdSessionId: materialFacts.thresholdSessionId,
|
|
218
|
-
materialFacts,
|
|
219
|
-
thresholdKeyMaterial: signingContext.threshold.thresholdKeyMaterial,
|
|
220
|
-
walletId: commandSubject.walletSession.walletId,
|
|
221
|
-
nearAccountId,
|
|
222
|
-
materialActivation: operationStepUpMaterial.materialActivation,
|
|
223
|
-
operationId,
|
|
224
|
-
operationFingerprint,
|
|
225
|
-
txSigningRequest,
|
|
226
|
-
transactionContext: preparation.transactionContext,
|
|
227
|
-
displayDigest: preparation.displayDigest
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
});
|
|
231
|
-
registerNearImplicitAccountFunder({
|
|
250
|
+
const operationStepUpReadiness = prepareNearTransactionConfirmationReadiness({
|
|
232
251
|
requestId: String(operationId),
|
|
233
|
-
|
|
234
|
-
|
|
252
|
+
expectedThresholdSessionId: String(deferredIdentity.thresholdSessionId),
|
|
253
|
+
method: preparedStepUp.kind,
|
|
254
|
+
preparation: yaoSigningPreparation,
|
|
255
|
+
executor: yaoMaterialExecutor,
|
|
256
|
+
operation: {
|
|
257
|
+
ctx,
|
|
258
|
+
thresholdKeyMaterial: signingContext.threshold.thresholdKeyMaterial,
|
|
259
|
+
walletId: commandSubject.walletSession.walletId,
|
|
260
|
+
nearAccountId,
|
|
261
|
+
operationId,
|
|
262
|
+
operationFingerprint,
|
|
263
|
+
txSigningRequest
|
|
264
|
+
},
|
|
265
|
+
funding: {
|
|
235
266
|
ctx,
|
|
236
267
|
nearPublicKeyStr: signingContext.signingNearPublicKeyStr,
|
|
237
|
-
fundingSession: await yaoMaterialExecutor.resolveFundingSession(),
|
|
238
|
-
method: preparedStepUp.kind,
|
|
239
268
|
signingOperation,
|
|
240
269
|
signatureUses: signingOperationUses
|
|
241
|
-
}
|
|
270
|
+
}
|
|
242
271
|
});
|
|
243
272
|
let confirmation;
|
|
244
273
|
try {
|
|
@@ -274,6 +303,10 @@ async function runNearAuthorizationRequiredTransactionSigning(payload) {
|
|
|
274
303
|
}),
|
|
275
304
|
title,
|
|
276
305
|
body,
|
|
306
|
+
confirmationReadiness: {
|
|
307
|
+
promise: operationStepUpReadiness,
|
|
308
|
+
body: "Preparing secure signing session…"
|
|
309
|
+
},
|
|
277
310
|
onProgress: emitNearSigningConfirmationProgress.bind(void 0, {
|
|
278
311
|
onEvent,
|
|
279
312
|
nearAccountId,
|
|
@@ -282,9 +315,13 @@ async function runNearAuthorizationRequiredTransactionSigning(payload) {
|
|
|
282
315
|
}
|
|
283
316
|
});
|
|
284
317
|
} finally {
|
|
285
|
-
|
|
286
|
-
|
|
318
|
+
clearNearTransactionConfirmationReadinessWhenSettled({
|
|
319
|
+
requestId: String(operationId),
|
|
320
|
+
readiness: operationStepUpReadiness
|
|
321
|
+
});
|
|
287
322
|
}
|
|
323
|
+
const operationStepUpMaterial = await operationStepUpReadiness;
|
|
324
|
+
const materialFacts = nearOperationStepUpMaterialFacts(operationStepUpMaterial);
|
|
288
325
|
const stepUpAuthorization = buildNearEd25519StepUpAuthorization({
|
|
289
326
|
prepared: preparedStepUp,
|
|
290
327
|
confirmation
|
|
@@ -493,50 +530,28 @@ async function runAuthorizedNearTransactionWithActionsSigning({ ctx, commandSubj
|
|
|
493
530
|
overlay: "show"
|
|
494
531
|
}
|
|
495
532
|
});
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
operationId: signingOperation.operationId,
|
|
519
|
-
operationFingerprint,
|
|
520
|
-
txSigningRequest,
|
|
521
|
-
transactionContext: preparation.transactionContext,
|
|
522
|
-
displayDigest: preparation.displayDigest
|
|
523
|
-
});
|
|
524
|
-
}
|
|
525
|
-
});
|
|
526
|
-
const stepUpFundingMethod = preparedStepUp.kind;
|
|
527
|
-
registerNearImplicitAccountFunder({
|
|
528
|
-
requestId: thresholdSessionId,
|
|
529
|
-
fund: async (fundingRequest) => await fundNearImplicitAccountForOperationStepUp({
|
|
530
|
-
request: fundingRequest,
|
|
531
|
-
ctx,
|
|
532
|
-
nearPublicKeyStr: signingContext.signingNearPublicKeyStr,
|
|
533
|
-
fundingSession: await yaoMaterialExecutor.resolveFundingSession(),
|
|
534
|
-
method: stepUpFundingMethod,
|
|
535
|
-
signingOperation,
|
|
536
|
-
signatureUses: requiredSignatureUses
|
|
537
|
-
})
|
|
538
|
-
});
|
|
539
|
-
}
|
|
533
|
+
const operationStepUpReadiness = preparedStepUp.kind === "warm_session" ? null : prepareNearTransactionConfirmationReadiness({
|
|
534
|
+
requestId: thresholdSessionId,
|
|
535
|
+
expectedThresholdSessionId: thresholdSessionId,
|
|
536
|
+
method: preparedStepUp.kind,
|
|
537
|
+
preparation: yaoSigningPreparation,
|
|
538
|
+
executor: yaoMaterialExecutor,
|
|
539
|
+
operation: {
|
|
540
|
+
ctx,
|
|
541
|
+
thresholdKeyMaterial: signingContext.threshold.thresholdKeyMaterial,
|
|
542
|
+
walletId: commandSubject.walletSession.walletId,
|
|
543
|
+
nearAccountId,
|
|
544
|
+
operationId: signingOperation.operationId,
|
|
545
|
+
operationFingerprint,
|
|
546
|
+
txSigningRequest
|
|
547
|
+
},
|
|
548
|
+
funding: {
|
|
549
|
+
ctx,
|
|
550
|
+
nearPublicKeyStr: signingContext.signingNearPublicKeyStr,
|
|
551
|
+
signingOperation,
|
|
552
|
+
signatureUses: requiredSignatureUses
|
|
553
|
+
}
|
|
554
|
+
});
|
|
540
555
|
let confirmation;
|
|
541
556
|
try {
|
|
542
557
|
confirmation = await runSigningConfirmationCommand({
|
|
@@ -571,13 +586,20 @@ async function runAuthorizedNearTransactionWithActionsSigning({ ctx, commandSubj
|
|
|
571
586
|
}),
|
|
572
587
|
title,
|
|
573
588
|
body,
|
|
589
|
+
...operationStepUpReadiness ? { confirmationReadiness: {
|
|
590
|
+
promise: operationStepUpReadiness,
|
|
591
|
+
body: "Preparing secure signing session…"
|
|
592
|
+
} } : {},
|
|
574
593
|
onProgress: emitUiConfirmProgress
|
|
575
594
|
}
|
|
576
595
|
});
|
|
577
596
|
} finally {
|
|
578
|
-
|
|
579
|
-
|
|
597
|
+
clearNearTransactionConfirmationReadinessWhenSettled({
|
|
598
|
+
requestId: thresholdSessionId,
|
|
599
|
+
readiness: operationStepUpReadiness
|
|
600
|
+
});
|
|
580
601
|
}
|
|
602
|
+
const operationStepUpMaterial = operationStepUpReadiness ? await operationStepUpReadiness : null;
|
|
581
603
|
emitNearSigningEvent(onEvent, nearAccountId, {
|
|
582
604
|
phase: SigningEventPhase.STEP_05_CONFIRMATION_APPROVED,
|
|
583
605
|
status: "succeeded",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { WalletSessionAuthorizationUpgradeRequiredError
|
|
1
|
+
import { WalletSessionAuthorizationUpgradeRequiredError } from "../../../indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js";
|
|
2
2
|
//#region src/core/signingEngine/session/identity/exactWalletSessionReader.ts
|
|
3
3
|
function exactWalletSessionMatchesAuthorityScope(args) {
|
|
4
4
|
const { record, operationCredential, scope } = args;
|
|
@@ -48,32 +48,7 @@ function exactWalletSessionWithOperationCredentialOrThrow(result, message) {
|
|
|
48
48
|
case "upgrade_required": throw new WalletSessionAuthorizationUpgradeRequiredError(message);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
async function readExactOwnerLaneWalletSession(args) {
|
|
52
|
-
const read = await walletSessionAuthorizations.readExactActiveForWallet({
|
|
53
|
-
walletId: args.walletId,
|
|
54
|
-
authorityId: args.authorityId,
|
|
55
|
-
authMethodId: args.authMethodId
|
|
56
|
-
});
|
|
57
|
-
switch (read.kind) {
|
|
58
|
-
case "found":
|
|
59
|
-
if (!exactWalletSessionMatchesAuthorityScope({
|
|
60
|
-
record: read.record,
|
|
61
|
-
operationCredential: read.operationCredential,
|
|
62
|
-
scope: args
|
|
63
|
-
})) throw new Error("[SigningEngine] selected Wallet Authority session identity mismatch");
|
|
64
|
-
if (read.record.expiresAtMs <= Date.now()) throw new Error("[SigningEngine] selected Wallet Authority session is unavailable: expired");
|
|
65
|
-
return;
|
|
66
|
-
case "missing": throw new Error("[SigningEngine] selected Wallet Authority session is unavailable: missing");
|
|
67
|
-
case "upgrade_required": throw new WalletSessionAuthorizationUpgradeRequiredError("[SigningEngine] selected Wallet Authority Wallet Session requires a newer client");
|
|
68
|
-
case "corrupt": throw new Error("[SigningEngine] selected Wallet Authority session is unavailable: corrupt");
|
|
69
|
-
case "persistence_unavailable": throw new Error("[SigningEngine] selected Wallet Authority session is unavailable: persistence_unavailable");
|
|
70
|
-
default: return assertNeverWalletSessionAuthorizationRead(read);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
function assertNeverWalletSessionAuthorizationRead(value) {
|
|
74
|
-
throw new Error(`Unknown exact Wallet Session authorization read: ${String(value)}`);
|
|
75
|
-
}
|
|
76
51
|
//#endregion
|
|
77
|
-
export { exactWalletSessionWithOperationCredentialOrThrow,
|
|
52
|
+
export { exactWalletSessionWithOperationCredentialOrThrow, readExactWalletSessionAuthentication };
|
|
78
53
|
|
|
79
54
|
//# sourceMappingURL=exactWalletSessionReader.js.map
|
|
@@ -496,7 +496,7 @@ async function handleIntentDigestSigningFlow(ctx, request, worker, opts) {
|
|
|
496
496
|
};
|
|
497
497
|
const promptDecisionPromise = session.promptUser({
|
|
498
498
|
securityContext,
|
|
499
|
-
loading: !!intentPreparation,
|
|
499
|
+
loading: !!intentPreparation && signingAuthMode !== "warmSession",
|
|
500
500
|
onMounted: () => {
|
|
501
501
|
markPromptReady();
|
|
502
502
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as normalizeHexData } from "./bytes-BGPfIYh5.js";
|
|
2
|
-
import { _ as selectorFromHexData, g as resolveFunctionDisplayName, h as formatCalldataForDisplay, m as formatCompactGas } from "./signatureUses-
|
|
2
|
+
import { _ as selectorFromHexData, g as resolveFunctionDisplayName, h as formatCalldataForDisplay, m as formatCompactGas } from "./signatureUses-Dg0S52Mp.js";
|
|
3
3
|
//#region src/core/signingEngine/chains/tempo/display.ts
|
|
4
4
|
function toSafeJson(value) {
|
|
5
5
|
try {
|