@seams/wallet 0.6.0 → 0.6.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.
Files changed (128) hide show
  1. package/dist/.build-inputs.sha256 +1 -1
  2. package/dist/esm/SeamsWeb/SeamsWeb.js +1 -0
  3. package/dist/esm/SeamsWeb/operations/registration/registration.js +170 -33
  4. package/dist/esm/SeamsWeb/operations/registration/registrationTiming.js +33 -2
  5. package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +3 -0
  6. package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-controller.js +63 -10
  7. package/dist/esm/core/rpcClients/relayer/walletRegistration.js +88 -4
  8. package/dist/esm/core/signingEngine/session/passkey/prfCache.js +24 -4
  9. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +5 -3
  10. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +40 -3
  11. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +31 -35
  12. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +64 -10
  13. package/dist/esm/core/signingEngine/walletCustody/ceremonyDriver.js +1 -1
  14. package/dist/esm/react/SeamsWeb/SeamsWeb.js +1 -0
  15. package/dist/esm/react/SeamsWeb/operations/registration/registration.js +170 -33
  16. package/dist/esm/react/SeamsWeb/operations/registration/registrationTiming.js +33 -2
  17. package/dist/esm/react/SeamsWeb/signingSurface/BrowserSigningSurface.js +3 -0
  18. package/dist/esm/react/SeamsWeb/walletIframe/client/overlay/overlay-controller.js +63 -10
  19. package/dist/esm/react/core/rpcClients/relayer/walletRegistration.js +88 -4
  20. package/dist/esm/react/core/signingEngine/session/passkey/prfCache.js +24 -4
  21. package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +5 -3
  22. package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +40 -3
  23. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +31 -35
  24. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +64 -10
  25. package/dist/esm/react/core/signingEngine/walletCustody/ceremonyDriver.js +1 -1
  26. package/dist/esm/react/shared-ts/src/utils/routerAbEd25519Yao.js +13 -1
  27. package/dist/esm/sdk/{adapters-Dgy69gf0.js → adapters-LgE4nnos.js} +95 -45
  28. package/dist/esm/sdk/{defaultConfigs-DJCLCrg9.js → defaultConfigs-CyNOW4Sy.js} +1 -1
  29. package/dist/{public/sdk/ecdsaCapabilityManifest-DA_fklIs.js → esm/sdk/ecdsaCapabilityManifest-C8itxV9S.js} +1 -1
  30. package/dist/{public/sdk/ecdsaPresignLifecycle-D_KCktCj.js → esm/sdk/ecdsaPresignLifecycle-CnSnzoRJ.js} +13 -1
  31. package/dist/esm/sdk/{ed25519SeedMaterial-0VmS6K9P.js → ed25519SeedMaterial-Cghz8-XB.js} +2 -2
  32. package/dist/esm/sdk/{exactSessionState-C2aAv_ED.js → exactSessionState-Bt0HforB.js} +64 -11
  33. package/dist/esm/sdk/{export-viewer-host-NhjFdpm-.js → export-viewer-host-B3K81QGA.js} +1 -1
  34. package/dist/esm/sdk/{host-DACTruOj.js → host-Y_xmIzPO.js} +2 -2
  35. package/dist/esm/sdk/{localOnly-DTNq69fJ.js → localOnly-B5TYHJiq.js} +2 -2
  36. package/dist/{public/sdk/nearEd25519YaoMaterialActivation-4AuGG2DG.js → esm/sdk/nearEd25519YaoMaterialActivation-BLxVE6E5.js} +89 -5
  37. package/dist/esm/sdk/{nearEd25519YaoSigningPreparation-jiGcQylO.js → nearEd25519YaoSigningPreparation-DX6xG-IW.js} +1 -1
  38. package/dist/esm/sdk/{prfCache-Dwwauj4v.js → prfCache-CgAr-VEU.js} +24 -4
  39. package/dist/{public/sdk/recovery-entrypoint-CFTX6PFZ.js → esm/sdk/recovery-entrypoint-D39R1avB.js} +3 -3
  40. package/dist/{public/sdk/registration-CuP1WmQu.js → esm/sdk/registration-BtPLgKHk.js} +1 -1
  41. package/dist/esm/sdk/{registration-D8nYJKec.js → registration-D-istkMZ.js} +253 -38
  42. package/dist/esm/sdk/{registrationPreparationPreload-DDe0sbZi.js → registrationPreparationPreload-CvnlDCVn.js} +2 -2
  43. package/dist/{public/sdk/router-DeX_cJ2f.js → esm/sdk/router-CeFS9SgT.js} +3 -3
  44. package/dist/{public/sdk/routerAbNormalSigning-BGpRKRAj.js → esm/sdk/routerAbNormalSigning-DktZKnf1.js} +1 -1
  45. package/dist/{public/sdk/runtime-auth-Ch00YcH5.js → esm/sdk/runtime-auth-B7z1ANNp.js} +8 -8
  46. package/dist/esm/sdk/{runtime-device-link-CEhVZYAw.js → runtime-device-link-B8HGDakg.js} +4 -4
  47. package/dist/esm/sdk/{runtime-ecdsa-tempo-B-qMRrmx.js → runtime-ecdsa-tempo-DKdS5-us.js} +5 -5
  48. package/dist/{public/sdk/runtime-email-otp-giyMPib8.js → esm/sdk/runtime-email-otp-D5bxhdyG.js} +4 -4
  49. package/dist/{public/sdk/runtime-export-CV-6G1Oy.js → esm/sdk/runtime-export--hvNrx8l.js} +4 -4
  50. package/dist/{public/sdk/runtime-near-DoDcS88O.js → esm/sdk/runtime-near-CEexHoug.js} +4 -4
  51. package/dist/{public/sdk/runtime-preferences-Canyenle.js → esm/sdk/runtime-preferences-BiqPp1lV.js} +4 -4
  52. package/dist/esm/sdk/{runtime-recovery-lWyILD1g.js → runtime-recovery-BYu1gDq_.js} +4 -4
  53. package/dist/esm/sdk/{runtimeContext-BdTaYxJD.js → runtimeContext-CH97jPZ0.js} +80 -37
  54. package/dist/{public/sdk/runtimeLoader-Dxn8UA8B.js → esm/sdk/runtimeLoader-BFAmJAbu.js} +9 -9
  55. package/dist/esm/sdk/{secp256k1-CQFsI3qQ.js → secp256k1-Cr1jBW1n.js} +3 -3
  56. package/dist/esm/sdk/{signEvmFamily-CZLET02E.js → signEvmFamily-Dxk4sBPY.js} +7 -7
  57. package/dist/esm/sdk/{signNear-BeUWiWm_.js → signNear-B0OCVKoH.js} +6 -6
  58. package/dist/esm/sdk/{signerLoader-C_w8vuhm.js → signerLoader-D0WU1jq_.js} +1 -1
  59. package/dist/{public/sdk/transactionState-Dd13hMoY.js → esm/sdk/transactionState-Bpm4GamO.js} +2 -2
  60. package/dist/esm/sdk/tx-confirm-ui.js +134 -93
  61. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  62. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  63. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  64. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  65. package/dist/esm/sdk/wallet-ui.css +85 -31
  66. package/dist/{public/sdk/walletRecoveryCommit-DNvzgeIX.js → esm/sdk/walletRecoveryCommit-G6w6N5RV.js} +3 -3
  67. package/dist/esm/sdk/{warmSessionHydration-CCKeEIIy.js → warmSessionHydration-DDNYdTCz.js} +1 -1
  68. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +13 -1
  69. package/dist/public/headers.manifest.json +1 -1
  70. package/dist/public/sdk/{adapters-Dgy69gf0.js → adapters-LgE4nnos.js} +95 -45
  71. package/dist/public/sdk/{defaultConfigs-DJCLCrg9.js → defaultConfigs-CyNOW4Sy.js} +1 -1
  72. package/dist/{esm/sdk/ecdsaCapabilityManifest-DA_fklIs.js → public/sdk/ecdsaCapabilityManifest-C8itxV9S.js} +1 -1
  73. package/dist/{esm/sdk/ecdsaPresignLifecycle-D_KCktCj.js → public/sdk/ecdsaPresignLifecycle-CnSnzoRJ.js} +13 -1
  74. package/dist/public/sdk/{ed25519SeedMaterial-0VmS6K9P.js → ed25519SeedMaterial-Cghz8-XB.js} +2 -2
  75. package/dist/public/sdk/{exactSessionState-C2aAv_ED.js → exactSessionState-Bt0HforB.js} +64 -11
  76. package/dist/public/sdk/{export-viewer-host-NhjFdpm-.js → export-viewer-host-B3K81QGA.js} +1 -1
  77. package/dist/public/sdk/{host-DACTruOj.js → host-Y_xmIzPO.js} +2 -2
  78. package/dist/public/sdk/{localOnly-DTNq69fJ.js → localOnly-B5TYHJiq.js} +2 -2
  79. package/dist/{esm/sdk/nearEd25519YaoMaterialActivation-4AuGG2DG.js → public/sdk/nearEd25519YaoMaterialActivation-BLxVE6E5.js} +89 -5
  80. package/dist/public/sdk/{nearEd25519YaoSigningPreparation-jiGcQylO.js → nearEd25519YaoSigningPreparation-DX6xG-IW.js} +1 -1
  81. package/dist/public/sdk/{prfCache-Dwwauj4v.js → prfCache-CgAr-VEU.js} +24 -4
  82. package/dist/{esm/sdk/recovery-entrypoint-CFTX6PFZ.js → public/sdk/recovery-entrypoint-D39R1avB.js} +3 -3
  83. package/dist/{esm/sdk/registration-CuP1WmQu.js → public/sdk/registration-BtPLgKHk.js} +1 -1
  84. package/dist/public/sdk/{registration-D8nYJKec.js → registration-D-istkMZ.js} +253 -38
  85. package/dist/public/sdk/{registrationPreparationPreload-DDe0sbZi.js → registrationPreparationPreload-CvnlDCVn.js} +2 -2
  86. package/dist/{esm/sdk/router-DeX_cJ2f.js → public/sdk/router-CeFS9SgT.js} +3 -3
  87. package/dist/{esm/sdk/routerAbNormalSigning-BGpRKRAj.js → public/sdk/routerAbNormalSigning-DktZKnf1.js} +1 -1
  88. package/dist/{esm/sdk/runtime-auth-Ch00YcH5.js → public/sdk/runtime-auth-B7z1ANNp.js} +8 -8
  89. package/dist/public/sdk/{runtime-device-link-CEhVZYAw.js → runtime-device-link-B8HGDakg.js} +4 -4
  90. package/dist/public/sdk/{runtime-ecdsa-tempo-B-qMRrmx.js → runtime-ecdsa-tempo-DKdS5-us.js} +5 -5
  91. package/dist/{esm/sdk/runtime-email-otp-giyMPib8.js → public/sdk/runtime-email-otp-D5bxhdyG.js} +4 -4
  92. package/dist/{esm/sdk/runtime-export-CV-6G1Oy.js → public/sdk/runtime-export--hvNrx8l.js} +4 -4
  93. package/dist/{esm/sdk/runtime-near-DoDcS88O.js → public/sdk/runtime-near-CEexHoug.js} +4 -4
  94. package/dist/{esm/sdk/runtime-preferences-Canyenle.js → public/sdk/runtime-preferences-BiqPp1lV.js} +4 -4
  95. package/dist/public/sdk/{runtime-recovery-lWyILD1g.js → runtime-recovery-BYu1gDq_.js} +4 -4
  96. package/dist/public/sdk/{runtimeContext-BdTaYxJD.js → runtimeContext-CH97jPZ0.js} +80 -37
  97. package/dist/{esm/sdk/runtimeLoader-Dxn8UA8B.js → public/sdk/runtimeLoader-BFAmJAbu.js} +9 -9
  98. package/dist/public/sdk/{secp256k1-CQFsI3qQ.js → secp256k1-Cr1jBW1n.js} +3 -3
  99. package/dist/public/sdk/{signEvmFamily-CZLET02E.js → signEvmFamily-Dxk4sBPY.js} +7 -7
  100. package/dist/public/sdk/{signNear-BeUWiWm_.js → signNear-B0OCVKoH.js} +6 -6
  101. package/dist/public/sdk/{signerLoader-C_w8vuhm.js → signerLoader-D0WU1jq_.js} +1 -1
  102. package/dist/{esm/sdk/transactionState-Dd13hMoY.js → public/sdk/transactionState-Bpm4GamO.js} +2 -2
  103. package/dist/public/sdk/tx-confirm-ui.js +134 -93
  104. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  105. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  106. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  107. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  108. package/dist/public/sdk/wallet-ui.css +85 -31
  109. package/dist/{esm/sdk/walletRecoveryCommit-DNvzgeIX.js → public/sdk/walletRecoveryCommit-G6w6N5RV.js} +3 -3
  110. package/dist/public/sdk/{warmSessionHydration-CCKeEIIy.js → warmSessionHydration-DDNYdTCz.js} +1 -1
  111. package/dist/public/sdk/workers/passkey-mpc-session.worker.js +92 -8
  112. package/dist/public/wallet-assets.manifest.json +74 -74
  113. package/dist/public/wallet-service/index.html +4 -4
  114. package/dist/types/wallet/src/SeamsWeb/operations/registration/registration.d.ts +15 -0
  115. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTiming.d.ts +11 -1
  116. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +6 -0
  117. package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +8 -2
  118. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +49 -10
  119. package/dist/types/wallet/src/core/signingEngine/session/passkey/prfCache.d.ts +7 -9
  120. package/dist/types/wallet/src/core/signingEngine/session/passkey/warmSessionHydration.d.ts +7 -8
  121. package/dist/types/wallet/src/core/signingEngine/session/passkey/warmSessionMaterialWriter.d.ts +9 -9
  122. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/public.d.ts +7 -8
  123. package/dist/types/wallet/src/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.d.ts +3 -0
  124. package/dist/types/wallet/src/core/signingEngine/uiConfirm/uiConfirm.types.d.ts +6 -0
  125. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/shamir3pass/clientSealPreparation.d.ts +2 -0
  126. package/dist/types/wallet/src/core/types/secure-confirm-worker.d.ts +15 -1
  127. package/dist/workers/passkey-mpc-session.worker.js +92 -8
  128. package/package.json +1 -1
