@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
|
@@ -6393,6 +6393,51 @@ function createNearTransactionSigningOperationId$1() {
|
|
|
6393
6393
|
const randomId = secureRandomBase64Url(32, "NEAR transaction signing operation IDs");
|
|
6394
6394
|
return SigningSessionIds.signingOperation(`near-transaction-sign:${randomId}`);
|
|
6395
6395
|
}
|
|
6396
|
+
async function prepareNearTransactionConfirmationReadiness(args) {
|
|
6397
|
+
const material = await prepareNearOperationStepUpMaterial({
|
|
6398
|
+
method: args.method,
|
|
6399
|
+
preparation: args.preparation,
|
|
6400
|
+
executor: args.executor
|
|
6401
|
+
});
|
|
6402
|
+
const materialFacts = nearOperationStepUpMaterialFacts(material);
|
|
6403
|
+
if (String(materialFacts.thresholdSessionId) !== args.expectedThresholdSessionId) throw new Error("[SigningEngine][near] prepared operation material changed threshold session");
|
|
6404
|
+
registerNearOperationStepUpBuilder({
|
|
6405
|
+
requestId: args.requestId,
|
|
6406
|
+
build: async (preparation) => {
|
|
6407
|
+
if (preparation.kind !== "near_transaction") throw new Error("[SigningEngine][near] transaction step-up preparation kind changed");
|
|
6408
|
+
if (preparation.operationId !== String(args.operation.operationId)) throw new Error("[SigningEngine][near] operation step-up operation identity changed");
|
|
6409
|
+
return await prepareRouterAbEd25519NearTransactionOperationStepUp({
|
|
6410
|
+
...args.operation,
|
|
6411
|
+
thresholdSessionId: materialFacts.thresholdSessionId,
|
|
6412
|
+
materialFacts,
|
|
6413
|
+
materialActivation: material.materialActivation,
|
|
6414
|
+
transactionContext: preparation.transactionContext,
|
|
6415
|
+
displayDigest: preparation.displayDigest
|
|
6416
|
+
});
|
|
6417
|
+
}
|
|
6418
|
+
});
|
|
6419
|
+
registerNearImplicitAccountFunder({
|
|
6420
|
+
requestId: args.requestId,
|
|
6421
|
+
fund: async (request) => await fundNearImplicitAccountForOperationStepUp({
|
|
6422
|
+
...args.funding,
|
|
6423
|
+
request,
|
|
6424
|
+
fundingSession: await args.executor.resolveFundingSession(),
|
|
6425
|
+
method: args.method
|
|
6426
|
+
})
|
|
6427
|
+
});
|
|
6428
|
+
return material;
|
|
6429
|
+
}
|
|
6430
|
+
function clearNearTransactionConfirmationResources(requestId) {
|
|
6431
|
+
clearNearOperationStepUpBuilder(requestId);
|
|
6432
|
+
clearNearImplicitAccountFunder(requestId);
|
|
6433
|
+
}
|
|
6434
|
+
function clearNearTransactionConfirmationReadinessWhenSettled(args) {
|
|
6435
|
+
if (!args.readiness) {
|
|
6436
|
+
clearNearTransactionConfirmationResources(args.requestId);
|
|
6437
|
+
return;
|
|
6438
|
+
}
|
|
6439
|
+
args.readiness.then(clearNearTransactionConfirmationResources.bind(void 0, args.requestId), clearNearTransactionConfirmationResources.bind(void 0, args.requestId));
|
|
6440
|
+
}
|
|
6396
6441
|
/**
|
|
6397
6442
|
* Sign one NEAR transaction. A transaction may contain multiple actions.
|
|
6398
6443
|
*/
|
|
@@ -6482,44 +6527,28 @@ async function runNearAuthorizationRequiredTransactionSigning(payload) {
|
|
|
6482
6527
|
...emailOtpEd25519StepUp ? { emailOtpEd25519StepUp } : {}
|
|
6483
6528
|
});
|
|
6484
6529
|
if (preparedStepUp.kind === "warm_session") throw new Error("[SigningEngine][near] deferred Ed25519 transaction cannot use warm session");
|
|
6485
|
-
const operationStepUpMaterial = await prepareNearOperationStepUpMaterial({
|
|
6486
|
-
method: preparedStepUp.kind,
|
|
6487
|
-
preparation: yaoSigningPreparation,
|
|
6488
|
-
executor: yaoMaterialExecutor
|
|
6489
|
-
});
|
|
6490
|
-
const materialFacts = nearOperationStepUpMaterialFacts(operationStepUpMaterial);
|
|
6491
6530
|
const signingOperationUses = requiredNearTransactionSignatureUses(transaction);
|
|
6492
|
-
|
|
6493
|
-
requestId: String(operationId),
|
|
6494
|
-
build: async (preparation) => {
|
|
6495
|
-
if (preparation.kind !== "near_transaction") throw new Error("[SigningEngine][near] transaction step-up preparation kind changed");
|
|
6496
|
-
return await prepareRouterAbEd25519NearTransactionOperationStepUp({
|
|
6497
|
-
ctx,
|
|
6498
|
-
thresholdSessionId: materialFacts.thresholdSessionId,
|
|
6499
|
-
materialFacts,
|
|
6500
|
-
thresholdKeyMaterial: signingContext.threshold.thresholdKeyMaterial,
|
|
6501
|
-
walletId: commandSubject.walletSession.walletId,
|
|
6502
|
-
nearAccountId,
|
|
6503
|
-
materialActivation: operationStepUpMaterial.materialActivation,
|
|
6504
|
-
operationId,
|
|
6505
|
-
operationFingerprint,
|
|
6506
|
-
txSigningRequest,
|
|
6507
|
-
transactionContext: preparation.transactionContext,
|
|
6508
|
-
displayDigest: preparation.displayDigest
|
|
6509
|
-
});
|
|
6510
|
-
}
|
|
6511
|
-
});
|
|
6512
|
-
registerNearImplicitAccountFunder({
|
|
6531
|
+
const operationStepUpReadiness = prepareNearTransactionConfirmationReadiness({
|
|
6513
6532
|
requestId: String(operationId),
|
|
6514
|
-
|
|
6515
|
-
|
|
6533
|
+
expectedThresholdSessionId: String(deferredIdentity.thresholdSessionId),
|
|
6534
|
+
method: preparedStepUp.kind,
|
|
6535
|
+
preparation: yaoSigningPreparation,
|
|
6536
|
+
executor: yaoMaterialExecutor,
|
|
6537
|
+
operation: {
|
|
6538
|
+
ctx,
|
|
6539
|
+
thresholdKeyMaterial: signingContext.threshold.thresholdKeyMaterial,
|
|
6540
|
+
walletId: commandSubject.walletSession.walletId,
|
|
6541
|
+
nearAccountId,
|
|
6542
|
+
operationId,
|
|
6543
|
+
operationFingerprint,
|
|
6544
|
+
txSigningRequest
|
|
6545
|
+
},
|
|
6546
|
+
funding: {
|
|
6516
6547
|
ctx,
|
|
6517
6548
|
nearPublicKeyStr: signingContext.signingNearPublicKeyStr,
|
|
6518
|
-
fundingSession: await yaoMaterialExecutor.resolveFundingSession(),
|
|
6519
|
-
method: preparedStepUp.kind,
|
|
6520
6549
|
signingOperation,
|
|
6521
6550
|
signatureUses: signingOperationUses
|
|
6522
|
-
}
|
|
6551
|
+
}
|
|
6523
6552
|
});
|
|
6524
6553
|
let confirmation;
|
|
6525
6554
|
try {
|
|
@@ -6555,6 +6584,10 @@ async function runNearAuthorizationRequiredTransactionSigning(payload) {
|
|
|
6555
6584
|
}),
|
|
6556
6585
|
title,
|
|
6557
6586
|
body,
|
|
6587
|
+
confirmationReadiness: {
|
|
6588
|
+
promise: operationStepUpReadiness,
|
|
6589
|
+
body: "Preparing secure signing session…"
|
|
6590
|
+
},
|
|
6558
6591
|
onProgress: emitNearSigningConfirmationProgress.bind(void 0, {
|
|
6559
6592
|
onEvent,
|
|
6560
6593
|
nearAccountId,
|
|
@@ -6563,9 +6596,13 @@ async function runNearAuthorizationRequiredTransactionSigning(payload) {
|
|
|
6563
6596
|
}
|
|
6564
6597
|
});
|
|
6565
6598
|
} finally {
|
|
6566
|
-
|
|
6567
|
-
|
|
6599
|
+
clearNearTransactionConfirmationReadinessWhenSettled({
|
|
6600
|
+
requestId: String(operationId),
|
|
6601
|
+
readiness: operationStepUpReadiness
|
|
6602
|
+
});
|
|
6568
6603
|
}
|
|
6604
|
+
const operationStepUpMaterial = await operationStepUpReadiness;
|
|
6605
|
+
const materialFacts = nearOperationStepUpMaterialFacts(operationStepUpMaterial);
|
|
6569
6606
|
const stepUpAuthorization = buildNearEd25519StepUpAuthorization({
|
|
6570
6607
|
prepared: preparedStepUp,
|
|
6571
6608
|
confirmation
|
|
@@ -6774,50 +6811,28 @@ async function runAuthorizedNearTransactionWithActionsSigning({ ctx, commandSubj
|
|
|
6774
6811
|
overlay: "show"
|
|
6775
6812
|
}
|
|
6776
6813
|
});
|
|
6777
|
-
|
|
6778
|
-
|
|
6779
|
-
|
|
6780
|
-
|
|
6781
|
-
|
|
6782
|
-
|
|
6783
|
-
|
|
6784
|
-
|
|
6785
|
-
|
|
6786
|
-
|
|
6787
|
-
|
|
6788
|
-
|
|
6789
|
-
|
|
6790
|
-
|
|
6791
|
-
|
|
6792
|
-
|
|
6793
|
-
|
|
6794
|
-
|
|
6795
|
-
|
|
6796
|
-
|
|
6797
|
-
|
|
6798
|
-
|
|
6799
|
-
operationId: signingOperation.operationId,
|
|
6800
|
-
operationFingerprint,
|
|
6801
|
-
txSigningRequest,
|
|
6802
|
-
transactionContext: preparation.transactionContext,
|
|
6803
|
-
displayDigest: preparation.displayDigest
|
|
6804
|
-
});
|
|
6805
|
-
}
|
|
6806
|
-
});
|
|
6807
|
-
const stepUpFundingMethod = preparedStepUp.kind;
|
|
6808
|
-
registerNearImplicitAccountFunder({
|
|
6809
|
-
requestId: thresholdSessionId,
|
|
6810
|
-
fund: async (fundingRequest) => await fundNearImplicitAccountForOperationStepUp({
|
|
6811
|
-
request: fundingRequest,
|
|
6812
|
-
ctx,
|
|
6813
|
-
nearPublicKeyStr: signingContext.signingNearPublicKeyStr,
|
|
6814
|
-
fundingSession: await yaoMaterialExecutor.resolveFundingSession(),
|
|
6815
|
-
method: stepUpFundingMethod,
|
|
6816
|
-
signingOperation,
|
|
6817
|
-
signatureUses: requiredSignatureUses
|
|
6818
|
-
})
|
|
6819
|
-
});
|
|
6820
|
-
}
|
|
6814
|
+
const operationStepUpReadiness = preparedStepUp.kind === "warm_session" ? null : prepareNearTransactionConfirmationReadiness({
|
|
6815
|
+
requestId: thresholdSessionId,
|
|
6816
|
+
expectedThresholdSessionId: thresholdSessionId,
|
|
6817
|
+
method: preparedStepUp.kind,
|
|
6818
|
+
preparation: yaoSigningPreparation,
|
|
6819
|
+
executor: yaoMaterialExecutor,
|
|
6820
|
+
operation: {
|
|
6821
|
+
ctx,
|
|
6822
|
+
thresholdKeyMaterial: signingContext.threshold.thresholdKeyMaterial,
|
|
6823
|
+
walletId: commandSubject.walletSession.walletId,
|
|
6824
|
+
nearAccountId,
|
|
6825
|
+
operationId: signingOperation.operationId,
|
|
6826
|
+
operationFingerprint,
|
|
6827
|
+
txSigningRequest
|
|
6828
|
+
},
|
|
6829
|
+
funding: {
|
|
6830
|
+
ctx,
|
|
6831
|
+
nearPublicKeyStr: signingContext.signingNearPublicKeyStr,
|
|
6832
|
+
signingOperation,
|
|
6833
|
+
signatureUses: requiredSignatureUses
|
|
6834
|
+
}
|
|
6835
|
+
});
|
|
6821
6836
|
let confirmation;
|
|
6822
6837
|
try {
|
|
6823
6838
|
confirmation = await runSigningConfirmationCommand({
|
|
@@ -6852,13 +6867,20 @@ async function runAuthorizedNearTransactionWithActionsSigning({ ctx, commandSubj
|
|
|
6852
6867
|
}),
|
|
6853
6868
|
title,
|
|
6854
6869
|
body,
|
|
6870
|
+
...operationStepUpReadiness ? { confirmationReadiness: {
|
|
6871
|
+
promise: operationStepUpReadiness,
|
|
6872
|
+
body: "Preparing secure signing session…"
|
|
6873
|
+
} } : {},
|
|
6855
6874
|
onProgress: emitUiConfirmProgress
|
|
6856
6875
|
}
|
|
6857
6876
|
});
|
|
6858
6877
|
} finally {
|
|
6859
|
-
|
|
6860
|
-
|
|
6878
|
+
clearNearTransactionConfirmationReadinessWhenSettled({
|
|
6879
|
+
requestId: thresholdSessionId,
|
|
6880
|
+
readiness: operationStepUpReadiness
|
|
6881
|
+
});
|
|
6861
6882
|
}
|
|
6883
|
+
const operationStepUpMaterial = operationStepUpReadiness ? await operationStepUpReadiness : null;
|
|
6862
6884
|
emitNearSigningEvent$2(onEvent, nearAccountId, {
|
|
6863
6885
|
phase: SigningEventPhase.STEP_05_CONFIRMATION_APPROVED,
|
|
6864
6886
|
status: "succeeded",
|
|
@@ -8684,19 +8706,16 @@ function buildNearPasskeyEd25519OperationStepUp(args) {
|
|
|
8684
8706
|
if (args.auth.kind !== "passkey") return void 0;
|
|
8685
8707
|
const auth = args.auth;
|
|
8686
8708
|
return { prepare: async () => {
|
|
8687
|
-
const materialFacts = await resolveNearPasskeyStepUpMaterialFacts({
|
|
8688
|
-
preparation: args.preparation,
|
|
8689
|
-
executor: args.materialExecutor
|
|
8690
|
-
});
|
|
8691
8709
|
const signer = args.signer;
|
|
8710
|
+
const authority = await exactPasskeyStepUpAuthority({
|
|
8711
|
+
authorityRef: nearPasskeyPreparationAuthority(args.preparation),
|
|
8712
|
+
walletId: signer.account.wallet.walletId,
|
|
8713
|
+
rpId: auth.rpId,
|
|
8714
|
+
credentialIdB64u: auth.credentialIdB64u
|
|
8715
|
+
});
|
|
8692
8716
|
return {
|
|
8693
|
-
thresholdSessionId:
|
|
8694
|
-
authority
|
|
8695
|
-
authorityRef: nearPasskeyPreparationAuthority(args.preparation),
|
|
8696
|
-
walletId: signer.account.wallet.walletId,
|
|
8697
|
-
rpId: auth.rpId,
|
|
8698
|
-
credentialIdB64u: auth.credentialIdB64u
|
|
8699
|
-
})
|
|
8717
|
+
thresholdSessionId: args.thresholdSessionId,
|
|
8718
|
+
authority
|
|
8700
8719
|
};
|
|
8701
8720
|
} };
|
|
8702
8721
|
}
|
|
@@ -8729,17 +8748,6 @@ async function exactPasskeyStepUpAuthority(args) {
|
|
|
8729
8748
|
if (resolvedRef.walletId !== args.authorityRef.walletId || resolvedRef.walletAuthMethodId !== args.authorityRef.walletAuthMethodId || resolvedRef.authorityDigest !== args.authorityRef.authorityDigest) throw new Error("[SigningEngine][near] exact Passkey step-up authority changed");
|
|
8730
8749
|
return authority;
|
|
8731
8750
|
}
|
|
8732
|
-
async function resolveNearPasskeyStepUpMaterialFacts(args) {
|
|
8733
|
-
switch (args.preparation.hydration.kind) {
|
|
8734
|
-
case "use_live_runtime": return (await args.executor.resolve(args.preparation)).facts;
|
|
8735
|
-
case "rehydrate_material_activation": return (await args.executor.preparePasskeyOperationStepUp(args.preparation)).facts;
|
|
8736
|
-
case "reauthorize_public_anchor": throw new Error("[SigningEngine][near] retired material cannot prepare Passkey step-up");
|
|
8737
|
-
case "blocked": throw new Error(`[SigningEngine][near] Passkey step-up material is blocked: ${args.preparation.hydration.reason}`);
|
|
8738
|
-
default:
|
|
8739
|
-
args.preparation.hydration;
|
|
8740
|
-
throw new Error("[SigningEngine][near] unsupported Passkey step-up material source");
|
|
8741
|
-
}
|
|
8742
|
-
}
|
|
8743
8751
|
function buildNearEmailOtpEd25519StepUp(args) {
|
|
8744
8752
|
if (args.auth.kind !== SIGNER_AUTH_METHODS.emailOtp || typeof args.deps.requestEmailOtpEd25519SigningChallenge !== "function") return;
|
|
8745
8753
|
if (!args.preparation.hydration.materialActivation) return;
|
|
@@ -8810,8 +8818,8 @@ async function prepareNearAdHocSigningSession(args) {
|
|
|
8810
8818
|
passkeyEd25519OperationStepUp: buildNearPasskeyEd25519OperationStepUp({
|
|
8811
8819
|
auth: candidate.auth,
|
|
8812
8820
|
signer,
|
|
8813
|
-
|
|
8814
|
-
|
|
8821
|
+
thresholdSessionId: materialIdentity.thresholdSessionId,
|
|
8822
|
+
preparation: materialBoundary.preparation
|
|
8815
8823
|
}) || null,
|
|
8816
8824
|
emailOtpEd25519StepUp: buildNearEmailOtpEd25519StepUp({
|
|
8817
8825
|
deps: args.deps,
|
|
@@ -8838,8 +8846,8 @@ async function prepareNearAdHocSigningSession(args) {
|
|
|
8838
8846
|
passkeyEd25519OperationStepUp: buildNearPasskeyEd25519OperationStepUp({
|
|
8839
8847
|
auth: selectedLane.auth,
|
|
8840
8848
|
signer: selectedLane.identity.signer,
|
|
8841
|
-
|
|
8842
|
-
|
|
8849
|
+
thresholdSessionId: selectedLane.identity.thresholdSessionId,
|
|
8850
|
+
preparation: materialBoundary.preparation
|
|
8843
8851
|
}) || null,
|
|
8844
8852
|
emailOtpEd25519StepUp: buildNearEmailOtpEd25519StepUp({
|
|
8845
8853
|
deps: args.deps,
|
|
@@ -8902,8 +8910,8 @@ async function prepareNearAuthorizationRequiredTransaction(args) {
|
|
|
8902
8910
|
passkeyEd25519OperationStepUp: buildNearPasskeyEd25519OperationStepUp({
|
|
8903
8911
|
auth: candidate.auth,
|
|
8904
8912
|
signer,
|
|
8905
|
-
|
|
8906
|
-
|
|
8913
|
+
thresholdSessionId: materialIdentity.thresholdSessionId,
|
|
8914
|
+
preparation: materialBoundary.preparation
|
|
8907
8915
|
}) || null,
|
|
8908
8916
|
emailOtpEd25519StepUp: buildNearEmailOtpEd25519StepUp({
|
|
8909
8917
|
deps: args.deps,
|
|
@@ -9257,8 +9265,8 @@ async function signTransactionWithActions(deps, args, attempt = {}) {
|
|
|
9257
9265
|
const passkeyEd25519OperationStepUp = buildNearPasskeyEd25519OperationStepUp({
|
|
9258
9266
|
auth: transactionLane.auth,
|
|
9259
9267
|
signer: transactionLane.identity.signer,
|
|
9260
|
-
|
|
9261
|
-
|
|
9268
|
+
thresholdSessionId,
|
|
9269
|
+
preparation: materialBoundary.preparation
|
|
9262
9270
|
});
|
|
9263
9271
|
const emailOtpEd25519StepUp = buildNearEmailOtpEd25519StepUp({
|
|
9264
9272
|
deps,
|
|
@@ -828,6 +828,7 @@ async function signEvmFamilyWithUiConfirm(args) {
|
|
|
828
828
|
const thresholdEcdsaStepUp = input.thresholdEcdsaStepUp;
|
|
829
829
|
const thresholdEcdsaStepUpRuntime = thresholdEcdsaStepUp.kind === "not_required" ? void 0 : thresholdEcdsaStepUp.runtime;
|
|
830
830
|
const signingAuthPlan = signingAuthPlanFromThresholdEcdsaStepUp(thresholdEcdsaStepUp);
|
|
831
|
+
const requiresThresholdEcdsaOperationStepUp = input.authorization.kind === "owner" && thresholdEcdsaStepUp.kind === "required" && (thresholdEcdsaStepUp.runtime.reusableAuthorization.kind === "absent" || !isWarmSessionSigningAuthPlan(thresholdEcdsaStepUp.authPlan.signingAuthPlan));
|
|
831
832
|
if (hasThresholdEcdsaRequest && !signingAuthPlan) switch (input.authorization.kind) {
|
|
832
833
|
case "owner": throw new Error("[chains] threshold ECDSA transaction signing requires an explicit auth plan");
|
|
833
834
|
case "active_wallet_authority": break;
|
|
@@ -935,7 +936,7 @@ async function signEvmFamilyWithUiConfirm(args) {
|
|
|
935
936
|
subtitle: config.body
|
|
936
937
|
});
|
|
937
938
|
let challengeB64u = base64UrlEncode(firstDigest);
|
|
938
|
-
if (firstSignRequest.algorithm === "secp256k1" && thresholdEcdsaStepUpRuntime && activeThresholdEcdsaOperation && input.resolveEcdsaSigningMaterialPlan) {
|
|
939
|
+
if (requiresThresholdEcdsaOperationStepUp && firstSignRequest.algorithm === "secp256k1" && thresholdEcdsaStepUpRuntime && activeThresholdEcdsaOperation && input.resolveEcdsaSigningMaterialPlan) {
|
|
939
940
|
const operationDigests = await buildEvmFamilyOperationDigests({
|
|
940
941
|
operationFingerprint: input.signingOperation?.operationFingerprint,
|
|
941
942
|
signingDigest32: inferDigest32FromSignRequest(firstSignRequest),
|
|
@@ -12,11 +12,11 @@ async function loadWebAuthnP256EngineCtor() {
|
|
|
12
12
|
return await webAuthnP256EngineCtorPromise;
|
|
13
13
|
}
|
|
14
14
|
async function loadSignEvmWithUiConfirm() {
|
|
15
|
-
if (!signEvmWithUiConfirmPromise) signEvmWithUiConfirmPromise = import("./signEvmWithUiConfirm-
|
|
15
|
+
if (!signEvmWithUiConfirmPromise) signEvmWithUiConfirmPromise = import("./signEvmWithUiConfirm-C4vBAKpE.js").then((mod) => mod.signEvmWithUiConfirm);
|
|
16
16
|
return await signEvmWithUiConfirmPromise;
|
|
17
17
|
}
|
|
18
18
|
async function loadSignEvmFamilyWithUiConfirmForTempo() {
|
|
19
|
-
if (!signEvmFamilyWithUiConfirmForTempoPromise) signEvmFamilyWithUiConfirmForTempoPromise = import("./signEvmFamilyWithUiConfirmForTempo-
|
|
19
|
+
if (!signEvmFamilyWithUiConfirmForTempoPromise) signEvmFamilyWithUiConfirmForTempoPromise = import("./signEvmFamilyWithUiConfirmForTempo-LNMzIdPa.js").then((mod) => mod.signEvmFamilyWithUiConfirmForTempo);
|
|
20
20
|
return await signEvmFamilyWithUiConfirmForTempoPromise;
|
|
21
21
|
}
|
|
22
22
|
//#endregion
|