@@ -13,23 +13,23 @@ import { _ as parseUnixMs, a as deriveSigningRootId, l as requireEvmFamilySignin
13
13
  import { L as buildEnvelopeAAD, M as WALLET_CUSTODY_ED25519_MATERIAL_KEY_KIND, d as prepareWalletEd25519RegistrationProjectionPublication, f as prepareWalletEd25519RegistrationPublication, p as prepareWalletEmailOtpEd25519RegistrationPublication, u as prepareWalletEcdsaRegistrationPublication } from "./accountLifecycle-Ddavc_FC.js";
14
14
  import { t as toAccountId } from "./accountIds-Ck4GAQfm.js";
15
15
  import { o as normalizeThresholdRuntimePolicyScope, t as DEFAULT_THRESHOLD_SESSION_POLICY, v as parseWalletAuthorityV1 } from "./sessionPolicy-B4FsPuk2.js";
16
- import { $ as parseRouterAbEcdsaCredentialFreeSessionActivationResponseV1, At as buildEmailOtpWalletAuthAuthority, Bt as parseWalletAuthAuthorityRef, Cn as sameRouterAbMpcMaterialActivationRef, Dt as sameRouterAbEcdsaRegistrationActivationReceiptV1, Ft as isEmailOtpWalletAuthAuthority, Gt as ROUTER_AB_ED25519_YAO_EXPORT_EXECUTE_PATH_V1, Ht as walletAuthAuthorityRef, Jt as ROUTER_AB_ED25519_YAO_RECOVERY_CHALLENGE_ID_HEADER_V1, Lt as parseEmailOtpWalletAuthAuthority, Ot as sameRouterAbEcdsaVerifiedClientActivationFactsV1, Qt as ROUTER_AB_ED25519_YAO_WARM_RECOVERY_BOOTSTRAP_PATH_V1, R as parseWalletSessionOperationCredentialV1, Rt as parsePasskeyWalletAuthAuthority, Sn as routerAbMpcMaterialActivationRefToWire, Tt as sameRouterAbEcdsaDerivationPublicCapabilityV1, Ut as ROUTER_AB_ED25519_YAO_EMAIL_OTP_RECOVERY_BOOTSTRAP_KIND_V1, Wt as ROUTER_AB_ED25519_YAO_EXPORT_ADMISSION_PATH_V1, Xt as ROUTER_AB_ED25519_YAO_REGISTRATION_ADMISSION_PATH_V1, an as parseRouterAbEd25519YaoExportResultV1, d as parseActiveWalletSessionV1, dt as parseRouterAbEcdsaPostRegistrationSessionActivationResponseV1, fn as parseRouterAbEd25519YaoRegistrationActivationAdmissionReceiptV1, ft as parseRouterAbEcdsaRegistrationActivationReceiptV1, gn as parseRouterAbEd25519YaoWarmRecoveryBootstrapRequestV1, gt as parseRouterAbEcdsaVerifiedClientActivationFactsV1, hn as parseRouterAbEd25519YaoRegistrationAdmissionRequestV1, in as parseRouterAbEd25519YaoExportExecuteRequestV1, it as parseRouterAbEcdsaDerivationPublicCapabilityV1, jt as buildPasskeyWalletAuthAuthority, lt as parseRouterAbEcdsaPostRegistrationSessionActivationPolicyV1, r as cloneAuthenticatorOptions, rn as parseRouterAbEd25519YaoExportAdmissionReceiptV1, rt as parseRouterAbEcdsaDerivationNormalSigningStateV1, wt as sameRouterAbEcdsaDerivationNormalSigningStateV1, xn as routerAbMpcMaterialActivationRefFromWire } from "./ecdsaPresignLifecycle-D_KCktCj.js";
16
+ import { $ as parseRouterAbEcdsaCredentialFreeSessionActivationResponseV1, At as buildEmailOtpWalletAuthAuthority, Bt as parseWalletAuthAuthorityRef, Cn as routerAbMpcMaterialActivationRefToWire, Dt as sameRouterAbEcdsaRegistrationActivationReceiptV1, Ft as isEmailOtpWalletAuthAuthority, Gt as ROUTER_AB_ED25519_YAO_EXPORT_EXECUTE_PATH_V1, Ht as walletAuthAuthorityRef, Jt as ROUTER_AB_ED25519_YAO_RECOVERY_CHALLENGE_ID_HEADER_V1, Lt as parseEmailOtpWalletAuthAuthority, Ot as sameRouterAbEcdsaVerifiedClientActivationFactsV1, Qt as ROUTER_AB_ED25519_YAO_WARM_RECOVERY_BOOTSTRAP_PATH_V1, R as parseWalletSessionOperationCredentialV1, Rt as parsePasskeyWalletAuthAuthority, Sn as routerAbMpcMaterialActivationRefFromWire, Tt as sameRouterAbEcdsaDerivationPublicCapabilityV1, Ut as ROUTER_AB_ED25519_YAO_EMAIL_OTP_RECOVERY_BOOTSTRAP_KIND_V1, Wt as ROUTER_AB_ED25519_YAO_EXPORT_ADMISSION_PATH_V1, Xt as ROUTER_AB_ED25519_YAO_REGISTRATION_ADMISSION_PATH_V1, an as parseRouterAbEd25519YaoExportResultV1, d as parseActiveWalletSessionV1, dt as parseRouterAbEcdsaPostRegistrationSessionActivationResponseV1, fn as parseRouterAbEd25519YaoRegistrationActivationAdmissionReceiptV1, ft as parseRouterAbEcdsaRegistrationActivationReceiptV1, gn as parseRouterAbEd25519YaoWarmRecoveryBootstrapRequestV1, gt as parseRouterAbEcdsaVerifiedClientActivationFactsV1, hn as parseRouterAbEd25519YaoRegistrationAdmissionRequestV1, in as parseRouterAbEd25519YaoExportExecuteRequestV1, it as parseRouterAbEcdsaDerivationPublicCapabilityV1, jt as buildPasskeyWalletAuthAuthority, lt as parseRouterAbEcdsaPostRegistrationSessionActivationPolicyV1, r as cloneAuthenticatorOptions, rn as parseRouterAbEd25519YaoExportAdmissionReceiptV1, rt as parseRouterAbEcdsaDerivationNormalSigningStateV1, vn as sameRouterAbEd25519YaoRegistrationAdmissionRequestV1, wn as sameRouterAbMpcMaterialActivationRef, wt as sameRouterAbEcdsaDerivationNormalSigningStateV1 } from "./ecdsaPresignLifecycle-CnSnzoRJ.js";
17
17
  import { d as parseMpcWalletSigningQuotaId, g as parseWalletSessionMintId, h as parseWalletSessionId, m as parseWalletSessionAuthorizationId } from "./capabilityKinds-jwCEaqBU.js";
18
18
  import { E as SigningSessionIds, H as isExactEcdsaSigningLaneIdentity, U as nearEd25519SignerBindingFromBoundaryFields, b as toParticipantId, bt as parseSdkEcdsaDerivationSigningRootId, j as signingLaneAuthMethod, ot as parseCanonicalEcdsaServerActivationRequest, x as toRpId, xt as parseSdkEcdsaDerivationSigningRootVersion } from "./evmFamilyEcdsaIdentity-_kuKSW35.js";
19
19
  import { a as buildEmailOtpEnvelopeFactor, c as buildPasskeyEnvelopeFactor, d as parsePasskeyCustodyEnvelopeRecord, f as parseWalletCustodyEnvelopeOwnershipWireV1, h as isWalletCustodySeedBinding, l as custodyEnvelopeBindingJsonV1, n as walletCustodyCommitPayloadWithRecoveryBackupAcknowledgement, r as WALLET_CUSTODY_ENVELOPE_VERSION_V2, u as custodyEnvelopeOwnershipWireV1 } from "./passkey-custody-BaHyYMhj.js";
20
20
  import { a as parseEcdsaRelayerKeyId, c as parseEcdsaRoleLocalMaterialHandle, d as parseEcdsaThresholdKeyId, l as parseEcdsaRoleLocalPersistedMaterialRef, n as parseEcdsaClientVerifyingPublicKey33B64u, o as parseEcdsaRoleLocalBindingDigest } from "./keyMaterialBrands-BbjCfzXv.js";
21
21
  import { i as RegistrationEventPhase, p as createRegistrationFlowEvent } from "./sdkSentEvents-5Pi-hjHB.js";
22
- import { C as preparePendingNearRegistration, E as parseRouterAbTraceContextV1, S as planPendingNearRegistration, T as createRouterAbTraceContextV1, a as resolveAccountKeyMaterialTarget, b as assertPendingWalletRegistrationIdentity, g as prepareWalletCustodyEcdsaContinuity, s as IndexedDBManager, v as walletSessionAuthorizations, w as ROUTER_AB_TRACE_ID_HEADER_V1, x as parsePendingWalletRegistrationCommitV1 } from "./ed25519SeedMaterial-0VmS6K9P.js";
22
+ import { C as preparePendingNearRegistration, E as parseRouterAbTraceContextV1, S as planPendingNearRegistration, T as createRouterAbTraceContextV1, a as resolveAccountKeyMaterialTarget, b as assertPendingWalletRegistrationIdentity, g as prepareWalletCustodyEcdsaContinuity, s as IndexedDBManager, v as walletSessionAuthorizations, w as ROUTER_AB_TRACE_ID_HEADER_V1, x as parsePendingWalletRegistrationCommitV1 } from "./ed25519SeedMaterial-Cghz8-XB.js";
23
23
  import { t as parseSignerSlot } from "./signerSlot-DbNAs-kc.js";
24
24
  import { a as SIGNING_SESSION_SEAL_ALG, c as SIGNING_SESSION_SECRET_KIND, l as parseRouterAbEd25519NormalSigningState, o as SIGNING_SESSION_SEAL_GROUP_ID, s as SIGNING_SESSION_SEAL_STORAGE_SCOPE, u as requireRouterAbEd25519NormalSigningState } from "./signingSessionSeal-CdtgXHSL.js";
25
25
  import { n as parseEmailOtpChallengeDelivery } from "./challengeDelivery-BjLKoou3.js";
26
26
  import { l as getPrfFirstB64uFromCredential, o as redactedPasskeyRegistrationCredential, u as redactCredentialExtensionOutputs } from "./helpers-DpRjHMBx.js";
27
27
  import { i as buildNearAccountRefs } from "./profileAccountProjection-C9rVhbeJ.js";
28
- import { C as respondWalletAddSignerEcdsa, E as setupWalletRegistration, O as startWalletAddSigner, b as isEmailOtpWalletRegistrationFinalizeResponse, c as parseWalletUnlockAlreadyCommittedResponseV1, d as activateWalletRegistration, f as completeWalletRegistrationNearProvisioning, m as createWalletAddSignerIntent, n as nearEd25519YaoRuntimeRef, r as resolveNearEd25519YaoCapabilityHydrationV1, s as parseWalletSessionAlreadyCommittedResponseV1, t as nearEd25519YaoMaterialActivationFromMetadata, u as activateWalletAddSignerEcdsa, v as finalizeWalletAddSigner, w as respondWalletRegistration, x as parseWalletRegistrationEcdsaDerivationRespond } from "./nearEd25519YaoMaterialActivation-4AuGG2DG.js";
28
+ import { D as setupWalletRegistration, S as parseWalletRegistrationEcdsaDerivationRespond, T as respondWalletRegistration, c as parseWalletUnlockAlreadyCommittedResponseV1, d as activateWalletRegistration, f as authorizeWalletRegistrationNearAdmission, h as createWalletAddSignerIntent, k as startWalletAddSigner, n as nearEd25519YaoRuntimeRef, p as completeWalletRegistrationNearProvisioning, r as resolveNearEd25519YaoCapabilityHydrationV1, s as parseWalletSessionAlreadyCommittedResponseV1, t as nearEd25519YaoMaterialActivationFromMetadata, u as activateWalletAddSignerEcdsa, w as respondWalletAddSignerEcdsa, x as isEmailOtpWalletRegistrationFinalizeResponse, y as finalizeWalletAddSigner } from "./nearEd25519YaoMaterialActivation-BLxVE6E5.js";
29
29
  import { n as buildRelayerJsonPostRequestInit, r as normalizeRelayerBaseUrl, t as buildBearerAuthorizationHeader } from "./relayerHttp-LsVTZCxA.js";
30
- import { a as nearEd25519SessionMatchesMaterialActivation, h as emailOtpAuthContextProviderUserId, l as buildEmailOtpAuthContext, m as emailOtpAuthContextProvider, p as emailOtpAuthContextEmailHashHex, s as buildNearTransactionSigningLane } from "./nearEd25519YaoSigningPreparation-jiGcQylO.js";
30
+ import { a as nearEd25519SessionMatchesMaterialActivation, h as emailOtpAuthContextProviderUserId, l as buildEmailOtpAuthContext, m as emailOtpAuthContextProvider, p as emailOtpAuthContextEmailHashHex, s as buildNearTransactionSigningLane } from "./nearEd25519YaoSigningPreparation-DX6xG-IW.js";
31
31
  import { o as buildEmailOtpRoutePlan, r as buildFreshEmailOtpRoutePlan } from "./routePlan-nLpPFHB-.js";
32
- import { n as generateSessionId } from "./prfCache-Dwwauj4v.js";
32
+ import { n as generateSessionId } from "./prfCache-CgAr-VEU.js";
33
33
  import { l as emitSigningSessionFlowTrace } from "./trace-DWnDLSuV.js";
34
34
  import { t as webAuthnPromptCoordinator } from "./webauthnPromptCoordinator-CLeba8ru.js";
35
35
  import { t as computeAddSignerIntentDigest } from "./intentDigest-A1MbbJPu.js";
@@ -106,7 +106,7 @@ function isRegistrationBenchmarkDiagnosticsEnabled() {
106
106
  function recordWalletCustodyTiming(ceremonyId, stage, startedAt) {
107
107
  if (!isRegistrationBenchmarkDiagnosticsEnabled()) return;
108
108
  try {
109
- console.debug("[WalletCustody] timing " + JSON.stringify({
109
+ console.info("[WalletCustody] timing " + JSON.stringify({
110
110
  event: "wallet_custody_timing",
111
111
  ceremonyId,
112
112
  stage: `custody.${stage}`,
@@ -5039,7 +5039,14 @@ const YAO_SERVER_TIMING_BUCKET_BY_METRIC = new Map(Object.entries({
5039
5039
  ecdsa_b_total: "ecdsaDeriverBTotalMs",
5040
5040
  ecdsa_sw_parse: "ecdsaSigningWorkerParseMs",
5041
5041
  ecdsa_sw_activate: "ecdsaSigningWorkerActivateMs",
5042
- ecdsa_sw_total: "ecdsaSigningWorkerTotalMs"
5042
+ ecdsa_sw_total: "ecdsaSigningWorkerTotalMs",
5043
+ near_finalize_authority: "nearFinalizeAuthorityMs",
5044
+ near_finalize_fingerprint: "nearFinalizeFingerprintMs",
5045
+ near_finalize_side_effect: "nearFinalizeSideEffectMs",
5046
+ near_finalize_cleanup: "nearFinalizeCleanupMs",
5047
+ near_finalize_session_projection: "nearFinalizeSessionProjectionMs",
5048
+ near_finalize_session_seal: "nearFinalizeSessionSealMs",
5049
+ near_finalize_total: "nearFinalizeTotalMs"
5043
5050
  }));
5044
5051
  /**
5045
5052
  * Parses a `Server-Timing` header into bucket durations. Diagnostics only: a
@@ -5061,6 +5068,9 @@ function recordStrictEcdsaServerTimingBuckets(recorder, leg, header) {
5061
5068
  });
5062
5069
  recordServerTimingBuckets(recorder, header);
5063
5070
  }
5071
+ function recordRegistrationServerTimingBuckets(recorder, header) {
5072
+ recordServerTimingBuckets(recorder, header);
5073
+ }
5064
5074
  function parseYaoServerTimingBuckets(header) {
5065
5075
  if (!header) return [];
5066
5076
  const parsed = [];
@@ -5281,6 +5291,13 @@ function createZeroRegistrationTimingBucketValues() {
5281
5291
  ecdsaSigningWorkerParseMs: 0,
5282
5292
  ecdsaSigningWorkerActivateMs: 0,
5283
5293
  ecdsaSigningWorkerTotalMs: 0,
5294
+ nearFinalizeAuthorityMs: 0,
5295
+ nearFinalizeFingerprintMs: 0,
5296
+ nearFinalizeSideEffectMs: 0,
5297
+ nearFinalizeCleanupMs: 0,
5298
+ nearFinalizeSessionProjectionMs: 0,
5299
+ nearFinalizeSessionSealMs: 0,
5300
+ nearFinalizeTotalMs: 0,
5284
5301
  walletRegisterStartMs: 0,
5285
5302
  ecdsaClientBootstrapMs: 0,
5286
5303
  ecdsaRegistrationTotalMs: 0,
@@ -5405,6 +5422,13 @@ function copyRegistrationTimingBucketValues(buckets) {
5405
5422
  ecdsaSigningWorkerParseMs: buckets.ecdsaSigningWorkerParseMs,
5406
5423
  ecdsaSigningWorkerActivateMs: buckets.ecdsaSigningWorkerActivateMs,
5407
5424
  ecdsaSigningWorkerTotalMs: buckets.ecdsaSigningWorkerTotalMs,
5425
+ nearFinalizeAuthorityMs: buckets.nearFinalizeAuthorityMs,
5426
+ nearFinalizeFingerprintMs: buckets.nearFinalizeFingerprintMs,
5427
+ nearFinalizeSideEffectMs: buckets.nearFinalizeSideEffectMs,
5428
+ nearFinalizeCleanupMs: buckets.nearFinalizeCleanupMs,
5429
+ nearFinalizeSessionProjectionMs: buckets.nearFinalizeSessionProjectionMs,
5430
+ nearFinalizeSessionSealMs: buckets.nearFinalizeSessionSealMs,
5431
+ nearFinalizeTotalMs: buckets.nearFinalizeTotalMs,
5408
5432
  walletRegisterStartMs: buckets.walletRegisterStartMs,
5409
5433
  ecdsaClientBootstrapMs: buckets.ecdsaClientBootstrapMs,
5410
5434
  ecdsaRegistrationTotalMs: buckets.ecdsaRegistrationTotalMs,
@@ -5746,6 +5770,13 @@ function buildRegistrationTimingBuckets(input) {
5746
5770
  ecdsaSigningWorkerParseMs: buckets.ecdsaSigningWorkerParseMs,
5747
5771
  ecdsaSigningWorkerActivateMs: buckets.ecdsaSigningWorkerActivateMs,
5748
5772
  ecdsaSigningWorkerTotalMs: buckets.ecdsaSigningWorkerTotalMs,
5773
+ nearFinalizeAuthorityMs: buckets.nearFinalizeAuthorityMs,
5774
+ nearFinalizeFingerprintMs: buckets.nearFinalizeFingerprintMs,
5775
+ nearFinalizeSideEffectMs: buckets.nearFinalizeSideEffectMs,
5776
+ nearFinalizeCleanupMs: buckets.nearFinalizeCleanupMs,
5777
+ nearFinalizeSessionProjectionMs: buckets.nearFinalizeSessionProjectionMs,
5778
+ nearFinalizeSessionSealMs: buckets.nearFinalizeSessionSealMs,
5779
+ nearFinalizeTotalMs: buckets.nearFinalizeTotalMs,
5749
5780
  walletRegisterStartMs: buckets.walletRegisterStartMs,
5750
5781
  ecdsaClientBootstrapMs: buckets.ecdsaClientBootstrapMs,
5751
5782
  ecdsaRegistrationTotalMs: buckets.ecdsaRegistrationTotalMs,
@@ -11047,6 +11078,35 @@ function awaitHostedPasskeyRegistrationStage(args) {
11047
11078
  args.operation.then(resolveOnce, rejectOnce);
11048
11079
  });
11049
11080
  }
11081
+ function startHostedPreparedEcdsaClientCeremony(args) {
11082
+ switch (args.setup.kind) {
11083
+ case "near_ed25519": return { kind: "not_required" };
11084
+ case "evm_family_ecdsa":
11085
+ case "near_ed25519_and_evm_family_ecdsa": {
11086
+ const ceremonyId = args.setup.registrationCeremonyId;
11087
+ const ecdsaPrepare = materializeWalletRegistrationSetupEcdsaPrepare(args.setup.ecdsa);
11088
+ const operation = args.context.signingEngine.createRouterAbEcdsaRegistrationCeremony({
11089
+ kind: "create_router_ab_ecdsa_registration_ceremony_v1",
11090
+ ceremonyId,
11091
+ registration: ecdsaPrepare.strictRegistration
11092
+ });
11093
+ operation.catch(() => void 0);
11094
+ return {
11095
+ kind: "started",
11096
+ ceremonyId,
11097
+ operation
11098
+ };
11099
+ }
11100
+ default: return assertNever(args.setup);
11101
+ }
11102
+ }
11103
+ function closeHostedPreparedEcdsaClientCeremony(args) {
11104
+ if (args.ceremony.kind === "not_required") return;
11105
+ closeStrictEcdsaRegistrationCeremony({
11106
+ context: args.context,
11107
+ ceremonyId: args.ceremony.ceremonyId
11108
+ });
11109
+ }
11050
11110
  async function prepareHostedPasskeyRegistration(args) {
11051
11111
  const authMethod = args.authMethod;
11052
11112
  const rpId = requireWebAuthnRpId(String(authMethod.rpId));
@@ -11063,6 +11123,7 @@ async function prepareHostedPasskeyRegistration(args) {
11063
11123
  const controller = new AbortController();
11064
11124
  let prepared = null;
11065
11125
  let reservation = null;
11126
+ let ecdsaClientCeremony = { kind: "not_required" };
11066
11127
  const onHostCancellation = () => {
11067
11128
  controller.abort();
11068
11129
  if (prepared) cancelHostedPasskeyRegistration(prepared);
@@ -11090,6 +11151,10 @@ async function prepareHostedPasskeyRegistration(args) {
11090
11151
  const challengeB64u = String(setup.setup.registrationIntentDigestB64u || "").trim();
11091
11152
  if (!challengeB64u) throw new Error("Hosted passkey registration setup returned no challenge");
11092
11153
  if (signerSlot !== registrationPreparationSignerSlot(args.signerSelection)) throw new Error("Hosted passkey registration signer slot changed during preparation");
11154
+ ecdsaClientCeremony = startHostedPreparedEcdsaClientCeremony({
11155
+ context: args.context,
11156
+ setup: setup.setup
11157
+ });
11093
11158
  observeRegistrationWarmup({
11094
11159
  recorder,
11095
11160
  warmup: setup.registrationWarmup
@@ -11140,13 +11205,18 @@ async function prepareHostedPasskeyRegistration(args) {
11140
11205
  binding,
11141
11206
  lifecycle: "ready",
11142
11207
  authority: null,
11143
- registrationStarted: false
11208
+ registrationStarted: false,
11209
+ ecdsaClientCeremony
11144
11210
  });
11145
11211
  prepared = preparedValue;
11146
11212
  return preparedValue;
11147
11213
  } catch (error) {
11148
11214
  controller.abort();
11149
11215
  removeExternalCancellationListener();
11216
+ closeHostedPreparedEcdsaClientCeremony({
11217
+ context: args.context,
11218
+ ceremony: ecdsaClientCeremony
11219
+ });
11150
11220
  if (prepared) cancelHostedPasskeyRegistration(prepared);
11151
11221
  else if (reservation) webAuthnPromptCoordinator.releaseReservation(reservation);
11152
11222
  throw error;
@@ -11159,6 +11229,10 @@ function cancelHostedPasskeyRegistration(prepared) {
11159
11229
  state.controller.abort();
11160
11230
  state.removeExternalCancellationListener?.();
11161
11231
  state.removeExternalCancellationListener = null;
11232
+ closeHostedPreparedEcdsaClientCeremony({
11233
+ context: state.context,
11234
+ ceremony: state.ecdsaClientCeremony
11235
+ });
11162
11236
  webAuthnPromptCoordinator.releaseReservation(prepared.reservation);
11163
11237
  }
11164
11238
  /**
@@ -11208,6 +11282,10 @@ async function registerPreparedHostedPasskeyRegistration(args) {
11208
11282
  });
11209
11283
  } finally {
11210
11284
  state.lifecycle = "finished";
11285
+ closeHostedPreparedEcdsaClientCeremony({
11286
+ context: state.context,
11287
+ ceremony: state.ecdsaClientCeremony
11288
+ });
11211
11289
  state.controller.abort();
11212
11290
  state.removeExternalCancellationListener?.();
11213
11291
  state.removeExternalCancellationListener = null;
@@ -11334,6 +11412,49 @@ function registrationThreeRouteAuthorityPayload(authority) {
11334
11412
  default: return assertNever(authority);
11335
11413
  }
11336
11414
  }
11415
+ async function startEarlyNearRegistrationAdmission(args) {
11416
+ const startedAt = performance.now();
11417
+ try {
11418
+ const deferredNear = (await authorizeWalletRegistrationNearAdmission({
11419
+ relayerUrl: args.relayerUrl,
11420
+ headers: registrationRouteHeaders(args.traceContext),
11421
+ registrationCeremonyId: args.registrationCeremonyId,
11422
+ signedSetup: args.signedSetup,
11423
+ ...registrationThreeRouteAuthorityPayload(args.authority)
11424
+ })).ed25519;
11425
+ const admissionReceipt = await admitDeferredNearRegistration(deferredNear, {
11426
+ routerOrigin: new URL(args.relayerUrl).origin,
11427
+ authorization: {
11428
+ kind: "bearer",
11429
+ value: `Bearer ${args.signedSetup}`
11430
+ },
11431
+ fetch: globalThis.fetch,
11432
+ ...args.traceContext ? { traceContext: args.traceContext } : {}
11433
+ });
11434
+ emitNearRegistrationTiming({
11435
+ ceremonyId: args.registrationCeremonyId,
11436
+ stage: "early_admission",
11437
+ startedAt,
11438
+ outcome: "success"
11439
+ });
11440
+ return {
11441
+ deferredNear,
11442
+ admissionReceipt
11443
+ };
11444
+ } catch (error) {
11445
+ emitNearRegistrationTiming({
11446
+ ceremonyId: args.registrationCeremonyId,
11447
+ stage: "early_admission",
11448
+ startedAt,
11449
+ outcome: "failure"
11450
+ });
11451
+ throw error;
11452
+ }
11453
+ }
11454
+ function requireEarlyNearRegistrationAdmission(admission) {
11455
+ if (!admission) throw new Error("Mixed registration did not start NEAR admission");
11456
+ return admission;
11457
+ }
11337
11458
  function registrationEd25519LaneAuthorization(auth, passkeyCredentialIdB64u, session) {
11338
11459
  switch (auth.kind) {
11339
11460
  case "passkey": return { auth: {
@@ -11464,6 +11585,32 @@ async function setupRegistrationForPasskeyExecution(args) {
11464
11585
  }) !== state.binding || String(intent.walletId) !== String(args.passkeyExecution.prepared.walletId) || challengeB64u !== args.passkeyExecution.prepared.challengeB64u) throw new Error("Hosted passkey registration preparation binding changed");
11465
11586
  return setup;
11466
11587
  }
11588
+ function ecdsaRegistrationClientCeremonyForExecution(args) {
11589
+ if (args.passkeyExecution.kind === "collect_during_registration") return { kind: "create_after_authority" };
11590
+ const state = hostedPasskeyRegistrationState(args.passkeyExecution.prepared);
11591
+ if (state.ecdsaClientCeremony.kind !== "started" || state.ecdsaClientCeremony.ceremonyId !== args.ceremonyId) throw new Error("Hosted passkey registration has no matching ECDSA client ceremony");
11592
+ return {
11593
+ kind: "use_hosted_preparation",
11594
+ ceremonyId: state.ecdsaClientCeremony.ceremonyId,
11595
+ operation: state.ecdsaClientCeremony.operation
11596
+ };
11597
+ }
11598
+ async function awaitHostedPreparedEcdsaClientCeremony(operation) {
11599
+ return await operation;
11600
+ }
11601
+ function ecdsaRegistrationClientCeremonyOperation(args) {
11602
+ switch (args.clientCeremony.kind) {
11603
+ case "create_after_authority": return args.context.signingEngine.createRouterAbEcdsaRegistrationCeremony.bind(args.context.signingEngine, {
11604
+ kind: "create_router_ab_ecdsa_registration_ceremony_v1",
11605
+ ceremonyId: args.ceremonyId,
11606
+ registration: args.registration
11607
+ });
11608
+ case "use_hosted_preparation":
11609
+ if (args.clientCeremony.ceremonyId !== args.ceremonyId) throw new Error("Prepared ECDSA client ceremony identity changed");
11610
+ return awaitHostedPreparedEcdsaClientCeremony.bind(void 0, args.clientCeremony.operation);
11611
+ default: return assertNever(args.clientCeremony);
11612
+ }
11613
+ }
11467
11614
  async function runEcdsaEnabledThreeRouteRegistrationCeremony(args) {
11468
11615
  const [firstChainTarget, ...remainingChainTargets] = args.ecdsaPrepare.chainTargets;
11469
11616
  if (!firstChainTarget) throw new Error("Strict ECDSA ceremony requires at least one EVM-family target");
@@ -11474,12 +11621,21 @@ async function runEcdsaEnabledThreeRouteRegistrationCeremony(args) {
11474
11621
  const created = await measureStrictEcdsaCeremonyStep({
11475
11622
  registrationTiming: args.registrationTiming,
11476
11623
  bucket: "ecdsaRegistrationClientCreateMs",
11477
- operation: args.context.signingEngine.createRouterAbEcdsaRegistrationCeremony.bind(args.context.signingEngine, {
11478
- kind: "create_router_ab_ecdsa_registration_ceremony_v1",
11624
+ operation: ecdsaRegistrationClientCeremonyOperation({
11625
+ context: args.context,
11479
11626
  ceremonyId,
11480
- registration: args.ecdsaPrepare.strictRegistration
11627
+ registration: args.ecdsaPrepare.strictRegistration,
11628
+ clientCeremony: args.clientCeremony
11481
11629
  })
11482
11630
  });
11631
+ const earlyNearAdmission = args.signerPlanKind === "near_ed25519_and_evm_family_ecdsa" ? startEarlyNearRegistrationAdmission({
11632
+ relayerUrl: args.relayerUrl,
11633
+ registrationCeremonyId: ceremonyId,
11634
+ signedSetup: args.signedSetup,
11635
+ authority: args.authority,
11636
+ traceContext: args.traceContext
11637
+ }) : null;
11638
+ earlyNearAdmission?.catch(ignoreNearCustodyFailure);
11483
11639
  const responded = await measureStrictEcdsaCeremonyStep({
11484
11640
  registrationTiming: args.registrationTiming,
11485
11641
  bucket: "ecdsaRegistrationGatewayRespondMs",
@@ -11561,6 +11717,7 @@ async function runEcdsaEnabledThreeRouteRegistrationCeremony(args) {
11561
11717
  });
11562
11718
  deferredNearCustodyWork = args.startDeferredNearCustody({
11563
11719
  deferredNear,
11720
+ earlyAdmission: requireEarlyNearRegistrationAdmission(earlyNearAdmission),
11564
11721
  establishedEvmCustodyCommit: bootstrap.preActivationCommitPayload
11565
11722
  });
11566
11723
  deferredNearCustodyWork.catch(ignoreNearCustodyFailure);
@@ -11858,13 +12015,23 @@ async function startDeferredNearWalletCustody(base, input) {
11858
12015
  operation: "near_provisioning"
11859
12016
  });
11860
12017
  if (!pending || pending.operation !== "near_provisioning" || pending.phase !== "planned") throw new Error("NEAR registration has no planned continuation");
12018
+ let earlyAdmissionReceipt;
12019
+ try {
12020
+ const early = await input.earlyAdmission;
12021
+ if (!sameRouterAbEd25519YaoRegistrationAdmissionRequestV1(early.deferredNear.admissionRequest, pending.admissionRequest)) throw new Error("Early NEAR admission changed the authorized request");
12022
+ earlyAdmissionReceipt = early.admissionReceipt;
12023
+ } catch (error) {
12024
+ if (error instanceof Error && error.message === "Early NEAR admission changed the authorized request") throw error;
12025
+ earlyAdmissionReceipt = void 0;
12026
+ }
11861
12027
  const { joined, admissionReceipt } = await continueNearRegistrationCustody({
11862
12028
  pending,
11863
12029
  signingEngine: base.context.signingEngine,
11864
12030
  relayerUrl: base.relayerUrl,
11865
12031
  credential: base.signedSetup,
11866
12032
  traceContext: base.traceContext,
11867
- factorSecret
12033
+ factorSecret,
12034
+ ...earlyAdmissionReceipt ? { admitted: earlyAdmissionReceipt } : {}
11868
12035
  });
11869
12036
  outcome = "success";
11870
12037
  return {
@@ -11890,16 +12057,12 @@ async function startDeferredNearWalletCustody(base, input) {
11890
12057
  });
11891
12058
  }
11892
12059
  }
11893
- async function continueNearRegistrationCustody(args) {
11894
- const journal = args.pending;
11895
- if (journal.phase === "joined" && journal.completion.kind !== "encrypted_checkpoint") throw new Error("Joined material has no encrypted execution checkpoint");
11896
- const pending = journal.phase === "joined" && journal.completion.kind === "encrypted_checkpoint" ? journal.completion.prepared : journal;
11897
- if (pending.phase === "joined") throw new Error("Invalid NEAR continuation phase");
11898
- const admission = pending.admissionRequest;
11899
- const admissionStartedAt = performance.now();
11900
- const admissionReceipt = pending.phase === "execution_prepared" ? pending.admissionReceipt : await admitDeferredNearRegistration({
12060
+ async function resolveNearRegistrationAdmissionReceipt(args) {
12061
+ if (args.pending.phase === "execution_prepared") return args.pending.admissionReceipt;
12062
+ if (args.admitted) return args.admitted;
12063
+ return await admitDeferredNearRegistration({
11901
12064
  status: "deferred",
11902
- admissionRequest: pending.admissionRequest
12065
+ admissionRequest: args.pending.admissionRequest
11903
12066
  }, {
11904
12067
  routerOrigin: new URL(args.relayerUrl).origin,
11905
12068
  authorization: {
@@ -11909,6 +12072,21 @@ async function continueNearRegistrationCustody(args) {
11909
12072
  fetch: globalThis.fetch,
11910
12073
  traceContext: args.traceContext
11911
12074
  });
12075
+ }
12076
+ async function continueNearRegistrationCustody(args) {
12077
+ const journal = args.pending;
12078
+ if (journal.phase === "joined" && journal.completion.kind !== "encrypted_checkpoint") throw new Error("Joined material has no encrypted execution checkpoint");
12079
+ const pending = journal.phase === "joined" && journal.completion.kind === "encrypted_checkpoint" ? journal.completion.prepared : journal;
12080
+ if (pending.phase === "joined") throw new Error("Invalid NEAR continuation phase");
12081
+ const admission = pending.admissionRequest;
12082
+ const admissionStartedAt = performance.now();
12083
+ const admissionReceipt = await resolveNearRegistrationAdmissionReceipt({
12084
+ pending,
12085
+ relayerUrl: args.relayerUrl,
12086
+ credential: args.credential,
12087
+ traceContext: args.traceContext,
12088
+ ...args.admitted ? { admitted: args.admitted } : {}
12089
+ });
11912
12090
  recordWalletCustodyTiming(pending.registrationCeremonyId, "admission", admissionStartedAt);
11913
12091
  const joined = await args.signingEngine.joinWalletCustodyNearEd25519KeySet({
11914
12092
  ...pending.phase === "planned" ? {
@@ -12079,6 +12257,7 @@ async function resumeNearRegistrationAfterUnlock(args) {
12079
12257
  walletId: pending.walletId,
12080
12258
  commit: {
12081
12259
  context: args.context,
12260
+ registrationTiming: null,
12082
12261
  registrationStartedAt: startedAt,
12083
12262
  clientPrewarm: Promise.resolve(),
12084
12263
  relayerUrl,
@@ -12328,8 +12507,30 @@ async function commitDeferredEd25519Registration(args) {
12328
12507
  thresholdSessionId: joined.metadata.scope.threshold_session_id,
12329
12508
  prfFirstB64u: auth.prfFirstB64u
12330
12509
  });
12510
+ let preparedSessionSeal;
12511
+ if (preparation.kind === "preparing") {
12512
+ const preparationWaitStartedAt = performance.now();
12513
+ const prepared = await preparation.result;
12514
+ emitNearRegistrationTiming({
12515
+ ceremonyId: args.registrationCeremonyId,
12516
+ stage: "session_seal_preparation_wait",
12517
+ startedAt: preparationWaitStartedAt,
12518
+ outcome: prepared.kind === "completed" ? "success" : "failure"
12519
+ });
12520
+ if (prepared.kind === "failed") throw prepared.error;
12521
+ await requireCurrentNearRegistrationSession(args.sessionAuthority);
12522
+ const clientSeal = await args.context.signingEngine.readPreparedSigningSessionHydration({
12523
+ thresholdSessionId: preparation.thresholdSessionId,
12524
+ preparationId: preparation.preparationId
12525
+ });
12526
+ preparedSessionSeal = {
12527
+ preparationId: preparation.preparationId,
12528
+ thresholdSessionId: preparation.thresholdSessionId,
12529
+ ciphertext: clientSeal.ciphertext
12530
+ };
12531
+ }
12331
12532
  const finalizationStartedAt = performance.now();
12332
- const completed = await completeWalletRegistrationNearProvisioning({
12533
+ const nearProvisioningRequest = {
12333
12534
  relayerUrl: args.relayerUrl,
12334
12535
  registrationCeremonyId: args.registrationCeremonyId,
12335
12536
  signedSetup: args.signedSetup,
@@ -12339,8 +12540,23 @@ async function commitDeferredEd25519Registration(args) {
12339
12540
  },
12340
12541
  idempotencyKey: nearProvisioningIdempotencyKey,
12341
12542
  ed25519: { activationReference },
12342
- auth: args.authMaterial,
12343
- walletCustodyCommit: joined.commitPayload
12543
+ walletCustodyCommit: joined.commitPayload,
12544
+ onServerTiming: recordRegistrationServerTimingBuckets.bind(void 0, args.registrationTiming)
12545
+ };
12546
+ let completed;
12547
+ if (preparedSessionSeal) {
12548
+ if (args.authMaterial.kind !== "passkey") throw new Error("Prepared session sealing requires a passkey authority");
12549
+ completed = await completeWalletRegistrationNearProvisioning({
12550
+ ...nearProvisioningRequest,
12551
+ auth: { kind: "passkey" },
12552
+ sessionSeal: {
12553
+ thresholdSessionId: preparedSessionSeal.thresholdSessionId,
12554
+ ciphertext: preparedSessionSeal.ciphertext
12555
+ }
12556
+ });
12557
+ } else completed = await completeWalletRegistrationNearProvisioning({
12558
+ ...nearProvisioningRequest,
12559
+ auth: args.authMaterial
12344
12560
  });
12345
12561
  if (!completed.ok) throw new Error("Deferred NEAR provisioning did not complete");
12346
12562
  const finalized = completed;
@@ -12349,6 +12565,7 @@ async function commitDeferredEd25519Registration(args) {
12349
12565
  const status = finalized.walletCustody?.status ?? "not_reported";
12350
12566
  throw new Error(`Deferred NEAR custody join did not commit (${status})`);
12351
12567
  }
12568
+ if (preparedSessionSeal && !finalized.sessionSeal) throw new Error("Deferred NEAR finalization did not return the prepared session seal");
12352
12569
  emitNearRegistrationTiming({
12353
12570
  ceremonyId: args.registrationCeremonyId,
12354
12571
  stage: "server_finalize",
@@ -12429,18 +12646,6 @@ async function commitDeferredEd25519Registration(args) {
12429
12646
  });
12430
12647
  await requireCurrentNearRegistrationSession(args.sessionAuthority);
12431
12648
  if (args.authMaterial.kind === "passkey" && registrationSession.remainingUses > 0) {
12432
- if (preparation.kind === "preparing") {
12433
- const preparationWaitStartedAt = performance.now();
12434
- const prepared = await preparation.result;
12435
- emitNearRegistrationTiming({
12436
- ceremonyId: args.registrationCeremonyId,
12437
- stage: "session_seal_preparation_wait",
12438
- startedAt: preparationWaitStartedAt,
12439
- outcome: prepared.kind === "completed" ? "success" : "failure"
12440
- });
12441
- if (prepared.kind === "failed") throw prepared.error;
12442
- await requireCurrentNearRegistrationSession(args.sessionAuthority);
12443
- }
12444
12649
  const registrationEd25519Session = registrationEstablishedEd25519Session(registrationSession);
12445
12650
  hydration = hydrateDeferredNearRegistrationSession({
12446
12651
  signingEngine: args.context.signingEngine,
@@ -12451,6 +12656,10 @@ async function commitDeferredEd25519Registration(args) {
12451
12656
  prfFirstB64u: args.authMaterial.prfFirstB64u,
12452
12657
  expiresAtMs: registrationSession.expiresAtMs,
12453
12658
  remainingUses: registrationSession.remainingUses,
12659
+ ...preparedSessionSeal && finalized.sessionSeal ? { preparedServerSeal: {
12660
+ preparationId: preparedSessionSeal.preparationId,
12661
+ ...finalized.sessionSeal
12662
+ } } : {},
12454
12663
  transport: {
12455
12664
  curve: "ed25519",
12456
12665
  authMethod: "passkey",
@@ -12749,7 +12958,11 @@ async function registerEcdsaOrMixedWallet(args) {
12749
12958
  warmup: prepared.registrationWarmup
12750
12959
  });
12751
12960
  const { relayerUrl, setup } = prepared;
12752
- const ecdsaSetup = requireEcdsaRegistrationSetup(setup, args.kind);
12961
+ const ecdsaPrepare = materializeWalletRegistrationSetupEcdsaPrepare(requireEcdsaRegistrationSetup(setup, args.kind).ecdsa);
12962
+ const ecdsaClientCeremony = ecdsaRegistrationClientCeremonyForExecution({
12963
+ passkeyExecution: args.passkeyExecution,
12964
+ ceremonyId: setup.registrationCeremonyId
12965
+ });
12753
12966
  const intentResponse = {
12754
12967
  intent: setup.intent,
12755
12968
  registrationIntentDigestB64u: setup.registrationIntentDigestB64u
@@ -12884,7 +13097,8 @@ async function registerEcdsaOrMixedWallet(args) {
12884
13097
  registrationCeremonyId: setup.registrationCeremonyId,
12885
13098
  signerPlanKind: args.kind,
12886
13099
  signedSetup: setup.signedSetup,
12887
- ecdsaPrepare: materializeWalletRegistrationSetupEcdsaPrepare(ecdsaSetup.ecdsa),
13100
+ ecdsaPrepare,
13101
+ clientCeremony: ecdsaClientCeremony,
12888
13102
  authority: startAuthority,
12889
13103
  materialAuthority,
12890
13104
  idempotencyKey: finalizeIdempotencyKey,
@@ -13085,6 +13299,7 @@ async function registerEcdsaOrMixedWallet(args) {
13085
13299
  walletId: deferredWalletId,
13086
13300
  commit: {
13087
13301
  context,
13302
+ registrationTiming,
13088
13303
  registrationStartedAt: startedAt,
13089
13304
  clientPrewarm,
13090
13305
  relayerUrl,
@@ -1,8 +1,8 @@
1
- import { i as loadWebAuthnP256EngineCtor, n as loadSignEvmFamilyWithUiConfirmForTempo, r as loadSignEvmWithUiConfirm, t as loadSecp256k1EngineCtor } from "./signerLoader-C_w8vuhm.js";
1
+ import { i as loadWebAuthnP256EngineCtor, n as loadSignEvmFamilyWithUiConfirmForTempo, r as loadSignEvmWithUiConfirm, t as loadSecp256k1EngineCtor } from "./signerLoader-D0WU1jq_.js";
2
2
  //#region src/SeamsWeb/walletIframe/host/registrationPreparationPreload.ts
3
3
  async function preloadWalletHostRegistrationPreparation() {
4
4
  await Promise.all([
5
- import("./runtime-ecdsa-tempo-B-qMRrmx.js").catch(() => void 0),
5
+ import("./runtime-ecdsa-tempo-DKdS5-us.js").catch(() => void 0),
6
6
  loadSignEvmFamilyWithUiConfirmForTempo().catch(() => void 0),
7
7
  loadSignEvmWithUiConfirm().catch(() => void 0),
8
8
  loadSecp256k1EngineCtor().catch(() => void 0),
@@ -11,15 +11,15 @@ import { c as toWalletId, s as thresholdEcdsaChainTargetsEqual } from "./ecdsaCh
11
11
  import "./signerDomain-DDLiwuYS.js";
12
12
  import "./participants-Bcnsa_ip.js";
13
13
  import "./sessionPolicy-B4FsPuk2.js";
14
- import { A as parseLinkedDeviceRevokeResultV1, E as parseLinkedDeviceListResultV1, R as parseWalletSessionOperationCredentialV1, T as parseLinkedDeviceListRequestV1, k as parseLinkedDeviceRevokeRequestV1 } from "./ecdsaPresignLifecycle-D_KCktCj.js";
14
+ import { A as parseLinkedDeviceRevokeResultV1, E as parseLinkedDeviceListResultV1, R as parseWalletSessionOperationCredentialV1, T as parseLinkedDeviceListRequestV1, k as parseLinkedDeviceRevokeRequestV1 } from "./ecdsaPresignLifecycle-CnSnzoRJ.js";
15
15
  import "./capabilityKinds-jwCEaqBU.js";
16
16
  import { G as parseExactEcdsaSigningLaneIdentity, K as parseExactEd25519ExportMaterialIdentity } from "./evmFamilyEcdsaIdentity-_kuKSW35.js";
17
17
  import { _ as isWalletFlowEvent, c as classifyLinkDeviceFlowEvent, d as createLinkDeviceFlowEvent, g as createUnlockFlowEvent, i as RegistrationEventPhase, l as createAccountSyncFlowEvent, m as createSigningFlowEvent, n as KeyExportEventPhase, o as SigningEventPhase, p as createRegistrationFlowEvent, r as LinkDeviceEventPhase, s as UnlockEventPhase, t as AccountSyncEventPhase, u as createKeyExportFlowEvent, v as parseNearProvisioningState, y as parseSdkLifecycleEvent } from "./sdkSentEvents-5Pi-hjHB.js";
18
18
  import "./signingSessionSeal-CdtgXHSL.js";
19
19
  import { c as serializeRegistrationCredentialWithPRF, s as serializeAuthenticationCredentialWithPRF } from "./helpers-DpRjHMBx.js";
20
- import { S as requireTempoFeeTokenPreferenceSigningRequest, _ as provisionalWalletIframeSurfaceGeometry, a as parseWalletIframeExactSessionState, c as buildPMUnlockPayload, f as needsExplicitActivation, g as isWalletIframeModalGeometry, h as anchorWalletIframeModalGeometry, i as parseWalletIframeExactSessionLockResult, m as ensureOverlayBase, o as parseWalletSessionFromBoundary, p as OverlayController, t as WalletIframeSessionExpiredRequestError, v as resolveWalletIframeSurfaceGeometry, w as WebAuthnBridgeMessage } from "./exactSessionState-C2aAv_ED.js";
20
+ import { S as requireTempoFeeTokenPreferenceSigningRequest, _ as provisionalWalletIframeSurfaceGeometry, a as parseWalletIframeExactSessionState, c as buildPMUnlockPayload, f as needsExplicitActivation, g as isWalletIframeModalGeometry, h as anchorWalletIframeModalGeometry, i as parseWalletIframeExactSessionLockResult, m as ensureOverlayBase, o as parseWalletSessionFromBoundary, p as OverlayController, t as WalletIframeSessionExpiredRequestError, v as resolveWalletIframeSurfaceGeometry, w as WebAuthnBridgeMessage } from "./exactSessionState-Bt0HforB.js";
21
21
  import { n as SignedTransaction } from "./NearClient-BQgcqAzG.js";
22
- import { n as PASSKEY_MANAGER_DEFAULT_CONFIGS } from "./defaultConfigs-DJCLCrg9.js";
22
+ import { n as PASSKEY_MANAGER_DEFAULT_CONFIGS } from "./defaultConfigs-CyNOW4Sy.js";
23
23
  //#region src/SeamsWeb/walletIframe/client/transactionReviewReservation.ts
24
24
  var TransactionReviewReservation = class {
25
25
  constructor(connectionId, identity, slot, title, validity, confirmationConfig, generation, lease, assertCurrent, cancelRequest, finishRequest, resumeRequest) {
@@ -1,6 +1,6 @@
1
1
  import { i as base64UrlEncode, r as base64UrlDecode, t as base64Decode } from "./base64-Clm8C-e9.js";
2
2
  import { A as alphabetizeStringify } from "./registrationIntent-DwAIMQYh.js";
3
- import { bn as parseRouterAbNormalSigningAuthorization, bt as routerAbEcdsaDerivationEvmDigestSigningRequestDigestV1, ct as parseRouterAbEcdsaOperationStepUpPreparationV1, et as parseRouterAbEcdsaDerivationEvmDigestSigningPrepareResponseForRequestV1, tt as parseRouterAbEcdsaDerivationEvmDigestSigningResponseForCoreRequestV1, yn as parseRouterAbMpcMaterialActivationRef, yt as routerAbEcdsaDerivationEvmDigestSigningFinalizeCoreRequestDigestV1 } from "./ecdsaPresignLifecycle-D_KCktCj.js";
3
+ import { bn as parseRouterAbMpcMaterialActivationRef, bt as routerAbEcdsaDerivationEvmDigestSigningRequestDigestV1, ct as parseRouterAbEcdsaOperationStepUpPreparationV1, et as parseRouterAbEcdsaDerivationEvmDigestSigningPrepareResponseForRequestV1, tt as parseRouterAbEcdsaDerivationEvmDigestSigningResponseForCoreRequestV1, xn as parseRouterAbNormalSigningAuthorization, yt as routerAbEcdsaDerivationEvmDigestSigningFinalizeCoreRequestDigestV1 } from "./ecdsaPresignLifecycle-CnSnzoRJ.js";
4
4
  import { n as buildRelayerJsonPostRequestInit, r as normalizeRelayerBaseUrl, t as buildBearerAuthorizationHeader } from "./relayerHttp-LsVTZCxA.js";
5
5
  //#region src/core/signingEngine/session/operationState/authorizationAdmission.ts
6
6
  const WALLET_SESSION_QUOTA_EXHAUSTED_ERROR = "[WalletSessionQuotaAdmission] wallet-session quota is exhausted";
@@ -3,8 +3,8 @@ import { t as walletIframeRequestIdFromBoundary } from "./walletIframeIdentity-U
3
3
  import "./validation-BphUDXs7.js";
4
4
  import { _ as parseHostedAuthMenuExternalAuthResolution, h as parseHostedAuthMenuErrorEvent, o as hostedAuthMenuExternalAuthRequestIdFromBoundary, p as parseHostedAuthMenuCancelPayload, v as parseHostedAuthMenuOpenRequest } from "./messages-B3UbNZYc.js";
5
5
  import "./errors-93h9uAW9.js";
6
- import { r as preloadWalletHostRegistrationSurface } from "./runtimeLoader-Dxn8UA8B.js";
7
- import { i as registerPreparedHostedPasskeyRegistration, n as cancelHostedPasskeyRegistration, r as prepareHostedPasskeyRegistration, s as startHostedPasskeyRegistrationCredential, ut as WalletSessionStatusReadScope } from "./registration-D8nYJKec.js";
6
+ import { r as preloadWalletHostRegistrationSurface } from "./runtimeLoader-BFAmJAbu.js";
7
+ import { i as registerPreparedHostedPasskeyRegistration, n as cancelHostedPasskeyRegistration, r as prepareHostedPasskeyRegistration, s as startHostedPasskeyRegistrationCredential, ut as WalletSessionStatusReadScope } from "./registration-D-istkMZ.js";
8
8
  import { l as activeWalletSessionV1RecordsEqual } from "./device-linking-DpVGjSeq.js";
9
9
  import { k as walletIdFromString, l as createReadableWalletId } from "./registrationIntent-DwAIMQYh.js";
10
10
  import { c as toWalletId, u as walletSessionRefFromSession } from "./ecdsaChainTarget-BOTPGIU_.js";
@@ -12,22 +12,22 @@ import { a as WALLET_AUTH_METHODS } from "./signerDomain-DDLiwuYS.js";
12
12
  import "./wallet-recovery-CKqoHbxT.js";
13
13
  import "./participants-Bcnsa_ip.js";
14
14
  import "./sessionPolicy-B4FsPuk2.js";
15
- import { R as parseWalletSessionOperationCredentialV1 } from "./ecdsaPresignLifecycle-D_KCktCj.js";
15
+ import { R as parseWalletSessionOperationCredentialV1 } from "./ecdsaPresignLifecycle-CnSnzoRJ.js";
16
16
  import "./capabilityKinds-jwCEaqBU.js";
17
17
  import "./evmFamilyEcdsaIdentity-_kuKSW35.js";
18
18
  import "./passkey-custody-BaHyYMhj.js";
19
19
  import { c as classifyLinkDeviceFlowEvent, s as UnlockEventPhase } from "./sdkSentEvents-5Pi-hjHB.js";
20
- import { s as IndexedDBManager, v as walletSessionAuthorizations } from "./ed25519SeedMaterial-0VmS6K9P.js";
20
+ import { s as IndexedDBManager, v as walletSessionAuthorizations } from "./ed25519SeedMaterial-Cghz8-XB.js";
21
21
  import "./keccak-DY5wDsym.js";
22
22
  import "./signingSessionSeal-CdtgXHSL.js";
23
- import { l as pmUnlockPayloadToLoginHooksOptions, n as exactSessionIdentitiesMatch, r as parseWalletIframeExactSessionIdentity, s as readSelectedWalletIframeExactSessionState, u as requirePMUnlockPayload } from "./exactSessionState-C2aAv_ED.js";
24
- import "./nearEd25519YaoMaterialActivation-4AuGG2DG.js";
23
+ import { l as pmUnlockPayloadToLoginHooksOptions, n as exactSessionIdentitiesMatch, r as parseWalletIframeExactSessionIdentity, s as readSelectedWalletIframeExactSessionState, u as requirePMUnlockPayload } from "./exactSessionState-Bt0HforB.js";
24
+ import "./nearEd25519YaoMaterialActivation-BLxVE6E5.js";
25
25
  import "./operationFingerprint-CsYO6b0a.js";
26
26
  import "./actions-DsBQcjBn.js";
27
27
  import { t as createWalletIframeSurfaceMeasurementReporter } from "./surface-measurement-reporter-D7BNehf4.js";
28
28
  import { n as getDefaultCspNonce, r as appearanceTokenCssRule, t as createCspStylesheetManager } from "./csp-stylesheet-DLj_a6t_.js";
29
29
  import { a as R, o as S, r as C, t as u } from "./jsxRuntime.module-FAP0NE9p.js";
30
- import { a as syncAccountWithPreparedCredential, c as listLocalLoginAuthMethods, d as unlockLinkedDevicePasskey, f as unlockResolvedWalletSubjectSet, g as normalizeLinkedDeviceTargetEmailAddressV1, h as isLinkedDeviceTargetEmailAddressV1, handleWalletHostRuntimeRequestWithHandlers, i as prepareSyncAccountChallenge, l as resolveLinkedDevicePasskeyAuthoritySelection, m as DeviceLinkingErrorCode, n as clearHostedWalletSessions, o as buildNearWalletRegistrationSignerSetSelection, p as resolveWalletUnlockSubjectSet, s as resolvePasskeyRegistrationAccountProvisioning, t as activeHostedWalletSessionOperationCredential, u as resolveLinkedDeviceUnlockSubjectSet } from "./runtimeContext-BdTaYxJD.js";
30
+ import { a as syncAccountWithPreparedCredential, c as listLocalLoginAuthMethods, d as unlockLinkedDevicePasskey, f as unlockResolvedWalletSubjectSet, g as normalizeLinkedDeviceTargetEmailAddressV1, h as isLinkedDeviceTargetEmailAddressV1, handleWalletHostRuntimeRequestWithHandlers, i as prepareSyncAccountChallenge, l as resolveLinkedDevicePasskeyAuthoritySelection, m as DeviceLinkingErrorCode, n as clearHostedWalletSessions, o as buildNearWalletRegistrationSignerSetSelection, p as resolveWalletUnlockSubjectSet, s as resolvePasskeyRegistrationAccountProvisioning, t as activeHostedWalletSessionOperationCredential, u as resolveLinkedDeviceUnlockSubjectSet } from "./runtimeContext-CH97jPZ0.js";
31
31
  import { n as respondOkResult, r as withProgress, t as respondOk } from "./shared-Qy1DGMqH.js";
32
32
  //#region src/SeamsWeb/walletIframe/shared/exactSessionReconciliation.ts
33
33
  /**
@@ -5082,7 +5082,7 @@ function passkeyRecentWalletId(recentUnlocks) {
5082
5082
  //#endregion
5083
5083
  //#region src/SeamsWeb/walletIframe/host/auth-menu/controller.ts
5084
5084
  async function loadHostedRecoveryPort(getSeamsWeb) {
5085
- const recoveryEntrypoint = await import("./recovery-entrypoint-CFTX6PFZ.js");
5085
+ const recoveryEntrypoint = await import("./recovery-entrypoint-D39R1avB.js");
5086
5086
  const seamsWeb = getSeamsWeb();
5087
5087
  return recoveryEntrypoint.createHostedRecoveryPort({
5088
5088
  context: seamsWeb.getContext(),
@@ -7,19 +7,19 @@ import "./signerDomain-DDLiwuYS.js";
7
7
  import "./wallet-recovery-CKqoHbxT.js";
8
8
  import "./participants-Bcnsa_ip.js";
9
9
  import "./sessionPolicy-B4FsPuk2.js";
10
- import { A as parseLinkedDeviceRevokeResultV1, E as parseLinkedDeviceListResultV1, L as parseQrLinkedDeviceSessionPayloadV5, T as parseLinkedDeviceListRequestV1, k as parseLinkedDeviceRevokeRequestV1 } from "./ecdsaPresignLifecycle-D_KCktCj.js";
10
+ import { A as parseLinkedDeviceRevokeResultV1, E as parseLinkedDeviceListResultV1, L as parseQrLinkedDeviceSessionPayloadV5, T as parseLinkedDeviceListRequestV1, k as parseLinkedDeviceRevokeRequestV1 } from "./ecdsaPresignLifecycle-CnSnzoRJ.js";
11
11
  import "./capabilityKinds-jwCEaqBU.js";
12
12
  import "./evmFamilyEcdsaIdentity-_kuKSW35.js";
13
13
  import "./passkey-custody-BaHyYMhj.js";
14
14
  import { c as classifyLinkDeviceFlowEvent } from "./sdkSentEvents-5Pi-hjHB.js";
15
- import "./ed25519SeedMaterial-0VmS6K9P.js";
15
+ import "./ed25519SeedMaterial-Cghz8-XB.js";
16
16
  import "./keccak-DY5wDsym.js";
17
17
  import "./signingSessionSeal-CdtgXHSL.js";
18
- import "./nearEd25519YaoMaterialActivation-4AuGG2DG.js";
18
+ import "./nearEd25519YaoMaterialActivation-BLxVE6E5.js";
19
19
  import "./operationFingerprint-CsYO6b0a.js";
20
20
  import "./actions-DsBQcjBn.js";
21
21
  import "./jsxRuntime.module-FAP0NE9p.js";
22
- import { handleWalletHostRuntimeRequestWithHandlers } from "./runtimeContext-BdTaYxJD.js";
22
+ import { handleWalletHostRuntimeRequestWithHandlers } from "./runtimeContext-CH97jPZ0.js";
23
23
  import { n as respondOkResult, r as withProgress, t as respondOk } from "./shared-Qy1DGMqH.js";
24
24
  //#region src/SeamsWeb/walletIframe/host/handlers/deviceLink.ts
25
25
  /** The QR payload's own lifetime; a selection older than this blocks nothing. */