@seams/wallet 0.6.2 → 0.7.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 (1452) hide show
  1. package/dist/.build-inputs.sha256 +1 -1
  2. package/dist/esm/SeamsWeb/SeamsWeb.js +33 -93
  3. package/dist/esm/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +25 -5
  4. package/dist/esm/SeamsWeb/assembly/createBrowserSigningStores.js +1 -2
  5. package/dist/esm/SeamsWeb/operations/auth/login.js +13 -37
  6. package/dist/esm/SeamsWeb/operations/auth/walletUnlockSubject.js +1 -1
  7. package/dist/esm/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.js +1 -1
  8. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +4 -3
  9. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/challenge.js +1 -1
  10. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +1 -1
  11. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.js +1 -1
  12. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.js +6 -15
  13. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/walletActivation.js +2 -2
  14. package/dist/esm/SeamsWeb/operations/authMethods/passkey/addPasskey.js +5 -4
  15. package/dist/esm/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.js +34 -0
  16. package/dist/esm/SeamsWeb/operations/authMethods/passkey/localPasskeyProjection.js +4 -42
  17. package/dist/esm/SeamsWeb/operations/authMethods/revokeAuthMethod.js +3 -2
  18. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.js +2 -2
  19. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.js +1 -1
  20. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +6 -5
  21. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.js +1 -1
  22. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingResume.js +3 -3
  23. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +2 -1
  24. package/dist/esm/SeamsWeb/operations/devices/linkDevice.js +1 -1671
  25. package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlow.js +1358 -0
  26. package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlowSupport.js +143 -0
  27. package/dist/esm/SeamsWeb/operations/devices/linkDeviceTargetActivation.js +119 -0
  28. package/dist/esm/SeamsWeb/operations/devices/scanDevice.js +1 -1
  29. package/dist/esm/SeamsWeb/operations/devices/walletHostComposition.js +13 -3
  30. package/dist/esm/SeamsWeb/operations/devices/walletHostOwnerAuthority.js +12 -4
  31. package/dist/esm/SeamsWeb/operations/near/index.js +1 -1
  32. package/dist/esm/SeamsWeb/operations/near/signNEP413.js +1 -1
  33. package/dist/esm/SeamsWeb/operations/recovery/accountSync.js +1 -1
  34. package/dist/esm/SeamsWeb/operations/recovery/recoveryWalletBinding.js +1 -1
  35. package/dist/esm/SeamsWeb/operations/recovery/syncAccount.js +7 -7
  36. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCommit.js +6 -10
  37. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +4 -2
  38. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryRotation.js +2 -2
  39. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.js +39 -5
  40. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryUnlock.js +21 -42
  41. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.js +3 -3
  42. package/dist/esm/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +2 -2
  43. package/dist/esm/SeamsWeb/operations/registration/registration.js +101 -58
  44. package/dist/esm/SeamsWeb/operations/registration/registrationEd25519Yao.js +37 -6
  45. package/dist/esm/SeamsWeb/operations/registration/registrationSignerSet.js +1 -1
  46. package/dist/esm/SeamsWeb/operations/registration/registrationStrictEcdsa.js +4 -3
  47. package/dist/esm/SeamsWeb/operations/registration/registrationTerminalCommit.js +1 -1
  48. package/dist/esm/SeamsWeb/operations/registration/registrationTiming.js +194 -539
  49. package/dist/esm/SeamsWeb/publicApi/awaitNearReady.js +3 -1
  50. package/dist/esm/SeamsWeb/publicApi/devices.js +1 -1
  51. package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +22 -24
  52. package/dist/esm/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +0 -4
  53. package/dist/esm/SeamsWeb/walletIframe/client/router.js +4 -3
  54. package/dist/esm/SeamsWeb/walletIframe/client/surface/geometry.js +6 -88
  55. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +1 -1
  56. package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +26 -36
  57. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +3 -1
  58. package/dist/esm/SeamsWeb/walletIframe/shared/transactionReview.js +2 -4
  59. package/dist/esm/advanced.js +3 -2
  60. package/dist/esm/core/accountData/near/keyMaterial.js +2 -2
  61. package/dist/esm/core/config/chains.js +1 -0
  62. package/dist/esm/core/indexedDB/index.js +1 -7
  63. package/dist/esm/core/indexedDB/keyMaterialEnvelope.js +1 -5
  64. package/dist/esm/core/indexedDB/linkedAuthoritySignerMaterial.js +7 -14
  65. package/dist/esm/core/indexedDB/pendingWalletRecoveryCommit.js +2 -2
  66. package/dist/esm/core/indexedDB/pendingWalletRegistrationCommit.js +1 -1
  67. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.js +209 -0
  68. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +848 -0
  69. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +122 -1721
  70. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +235 -0
  71. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +60 -11
  72. package/dist/esm/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +198 -0
  73. package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +1 -1
  74. package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +6 -0
  75. package/dist/esm/core/indexedDB/walletCustodyEd25519MaterialRecord.js +1 -1
  76. package/dist/esm/core/platform/browser/createBrowserPlatformRuntime.js +0 -43
  77. package/dist/esm/core/rpcClients/near/NearClient.js +20 -215
  78. package/dist/esm/core/rpcClients/near/rpcCalls.js +4 -4
  79. package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +57 -86
  80. package/dist/esm/core/rpcClients/relayer/thresholdEcdsa.js +1 -1
  81. package/dist/esm/core/rpcClients/relayer/walletRecoveryPrepare.js +6 -6
  82. package/dist/esm/core/rpcClients/relayer/walletRecoveryRotate.js +0 -1
  83. package/dist/esm/core/rpcClients/relayer/walletRegistration.js +42 -18
  84. package/dist/esm/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +6 -12
  85. package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +1 -1
  86. package/dist/esm/core/signingEngine/assembly/ports/evmFamily.js +1 -1
  87. package/dist/esm/core/signingEngine/assembly/ports/stepUpRuntime.js +0 -1
  88. package/dist/esm/core/signingEngine/chains/evm/display/evmTx.js +1 -6
  89. package/dist/esm/core/signingEngine/chains/evm/evmCryptoWasm.js +1 -36
  90. package/dist/esm/core/signingEngine/chains/near/display.js +14 -1
  91. package/dist/esm/core/signingEngine/chains/tempo/display.js +1 -6
  92. package/dist/esm/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +4 -4
  93. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportFlow.js +7 -8
  94. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +2 -2
  95. package/dist/esm/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +1 -1
  96. package/dist/esm/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +18 -26
  97. package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +245 -503
  98. package/dist/esm/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +8 -11
  99. package/dist/esm/core/signingEngine/flows/signEvmFamily/authPlanning.js +1 -1
  100. package/dist/esm/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +1 -1
  101. package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +1 -1
  102. package/dist/esm/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.js +2 -2
  103. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +1 -3
  104. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamilyWithUiConfirmForTempo.js +1 -1
  105. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmWithUiConfirm.js +1 -1
  106. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +1 -2
  107. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +4 -4
  108. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +42 -12
  109. package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +2 -2
  110. package/dist/esm/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +343 -0
  111. package/dist/esm/core/signingEngine/flows/signNear/signDelegate.js +66 -312
  112. package/dist/esm/core/signingEngine/flows/signNear/signNear.js +44 -48
  113. package/dist/esm/core/signingEngine/flows/signNear/signNep413.js +58 -305
  114. package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +33 -16
  115. package/dist/esm/core/signingEngine/interfaces/accountAuthMetadata.js +0 -1
  116. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +14 -148
  117. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +2 -1
  118. package/dist/esm/core/signingEngine/session/availability/availableSigningLanes.js +4 -4
  119. package/dist/esm/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +2 -2
  120. package/dist/esm/core/signingEngine/session/emailOtp/coordinatorRuntime.js +0 -2
  121. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLogin.js +2 -2
  122. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaPublication.js +3 -3
  123. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaRecovery.js +3 -3
  124. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.js +1 -1
  125. package/dist/esm/core/signingEngine/session/emailOtp/ed25519ExportContext.js +9 -16
  126. package/dist/esm/core/signingEngine/session/emailOtp/exportRecovery.js +2 -2
  127. package/dist/esm/core/signingEngine/session/emailOtp/exportRecoveryRuntime.js +0 -9
  128. package/dist/esm/core/signingEngine/session/emailOtp/publicTypes.js +1 -2
  129. package/dist/esm/core/signingEngine/session/emailOtp/sealedRefreshPolicy.js +0 -28
  130. package/dist/esm/core/signingEngine/session/emailOtp/sealedSessionRegistry.js +1 -1
  131. package/dist/esm/core/signingEngine/session/emailOtp/walletUnlock.js +1 -1
  132. package/dist/esm/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +2 -2
  133. package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +1 -1
  134. package/dist/esm/core/signingEngine/session/identity/laneIdentity.js +5 -4
  135. package/dist/esm/core/signingEngine/session/identity/ownerLaneScope.js +1 -1
  136. package/dist/esm/core/signingEngine/session/keyMaterialBrands.js +2 -21
  137. package/dist/esm/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +41 -62
  138. package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +6 -2
  139. package/dist/esm/core/signingEngine/session/material/ecdsaSealedRuntime.js +3 -3
  140. package/dist/esm/core/signingEngine/session/material/ecdsaSigningCapability.js +1 -1
  141. package/dist/esm/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.js +1 -1
  142. package/dist/esm/core/signingEngine/session/operationState/authorizationAdmission.js +4 -4
  143. package/dist/esm/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +1 -1
  144. package/dist/esm/core/signingEngine/session/passkey/ecdsaRecovery.js +1 -1
  145. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +39 -59
  146. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +13 -22
  147. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +11 -20
  148. package/dist/esm/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.js +1 -1
  149. package/dist/esm/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.js +1 -1
  150. package/dist/esm/core/signingEngine/session/persistence/sealedSessionRecords.js +764 -0
  151. package/dist/esm/core/signingEngine/session/persistence/sealedSessionStore.js +42 -862
  152. package/dist/esm/core/signingEngine/session/public.js +1 -1
  153. package/dist/esm/core/signingEngine/session/sealedRecovery/recoveryRecord.js +3 -3
  154. package/dist/esm/core/signingEngine/session/warmCapabilities/capabilityReaderCore.js +1 -1
  155. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.js +2 -1
  156. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.js +0 -1
  157. package/dist/esm/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.js +3 -3
  158. package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.js +1 -1
  159. package/dist/esm/core/signingEngine/session/warmCapabilities/types.js +0 -1
  160. package/dist/esm/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.js +3 -5
  161. package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +2 -3
  162. package/dist/esm/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +3 -2
  163. package/dist/esm/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.js +2 -2
  164. package/dist/esm/core/signingEngine/threshold/ecdsa/activation.js +3 -2
  165. package/dist/esm/core/signingEngine/threshold/ed25519/connectSession.js +1 -1
  166. package/dist/esm/core/signingEngine/threshold/ed25519/walletSession.js +2 -2
  167. package/dist/esm/core/signingEngine/threshold/ed25519/yaoActiveClientRegistry.js +1 -1
  168. package/dist/esm/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.js +12 -19
  169. package/dist/esm/core/signingEngine/threshold/sessionPolicy.js +1 -1
  170. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +4 -3
  171. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +2 -2
  172. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +7 -0
  173. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/signing.js +9 -16
  174. package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +5 -5
  175. package/dist/esm/core/signingEngine/uiConfirm/ui/confirmation-model.js +1 -1
  176. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +1 -0
  177. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +1 -1
  178. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +79 -9
  179. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +31 -78
  180. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.js +1 -0
  181. package/dist/esm/core/signingEngine/walletCustody/activateEd25519Capability.js +2 -1
  182. package/dist/esm/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.js +3 -4
  183. package/dist/esm/core/signingEngine/walletCustody/emailOtpLink.js +2 -2
  184. package/dist/esm/core/signingEngine/walletCustody/openCustodyCache.js +1 -1
  185. package/dist/esm/core/signingEngine/walletCustody/recoveryReplacementEnvelope.js +2 -1
  186. package/dist/esm/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +56 -9
  187. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEcdsa.js +1 -1
  188. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEd25519.js +2 -2
  189. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryRotation.js +52 -81
  190. package/dist/esm/core/signingEngine/webauthnAuth/credentials/credentialExtensions.js +2 -4
  191. package/dist/esm/core/signingEngine/webauthnAuth/credentials/helpers.js +1 -1
  192. package/dist/esm/core/signingEngine/workerManager/deviceLinkingPorts.js +13 -16
  193. package/dist/esm/core/signingEngine/workerManager/deviceLinkingSourceContribution.js +28 -3
  194. package/dist/esm/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +3 -1
  195. package/dist/esm/core/signingEngine/workerManager/workerTransport.js +20 -5
  196. package/dist/esm/core/signingEngine/workerManager/workerTypes.js +2 -1
  197. package/dist/esm/core/types/linkDevice.js +2 -3
  198. package/dist/esm/core/types/sdkSentEvents.js +7 -5
  199. package/dist/esm/core/types/signer-worker.js +1 -58
  200. package/dist/esm/index.js +1 -1
  201. package/dist/esm/plugins/vite.js +1 -1
  202. package/dist/esm/react/SeamsWeb/SeamsWeb.js +32 -92
  203. package/dist/esm/react/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +25 -5
  204. package/dist/esm/react/SeamsWeb/assembly/createBrowserSigningStores.js +1 -2
  205. package/dist/esm/react/SeamsWeb/operations/auth/login.js +10 -34
  206. package/dist/esm/react/SeamsWeb/operations/auth/walletAuth.js +1 -1
  207. package/dist/esm/react/SeamsWeb/operations/auth/walletUnlockSubject.js +1 -1
  208. package/dist/esm/react/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.js +1 -1
  209. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +4 -3
  210. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +1 -1
  211. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.js +1 -1
  212. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.js +6 -15
  213. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/walletActivation.js +1 -1
  214. package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/addPasskey.js +5 -4
  215. package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.js +34 -0
  216. package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/localPasskeyProjection.js +3 -3
  217. package/dist/esm/react/SeamsWeb/operations/authMethods/revokeAuthMethod.js +3 -2
  218. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.js +2 -2
  219. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.js +1 -1
  220. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +5 -4
  221. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.js +1 -1
  222. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingResume.js +3 -3
  223. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +2 -1
  224. package/dist/esm/react/SeamsWeb/operations/devices/linkDevice.js +1 -1671
  225. package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceFlow.js +1358 -0
  226. package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceFlowSupport.js +143 -0
  227. package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceTargetActivation.js +119 -0
  228. package/dist/esm/react/SeamsWeb/operations/devices/walletHostComposition.js +13 -3
  229. package/dist/esm/react/SeamsWeb/operations/devices/walletHostOwnerAuthority.js +11 -3
  230. package/dist/esm/react/SeamsWeb/operations/near/index.js +1 -1
  231. package/dist/esm/react/SeamsWeb/operations/recovery/accountSync.js +1 -1
  232. package/dist/esm/react/SeamsWeb/operations/recovery/recoveryWalletBinding.js +1 -1
  233. package/dist/esm/react/SeamsWeb/operations/recovery/syncAccount.js +5 -5
  234. package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryCommit.js +5 -9
  235. package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +3 -1
  236. package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.js +38 -4
  237. package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryUnlock.js +20 -41
  238. package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.js +3 -3
  239. package/dist/esm/react/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +2 -2
  240. package/dist/esm/react/SeamsWeb/operations/registration/registration.js +96 -53
  241. package/dist/esm/react/SeamsWeb/operations/registration/registrationEd25519Yao.js +35 -4
  242. package/dist/esm/react/SeamsWeb/operations/registration/registrationSignerSet.js +1 -1
  243. package/dist/esm/react/SeamsWeb/operations/registration/registrationStrictEcdsa.js +5 -4
  244. package/dist/esm/react/SeamsWeb/operations/registration/registrationTiming.js +194 -539
  245. package/dist/esm/react/SeamsWeb/publicApi/awaitNearReady.js +3 -1
  246. package/dist/esm/react/SeamsWeb/publicApi/devices.js +1 -1
  247. package/dist/esm/react/SeamsWeb/signingSurface/BrowserSigningSurface.js +21 -23
  248. package/dist/esm/react/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +0 -4
  249. package/dist/esm/react/SeamsWeb/walletIframe/client/router.js +4 -3
  250. package/dist/esm/react/SeamsWeb/walletIframe/client/surface/geometry.js +8 -5
  251. package/dist/esm/react/SeamsWeb/walletIframe/shared/exactSessionState.js +27 -37
  252. package/dist/esm/react/SeamsWeb/walletIframe/shared/messages.js +3 -1
  253. package/dist/esm/react/SeamsWeb/walletIframe/shared/transactionReview.js +3 -5
  254. package/dist/esm/react/components/AccountMenuButton/AccountMenuDialog.js +93 -0
  255. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +187 -249
  256. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +195 -257
  257. package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.js +1 -1
  258. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +1 -1
  259. package/dist/esm/react/components/AccountMenuButton/UserAccountButton.js +1 -1
  260. package/dist/esm/react/components/AccountMenuButton/icons/MoonIcon.js +6 -41
  261. package/dist/esm/react/components/AccountMenuButton/icons/SunIcon.js +43 -78
  262. package/dist/esm/react/components/AccountMenuButton/icons/strokeIcon.js +43 -0
  263. package/dist/esm/react/components/AccountMenuButton/index.js +1 -1
  264. package/dist/esm/react/components/theme/design-tokens.js +0 -1
  265. package/dist/esm/react/core/config/chains.js +1 -0
  266. package/dist/esm/react/core/indexedDB/keyMaterialEnvelope.js +1 -5
  267. package/dist/esm/react/core/indexedDB/linkedAuthoritySignerMaterial.js +7 -14
  268. package/dist/esm/react/core/indexedDB/pendingWalletRecoveryCommit.js +1 -1
  269. package/dist/esm/react/core/indexedDB/pendingWalletRegistrationCommit.js +1 -1
  270. package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.js +209 -0
  271. package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +848 -0
  272. package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +122 -1721
  273. package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +235 -0
  274. package/dist/esm/react/core/indexedDB/seamsWalletDB/repositories.js +56 -7
  275. package/dist/esm/react/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +198 -0
  276. package/dist/esm/react/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +1 -1
  277. package/dist/esm/react/core/indexedDB/unifiedIndexedDBManager.js +6 -0
  278. package/dist/esm/react/core/indexedDB/walletCustodyEd25519MaterialRecord.js +1 -1
  279. package/dist/esm/react/core/platform/browser/createBrowserPlatformRuntime.js +1 -44
  280. package/dist/esm/react/core/rpcClients/near/NearClient.js +19 -214
  281. package/dist/esm/react/core/rpcClients/near/rpcCalls.js +1 -1
  282. package/dist/esm/react/core/rpcClients/relayer/routerAbNormalSigning.js +56 -85
  283. package/dist/esm/react/core/rpcClients/relayer/walletRecoveryPrepare.js +2 -2
  284. package/dist/esm/react/core/rpcClients/relayer/walletRecoveryRotate.js +0 -1
  285. package/dist/esm/react/core/rpcClients/relayer/walletRegistration.js +39 -15
  286. package/dist/esm/react/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +4 -10
  287. package/dist/esm/react/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +1 -1
  288. package/dist/esm/react/core/signingEngine/assembly/ports/stepUpRuntime.js +0 -1
  289. package/dist/esm/react/core/signingEngine/chains/evm/display/evmTx.js +1 -6
  290. package/dist/esm/react/core/signingEngine/chains/near/display.js +14 -1
  291. package/dist/esm/react/core/signingEngine/chains/tempo/display.js +1 -6
  292. package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +1 -1
  293. package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaExportFlow.js +5 -6
  294. package/dist/esm/react/core/signingEngine/flows/recovery/exportLaneSelection.js +1 -1
  295. package/dist/esm/react/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +16 -24
  296. package/dist/esm/react/core/signingEngine/flows/registration/accountLifecycle.js +246 -504
  297. package/dist/esm/react/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +7 -10
  298. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/authPlanning.js +1 -1
  299. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/ecdsaLanes.js +1 -1
  300. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +1 -1
  301. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/preparedSigning.js +1 -1
  302. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +3 -5
  303. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmFamilyWithUiConfirmForTempo.js +1 -1
  304. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmWithUiConfirm.js +1 -1
  305. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +1 -2
  306. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlow.js +4 -4
  307. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +41 -11
  308. package/dist/esm/react/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +1 -1
  309. package/dist/esm/react/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +343 -0
  310. package/dist/esm/react/core/signingEngine/flows/signNear/shared/signingSessionAuthMode.js +1 -1
  311. package/dist/esm/react/core/signingEngine/flows/signNear/signDelegate.js +66 -312
  312. package/dist/esm/react/core/signingEngine/flows/signNear/signNear.js +45 -49
  313. package/dist/esm/react/core/signingEngine/flows/signNear/signNep413.js +58 -305
  314. package/dist/esm/react/core/signingEngine/flows/signNear/signTransactions.js +34 -17
  315. package/dist/esm/react/core/signingEngine/interfaces/accountAuthMetadata.js +0 -1
  316. package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +13 -147
  317. package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +2 -1
  318. package/dist/esm/react/core/signingEngine/session/SigningSessionCoordinator.js +1 -1
  319. package/dist/esm/react/core/signingEngine/session/availability/availableSigningLanes.js +4 -4
  320. package/dist/esm/react/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +3 -3
  321. package/dist/esm/react/core/signingEngine/session/emailOtp/coordinatorRuntime.js +0 -2
  322. package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaLogin.js +2 -2
  323. package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaPublication.js +1 -1
  324. package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaRecovery.js +2 -2
  325. package/dist/esm/react/core/signingEngine/session/emailOtp/ed25519ExportContext.js +7 -14
  326. package/dist/esm/react/core/signingEngine/session/emailOtp/exportRecovery.js +1 -1
  327. package/dist/esm/react/core/signingEngine/session/emailOtp/exportRecoveryRuntime.js +0 -9
  328. package/dist/esm/react/core/signingEngine/session/emailOtp/publicTypes.js +0 -1
  329. package/dist/esm/react/core/signingEngine/session/emailOtp/sealedRefreshPolicy.js +0 -28
  330. package/dist/esm/react/core/signingEngine/session/emailOtp/sealedSessionRegistry.js +1 -1
  331. package/dist/esm/react/core/signingEngine/session/emailOtp/walletUnlock.js +1 -1
  332. package/dist/esm/react/core/signingEngine/session/emailOtp/workerEnrollment.js +1 -1
  333. package/dist/esm/react/core/signingEngine/session/identity/clientSessionPersistenceState.js +1 -1
  334. package/dist/esm/react/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +3 -3
  335. package/dist/esm/react/core/signingEngine/session/identity/exactSigningLaneIdentity.js +2 -2
  336. package/dist/esm/react/core/signingEngine/session/identity/laneIdentity.js +6 -5
  337. package/dist/esm/react/core/signingEngine/session/keyMaterialBrands.js +2 -21
  338. package/dist/esm/react/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +39 -60
  339. package/dist/esm/react/core/signingEngine/session/material/ecdsaCapabilityManifest.js +5 -1
  340. package/dist/esm/react/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.js +1 -1
  341. package/dist/esm/react/core/signingEngine/session/operationState/authorizationAdmission.js +4 -4
  342. package/dist/esm/react/core/signingEngine/session/passkey/ecdsaBootstrap.js +1 -1
  343. package/dist/esm/react/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +1 -1
  344. package/dist/esm/react/core/signingEngine/session/passkey/ecdsaRecovery.js +1 -1
  345. package/dist/esm/react/core/signingEngine/session/passkey/ecdsaWarmCapabilityBootstrap.js +1 -1
  346. package/dist/esm/react/core/signingEngine/session/passkey/ed25519SessionProvision.js +1 -1
  347. package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +37 -57
  348. package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +12 -21
  349. package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +10 -19
  350. package/dist/esm/react/core/signingEngine/session/persistence/sealedSessionRecords.js +764 -0
  351. package/dist/esm/react/core/signingEngine/session/persistence/sealedSessionStore.js +41 -858
  352. package/dist/esm/react/core/signingEngine/session/postconditions/runtimePostconditions.js +1 -1
  353. package/dist/esm/react/core/signingEngine/session/public.js +2 -2
  354. package/dist/esm/react/core/signingEngine/session/warmCapabilities/capabilityReaderCore.js +1 -1
  355. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaBootstrapPersistence.js +1 -1
  356. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.js +2 -1
  357. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.js +0 -1
  358. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.js +3 -3
  359. package/dist/esm/react/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +1 -1
  360. package/dist/esm/react/core/signingEngine/session/warmCapabilities/sealedRefreshParity.js +1 -1
  361. package/dist/esm/react/core/signingEngine/session/warmCapabilities/types.js +1 -2
  362. package/dist/esm/react/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.js +3 -5
  363. package/dist/esm/react/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +2 -3
  364. package/dist/esm/react/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +2 -1
  365. package/dist/esm/react/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.js +2 -2
  366. package/dist/esm/react/core/signingEngine/threshold/ecdsa/activation.js +2 -1
  367. package/dist/esm/react/core/signingEngine/threshold/ecdsa/bootstrapSession.js +1 -1
  368. package/dist/esm/react/core/signingEngine/threshold/ed25519/walletSession.js +1 -1
  369. package/dist/esm/react/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.js +12 -19
  370. package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +2 -1
  371. package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +1 -1
  372. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +7 -0
  373. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/localOnly.js +1 -1
  374. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/signing.js +9 -16
  375. package/dist/esm/react/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +5 -5
  376. package/dist/esm/react/core/signingEngine/uiConfirm/ui/confirmation-model.js +1 -1
  377. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +1 -0
  378. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +1 -1
  379. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +79 -9
  380. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +31 -78
  381. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.js +1 -0
  382. package/dist/esm/react/core/signingEngine/walletCustody/activateEd25519Capability.js +2 -1
  383. package/dist/esm/react/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.js +3 -4
  384. package/dist/esm/react/core/signingEngine/walletCustody/emailOtpLink.js +2 -2
  385. package/dist/esm/react/core/signingEngine/walletCustody/recoveryReplacementEnvelope.js +2 -1
  386. package/dist/esm/react/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +55 -8
  387. package/dist/esm/react/core/signingEngine/walletCustody/walletRecoveryRotation.js +52 -81
  388. package/dist/esm/react/core/signingEngine/webauthnAuth/credentials/credentialExtensions.js +2 -4
  389. package/dist/esm/react/core/signingEngine/workerManager/deviceLinkingPorts.js +13 -16
  390. package/dist/esm/react/core/signingEngine/workerManager/deviceLinkingSourceContribution.js +29 -4
  391. package/dist/esm/react/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +4 -2
  392. package/dist/esm/react/core/signingEngine/workerManager/workerTransport.js +20 -5
  393. package/dist/esm/react/core/signingEngine/workerManager/workerTypes.js +2 -1
  394. package/dist/esm/react/core/types/linkDevice.js +2 -3
  395. package/dist/esm/react/core/types/sdkSentEvents.js +7 -5
  396. package/dist/esm/react/hooks/useQRCamera.js +1 -1
  397. package/dist/esm/react/shared-ts/src/authorization/delegatedAuthority.js +1 -1
  398. package/dist/esm/react/shared-ts/src/authorization/operationFingerprint.js +0 -1
  399. package/dist/esm/react/shared-ts/src/authorization/walletAuthority.js +92 -227
  400. package/dist/esm/react/shared-ts/src/authorization/walletCustodyOperation.js +4 -6
  401. package/dist/esm/react/shared-ts/src/device-linking/activeWalletSession.js +70 -1
  402. package/dist/esm/react/shared-ts/src/device-linking/authorityActivation.js +142 -0
  403. package/dist/esm/react/shared-ts/src/device-linking/committedSignerPackages.js +3 -3
  404. package/dist/esm/react/shared-ts/src/device-linking/delegatedActivationPlan.js +3 -1
  405. package/dist/esm/react/shared-ts/src/device-linking/deviceManagement.js +120 -0
  406. package/dist/esm/react/shared-ts/src/device-linking/digests.js +8 -63
  407. package/dist/esm/react/shared-ts/src/device-linking/ed25519ExportRoot.js +3 -1
  408. package/dist/esm/react/shared-ts/src/device-linking/index.js +6 -4
  409. package/dist/esm/react/shared-ts/src/device-linking/parsers.js +546 -1308
  410. package/dist/esm/react/shared-ts/src/device-linking/requestProof.js +3 -3
  411. package/dist/esm/react/shared-ts/src/device-linking/sourceContribution.js +8 -11
  412. package/dist/esm/react/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +7 -7
  413. package/dist/esm/react/shared-ts/src/device-linking/wireFields.js +59 -0
  414. package/dist/esm/react/shared-ts/src/near/nearClient.js +252 -0
  415. package/dist/esm/react/shared-ts/src/passkey-custody/custodyEnvelope.js +6 -4
  416. package/dist/esm/react/shared-ts/src/passkey-custody/custodySecretBinding.js +6 -4
  417. package/dist/esm/react/shared-ts/src/passkey-custody/primitives.js +5 -39
  418. package/dist/esm/react/shared-ts/src/signing-lanes/index.js +4 -3
  419. package/dist/esm/react/shared-ts/src/signing-lanes/ownerContinuity.js +6 -1
  420. package/dist/esm/react/shared-ts/src/signing-lanes/participantDigest.js +2 -0
  421. package/dist/esm/react/shared-ts/src/signing-lanes/participants.js +2 -5
  422. package/dist/esm/react/shared-ts/src/signing-lanes/recordParsers.js +7 -7
  423. package/dist/esm/react/shared-ts/src/signing-lanes/rotationDigests.js +2 -0
  424. package/dist/esm/react/shared-ts/src/signing-lanes/rotationParsers.js +3 -3
  425. package/dist/esm/react/shared-ts/src/signing-lanes/rotationProtocolParsers.js +8 -0
  426. package/dist/esm/react/shared-ts/src/signing-lanes/rotationWireFields.js +3 -0
  427. package/dist/esm/react/shared-ts/src/threshold/ed25519OperationFingerprint.js +34 -42
  428. package/dist/esm/react/shared-ts/src/threshold/keyMaterialBrands.js +25 -0
  429. package/dist/esm/react/shared-ts/src/threshold/secp256k1.js +1 -2
  430. package/dist/esm/react/shared-ts/src/utils/addAuthMethodRegistration.js +3 -4
  431. package/dist/esm/react/shared-ts/src/utils/canonicalPrimitives.js +8 -1
  432. package/dist/esm/react/shared-ts/src/utils/digestEncoding.js +63 -0
  433. package/dist/esm/react/shared-ts/src/utils/ecdsaKeyFactsInventory.js +1 -1
  434. package/dist/esm/react/shared-ts/src/utils/emailOtpDomain.js +3 -3
  435. package/dist/esm/react/shared-ts/src/utils/encoders.js +1 -1
  436. package/dist/esm/react/shared-ts/src/utils/errors.js +1 -1
  437. package/dist/esm/react/shared-ts/src/utils/exactRecord.js +44 -0
  438. package/dist/esm/react/shared-ts/src/utils/index.js +12 -8
  439. package/dist/esm/react/shared-ts/src/utils/registrationAuthMethodInput.js +84 -0
  440. package/dist/esm/react/shared-ts/src/utils/registrationEstablishedSession.js +2 -2
  441. package/dist/esm/react/shared-ts/src/utils/registrationIds.js +226 -0
  442. package/dist/esm/react/shared-ts/src/utils/registrationIntent.js +4 -1081
  443. package/dist/esm/react/shared-ts/src/utils/registrationSignerPlan.js +442 -0
  444. package/dist/esm/react/shared-ts/src/utils/routerAbEcdsaDerivation.js +9 -8
  445. package/dist/esm/react/shared-ts/src/utils/routerAbEd25519Yao.js +3 -76
  446. package/dist/esm/react/shared-ts/src/utils/routerAbEd25519YaoDigests.js +76 -0
  447. package/dist/esm/react/shared-ts/src/utils/routerAbNormalSigningIdentity.js +1 -4
  448. package/dist/esm/react/shared-ts/src/utils/routerAbPublicKeyset.js +2 -6
  449. package/dist/esm/react/shared-ts/src/utils/secureRandomId.js +1 -1
  450. package/dist/esm/react/shared-ts/src/utils/signerDomain.js +1 -16
  451. package/dist/esm/react/shared-ts/src/utils/validation.js +36 -2
  452. package/dist/esm/react/shared-ts/src/utils/walletAuthAuthority.js +1 -1
  453. package/dist/esm/react/shared-ts/src/utils/walletAuthMethodRecord.js +357 -0
  454. package/dist/esm/react/shared-ts/src/utils/walletCapabilityBindings.js +2 -2
  455. package/dist/esm/react/shared-ts/src/utils/wireSchema.js +66 -0
  456. package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +10 -13
  457. package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +4 -8
  458. package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +3 -1
  459. package/dist/esm/react/utils/qrScanner.js +2 -19
  460. package/dist/{public/sdk/ConfirmationDrawer-G0bT0Dbu.js → esm/sdk/ConfirmationDrawer-MgFTBwwK.js} +2 -1
  461. package/dist/esm/sdk/{EvmClient-CHw6txjt.js → EvmClient-f3gUhS2L.js} +1 -1
  462. package/dist/esm/sdk/{NearClient-BQgcqAzG.js → NearClient-DY4NfHeD.js} +194 -147
  463. package/dist/esm/sdk/{NonceCoordinator-C7mqpJiU.js → NonceCoordinator-4XWPhYww.js} +4 -4
  464. package/dist/esm/sdk/{accountIds-Ck4GAQfm.js → accountIds-DhIPGOSN.js} +1 -1
  465. package/dist/{public/sdk/accountLifecycle-Ddavc_FC.js → esm/sdk/accountLifecycle-BAGG_rbk.js} +253 -514
  466. package/dist/esm/sdk/{actions-DsBQcjBn.js → actions-CCvThiKe.js} +1 -1
  467. package/dist/esm/sdk/{adapters-m94YFj70.js → adapters-B4JeK1nJ.js} +134 -105
  468. package/dist/esm/sdk/canonicalPrimitives-BTHWz80v.js +36 -0
  469. package/dist/{public/sdk/canonicalSignerErrorCode-DAzYzisf.js → esm/sdk/canonicalSignerErrorCode-CRoJMVpp.js} +2 -2
  470. package/dist/{public/sdk/capabilityKinds-jwCEaqBU.js → esm/sdk/capabilityKinds-hvYqa6S_.js} +1 -1
  471. package/dist/esm/sdk/chains-BMh3btVo.js +124 -0
  472. package/dist/{public/sdk/challengeDelivery-BjLKoou3.js → esm/sdk/challengeDelivery-Dd0586fo.js} +2 -2
  473. package/dist/esm/sdk/{configHelpers-DB73zYvO.js → configHelpers-vAQCzUD0.js} +3 -3
  474. package/dist/{public/sdk/defaultConfigs-CyNOW4Sy.js → esm/sdk/defaultConfigs-B3c16M_8.js} +5 -5
  475. package/dist/esm/sdk/{display-DHdC2yXU.js → display-KdIL0ff7.js} +3 -8
  476. package/dist/esm/sdk/{normalize-BephcEIF.js → domainIds-lcrFg6Sa.js} +84 -84
  477. package/dist/{public/sdk/ecdsaCapabilityManifest-C8itxV9S.js → esm/sdk/ecdsaCapabilityManifest-kzO_fW09.js} +12 -8
  478. package/dist/esm/sdk/{ecdsaChainTarget-BOTPGIU_.js → ecdsaChainTarget-Bl-JWyuw.js} +2 -2
  479. package/dist/esm/sdk/ecdsaPresignLifecycle-BFOTNYCK.js +1983 -0
  480. package/dist/esm/sdk/{ecdsaPresignPoolIdentity-Yopr4jvS.js → ecdsaPresignPoolIdentity-BjxZVIqn.js} +1 -1
  481. package/dist/{public/sdk/ecdsaWalletRecords-CAbbVhEY.js → esm/sdk/ecdsaWalletRecords-Cz4m6bIz.js} +6 -4
  482. package/dist/esm/sdk/encoders-D8d07vpx.js +0 -0
  483. package/dist/esm/sdk/{enrichDisplayModelWithAbi-DnjR1CqT.js → enrichDisplayModelWithAbi-CWggsykc.js} +2 -2
  484. package/dist/{public/sdk/evmCryptoWasm-BVj135bZ.js → esm/sdk/evmCryptoWasm-DWklhEEb.js} +1 -1
  485. package/dist/esm/sdk/evmFamilyEcdsaIdentity-Co5XDcEA.js +4288 -0
  486. package/dist/{public/sdk/exactSessionState-Bt0HforB.js → esm/sdk/exactSessionState-CiD5fBEs.js} +45 -54
  487. package/dist/esm/sdk/exactSigningLaneIdentity-DQeqPMST.js +335 -0
  488. package/dist/esm/sdk/{export-viewer-host-CbqG8ZQV.js → export-viewer-host-ZqA2Yz3H.js} +3 -3
  489. package/dist/esm/sdk/{helpers-DpRjHMBx.js → helpers-ZrowMnev.js} +3 -6
  490. package/dist/{public/sdk/host-BPC1zSVg.js → esm/sdk/host-BWBbCAMu.js} +12 -12
  491. package/dist/{public/sdk/intentDigest-A1MbbJPu.js → esm/sdk/intentDigest-CvOSNlCH.js} +2 -2
  492. package/dist/esm/sdk/{jsxRuntime.module-FAP0NE9p.js → jsxRuntime.module-CuH5ZEIA.js} +1 -1
  493. package/dist/{public/sdk/keyMaterialBrands-BbjCfzXv.js → esm/sdk/keyMaterialBrands-CX41hur6.js} +15 -13
  494. package/dist/esm/sdk/{localOnly-CbLYTVbo.js → localOnly-Bg8UuLZ5.js} +8 -10
  495. package/dist/esm/sdk/{messages-B3UbNZYc.js → messages-C7Dbx9iN.js} +6 -4
  496. package/dist/{public/sdk/mountExportPrivateKeySurface-CNc6Mch4.js → esm/sdk/mountExportPrivateKeySurface-DgX-IBG_.js} +4 -4
  497. package/dist/{public/sdk/mountRecoveryCodeBackupSurface-ChwzwnYG.js → esm/sdk/mountRecoveryCodeBackupSurface-DXrExiJ7.js} +2 -2
  498. package/dist/{public/sdk/nearEd25519YaoMaterialActivation-Cz5UJQ_7.js → esm/sdk/nearEd25519YaoMaterialActivation-DPb0s3hQ.js} +52 -35
  499. package/dist/{public/sdk/nearEd25519YaoSigningPreparation-DX6xG-IW.js → esm/sdk/nearEd25519YaoSigningPreparation-BeD-SmbK.js} +10 -8
  500. package/dist/esm/sdk/{nonceLaneKeys-B_RcSS6M.js → nonceLaneKeys-C3c9lG6u.js} +1 -1
  501. package/dist/{public/sdk/normalization-oJyXl3Vn.js → esm/sdk/normalization-CBt413-z.js} +2 -2
  502. package/dist/esm/sdk/{operationFingerprint-DEPg9A3h.js → operationFingerprint-C8Trar4R.js} +4 -4
  503. package/dist/esm/sdk/{operationFingerprint-CsYO6b0a.js → operationFingerprint-CGZui5dR.js} +2 -1
  504. package/dist/{public/sdk/passkey-custody-BaHyYMhj.js → esm/sdk/passkey-custody-Bk1jAknm.js} +7 -6
  505. package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-DyvRysWg.js → esm/sdk/pendingWalletRecoveryCodeBackup-DLzBb3WQ.js} +3 -3
  506. package/dist/esm/sdk/{recovery-entrypoint-D39R1avB.js → recovery-entrypoint-DW2tGyMs.js} +19 -16
  507. package/dist/esm/sdk/{registration-PIBMSsQR.js → registration-BZDzDv91.js} +2827 -3126
  508. package/dist/esm/sdk/{registration-DtDICj-o.js → registration-BzVHODuD.js} +4 -4
  509. package/dist/{public/sdk/registrationAccounts-AO3QHjas.js → esm/sdk/registrationAccounts-CKku_Sgy.js} +6 -4
  510. package/dist/esm/sdk/registrationIds-DLSdEKSv.js +310 -0
  511. package/dist/esm/sdk/registrationIntent-D0PxwEY4.js +393 -0
  512. package/dist/{public/sdk/registrationPreparationPreload-BZfAC_ba.js → esm/sdk/registrationPreparationPreload-CIAuRlxI.js} +2 -2
  513. package/dist/esm/sdk/registrationSignerPlan-CAikVZZQ.js +440 -0
  514. package/dist/esm/sdk/{relayerHttp-LsVTZCxA.js → relayerHttp-VC8Holz1.js} +1 -1
  515. package/dist/{public/sdk/routePlan-nLpPFHB-.js → esm/sdk/routePlan-D59x5xzQ.js} +1 -1
  516. package/dist/{public/sdk/router-CeFS9SgT.js → esm/sdk/router-C5lF_J_u.js} +23 -25
  517. package/dist/{public/sdk/routerAbNormalSigning-DktZKnf1.js → esm/sdk/routerAbNormalSigning-fhvpDtmY.js} +63 -92
  518. package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  519. package/dist/{public/sdk/runtime-auth-D_lUQQlc.js → esm/sdk/runtime-auth-DFTqwj3u.js} +35 -45
  520. package/dist/esm/sdk/{runtime-device-link-CEph1iM0.js → runtime-device-link-C1Oub8Lw.js} +25 -22
  521. package/dist/{public/sdk/runtime-ecdsa-tempo-tUWnafRo.js → esm/sdk/runtime-ecdsa-tempo-rkWwolw1.js} +24 -21
  522. package/dist/{public/sdk/runtime-email-otp-1wIPTDim.js → esm/sdk/runtime-email-otp-vuUG5LYl.js} +23 -20
  523. package/dist/esm/sdk/{runtime-export-Du2d4_Vu.js → runtime-export-FZWj0HxJ.js} +26 -22
  524. package/dist/esm/sdk/{runtime-near-CGoWxu7u.js → runtime-near-B9cjurVD.js} +24 -22
  525. package/dist/esm/sdk/{runtime-preferences-JwJK_xP3.js → runtime-preferences-Dq0bfyS5.js} +24 -21
  526. package/dist/{public/sdk/runtime-recovery-BEqBdpyo.js → esm/sdk/runtime-recovery-C-vfFKF3.js} +23 -20
  527. package/dist/{public/sdk/runtime-recovery-codes-DW7bB2tO.js → esm/sdk/runtime-recovery-codes-bTm3fLV4.js} +15 -19
  528. package/dist/esm/sdk/{runtimeContext-CTt9ON27.js → runtimeContext-iLXnxVlZ.js} +615 -850
  529. package/dist/{public/sdk/runtimeLoader-ZXsvx9zX.js → esm/sdk/runtimeLoader-hod6T2-m.js} +12 -12
  530. package/dist/{public/sdk/sdkSentEvents-5Pi-hjHB.js → esm/sdk/sdkSentEvents-MqDkbQg1.js} +10 -8
  531. package/dist/{public/sdk/secp256k1-CWDid9WH.js → esm/sdk/secp256k1-el9aE4Sv.js} +22 -156
  532. package/dist/esm/sdk/sessionPolicy-CHiilOAB.js +453 -0
  533. package/dist/{public/sdk/signEvmFamily-pbMepepQ.js → esm/sdk/signEvmFamily-e4IWWsZs.js} +108 -99
  534. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-CxvfCI_o.js → signEvmFamilyWithUiConfirmForTempo-Cu9qdk8M.js} +11 -15
  535. package/dist/{public/sdk/signEvmWithUiConfirm-nk-r3Rff.js → esm/sdk/signEvmWithUiConfirm-C61TCBnh.js} +6 -10
  536. package/dist/{public/sdk/signNear-DVD9-IO5.js → esm/sdk/signNear-Bblwn2kT.js} +722 -803
  537. package/dist/esm/sdk/{evmAdapter-C5NR5tiV.js → signatureUses-BkGyYt8F.js} +12 -3
  538. package/dist/{public/sdk/signerDomain-DDLiwuYS.js → esm/sdk/signerDomain-IEAVrOrc.js} +3 -18
  539. package/dist/{public/sdk/signerLoader-D_w-SfR9.js → esm/sdk/signerLoader-D7Aey0FD.js} +4 -4
  540. package/dist/esm/sdk/{signatureUses-BY1IY7uz.js → signingFlow-rZfPegH9.js} +16 -29
  541. package/dist/esm/sdk/{trace-08ayoiNp.js → trace-rHe0wz7q.js} +1 -1
  542. package/dist/{public/sdk/transaction-activity-DKgIGpKG.js → esm/sdk/transaction-activity-CSMCveBn.js} +1 -1
  543. package/dist/esm/sdk/{transactionReview-UoZQ2opj.js → transactionReview-DpHLTznU.js} +4 -6
  544. package/dist/{public/sdk/transactionReviewAdmission-Cv9kTr4c.js → esm/sdk/transactionReviewAdmission-BCPvl8OZ.js} +2 -2
  545. package/dist/esm/sdk/{transactionState-Bpm4GamO.js → transactionState-DP9O8F6f.js} +12 -10
  546. package/dist/esm/sdk/tx-confirm-ui.js +182 -154
  547. package/dist/esm/sdk/types-Dx9fczU7.js +111 -0
  548. package/dist/{public/sdk/validation-BphUDXs7.js → esm/sdk/validation-gat4LEKm.js} +36 -2
  549. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +2 -2
  550. package/dist/esm/sdk/wallet-iframe-host-full.js +2 -2
  551. package/dist/esm/sdk/wallet-iframe-host-near.js +2 -2
  552. package/dist/esm/sdk/wallet-iframe-host-runtime.js +2 -2
  553. package/dist/esm/sdk/{wallet-recovery-CKqoHbxT.js → wallet-recovery-Bz9qKgaL.js} +19 -25
  554. package/dist/esm/sdk/wallet-service.css +21 -0
  555. package/dist/esm/sdk/wallet-ui.css +88 -44
  556. package/dist/{public/sdk/sessionPolicy-B4FsPuk2.js → esm/sdk/walletAuthority-BQBxgUBn.js} +506 -445
  557. package/dist/{public/sdk/ed25519SeedMaterial-Cghz8-XB.js → esm/sdk/walletCustodyEcdsaContinuity-Hn4ORIbf.js} +1898 -2033
  558. package/dist/{public/sdk/walletRecoveryCommit-G6w6N5RV.js → esm/sdk/walletRecoveryCommit-sjGNTHUj.js} +17 -22
  559. package/dist/esm/sdk/{walletRecoveryRotate-BYOYJAyb.js → walletRecoveryRotate-BgLlW5ih.js} +1 -1
  560. package/dist/esm/sdk/{warmSessionHydration-DDNYdTCz.js → warmSessionHydration-Os8niEm7.js} +1 -1
  561. package/dist/esm/sdk/{webauthnP256-CHqprSh1.js → webauthnP256-DC5EIbKN.js} +1 -1
  562. package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +1 -1
  563. package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +1 -2
  564. package/dist/esm/shared-ts/src/authorization/walletAuthority.js +93 -228
  565. package/dist/esm/shared-ts/src/authorization/walletCustodyOperation.js +4 -6
  566. package/dist/esm/shared-ts/src/device-linking/activeWalletSession.js +70 -1
  567. package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +142 -0
  568. package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +3 -3
  569. package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +3 -1
  570. package/dist/esm/shared-ts/src/device-linking/deviceManagement.js +120 -0
  571. package/dist/esm/shared-ts/src/device-linking/digests.js +8 -63
  572. package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +3 -1
  573. package/dist/esm/shared-ts/src/device-linking/index.js +6 -4
  574. package/dist/esm/shared-ts/src/device-linking/parsers.js +550 -1311
  575. package/dist/esm/shared-ts/src/device-linking/requestProof.js +3 -3
  576. package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +7 -10
  577. package/dist/esm/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +7 -7
  578. package/dist/esm/shared-ts/src/device-linking/wireFields.js +59 -0
  579. package/dist/esm/shared-ts/src/near/nearClient.js +252 -0
  580. package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +6 -4
  581. package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +6 -4
  582. package/dist/esm/shared-ts/src/passkey-custody/primitives.js +5 -39
  583. package/dist/esm/shared-ts/src/signing-lanes/index.js +4 -3
  584. package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +6 -1
  585. package/dist/esm/shared-ts/src/signing-lanes/participantDigest.js +2 -0
  586. package/dist/esm/shared-ts/src/signing-lanes/participants.js +2 -5
  587. package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +7 -7
  588. package/dist/esm/shared-ts/src/signing-lanes/rotationDigests.js +2 -0
  589. package/dist/esm/shared-ts/src/signing-lanes/rotationParsers.js +3 -3
  590. package/dist/esm/shared-ts/src/signing-lanes/rotationProtocolParsers.js +8 -0
  591. package/dist/esm/shared-ts/src/signing-lanes/rotationWireFields.js +3 -0
  592. package/dist/esm/shared-ts/src/threshold/ed25519OperationFingerprint.js +34 -42
  593. package/dist/esm/shared-ts/src/threshold/keyMaterialBrands.js +25 -0
  594. package/dist/esm/shared-ts/src/threshold/secp256k1.js +1 -2
  595. package/dist/esm/shared-ts/src/utils/addAuthMethodRegistration.js +3 -4
  596. package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +8 -1
  597. package/dist/esm/shared-ts/src/utils/digestEncoding.js +63 -0
  598. package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +1 -1
  599. package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +3 -3
  600. package/dist/esm/shared-ts/src/utils/encoders.js +1 -1
  601. package/dist/esm/shared-ts/src/utils/errors.js +1 -1
  602. package/dist/esm/shared-ts/src/utils/exactRecord.js +44 -0
  603. package/dist/esm/shared-ts/src/utils/index.js +18 -14
  604. package/dist/esm/shared-ts/src/utils/registrationAuthMethodInput.js +84 -0
  605. package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +5 -5
  606. package/dist/esm/shared-ts/src/utils/registrationIds.js +226 -0
  607. package/dist/esm/shared-ts/src/utils/registrationIntent.js +4 -1081
  608. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +442 -0
  609. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +11 -10
  610. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +3 -76
  611. package/dist/esm/shared-ts/src/utils/routerAbEd25519YaoDigests.js +76 -0
  612. package/dist/esm/shared-ts/src/utils/routerAbNormalSigningIdentity.js +1 -4
  613. package/dist/esm/shared-ts/src/utils/routerAbPublicKeyset.js +2 -6
  614. package/dist/esm/shared-ts/src/utils/secureRandomId.js +1 -1
  615. package/dist/esm/shared-ts/src/utils/signerDomain.js +1 -16
  616. package/dist/esm/shared-ts/src/utils/validation.js +36 -2
  617. package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +1 -1
  618. package/dist/esm/shared-ts/src/utils/walletAuthMethodRecord.js +357 -0
  619. package/dist/esm/shared-ts/src/utils/walletCapabilityBindings.js +2 -2
  620. package/dist/esm/shared-ts/src/utils/wireSchema.js +66 -0
  621. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +1 -1
  622. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +1 -1
  623. package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +1 -1
  624. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +10 -13
  625. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +4 -8
  626. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +3 -1
  627. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.d.ts +18 -5
  628. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +44 -9
  629. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  630. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client.d.ts +10 -1
  631. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client.js +31 -1
  632. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
  633. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client.d.ts +1 -1
  634. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client.js +1 -1
  635. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
  636. package/dist/public/headers.manifest.json +1 -1
  637. package/dist/{esm/sdk/ConfirmationDrawer-G0bT0Dbu.js → public/sdk/ConfirmationDrawer-MgFTBwwK.js} +2 -1
  638. package/dist/public/sdk/{EvmClient-CHw6txjt.js → EvmClient-f3gUhS2L.js} +1 -1
  639. package/dist/public/sdk/{NearClient-BQgcqAzG.js → NearClient-DY4NfHeD.js} +194 -147
  640. package/dist/public/sdk/{NonceCoordinator-C7mqpJiU.js → NonceCoordinator-4XWPhYww.js} +4 -4
  641. package/dist/public/sdk/{accountIds-Ck4GAQfm.js → accountIds-DhIPGOSN.js} +1 -1
  642. package/dist/{esm/sdk/accountLifecycle-Ddavc_FC.js → public/sdk/accountLifecycle-BAGG_rbk.js} +253 -514
  643. package/dist/public/sdk/{actions-DsBQcjBn.js → actions-CCvThiKe.js} +1 -1
  644. package/dist/public/sdk/{adapters-m94YFj70.js → adapters-B4JeK1nJ.js} +134 -105
  645. package/dist/public/sdk/canonicalPrimitives-BTHWz80v.js +36 -0
  646. package/dist/{esm/sdk/canonicalSignerErrorCode-DAzYzisf.js → public/sdk/canonicalSignerErrorCode-CRoJMVpp.js} +2 -2
  647. package/dist/{esm/sdk/capabilityKinds-jwCEaqBU.js → public/sdk/capabilityKinds-hvYqa6S_.js} +1 -1
  648. package/dist/public/sdk/chains-BMh3btVo.js +124 -0
  649. package/dist/{esm/sdk/challengeDelivery-BjLKoou3.js → public/sdk/challengeDelivery-Dd0586fo.js} +2 -2
  650. package/dist/public/sdk/{configHelpers-DB73zYvO.js → configHelpers-vAQCzUD0.js} +3 -3
  651. package/dist/{esm/sdk/defaultConfigs-CyNOW4Sy.js → public/sdk/defaultConfigs-B3c16M_8.js} +5 -5
  652. package/dist/public/sdk/{display-DHdC2yXU.js → display-KdIL0ff7.js} +3 -8
  653. package/dist/public/sdk/{normalize-BephcEIF.js → domainIds-lcrFg6Sa.js} +84 -84
  654. package/dist/{esm/sdk/ecdsaCapabilityManifest-C8itxV9S.js → public/sdk/ecdsaCapabilityManifest-kzO_fW09.js} +12 -8
  655. package/dist/public/sdk/{ecdsaChainTarget-BOTPGIU_.js → ecdsaChainTarget-Bl-JWyuw.js} +2 -2
  656. package/dist/public/sdk/ecdsaPresignLifecycle-BFOTNYCK.js +1983 -0
  657. package/dist/public/sdk/{ecdsaPresignPoolIdentity-Yopr4jvS.js → ecdsaPresignPoolIdentity-BjxZVIqn.js} +1 -1
  658. package/dist/{esm/sdk/ecdsaWalletRecords-CAbbVhEY.js → public/sdk/ecdsaWalletRecords-Cz4m6bIz.js} +6 -4
  659. package/dist/public/sdk/encoders-D8d07vpx.js +0 -0
  660. package/dist/public/sdk/{enrichDisplayModelWithAbi-DnjR1CqT.js → enrichDisplayModelWithAbi-CWggsykc.js} +2 -2
  661. package/dist/{esm/sdk/evmCryptoWasm-BVj135bZ.js → public/sdk/evmCryptoWasm-DWklhEEb.js} +1 -1
  662. package/dist/public/sdk/evmFamilyEcdsaIdentity-Co5XDcEA.js +4288 -0
  663. package/dist/{esm/sdk/exactSessionState-Bt0HforB.js → public/sdk/exactSessionState-CiD5fBEs.js} +45 -54
  664. package/dist/public/sdk/exactSigningLaneIdentity-DQeqPMST.js +335 -0
  665. package/dist/public/sdk/{export-viewer-host-CbqG8ZQV.js → export-viewer-host-ZqA2Yz3H.js} +3 -3
  666. package/dist/public/sdk/{helpers-DpRjHMBx.js → helpers-ZrowMnev.js} +3 -6
  667. package/dist/{esm/sdk/host-BPC1zSVg.js → public/sdk/host-BWBbCAMu.js} +12 -12
  668. package/dist/{esm/sdk/intentDigest-A1MbbJPu.js → public/sdk/intentDigest-CvOSNlCH.js} +2 -2
  669. package/dist/public/sdk/{jsxRuntime.module-FAP0NE9p.js → jsxRuntime.module-CuH5ZEIA.js} +1 -1
  670. package/dist/{esm/sdk/keyMaterialBrands-BbjCfzXv.js → public/sdk/keyMaterialBrands-CX41hur6.js} +15 -13
  671. package/dist/public/sdk/{localOnly-CbLYTVbo.js → localOnly-Bg8UuLZ5.js} +8 -10
  672. package/dist/public/sdk/{messages-B3UbNZYc.js → messages-C7Dbx9iN.js} +6 -4
  673. package/dist/{esm/sdk/mountExportPrivateKeySurface-CNc6Mch4.js → public/sdk/mountExportPrivateKeySurface-DgX-IBG_.js} +4 -4
  674. package/dist/{esm/sdk/mountRecoveryCodeBackupSurface-ChwzwnYG.js → public/sdk/mountRecoveryCodeBackupSurface-DXrExiJ7.js} +2 -2
  675. package/dist/{esm/sdk/nearEd25519YaoMaterialActivation-Cz5UJQ_7.js → public/sdk/nearEd25519YaoMaterialActivation-DPb0s3hQ.js} +52 -35
  676. package/dist/{esm/sdk/nearEd25519YaoSigningPreparation-DX6xG-IW.js → public/sdk/nearEd25519YaoSigningPreparation-BeD-SmbK.js} +10 -8
  677. package/dist/public/sdk/{nonceLaneKeys-B_RcSS6M.js → nonceLaneKeys-C3c9lG6u.js} +1 -1
  678. package/dist/{esm/sdk/normalization-oJyXl3Vn.js → public/sdk/normalization-CBt413-z.js} +2 -2
  679. package/dist/public/sdk/{operationFingerprint-DEPg9A3h.js → operationFingerprint-C8Trar4R.js} +4 -4
  680. package/dist/public/sdk/{operationFingerprint-CsYO6b0a.js → operationFingerprint-CGZui5dR.js} +2 -1
  681. package/dist/{esm/sdk/passkey-custody-BaHyYMhj.js → public/sdk/passkey-custody-Bk1jAknm.js} +7 -6
  682. package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-DyvRysWg.js → public/sdk/pendingWalletRecoveryCodeBackup-DLzBb3WQ.js} +3 -3
  683. package/dist/public/sdk/{recovery-entrypoint-D39R1avB.js → recovery-entrypoint-DW2tGyMs.js} +19 -16
  684. package/dist/public/sdk/{registration-PIBMSsQR.js → registration-BZDzDv91.js} +2827 -3126
  685. package/dist/public/sdk/{registration-DtDICj-o.js → registration-BzVHODuD.js} +4 -4
  686. package/dist/{esm/sdk/registrationAccounts-AO3QHjas.js → public/sdk/registrationAccounts-CKku_Sgy.js} +6 -4
  687. package/dist/public/sdk/registrationIds-DLSdEKSv.js +310 -0
  688. package/dist/public/sdk/registrationIntent-D0PxwEY4.js +393 -0
  689. package/dist/{esm/sdk/registrationPreparationPreload-BZfAC_ba.js → public/sdk/registrationPreparationPreload-CIAuRlxI.js} +2 -2
  690. package/dist/public/sdk/registrationSignerPlan-CAikVZZQ.js +440 -0
  691. package/dist/public/sdk/{relayerHttp-LsVTZCxA.js → relayerHttp-VC8Holz1.js} +1 -1
  692. package/dist/{esm/sdk/routePlan-nLpPFHB-.js → public/sdk/routePlan-D59x5xzQ.js} +1 -1
  693. package/dist/{esm/sdk/router-CeFS9SgT.js → public/sdk/router-C5lF_J_u.js} +23 -25
  694. package/dist/{esm/sdk/routerAbNormalSigning-DktZKnf1.js → public/sdk/routerAbNormalSigning-fhvpDtmY.js} +63 -92
  695. package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  696. package/dist/{esm/sdk/runtime-auth-D_lUQQlc.js → public/sdk/runtime-auth-DFTqwj3u.js} +35 -45
  697. package/dist/public/sdk/{runtime-device-link-CEph1iM0.js → runtime-device-link-C1Oub8Lw.js} +25 -22
  698. package/dist/{esm/sdk/runtime-ecdsa-tempo-tUWnafRo.js → public/sdk/runtime-ecdsa-tempo-rkWwolw1.js} +24 -21
  699. package/dist/{esm/sdk/runtime-email-otp-1wIPTDim.js → public/sdk/runtime-email-otp-vuUG5LYl.js} +23 -20
  700. package/dist/public/sdk/{runtime-export-Du2d4_Vu.js → runtime-export-FZWj0HxJ.js} +26 -22
  701. package/dist/public/sdk/{runtime-near-CGoWxu7u.js → runtime-near-B9cjurVD.js} +24 -22
  702. package/dist/public/sdk/{runtime-preferences-JwJK_xP3.js → runtime-preferences-Dq0bfyS5.js} +24 -21
  703. package/dist/{esm/sdk/runtime-recovery-BEqBdpyo.js → public/sdk/runtime-recovery-C-vfFKF3.js} +23 -20
  704. package/dist/{esm/sdk/runtime-recovery-codes-DW7bB2tO.js → public/sdk/runtime-recovery-codes-bTm3fLV4.js} +15 -19
  705. package/dist/public/sdk/{runtimeContext-CTt9ON27.js → runtimeContext-iLXnxVlZ.js} +615 -850
  706. package/dist/{esm/sdk/runtimeLoader-ZXsvx9zX.js → public/sdk/runtimeLoader-hod6T2-m.js} +12 -12
  707. package/dist/{esm/sdk/sdkSentEvents-5Pi-hjHB.js → public/sdk/sdkSentEvents-MqDkbQg1.js} +10 -8
  708. package/dist/{esm/sdk/secp256k1-CWDid9WH.js → public/sdk/secp256k1-el9aE4Sv.js} +22 -156
  709. package/dist/public/sdk/sessionPolicy-CHiilOAB.js +453 -0
  710. package/dist/{esm/sdk/signEvmFamily-pbMepepQ.js → public/sdk/signEvmFamily-e4IWWsZs.js} +108 -99
  711. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-CxvfCI_o.js → signEvmFamilyWithUiConfirmForTempo-Cu9qdk8M.js} +11 -15
  712. package/dist/{esm/sdk/signEvmWithUiConfirm-nk-r3Rff.js → public/sdk/signEvmWithUiConfirm-C61TCBnh.js} +6 -10
  713. package/dist/{esm/sdk/signNear-DVD9-IO5.js → public/sdk/signNear-Bblwn2kT.js} +722 -803
  714. package/dist/public/sdk/{evmAdapter-C5NR5tiV.js → signatureUses-BkGyYt8F.js} +12 -3
  715. package/dist/{esm/sdk/signerDomain-DDLiwuYS.js → public/sdk/signerDomain-IEAVrOrc.js} +3 -18
  716. package/dist/{esm/sdk/signerLoader-D_w-SfR9.js → public/sdk/signerLoader-D7Aey0FD.js} +4 -4
  717. package/dist/public/sdk/{signatureUses-BY1IY7uz.js → signingFlow-rZfPegH9.js} +16 -29
  718. package/dist/public/sdk/{trace-08ayoiNp.js → trace-rHe0wz7q.js} +1 -1
  719. package/dist/{esm/sdk/transaction-activity-DKgIGpKG.js → public/sdk/transaction-activity-CSMCveBn.js} +1 -1
  720. package/dist/public/sdk/{transactionReview-UoZQ2opj.js → transactionReview-DpHLTznU.js} +4 -6
  721. package/dist/{esm/sdk/transactionReviewAdmission-Cv9kTr4c.js → public/sdk/transactionReviewAdmission-BCPvl8OZ.js} +2 -2
  722. package/dist/public/sdk/{transactionState-Bpm4GamO.js → transactionState-DP9O8F6f.js} +12 -10
  723. package/dist/public/sdk/tx-confirm-ui.js +182 -154
  724. package/dist/public/sdk/types-Dx9fczU7.js +111 -0
  725. package/dist/{esm/sdk/validation-BphUDXs7.js → public/sdk/validation-gat4LEKm.js} +36 -2
  726. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +2 -2
  727. package/dist/public/sdk/wallet-iframe-host-full.js +2 -2
  728. package/dist/public/sdk/wallet-iframe-host-near.js +2 -2
  729. package/dist/public/sdk/wallet-iframe-host-runtime.js +2 -2
  730. package/dist/public/sdk/{wallet-recovery-CKqoHbxT.js → wallet-recovery-Bz9qKgaL.js} +19 -25
  731. package/dist/public/sdk/wallet-service.css +21 -0
  732. package/dist/public/sdk/wallet-ui.css +88 -44
  733. package/dist/{esm/sdk/sessionPolicy-B4FsPuk2.js → public/sdk/walletAuthority-BQBxgUBn.js} +506 -445
  734. package/dist/{esm/sdk/ed25519SeedMaterial-Cghz8-XB.js → public/sdk/walletCustodyEcdsaContinuity-Hn4ORIbf.js} +1898 -2033
  735. package/dist/{esm/sdk/walletRecoveryCommit-G6w6N5RV.js → public/sdk/walletRecoveryCommit-sjGNTHUj.js} +17 -22
  736. package/dist/public/sdk/{walletRecoveryRotate-BYOYJAyb.js → walletRecoveryRotate-BgLlW5ih.js} +1 -1
  737. package/dist/public/sdk/{warmSessionHydration-DDNYdTCz.js → warmSessionHydration-Os8niEm7.js} +1 -1
  738. package/dist/public/sdk/{webauthnP256-CHqprSh1.js → webauthnP256-DC5EIbKN.js} +1 -1
  739. package/dist/public/sdk/workers/device-linking-key.worker.js +2954 -3134
  740. package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +1688 -2144
  741. package/dist/public/sdk/workers/ecdsa-online-client.worker.js +9 -117
  742. package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +44 -147
  743. package/dist/public/sdk/workers/email-otp.worker.js +9265 -9596
  744. package/dist/public/sdk/workers/evm-crypto.worker.js +8 -6
  745. package/dist/public/sdk/workers/near-signer.worker.js +4 -4
  746. package/dist/public/sdk/workers/near_signer.wasm +0 -0
  747. package/dist/public/sdk/workers/passkey-confirm.worker.js +6 -3
  748. package/dist/public/sdk/workers/passkey-mpc-export.worker.js +95 -101
  749. package/dist/public/sdk/workers/passkey-mpc-session.worker.js +205 -202
  750. package/dist/public/sdk/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  751. package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  752. package/dist/public/sdk/workers/tempo-signer.worker.js +8 -6
  753. package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +223 -215
  754. package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
  755. package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
  756. package/dist/public/wallet-assets.manifest.json +334 -214
  757. package/dist/public/wallet-service/index.html +4 -4
  758. package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +8 -26
  759. package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +0 -8
  760. package/dist/types/shared-ts/src/authorization/operationFingerprint.d.ts +1 -3
  761. package/dist/types/shared-ts/src/authorization/walletAuthority.d.ts +25 -12
  762. package/dist/types/shared-ts/src/authorization/walletSessionIssuance.d.ts +2 -1
  763. package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +3 -2
  764. package/dist/types/shared-ts/src/device-linking/authorityActivation.d.ts +5 -0
  765. package/dist/types/shared-ts/src/device-linking/committedSignerPackages.d.ts +2 -5
  766. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +8 -11
  767. package/dist/types/shared-ts/src/device-linking/contracts.typecheck.d.ts +2 -1
  768. package/dist/types/shared-ts/src/device-linking/deviceManagement.d.ts +7 -0
  769. package/dist/types/shared-ts/src/device-linking/digests.d.ts +0 -5
  770. package/dist/types/shared-ts/src/device-linking/ed25519ExportRoot.d.ts +3 -2
  771. package/dist/types/shared-ts/src/device-linking/index.d.ts +2 -0
  772. package/dist/types/shared-ts/src/device-linking/parsers.d.ts +4 -41
  773. package/dist/types/shared-ts/src/device-linking/requestProof.d.ts +0 -1
  774. package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +3 -2
  775. package/dist/types/shared-ts/src/device-linking/walletSessionCredentialDelivery.d.ts +2 -1
  776. package/dist/types/shared-ts/src/device-linking/wireFields.d.ts +26 -0
  777. package/dist/types/shared-ts/src/near/actions.d.ts +4 -4
  778. package/dist/types/shared-ts/src/near/delegate.d.ts +3 -2
  779. package/dist/types/shared-ts/src/near/nearClient.d.ts +145 -0
  780. package/dist/types/shared-ts/src/passkey-custody/ceremonyCommitPayload.d.ts +0 -22
  781. package/dist/types/shared-ts/src/passkey-custody/credentialActivity.d.ts +2 -4
  782. package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +9 -18
  783. package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +8 -24
  784. package/dist/types/shared-ts/src/passkey-custody/index.d.ts +0 -2
  785. package/dist/types/shared-ts/src/passkey-custody/primitives.d.ts +0 -14
  786. package/dist/types/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.d.ts +0 -15
  787. package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +2 -51
  788. package/dist/types/shared-ts/src/signing-lanes/index.d.ts +1 -2
  789. package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.d.ts +1 -2
  790. package/dist/types/shared-ts/src/signing-lanes/participantDigest.d.ts +5 -27
  791. package/dist/types/shared-ts/src/signing-lanes/participants.d.ts +0 -11
  792. package/dist/types/shared-ts/src/signing-lanes/recordParsers.d.ts +6 -53
  793. package/dist/types/shared-ts/src/signing-lanes/records.d.ts +1 -2
  794. package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +15 -37
  795. package/dist/types/shared-ts/src/signing-lanes/rotationDigests.d.ts +1 -20
  796. package/dist/types/shared-ts/src/signing-lanes/rotationLifecycle.d.ts +4 -25
  797. package/dist/types/shared-ts/src/signing-lanes/rotationParsers.d.ts +1 -41
  798. package/dist/types/shared-ts/src/signing-lanes/rotationProtocolParsers.d.ts +6 -0
  799. package/dist/types/shared-ts/src/signing-lanes/rotationWireFields.d.ts +20 -0
  800. package/dist/types/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.d.ts +2 -35
  801. package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +8 -35
  802. package/dist/types/shared-ts/src/threshold/keyMaterialBrands.d.ts +25 -0
  803. package/dist/types/shared-ts/src/threshold/participants.d.ts +3 -9
  804. package/dist/types/shared-ts/src/threshold/secp256k1.d.ts +0 -37
  805. package/dist/types/shared-ts/src/threshold/sessionPolicy.d.ts +24 -0
  806. package/dist/types/shared-ts/src/threshold/signingRootScope.d.ts +2 -5
  807. package/dist/types/shared-ts/src/utils/addAuthMethodRegistration.d.ts +3 -4
  808. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +7 -108
  809. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.typecheck.d.ts +16 -3
  810. package/dist/types/shared-ts/src/utils/canonicalPrimitives.d.ts +2 -0
  811. package/dist/types/shared-ts/src/utils/digestEncoding.d.ts +9 -0
  812. package/dist/types/shared-ts/src/utils/domainIds.d.ts +1 -2
  813. package/dist/types/shared-ts/src/utils/ecdsaKeyFactsInventory.d.ts +1 -2
  814. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +5 -5
  815. package/dist/types/shared-ts/src/utils/emailOtpRecoveryKey.d.ts +0 -2
  816. package/dist/types/shared-ts/src/utils/errors.d.ts +0 -7
  817. package/dist/types/shared-ts/src/utils/exactRecord.d.ts +12 -0
  818. package/dist/types/shared-ts/src/utils/index.d.ts +5 -2
  819. package/dist/types/shared-ts/src/utils/jsonRpc.d.ts +3 -2
  820. package/dist/types/shared-ts/src/utils/near.d.ts +2 -1
  821. package/dist/types/shared-ts/src/utils/nearRpcResults.d.ts +7 -7
  822. package/dist/types/shared-ts/src/utils/normalize.d.ts +0 -4
  823. package/dist/types/shared-ts/src/utils/registrationAuthMethodInput.d.ts +184 -0
  824. package/dist/types/shared-ts/src/utils/registrationContracts.d.ts +76 -0
  825. package/dist/types/shared-ts/src/utils/registrationEstablishedSession.d.ts +1 -2
  826. package/dist/types/shared-ts/src/utils/registrationIds.d.ts +56 -0
  827. package/dist/types/shared-ts/src/utils/registrationIntent.d.ts +9 -514
  828. package/dist/types/shared-ts/src/utils/registrationSignerPlan.d.ts +142 -0
  829. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +21 -92
  830. package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +14 -99
  831. package/dist/types/shared-ts/src/utils/routerAbEd25519YaoDigests.d.ts +39 -0
  832. package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +10 -15
  833. package/dist/types/shared-ts/src/utils/routerAbTraceContext.d.ts +2 -1
  834. package/dist/types/shared-ts/src/utils/secureRandomId.d.ts +0 -2
  835. package/dist/types/shared-ts/src/utils/signerDomain.d.ts +3 -35
  836. package/dist/types/shared-ts/src/utils/signerSlot.d.ts +0 -4
  837. package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +1 -7
  838. package/dist/types/shared-ts/src/utils/validation.d.ts +10 -10
  839. package/dist/types/shared-ts/src/utils/variant.d.ts +11 -0
  840. package/dist/types/shared-ts/src/utils/variant.typecheck.d.ts +22 -0
  841. package/dist/types/shared-ts/src/utils/walletAddSignerActivation.d.ts +2 -2
  842. package/dist/types/shared-ts/src/utils/walletAuthAuthority.d.ts +1 -58
  843. package/dist/types/shared-ts/src/utils/walletAuthMethodRecord.d.ts +104 -0
  844. package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +3 -7
  845. package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +3 -4
  846. package/dist/types/shared-ts/src/utils/wireSchema.d.ts +60 -0
  847. package/dist/types/shared-ts/src/wallet-recovery/backupAcknowledgement.d.ts +2 -1
  848. package/dist/types/shared-ts/src/wallet-recovery/index.d.ts +0 -1
  849. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeLocator.d.ts +0 -16
  850. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeReservation.d.ts +2 -11
  851. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.d.ts +6 -18
  852. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.d.ts +0 -2
  853. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.d.ts +1 -3
  854. package/dist/types/wallet/src/SeamsWeb/SeamsWeb.d.ts +0 -12
  855. package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfaceAssembly.d.ts +3 -13
  856. package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfacePorts.d.ts +2 -1
  857. package/dist/types/wallet/src/SeamsWeb/assembly/browserWorkerWarmupPolicy.d.ts +1 -3
  858. package/dist/types/wallet/src/SeamsWeb/assembly/createBrowserSigningStores.d.ts +2 -1
  859. package/dist/types/wallet/src/SeamsWeb/assembly/initializeBrowserSigningRuntime.d.ts +2 -1
  860. package/dist/types/wallet/src/SeamsWeb/assembly/preconnectWalletAssets.d.ts +2 -3
  861. package/dist/types/wallet/src/SeamsWeb/operations/auth/login.d.ts +13 -88
  862. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletAuth.d.ts +2 -2
  863. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.d.ts +2 -18
  864. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletUnlockSubject.d.ts +4 -7
  865. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.d.ts +5 -6
  866. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.d.ts +1 -1
  867. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/challenge.d.ts +0 -13
  868. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.d.ts +0 -1
  869. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.d.ts +2 -1
  870. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/registrationAuthority.d.ts +2 -2
  871. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.d.ts +1 -2
  872. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.d.ts +20 -0
  873. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/localPasskeyProjection.d.ts +4 -42
  874. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/registrationAuthority.d.ts +2 -1
  875. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/revokeAuthMethod.d.ts +1 -9
  876. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/sourcePasskeyProof.d.ts +2 -7
  877. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.d.ts +0 -13
  878. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingComposition.d.ts +2 -21
  879. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.d.ts +2 -2
  880. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingHttpTransport.d.ts +4 -17
  881. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.d.ts +2 -1
  882. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingPorts.d.ts +10 -16
  883. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingResume.d.ts +4 -3
  884. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.d.ts +2 -14
  885. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDevice.d.ts +3 -91
  886. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceFlow.d.ts +88 -0
  887. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceFlowSupport.d.ts +53 -0
  888. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceTargetActivation.d.ts +149 -0
  889. package/dist/types/wallet/src/SeamsWeb/operations/devices/scanDevice.d.ts +2 -1
  890. package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostComposition.d.ts +4 -9
  891. package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostOwnerAuthority.d.ts +9 -5
  892. package/dist/types/wallet/src/SeamsWeb/operations/near/actions.d.ts +0 -46
  893. package/dist/types/wallet/src/SeamsWeb/operations/near/delegateAction.d.ts +2 -1
  894. package/dist/types/wallet/src/SeamsWeb/operations/near/signingEventHelpers.d.ts +2 -1
  895. package/dist/types/wallet/src/SeamsWeb/operations/recovery/accountSync.d.ts +2 -1
  896. package/dist/types/wallet/src/SeamsWeb/operations/recovery/recoveryWalletBinding.d.ts +1 -2
  897. package/dist/types/wallet/src/SeamsWeb/operations/recovery/syncAccount.d.ts +1 -77
  898. package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecovery.d.ts +8 -7
  899. package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecoveryCodeBackup.d.ts +1 -1
  900. package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecoveryCommit.d.ts +0 -2
  901. package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecoveryRotation.d.ts +0 -8
  902. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.d.ts +1 -1
  903. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.d.ts +2 -2
  904. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +8 -10
  905. package/dist/types/wallet/src/SeamsWeb/operations/registration/registration.d.ts +10 -233
  906. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationEd25519Yao.d.ts +18 -5
  907. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationSignerSet.d.ts +2 -6
  908. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationStrictEcdsa.d.ts +1 -7
  909. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTerminalCommit.d.ts +2 -2
  910. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTiming.d.ts +49 -275
  911. package/dist/types/wallet/src/SeamsWeb/operations/session/thresholdEcdsaProvisioning.d.ts +3 -2
  912. package/dist/types/wallet/src/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.d.ts +1 -1
  913. package/dist/types/wallet/src/SeamsWeb/publicApi/awaitNearReady.d.ts +0 -1
  914. package/dist/types/wallet/src/SeamsWeb/publicApi/capabilitySelection.d.ts +1 -1
  915. package/dist/types/wallet/src/SeamsWeb/publicApi/currentWallet.d.ts +2 -1
  916. package/dist/types/wallet/src/SeamsWeb/publicApi/devices.d.ts +1 -1
  917. package/dist/types/wallet/src/SeamsWeb/publicApi/keyExport.d.ts +1 -4
  918. package/dist/types/wallet/src/SeamsWeb/publicApi/near.d.ts +0 -8
  919. package/dist/types/wallet/src/SeamsWeb/publicApi/transactionReview.d.ts +2 -1
  920. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +22 -20
  921. package/dist/types/wallet/src/SeamsWeb/registrationIntent.typecheck.d.ts +8 -0
  922. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +14 -61
  923. package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +2 -4
  924. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/overlay/overlay-controller.d.ts +3 -3
  925. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/overlay/overlay-styles.d.ts +3 -3
  926. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.d.ts +0 -13
  927. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +3 -4
  928. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/surface/domain.d.ts +8 -39
  929. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/surface/geometry.d.ts +3 -7
  930. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/surface/renderer.d.ts +2 -2
  931. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/IframeTransport.d.ts +3 -7
  932. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/iframe-transport-dom.d.ts +2 -3
  933. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/iframe-transport-handshake.d.ts +1 -11
  934. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/webauthn-bridge.d.ts +0 -6
  935. package/dist/types/wallet/src/SeamsWeb/walletIframe/coordinator.d.ts +2 -1
  936. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/controller.d.ts +2 -3
  937. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +2 -8
  938. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/passkey.d.ts +3 -3
  939. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/session.d.ts +2 -4
  940. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/bootstrap.d.ts +0 -4
  941. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/canonicalSignerErrorCode.d.ts +2 -7
  942. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/context.d.ts +0 -5
  943. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/authMenu.d.ts +0 -1
  944. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/walletIframeHandler.types.d.ts +0 -13
  945. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/hostedWalletSeamsSession.d.ts +1 -2
  946. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +10 -10
  947. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeLoader.d.ts +2 -1
  948. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +2 -1
  949. package/dist/types/wallet/src/SeamsWeb/walletIframe/sanitization.d.ts +0 -7
  950. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionReconciliation.d.ts +3 -2
  951. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionState.d.ts +2 -2
  952. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +53 -58
  953. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/transactionReview.d.ts +3 -2
  954. package/dist/types/wallet/src/core/accountData/near/accountProjection.d.ts +4 -49
  955. package/dist/types/wallet/src/core/accountData/near/keyMaterial.d.ts +1 -16
  956. package/dist/types/wallet/src/core/accountData/near/profileId.d.ts +2 -2
  957. package/dist/types/wallet/src/core/browser/walletIframe/events.d.ts +0 -1
  958. package/dist/types/wallet/src/core/config/chains.d.ts +0 -2
  959. package/dist/types/wallet/src/core/config/configBuilder.d.ts +0 -4
  960. package/dist/types/wallet/src/core/config/configHelpers.d.ts +1 -21
  961. package/dist/types/wallet/src/core/config/defaultConfigs.d.ts +1 -4
  962. package/dist/types/wallet/src/core/config/registrationConfig.typecheck.d.ts +1 -2
  963. package/dist/types/wallet/src/core/indexedDB/accountKeyMaterial.d.ts +5 -4
  964. package/dist/types/wallet/src/core/indexedDB/accountSignerLifecycle.d.ts +1 -1
  965. package/dist/types/wallet/src/core/indexedDB/index.d.ts +1 -5
  966. package/dist/types/wallet/src/core/indexedDB/keyMaterialEnvelope.d.ts +1 -2
  967. package/dist/types/wallet/src/core/indexedDB/linkedAuthoritySignerMaterial.d.ts +3 -3
  968. package/dist/types/wallet/src/core/indexedDB/normalization.d.ts +0 -3
  969. package/dist/types/wallet/src/core/indexedDB/passkeyClientDB.types.d.ts +5 -18
  970. package/dist/types/wallet/src/core/indexedDB/pendingWalletRegistrationCommit.d.ts +2 -4
  971. package/dist/types/wallet/src/core/indexedDB/profileAccountProjection.d.ts +3 -14
  972. package/dist/types/wallet/src/core/indexedDB/schemaNames.d.ts +2 -1
  973. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.d.ts +177 -0
  974. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.d.ts +155 -0
  975. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.d.ts +15 -256
  976. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.d.ts +101 -0
  977. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/laneHolderMaterialStore.d.ts +0 -1
  978. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/manager.d.ts +2 -1
  979. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.d.ts +3 -2
  980. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +49 -44
  981. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/signingSessionSeals.d.ts +2 -1
  982. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.d.ts +47 -0
  983. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.d.ts +2 -2
  984. package/dist/types/wallet/src/core/indexedDB/unifiedIndexedDBManager.d.ts +7 -4
  985. package/dist/types/wallet/src/core/platform/ecdsaRoleLocalRecords.d.ts +1 -40
  986. package/dist/types/wallet/src/core/platform/secretSources.d.ts +1 -1
  987. package/dist/types/wallet/src/core/platform/signerCoreCommandAdapters.typecheck.d.ts +25 -0
  988. package/dist/types/wallet/src/core/rpcClients/evm/EvmClient.d.ts +1 -2
  989. package/dist/types/wallet/src/core/rpcClients/evm/nonceBackend.d.ts +6 -22
  990. package/dist/types/wallet/src/core/rpcClients/near/NearClient.d.ts +13 -133
  991. package/dist/types/wallet/src/core/rpcClients/near/rpcCalls.d.ts +5 -31
  992. package/dist/types/wallet/src/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.d.ts +0 -1
  993. package/dist/types/wallet/src/core/rpcClients/relayer/passkeyCustodyEnvelope.d.ts +4 -3
  994. package/dist/types/wallet/src/core/rpcClients/relayer/registrationSignerSetRequest.d.ts +3 -2
  995. package/dist/types/wallet/src/core/rpcClients/relayer/relayerHttp.d.ts +2 -2
  996. package/dist/types/wallet/src/core/rpcClients/relayer/routerAbNormalSigning.d.ts +10 -39
  997. package/dist/types/wallet/src/core/rpcClients/relayer/sealedRefreshCapabilities.d.ts +0 -14
  998. package/dist/types/wallet/src/core/rpcClients/relayer/thresholdEcdsa.d.ts +4 -66
  999. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryFinalize.d.ts +2 -5
  1000. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryGoogleEmailOtp.d.ts +4 -7
  1001. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryPrepare.d.ts +4 -4
  1002. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryRotate.d.ts +3 -19
  1003. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +32 -106
  1004. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistrationTerminalResponse.d.ts +2 -2
  1005. package/dist/types/wallet/src/core/rpcClients/relayer/walletSessionAuthorizationStatus.d.ts +2 -10
  1006. package/dist/types/wallet/src/core/runtime/runtime.types.d.ts +7 -6
  1007. package/dist/types/wallet/src/core/signingEngine/assembly/createManagers.d.ts +2 -1
  1008. package/dist/types/wallet/src/core/signingEngine/assembly/ports/warmSigning.d.ts +1 -1
  1009. package/dist/types/wallet/src/core/signingEngine/assembly/warmup.d.ts +2 -1
  1010. package/dist/types/wallet/src/core/signingEngine/chains/evm/bytes.d.ts +0 -2
  1011. package/dist/types/wallet/src/core/signingEngine/chains/evm/display/evmTx.d.ts +2 -1
  1012. package/dist/types/wallet/src/core/signingEngine/chains/evm/display/functionSelectors.d.ts +0 -1
  1013. package/dist/types/wallet/src/core/signingEngine/chains/evm/evmAdapter.d.ts +2 -1
  1014. package/dist/types/wallet/src/core/signingEngine/chains/evm/evmCryptoWasm.d.ts +0 -9
  1015. package/dist/types/wallet/src/core/signingEngine/chains/evm/evmSigning.types.d.ts +2 -2
  1016. package/dist/types/wallet/src/core/signingEngine/chains/near/display.d.ts +4 -2
  1017. package/dist/types/wallet/src/core/signingEngine/chains/near/payloads.d.ts +4 -3
  1018. package/dist/types/wallet/src/core/signingEngine/chains/tempo/display.d.ts +2 -1
  1019. package/dist/types/wallet/src/core/signingEngine/chains/tempo/tempoAdapter.d.ts +2 -1
  1020. package/dist/types/wallet/src/core/signingEngine/chains/tempo/tempoSigning.types.d.ts +4 -7
  1021. package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaDerivationExport.d.ts +4 -101
  1022. package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaExportMaterial.d.ts +1 -17
  1023. package/dist/types/wallet/src/core/signingEngine/flows/recovery/ed25519YaoExportFlow.d.ts +1 -1
  1024. package/dist/types/wallet/src/core/signingEngine/flows/recovery/exportKeypairOperation.d.ts +1 -1
  1025. package/dist/types/wallet/src/core/signingEngine/flows/recovery/keyExportConfirmation.d.ts +2 -5
  1026. package/dist/types/wallet/src/core/signingEngine/flows/recovery/keyExportFlow.d.ts +2 -2
  1027. package/dist/types/wallet/src/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.d.ts +3 -6
  1028. package/dist/types/wallet/src/core/signingEngine/flows/recovery/stepUpAuthorization.d.ts +3 -3
  1029. package/dist/types/wallet/src/core/signingEngine/flows/registration/accountLifecycle.d.ts +9 -20
  1030. package/dist/types/wallet/src/core/signingEngine/flows/registration/nearProvisioningRegistry.d.ts +2 -20
  1031. package/dist/types/wallet/src/core/signingEngine/flows/registration/services/ecdsaRegistrationSessions.d.ts +2 -1
  1032. package/dist/types/wallet/src/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.d.ts +5 -10
  1033. package/dist/types/wallet/src/core/signingEngine/flows/shared/signingConfirmation.d.ts +0 -15
  1034. package/dist/types/wallet/src/core/signingEngine/flows/shared/signingStateMachine.d.ts +7 -50
  1035. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/authPlanning.d.ts +1 -1
  1036. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/ecdsaSelection.d.ts +2 -6
  1037. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.d.ts +1 -1
  1038. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/errors.d.ts +3 -15
  1039. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/executorThresholdState.d.ts +0 -4
  1040. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/freshAuthRetryPolicy.d.ts +3 -3
  1041. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/freshWalletSessionRetry.d.ts +2 -1
  1042. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/nonceResolution.d.ts +0 -1
  1043. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/preparedSigning.d.ts +5 -14
  1044. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.d.ts +0 -5
  1045. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/requireEvmFamilyStepUpAuth.d.ts +7 -7
  1046. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signatureUses.d.ts +0 -2
  1047. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signerLoader.d.ts +5 -4
  1048. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/secp256k1.d.ts +2 -3
  1049. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlow.d.ts +12 -12
  1050. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.d.ts +1 -41
  1051. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/stepUpAuthorization.d.ts +4 -22
  1052. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/thresholdAdmission.d.ts +2 -1
  1053. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/types.d.ts +2 -1
  1054. package/dist/types/wallet/src/core/signingEngine/flows/signNear/implicitAccountFunding.d.ts +1 -1
  1055. package/dist/types/wallet/src/core/signingEngine/flows/signNear/requireNearStepUpAuth.d.ts +3 -3
  1056. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoCapabilityResolution.d.ts +1 -1
  1057. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.d.ts +2 -2
  1058. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/operationStepUpPreparation.d.ts +1 -1
  1059. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signatureOnlySigning.d.ts +126 -0
  1060. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signingMaterials.d.ts +2 -1
  1061. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signingSessionAuthMode.d.ts +3 -3
  1062. package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNear.d.ts +6 -5
  1063. package/dist/types/wallet/src/core/signingEngine/flows/signNear/stepUpAuthorization.d.ts +1 -6
  1064. package/dist/types/wallet/src/core/signingEngine/interfaces/accountAuthMetadata.d.ts +0 -1
  1065. package/dist/types/wallet/src/core/signingEngine/interfaces/display.d.ts +7 -6
  1066. package/dist/types/wallet/src/core/signingEngine/interfaces/ecdsaChainTarget.d.ts +1 -1
  1067. package/dist/types/wallet/src/core/signingEngine/interfaces/near.d.ts +5 -44
  1068. package/dist/types/wallet/src/core/signingEngine/interfaces/operationDeps.d.ts +2 -14
  1069. package/dist/types/wallet/src/core/signingEngine/interfaces/operationStepUpPreparation.d.ts +1 -1
  1070. package/dist/types/wallet/src/core/signingEngine/interfaces/signing.d.ts +8 -17
  1071. package/dist/types/wallet/src/core/signingEngine/nonce/evmNonceLane.d.ts +2 -2
  1072. package/dist/types/wallet/src/core/signingEngine/nonce/nearNonceLane.d.ts +3 -28
  1073. package/dist/types/wallet/src/core/signingEngine/nonce/nearNonceLaneIdentity.d.ts +0 -1
  1074. package/dist/types/wallet/src/core/signingEngine/nonce/nearTransactionReadiness.d.ts +2 -1
  1075. package/dist/types/wallet/src/core/signingEngine/nonce/nonceCoordinationRecordBoundary.d.ts +0 -1
  1076. package/dist/types/wallet/src/core/signingEngine/nonce/nonceDiagnostics.d.ts +3 -4
  1077. package/dist/types/wallet/src/core/signingEngine/nonce/nonceLaneKeys.d.ts +1 -3
  1078. package/dist/types/wallet/src/core/signingEngine/nonce/nonceLeaseState.d.ts +2 -1
  1079. package/dist/types/wallet/src/core/signingEngine/nonce/nonceTypes.d.ts +13 -13
  1080. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/clientCeremony.d.ts +1 -1
  1081. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/httpRequest.d.ts +0 -1
  1082. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.d.ts +5 -4
  1083. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.d.ts +1 -7
  1084. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignatureRefillProgress.d.ts +2 -1
  1085. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/registrationPendingFinalization.d.ts +1 -1
  1086. package/dist/types/wallet/src/core/signingEngine/session/SigningSessionCoordinator.d.ts +5 -8
  1087. package/dist/types/wallet/src/core/signingEngine/session/authority/authorityOperationResolver.d.ts +1 -1
  1088. package/dist/types/wallet/src/core/signingEngine/session/availability/availableSigningLanes.d.ts +14 -37
  1089. package/dist/types/wallet/src/core/signingEngine/session/availability/clientSessionExpiryInvalidator.d.ts +3 -2
  1090. package/dist/types/wallet/src/core/signingEngine/session/availability/persistedAvailableSigningLanes.d.ts +3 -2
  1091. package/dist/types/wallet/src/core/signingEngine/session/availability/readiness.d.ts +6 -31
  1092. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/challengeDelivery.d.ts +0 -5
  1093. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/coordinatorRuntime.d.ts +0 -1
  1094. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaBootstrapCommit.d.ts +1 -21
  1095. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaLogin.d.ts +6 -61
  1096. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaPublication.d.ts +4 -21
  1097. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaRecovery.d.ts +3 -19
  1098. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.d.ts +3 -2
  1099. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ed25519ExportContext.d.ts +4 -6
  1100. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/exportRecoveryRuntime.d.ts +0 -1
  1101. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ports.d.ts +2 -3
  1102. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/publicTypes.d.ts +4 -6
  1103. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/routePlan.d.ts +4 -15
  1104. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/runtimeConfig.d.ts +2 -1
  1105. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/sealedRefreshPolicy.d.ts +4 -17
  1106. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/sealedRestoreOrchestrator.d.ts +2 -1
  1107. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/sealedSessionRegistry.d.ts +2 -1
  1108. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/secretEscrow.d.ts +4 -11
  1109. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/walletUnlock.d.ts +1 -1
  1110. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/warmSessionRuntime.d.ts +2 -1
  1111. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/workerRequests.d.ts +1 -1
  1112. package/dist/types/wallet/src/core/signingEngine/session/holderShares/holderShareHandle.d.ts +0 -13
  1113. package/dist/types/wallet/src/core/signingEngine/session/identity/clientSessionPersistenceState.d.ts +6 -7
  1114. package/dist/types/wallet/src/core/signingEngine/session/identity/emailOtpEcdsaDerivationIdentity.d.ts +0 -3
  1115. package/dist/types/wallet/src/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.d.ts +17 -31
  1116. package/dist/types/wallet/src/core/signingEngine/session/identity/exactSigningLaneIdentity.d.ts +10 -27
  1117. package/dist/types/wallet/src/core/signingEngine/session/identity/exactWalletSessionCredential.d.ts +9 -8
  1118. package/dist/types/wallet/src/core/signingEngine/session/identity/laneIdentity.d.ts +8 -12
  1119. package/dist/types/wallet/src/core/signingEngine/session/identity/ownerLaneScope.d.ts +9 -17
  1120. package/dist/types/wallet/src/core/signingEngine/session/identity/selectLane.d.ts +12 -28
  1121. package/dist/types/wallet/src/core/signingEngine/session/identity/signingLaneAuthBinding.d.ts +4 -3
  1122. package/dist/types/wallet/src/core/signingEngine/session/identity/walletUnlockSubject.d.ts +1 -1
  1123. package/dist/types/wallet/src/core/signingEngine/session/keyMaterialBrands.d.ts +3 -27
  1124. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/activationCoordinator.d.ts +0 -1
  1125. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/laneMaterialInvalidation.d.ts +2 -37
  1126. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/recipientPreparation.d.ts +4 -16
  1127. package/dist/types/wallet/src/core/signingEngine/session/lanes/walletExecutionLaneHydration.d.ts +5 -42
  1128. package/dist/types/wallet/src/core/signingEngine/session/lifecycle/canonicalWalletSessionStatus.d.ts +2 -1
  1129. package/dist/types/wallet/src/core/signingEngine/session/lifecycle/walletSessionStatus.d.ts +2 -6
  1130. package/dist/types/wallet/src/core/signingEngine/session/material/activeEcdsaCapabilityRuntime.d.ts +4 -3
  1131. package/dist/types/wallet/src/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.d.ts +5 -5
  1132. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaCapabilityHydration.d.ts +1 -1
  1133. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaCapabilityManifest.d.ts +5 -5
  1134. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaRoleLocalMaterialResolver.d.ts +2 -2
  1135. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSealedRuntime.d.ts +3 -31
  1136. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSigningCapability.d.ts +5 -9
  1137. package/dist/types/wallet/src/core/signingEngine/session/material/mpcCapabilityHydration.d.ts +4 -5
  1138. package/dist/types/wallet/src/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.d.ts +5 -4
  1139. package/dist/types/wallet/src/core/signingEngine/session/material/walletSigningStateFailure.d.ts +9 -8
  1140. package/dist/types/wallet/src/core/signingEngine/session/operationState/authorizationAdmission.d.ts +5 -9
  1141. package/dist/types/wallet/src/core/signingEngine/session/operationState/lanes.d.ts +13 -16
  1142. package/dist/types/wallet/src/core/signingEngine/session/operationState/preparedOperation.d.ts +2 -1
  1143. package/dist/types/wallet/src/core/signingEngine/session/operationState/trace.d.ts +5 -10
  1144. package/dist/types/wallet/src/core/signingEngine/session/operationState/transactionState.d.ts +5 -26
  1145. package/dist/types/wallet/src/core/signingEngine/session/operationState/types.d.ts +16 -32
  1146. package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaBootstrap.d.ts +4 -4
  1147. package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaSessionProvision.d.ts +3 -19
  1148. package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaWarmCapabilityBootstrap.d.ts +4 -15
  1149. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519Provisioner.d.ts +2 -1
  1150. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519SessionProvision.d.ts +1 -1
  1151. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519SessionProvision.typecheck.d.ts +7 -1
  1152. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.d.ts +10 -94
  1153. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoSealedSession.d.ts +3 -2
  1154. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.d.ts +3 -13
  1155. package/dist/types/wallet/src/core/signingEngine/session/passkey/passkeyCustodySessionCache.d.ts +0 -40
  1156. package/dist/types/wallet/src/core/signingEngine/session/passkey/prfCache.d.ts +2 -1
  1157. package/dist/types/wallet/src/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.d.ts +5 -5
  1158. package/dist/types/wallet/src/core/signingEngine/session/passkey/warmSessionMaterialWriter.d.ts +1 -1
  1159. package/dist/types/wallet/src/core/signingEngine/session/persistence/durableSealedSessionCommands.d.ts +5 -7
  1160. package/dist/types/wallet/src/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.d.ts +0 -1
  1161. package/dist/types/wallet/src/core/signingEngine/session/persistence/ecdsaSealedRecordKey.d.ts +2 -1
  1162. package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionRecords.d.ts +212 -0
  1163. package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionStore.d.ts +4 -199
  1164. package/dist/types/wallet/src/core/signingEngine/session/postconditions/runtimePostconditions.d.ts +6 -35
  1165. package/dist/types/wallet/src/core/signingEngine/session/public.d.ts +1 -1
  1166. package/dist/types/wallet/src/core/signingEngine/session/routerAbSigningWalletSession.d.ts +4 -3
  1167. package/dist/types/wallet/src/core/signingEngine/session/sealedRecovery/recoveryRecord.d.ts +2 -2
  1168. package/dist/types/wallet/src/core/signingEngine/session/userPreferences.d.ts +2 -1
  1169. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReader.d.ts +3 -6
  1170. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReaderCore.d.ts +5 -4
  1171. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/clearVolatileWarmSigningMaterial.d.ts +2 -1
  1172. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.d.ts +2 -1
  1173. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.d.ts +6 -40
  1174. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.typecheck.d.ts +4 -0
  1175. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.d.ts +3 -36
  1176. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/persistencePorts.d.ts +2 -70
  1177. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/readModel.d.ts +4 -12
  1178. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.d.ts +4 -3
  1179. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/routerAbWalletSessionCredential.d.ts +2 -1
  1180. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/transitions.d.ts +3 -2
  1181. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/types.d.ts +5 -36
  1182. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/types.typecheck.d.ts +10 -1
  1183. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.d.ts +1 -2
  1184. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmCommon.d.ts +3 -2
  1185. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmTypes.d.ts +6 -17
  1186. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/confirmOperation.d.ts +4 -5
  1187. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/methodRunners.d.ts +4 -3
  1188. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/methodSelection.d.ts +5 -10
  1189. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/exportAuthorization.d.ts +7 -6
  1190. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/signingPrompt.d.ts +2 -2
  1191. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.d.ts +2 -3
  1192. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.d.ts +3 -7
  1193. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/requireStepUpAuth.d.ts +2 -2
  1194. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/types.d.ts +8 -8
  1195. package/dist/types/wallet/src/core/signingEngine/threshold/commitQueueShared.d.ts +2 -2
  1196. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.d.ts +4 -16
  1197. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ecdsaLaneWasm.d.ts +0 -9
  1198. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.d.ts +5 -31
  1199. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/webauthn.d.ts +1 -46
  1200. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/activation.d.ts +2 -9
  1201. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/operationStepUp.d.ts +2 -1
  1202. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/postRegistrationSessionActivation.d.ts +5 -4
  1203. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/signingQueue.d.ts +3 -6
  1204. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/commitQueue.d.ts +3 -6
  1205. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/connectSession.d.ts +1 -1
  1206. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/walletSession.d.ts +6 -6
  1207. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoActiveClientRegistry.d.ts +2 -1
  1208. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +17 -49
  1209. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoPageLifecycleOwner.d.ts +2 -1
  1210. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.d.ts +2 -15
  1211. package/dist/types/wallet/src/core/signingEngine/threshold/sessionPolicy.d.ts +2 -53
  1212. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.d.ts +1 -1
  1213. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/adapters/request.d.ts +1 -5
  1214. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/signing.d.ts +1 -7
  1215. package/dist/types/wallet/src/core/signingEngine/uiConfirm/nearFundingNotice.d.ts +2 -5
  1216. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/confirm-surface-resize.d.ts +3 -32
  1217. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/confirm-ui-types.d.ts +2 -0
  1218. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/confirmation-model.d.ts +3 -2
  1219. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/export-private-key-reveal.d.ts +0 -1
  1220. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.d.ts +2 -1
  1221. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.d.ts +2 -1
  1222. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PadlockIcon.d.ts +2 -1
  1223. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.d.ts +1 -0
  1224. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.d.ts +11 -2
  1225. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReview.d.ts +4 -21
  1226. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionTree.d.ts +1 -1
  1227. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.d.ts +2 -1
  1228. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/email-otp-session.d.ts +2 -1
  1229. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.d.ts +2 -2
  1230. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/seamsWordmarkPaths.d.ts +0 -2
  1231. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/surface-resize-events.d.ts +2 -2
  1232. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/fallback.d.ts +0 -2
  1233. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/types.d.ts +2 -1
  1234. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/tree.d.ts +3 -3
  1235. package/dist/types/wallet/src/core/signingEngine/uiConfirm/uiConfirm.types.d.ts +9 -9
  1236. package/dist/types/wallet/src/core/signingEngine/walletCustody/activateEd25519Capability.d.ts +2 -1
  1237. package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.d.ts +3 -4
  1238. package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyDriver.d.ts +1 -1
  1239. package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyStepRunner.d.ts +4 -3
  1240. package/dist/types/wallet/src/core/signingEngine/walletCustody/ed25519SeedMaterial.d.ts +1 -1
  1241. package/dist/types/wallet/src/core/signingEngine/walletCustody/emailOtpLink.d.ts +2 -1
  1242. package/dist/types/wallet/src/core/signingEngine/walletCustody/joinCustodyWire.d.ts +2 -1
  1243. package/dist/types/wallet/src/core/signingEngine/walletCustody/openCustodyCache.d.ts +6 -5
  1244. package/dist/types/wallet/src/core/signingEngine/walletCustody/passkeyLink.d.ts +1 -52
  1245. package/dist/types/wallet/src/core/signingEngine/walletCustody/recoveryReplacementEnvelope.d.ts +0 -5
  1246. package/dist/types/wallet/src/core/signingEngine/walletCustody/registrationCeremony.d.ts +16 -26
  1247. package/dist/types/wallet/src/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.d.ts +22 -12
  1248. package/dist/types/wallet/src/core/signingEngine/walletCustody/walletRecoveryEd25519.d.ts +1 -1
  1249. package/dist/types/wallet/src/core/signingEngine/walletCustody/walletRecoveryRotation.d.ts +3 -2
  1250. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/credentials/collectAuthenticationCredentialForChallengeB64u.d.ts +1 -2
  1251. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/credentials/credentialExtensions.d.ts +2 -5
  1252. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/credentials/helpers.d.ts +0 -9
  1253. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/fallbacks/safari-fallbacks.d.ts +4 -9
  1254. package/dist/types/wallet/src/core/signingEngine/workerManager/deviceLinkingPorts.d.ts +3 -12
  1255. package/dist/types/wallet/src/core/signingEngine/workerManager/deviceLinkingSourceContribution.d.ts +17 -9
  1256. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaClientWorkerChannels.d.ts +7 -7
  1257. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTransport.d.ts +5 -5
  1258. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +75 -81
  1259. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ecdsaTargetShareHpke.d.ts +7 -0
  1260. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ordinaryMaterialState.d.ts +50 -0
  1261. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/requests.d.ts +89 -0
  1262. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key.worker.d.ts +1 -10
  1263. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/ecdsaLaneHolderWorkerRuntime.d.ts +2 -2
  1264. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/crypto.d.ts +66 -0
  1265. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/custodyRestore.d.ts +91 -0
  1266. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/dispatch.d.ts +4 -0
  1267. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/ed25519YaoExport.d.ts +45 -0
  1268. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/enrollment.d.ts +47 -0
  1269. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/fetch.d.ts +2 -1
  1270. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/materialParsing.d.ts +45 -0
  1271. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/operationRequestParsing.d.ts +7 -0
  1272. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/otpVerification.d.ts +53 -0
  1273. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/passkeyCustodyLink.d.ts +18 -0
  1274. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/payloadParsing.d.ts +48 -0
  1275. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/recovery.d.ts +9 -0
  1276. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/requestEnvelope.d.ts +11 -0
  1277. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/sessionState.d.ts +74 -0
  1278. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/unlock.d.ts +133 -0
  1279. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/opaqueEcdsaPresignAuthority.d.ts +6 -6
  1280. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/shamir3pass/clientSealPreparation.d.ts +2 -2
  1281. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/shamir3pass/runtime.d.ts +2 -1
  1282. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/workerErrorPayload.d.ts +16 -0
  1283. package/dist/types/wallet/src/core/types/accountIds.d.ts +2 -1
  1284. package/dist/types/wallet/src/core/types/authenticatorOptions.d.ts +0 -2
  1285. package/dist/types/wallet/src/core/types/confirmationConfig.d.ts +4 -4
  1286. package/dist/types/wallet/src/core/types/ecdsaSignerProvisioningDefaults.d.ts +2 -1
  1287. package/dist/types/wallet/src/core/types/errors.d.ts +2 -1
  1288. package/dist/types/wallet/src/core/types/linkDevice.d.ts +2 -3
  1289. package/dist/types/wallet/src/core/types/rpc.d.ts +0 -30
  1290. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +11 -11
  1291. package/dist/types/wallet/src/core/types/seams.d.ts +35 -55
  1292. package/dist/types/wallet/src/core/types/secure-confirm-worker.d.ts +3 -5
  1293. package/dist/types/wallet/src/core/types/signer-worker.d.ts +13 -70
  1294. package/dist/types/wallet/src/core/types/webauthn.d.ts +3 -12
  1295. package/dist/types/wallet/src/core/walletRuntimePaths/base.d.ts +0 -28
  1296. package/dist/types/wallet/src/core/walletRuntimePaths/wasm-loader.d.ts +2 -1
  1297. package/dist/types/wallet/src/core/walletRuntimePaths/workers.d.ts +0 -11
  1298. package/dist/types/wallet/src/externalEvm/boundary.d.ts +2 -2
  1299. package/dist/types/wallet/src/index.d.ts +3 -1
  1300. package/dist/types/wallet/src/plugins/plugin-utils.d.ts +1 -3
  1301. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuDialog.d.ts +21 -0
  1302. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountsSection.d.ts +2 -1
  1303. package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodsModal.d.ts +1 -1
  1304. package/dist/types/wallet/src/react/components/AccountMenuButton/ExportKeysSection.d.ts +2 -1
  1305. package/dist/types/wallet/src/react/components/AccountMenuButton/LinkedDevicesModal.d.ts +1 -1
  1306. package/dist/types/wallet/src/react/components/AccountMenuButton/SegmentedControl.d.ts +2 -2
  1307. package/dist/types/wallet/src/react/components/AccountMenuButton/UserAccountButton.d.ts +0 -7
  1308. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/GlobeIcon.d.ts +1 -1
  1309. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/KeyIcon.d.ts +1 -1
  1310. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LaptopIcon.d.ts +1 -1
  1311. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LinkIcon.d.ts +1 -1
  1312. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockIcon.d.ts +1 -1
  1313. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MailIcon.d.ts +1 -1
  1314. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MoonIcon.d.ts +1 -5
  1315. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/RecoveryCodesIcon.d.ts +1 -1
  1316. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/ScanIcon.d.ts +1 -1
  1317. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SlidersIcon.d.ts +1 -1
  1318. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SmartphoneIcon.d.ts +1 -1
  1319. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SunIcon.d.ts +1 -5
  1320. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/strokeIcon.d.ts +10 -0
  1321. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +1 -1
  1322. package/dist/types/wallet/src/react/components/QRCodeIcon.d.ts +1 -1
  1323. package/dist/types/wallet/src/react/components/theme/ThemeProvider.d.ts +0 -9
  1324. package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +2 -205
  1325. package/dist/types/wallet/src/react/context/reactLoginStateBuilders.d.ts +2 -9
  1326. package/dist/types/wallet/src/react/hooks/useAccountInput.d.ts +2 -2
  1327. package/dist/types/wallet/src/react/index.d.ts +3 -1
  1328. package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +108 -8
  1329. package/dist/types/wallet/src/react/transactionReview/controller.d.ts +0 -37
  1330. package/dist/types/wallet/src/react/types.d.ts +2 -2
  1331. package/dist/types/wallet/src/utils/deviceDetection.d.ts +2 -58
  1332. package/dist/types/wallet/src/utils/intentDigest.d.ts +1 -6
  1333. package/dist/types/wallet/src/utils/qrScanner.d.ts +4 -38
  1334. package/dist/workers/device-linking-key.worker.js +2954 -3134
  1335. package/dist/workers/ecdsa-derivation-client.worker.js +1688 -2144
  1336. package/dist/workers/ecdsa-online-client.worker.js +9 -117
  1337. package/dist/workers/ecdsa-presign-client.worker.js +44 -147
  1338. package/dist/workers/email-otp.worker.js +9265 -9596
  1339. package/dist/workers/evm-crypto.worker.js +8 -6
  1340. package/dist/workers/near-signer.worker.js +4 -4
  1341. package/dist/workers/near_signer.wasm +0 -0
  1342. package/dist/workers/passkey-confirm.worker.js +6 -3
  1343. package/dist/workers/passkey-mpc-export.worker.js +95 -101
  1344. package/dist/workers/passkey-mpc-session.worker.js +205 -202
  1345. package/dist/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  1346. package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  1347. package/dist/workers/tempo-signer.worker.js +8 -6
  1348. package/dist/workers/wallet-custody-ceremony.worker.js +223 -215
  1349. package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
  1350. package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
  1351. package/package.json +1 -1
  1352. package/dist/esm/react/core/types/rpc.js +0 -9
  1353. package/dist/esm/react/shared-ts/src/signing-lanes/linkedEcdsaScope.js +0 -1
  1354. package/dist/esm/react/shared-ts/src/utils/paillier.js +0 -3
  1355. package/dist/esm/sdk/device-linking-DpVGjSeq.js +0 -221
  1356. package/dist/esm/sdk/ecdsaPresignLifecycle-CnSnzoRJ.js +0 -5511
  1357. package/dist/esm/sdk/evmFamilyEcdsaIdentity-_kuKSW35.js +0 -1385
  1358. package/dist/esm/sdk/participants-Bcnsa_ip.js +0 -232
  1359. package/dist/esm/sdk/registrationIntent-DwAIMQYh.js +0 -1623
  1360. package/dist/esm/sdk/signer-worker-DYRteieu.js +0 -48
  1361. package/dist/esm/shared-ts/src/signing-lanes/linkedEcdsaScope.js +0 -1
  1362. package/dist/esm/shared-ts/src/utils/paillier.js +0 -3
  1363. package/dist/public/sdk/device-linking-DpVGjSeq.js +0 -221
  1364. package/dist/public/sdk/ecdsaPresignLifecycle-CnSnzoRJ.js +0 -5511
  1365. package/dist/public/sdk/evmFamilyEcdsaIdentity-_kuKSW35.js +0 -1385
  1366. package/dist/public/sdk/participants-Bcnsa_ip.js +0 -232
  1367. package/dist/public/sdk/registrationIntent-DwAIMQYh.js +0 -1623
  1368. package/dist/public/sdk/signer-worker-DYRteieu.js +0 -48
  1369. package/dist/types/shared-ts/src/passkey-custody/credentialObservations.d.ts +0 -74
  1370. package/dist/types/shared-ts/src/passkey-custody/kekContext.d.ts +0 -34
  1371. package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.d.ts +0 -62
  1372. package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.typecheck.d.ts +0 -2
  1373. package/dist/types/shared-ts/src/signing-lanes/validation.d.ts +0 -11
  1374. package/dist/types/shared-ts/src/utils/bigint.d.ts +0 -3
  1375. package/dist/types/shared-ts/src/utils/paillier.d.ts +0 -37
  1376. package/dist/types/shared-ts/src/utils/recoveryDomain.d.ts +0 -12
  1377. package/dist/types/shared-ts/src/utils/signerDomain.typecheck.d.ts +0 -2
  1378. package/dist/types/shared-ts/src/wallet-recovery/recoveryKekContext.d.ts +0 -37
  1379. package/dist/types/wallet/src/SeamsWeb/operations/devices/qrLinkSession.d.ts +0 -7
  1380. package/dist/types/wallet/src/SeamsWeb/operations/session/thresholdWarmSessionDefaults.d.ts +0 -11
  1381. package/dist/types/wallet/src/SeamsWeb/walletIframe/SeamsWebIframe.d.ts +0 -113
  1382. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/env.d.ts +0 -7
  1383. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/index.d.ts +0 -12
  1384. package/dist/types/wallet/src/SeamsWeb/walletIframe/index.d.ts +0 -21
  1385. package/dist/types/wallet/src/core/platform/webCryptoHkdf.d.ts +0 -7
  1386. package/dist/types/wallet/src/core/rpcClients/relayer/routerAbPublicKeyset.d.ts +0 -5
  1387. package/dist/types/wallet/src/core/rpcClients/relayer/thresholdEcdsa.typecheck.d.ts +0 -2
  1388. package/dist/types/wallet/src/core/rpcClients/relayer/walletCredentialActivity.d.ts +0 -48
  1389. package/dist/types/wallet/src/core/signingEngine/flows/recovery/recoveryStorePorts.d.ts +0 -7
  1390. package/dist/types/wallet/src/core/signingEngine/session/holderShares/holderShareEnvelopeAad.d.ts +0 -14
  1391. package/dist/types/wallet/src/core/signingEngine/session/identity/ecdsaDerivationSigningMaterialHandle.d.ts +0 -19
  1392. package/dist/types/wallet/src/core/signingEngine/session/identity/ecdsaDerivationSigningMaterialHandle.typecheck.d.ts +0 -2
  1393. package/dist/types/wallet/src/core/signingEngine/session/lanes/laneRecords.d.ts +0 -3
  1394. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/holderDeliveryCoordinator.d.ts +0 -29
  1395. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/ports.d.ts +0 -53
  1396. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/sourceLaneOperationCoordinator.d.ts +0 -24
  1397. package/dist/types/wallet/src/core/signingEngine/session/operationState/stepUpFreshness.d.ts +0 -135
  1398. package/dist/types/wallet/src/core/signingEngine/session/operationState/stepUpFreshness.typecheck.d.ts +0 -2
  1399. package/dist/types/wallet/src/core/signingEngine/session/passkey/envelopes/index.d.ts +0 -19
  1400. package/dist/types/wallet/src/core/signingEngine/session/passkey/runtime.d.ts +0 -23
  1401. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/walletAuthPolicyError.d.ts +0 -17
  1402. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ed25519WrapKeySalt.d.ts +0 -2
  1403. package/dist/types/wallet/src/core/signingEngine/useCases/lifecycle.d.ts +0 -758
  1404. package/dist/types/wallet/src/core/signingEngine/useCases/lifecycle.typecheck.d.ts +0 -2
  1405. package/dist/types/wallet/src/core/signingEngine/useCases/registerWallet.d.ts +0 -71
  1406. package/dist/types/wallet/src/core/signingEngine/useCases/restorePersistedSessions.d.ts +0 -51
  1407. package/dist/types/wallet/src/core/signingEngine/useCases/signEvmFamily.d.ts +0 -47
  1408. package/dist/types/wallet/src/core/signingEngine/useCases/signNear.d.ts +0 -60
  1409. package/dist/types/wallet/src/core/signingEngine/useCases/unlockWallet.d.ts +0 -69
  1410. package/dist/types/wallet/src/core/signingEngine/walletCustody/coldUnlock.d.ts +0 -57
  1411. package/dist/types/wallet/src/core/signingEngine/workerManager/laneWorkerChannels.d.ts +0 -81
  1412. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/laneHolderWorkerBackend.d.ts +0 -54
  1413. package/dist/types/wallet/src/react/components/AccountMenuButton/HaloBorder/index.d.ts +0 -33
  1414. package/dist/types/wallet/src/react/components/AccountMenuButton/PasskeyHaloLoading.d.ts +0 -10
  1415. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/EclipseIcon.d.ts +0 -8
  1416. package/dist/types/wallet/src/react/components/ArrowRightAnim.d.ts +0 -19
  1417. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/index.d.ts +0 -5
  1418. package/dist/types/wallet/src/theme/base-styles.runtime.d.ts +0 -15
  1419. /package/dist/esm/sdk/{base-CMsoJcVv.js → base-D1B5mGin.js} +0 -0
  1420. /package/dist/esm/sdk/{bytes-CwytAKz8.js → bytes-qKxKn4gg.js} +0 -0
  1421. /package/dist/esm/sdk/{csp-stylesheet-DLj_a6t_.js → csp-stylesheet-btENhsNp.js} +0 -0
  1422. /package/dist/esm/sdk/{events-Z_Rmy0Hn.js → events-DYoBL2HO.js} +0 -0
  1423. /package/dist/esm/sdk/{executeWorkerOperation-Bn8GEuT_.js → executeWorkerOperation-Cl9whMK7.js} +0 -0
  1424. /package/dist/esm/sdk/{jsonRpc-MUsR5-C6.js → jsonRpc-VVkaQkFD.js} +0 -0
  1425. /package/dist/esm/sdk/{keccak-DY5wDsym.js → keccak-DUL3d8SF.js} +0 -0
  1426. /package/dist/esm/sdk/{nearRpcResults-DwvW43FL.js → nearRpcResults-DoUgDATm.js} +0 -0
  1427. /package/dist/esm/sdk/{prfCache-CgAr-VEU.js → prfCache-wqQSjYLn.js} +0 -0
  1428. /package/dist/esm/sdk/{profileAccountProjection-C9rVhbeJ.js → profileAccountProjection-uZVJuBvS.js} +0 -0
  1429. /package/dist/esm/sdk/{promptText-BEgOkGxB.js → promptText-CuRa_ivd.js} +0 -0
  1430. /package/dist/esm/sdk/{shared-Qy1DGMqH.js → shared-DkbeLCI3.js} +0 -0
  1431. /package/dist/esm/sdk/{signerSlot-DbNAs-kc.js → signerSlot-_ovonwVX.js} +0 -0
  1432. /package/dist/esm/sdk/{signingSessionSeal-CdtgXHSL.js → signingSessionSeal-Cu-GHm6y.js} +0 -0
  1433. /package/dist/esm/sdk/{surface-measurement-reporter-D7BNehf4.js → surface-measurement-reporter-CSTyRsMa.js} +0 -0
  1434. /package/dist/esm/sdk/{walletIframeIdentity-UmQTJsHc.js → walletIframeIdentity-DB6Z2EC9.js} +0 -0
  1435. /package/dist/esm/sdk/{webauthnPromptCoordinator-CLeba8ru.js → webauthnPromptCoordinator-L96oVvLz.js} +0 -0
  1436. /package/dist/public/sdk/{base-CMsoJcVv.js → base-D1B5mGin.js} +0 -0
  1437. /package/dist/public/sdk/{bytes-CwytAKz8.js → bytes-qKxKn4gg.js} +0 -0
  1438. /package/dist/public/sdk/{csp-stylesheet-DLj_a6t_.js → csp-stylesheet-btENhsNp.js} +0 -0
  1439. /package/dist/public/sdk/{events-Z_Rmy0Hn.js → events-DYoBL2HO.js} +0 -0
  1440. /package/dist/public/sdk/{executeWorkerOperation-Bn8GEuT_.js → executeWorkerOperation-Cl9whMK7.js} +0 -0
  1441. /package/dist/public/sdk/{jsonRpc-MUsR5-C6.js → jsonRpc-VVkaQkFD.js} +0 -0
  1442. /package/dist/public/sdk/{keccak-DY5wDsym.js → keccak-DUL3d8SF.js} +0 -0
  1443. /package/dist/public/sdk/{nearRpcResults-DwvW43FL.js → nearRpcResults-DoUgDATm.js} +0 -0
  1444. /package/dist/public/sdk/{prfCache-CgAr-VEU.js → prfCache-wqQSjYLn.js} +0 -0
  1445. /package/dist/public/sdk/{profileAccountProjection-C9rVhbeJ.js → profileAccountProjection-uZVJuBvS.js} +0 -0
  1446. /package/dist/public/sdk/{promptText-BEgOkGxB.js → promptText-CuRa_ivd.js} +0 -0
  1447. /package/dist/public/sdk/{shared-Qy1DGMqH.js → shared-DkbeLCI3.js} +0 -0
  1448. /package/dist/public/sdk/{signerSlot-DbNAs-kc.js → signerSlot-_ovonwVX.js} +0 -0
  1449. /package/dist/public/sdk/{signingSessionSeal-CdtgXHSL.js → signingSessionSeal-Cu-GHm6y.js} +0 -0
  1450. /package/dist/public/sdk/{surface-measurement-reporter-D7BNehf4.js → surface-measurement-reporter-CSTyRsMa.js} +0 -0
  1451. /package/dist/public/sdk/{walletIframeIdentity-UmQTJsHc.js → walletIframeIdentity-DB6Z2EC9.js} +0 -0
  1452. /package/dist/public/sdk/{webauthnPromptCoordinator-CLeba8ru.js → webauthnPromptCoordinator-L96oVvLz.js} +0 -0
@@ -0,0 +1,1358 @@
1
+ import { errorMessage } from "../../../shared-ts/src/utils/errors.js";
2
+ import { buildEd25519YaoClientRootBinding } from "../../../shared-ts/src/passkey-custody/custodySecretBinding.js";
3
+ import { buildEmailOtpEnvelopeFactor, buildMethodBoundEnvelopeOwnership, buildPasskeyEnvelopeFactor } from "../../../shared-ts/src/passkey-custody/custodyEnvelope.js";
4
+ import "../../../shared-ts/src/passkey-custody/index.js";
5
+ import { assertNeverLinkSessionStateV1 } from "../../../shared-ts/src/device-linking/contracts.js";
6
+ import { buildLinkedDeviceSessionCancelClaimedRequestV1, buildLinkedDeviceSessionCancelUnclaimedRequestV1, buildLinkedDeviceTargetCredentialRegistrationV1, serializeQrLinkedDeviceSessionPayloadV5 } from "../../../shared-ts/src/device-linking/parsers.js";
7
+ import { computeLinkedDeviceTargetPreparationDigestV1, computeWalletSessionInstallationReceiptDigestB64u, computeWalletSessionOperationCredentialDigestB64u } from "../../../shared-ts/src/device-linking/digests.js";
8
+ import "../../../shared-ts/src/device-linking/index.js";
9
+ import { LinkDeviceEventPhase, createLinkDeviceFlowEvent } from "../../../core/types/sdkSentEvents.js";
10
+ import { DeviceLinkingError, DeviceLinkingErrorCode } from "../../../core/types/linkDevice.js";
11
+ import { activateLinkedDeviceSignerRuntimesAfterLink } from "../auth/login.js";
12
+ import { acceptLinkedDeviceEd25519ExportRootV1, discardLinkedDeviceEd25519ExportRootRecipientV1, publishLinkedDeviceEd25519ExportRootRecipientV1 } from "./deviceLinkingTargetEd25519ExportRoot.js";
13
+ import { buildDeviceLinkingEd25519ExportRootReplacementEnvelopeV1 } from "./deviceLinkingEd25519ExportRoot.js";
14
+ import { activateLinkedAuthorityV1 } from "./deviceLinkingAuthorityInstallation.js";
15
+ import { LinkDeviceFlowSupersededError, buildDevice2QrSessionPayloadV1, classifyLinkedDeviceDeliveryFailureV1, createFlowId, createLinkSessionId, errorForFailure, generateQrCodeDataUrlV1, linkedDeviceDeliveryRecoveryMessageV1, linkedDeviceWalletAuthenticationState, logDevice2LinkingFailureV1, logDevice2LinkingStageV1, notifyError, phaseForState, waitForSessionStateRetry } from "./linkDeviceFlowSupport.js";
16
+ import { assertNeverEmailOtpTargetActivationState, assertNeverTargetCredentialActivationState, createEmailOtpFactorSecretV1, createExportRootEnvelopeIdV1, emailOtpTargetActivationBaseContextV1, isEmailOtpTargetPreparation, isPasskeyTargetPreparation, prepareNewEmailOtpEnrollmentMaterialV1, requireCompletedEmailOtpTargetActivationStateV1, requireEmailOtpTargetPreparationV1, requireNewEmailOtpEnrollmentMaterialV1, requireTargetRpIdV1, resolvePostLinkActivationV1, zeroizeLiveBytes } from "./linkDeviceTargetActivation.js";
17
+ //#region src/SeamsWeb/operations/devices/linkDeviceFlow.ts
18
+ var LinkDeviceFlow = class {
19
+ constructor(options, ports, getAuthenticationContext = null) {
20
+ this.session = null;
21
+ this.keyMaterialHandle = null;
22
+ this.deliveryRecipientPublicKey65B64u = null;
23
+ this.resealedExportRoot = null;
24
+ this.targetCredentialRegistrationResult = null;
25
+ this.committedAuthorityPackages = null;
26
+ this.deliveryRecoveryReason = null;
27
+ this.ordinarySignerMaterialRecipientPreparation = null;
28
+ this.authenticatedTransport = null;
29
+ this.subscription = null;
30
+ this.cancelled = false;
31
+ this.runEpoch = 0;
32
+ this.generationInProgress = false;
33
+ this.discardInProgress = null;
34
+ this.targetCredentialActivationState = { kind: "idle" };
35
+ this.emailOtpTargetActivationState = { kind: "idle" };
36
+ this.handledStates = /* @__PURE__ */ new Set();
37
+ this.sessionEventQueue = Promise.resolve();
38
+ this.options = options;
39
+ this.flowId = createFlowId();
40
+ this.ports = ports;
41
+ this.getAuthenticationContext = getAuthenticationContext;
42
+ }
43
+ async generateQR() {
44
+ if (this.generationInProgress || this.keyMaterialHandle || this.subscription || this.session && !this.cancelled) throw new Error("Device-link QR flow is already running");
45
+ const runEpoch = this.startRun();
46
+ const ports = this.ports;
47
+ this.emit({
48
+ phase: LinkDeviceEventPhase.STEP_01_QR_PREPARE_STARTED,
49
+ status: "started",
50
+ message: "Preparing device link",
51
+ data: { role: "display" },
52
+ interaction: {
53
+ kind: "qr_display",
54
+ overlay: "show"
55
+ }
56
+ });
57
+ try {
58
+ const keyMaterial = await ports.keyMaterial.createBootstrapKeyMaterialV1();
59
+ if (!this.isCurrentRun(runEpoch)) {
60
+ this.keyMaterialHandle = keyMaterial.handle;
61
+ await this.discardKeyMaterial();
62
+ throw new LinkDeviceFlowSupersededError();
63
+ }
64
+ this.keyMaterialHandle = keyMaterial.handle;
65
+ this.deliveryRecipientPublicKey65B64u = keyMaterial.deliveryRecipientPublicKey65B64u;
66
+ const issuedAtMs = Date.now();
67
+ const linkSessionId = createLinkSessionId();
68
+ const qrData = buildDevice2QrSessionPayloadV1({
69
+ linkSessionId,
70
+ linkPublicKeyB64u: keyMaterial.linkPublicKeyB64u,
71
+ devicePublicKeyB64u: keyMaterial.devicePublicKeyB64u,
72
+ target: this.options,
73
+ issuedAtMs,
74
+ expiresAtMs: issuedAtMs + 900 * 1e3
75
+ });
76
+ const state = { state: "displaying_qr" };
77
+ const authenticatedTransport = ports.transport.createAuthenticatedSessionTransportV1({
78
+ keyMaterial: keyMaterial.handle,
79
+ devicePublicKeyB64u: keyMaterial.devicePublicKeyB64u
80
+ });
81
+ this.authenticatedTransport = authenticatedTransport;
82
+ this.session = {
83
+ linkSessionId,
84
+ state,
85
+ qrData
86
+ };
87
+ logDevice2LinkingStageV1({
88
+ flowId: this.flowId,
89
+ linkSessionId,
90
+ stage: "session_create_started"
91
+ });
92
+ await authenticatedTransport.createUnclaimedSessionV1({
93
+ payload: qrData,
94
+ state
95
+ });
96
+ this.assertCurrentRun(runEpoch);
97
+ const subscription = await authenticatedTransport.subscribeSessionV1({
98
+ linkSessionId,
99
+ onEvent: this.handleSessionTransportEvent.bind(this)
100
+ });
101
+ if (!this.isCurrentRun(runEpoch)) {
102
+ await subscription.close();
103
+ throw new LinkDeviceFlowSupersededError();
104
+ }
105
+ this.subscription = subscription;
106
+ logDevice2LinkingStageV1({
107
+ flowId: this.flowId,
108
+ linkSessionId,
109
+ stage: "session_subscription_ready"
110
+ });
111
+ const qrCodeDataURL = await generateQrCodeDataUrlV1(serializeQrLinkedDeviceSessionPayloadV5(qrData));
112
+ this.assertCurrentRun(runEpoch);
113
+ const result = {
114
+ qrData,
115
+ qrCodeDataURL
116
+ };
117
+ this.emit({
118
+ phase: LinkDeviceEventPhase.STEP_01_QR_PREPARE_STARTED,
119
+ status: "succeeded",
120
+ message: "Device-link QR ready",
121
+ data: { role: "display" },
122
+ interaction: {
123
+ kind: "qr_display",
124
+ overlay: "show"
125
+ }
126
+ });
127
+ await this.options.options?.afterCall?.(true, result);
128
+ return result;
129
+ } catch (error) {
130
+ try {
131
+ await this.cleanupLocalResources();
132
+ } catch {}
133
+ if (error instanceof LinkDeviceFlowSupersededError) throw error;
134
+ this.session = null;
135
+ this.authenticatedTransport = null;
136
+ this.handledStates.clear();
137
+ const failure = errorForFailure(error, "generation");
138
+ this.error = failure;
139
+ this.emitFailure(failure, "generation");
140
+ notifyError(this.options.options?.onError, failure);
141
+ await this.options.options?.afterCall?.(false, void 0, failure);
142
+ throw failure;
143
+ } finally {
144
+ this.generationInProgress = false;
145
+ }
146
+ }
147
+ getState() {
148
+ return {
149
+ phase: this.session ? phaseForState(this.session.state) : LinkDeviceEventPhase.STEP_01_QR_PREPARE_STARTED,
150
+ session: this.session,
151
+ ...this.error ? { error: this.error } : {},
152
+ cancelled: this.cancelled
153
+ };
154
+ }
155
+ async cancel() {
156
+ if (this.hasCommittedDeliveryState()) throw new Error("Device-link authority delivery is committed and must be resumed");
157
+ if (this.cancelled) {
158
+ await this.cleanupLocalResources();
159
+ return;
160
+ }
161
+ this.cancelled = true;
162
+ this.runEpoch += 1;
163
+ const session = this.session;
164
+ const keyMaterialHandle = this.keyMaterialHandle;
165
+ const authenticatedTransport = this.authenticatedTransport;
166
+ try {
167
+ if (session && keyMaterialHandle && authenticatedTransport) {
168
+ const now = Date.now();
169
+ switch (session.state.state) {
170
+ case "displaying_qr":
171
+ await authenticatedTransport.cancelSessionV1({ request: buildLinkedDeviceSessionCancelUnclaimedRequestV1({
172
+ linkSessionId: session.linkSessionId,
173
+ requestedAtMs: now
174
+ }) });
175
+ this.session = {
176
+ ...session,
177
+ state: {
178
+ state: "cancelled",
179
+ cancelledAtMs: now
180
+ }
181
+ };
182
+ break;
183
+ case "claimed":
184
+ case "awaiting_target_factor":
185
+ case "awaiting_source_contribution":
186
+ case "provisioning":
187
+ await this.cancelClaimedSessionV1(authenticatedTransport, session.linkSessionId, now);
188
+ this.session = {
189
+ ...session,
190
+ state: {
191
+ state: "cancelled",
192
+ cancelledAtMs: now
193
+ }
194
+ };
195
+ break;
196
+ case "authority_pending_local_install": break;
197
+ case "active":
198
+ case "expired":
199
+ case "cancelled":
200
+ case "failed_before_commit": break;
201
+ default: assertNeverLinkSessionStateV1(session.state);
202
+ }
203
+ }
204
+ } finally {
205
+ await this.cleanupLocalResources();
206
+ }
207
+ this.emit({
208
+ phase: LinkDeviceEventPhase.CANCELLED,
209
+ status: "cancelled",
210
+ message: "Device-link flow cancelled",
211
+ interaction: {
212
+ kind: "qr_display",
213
+ overlay: "hide"
214
+ }
215
+ });
216
+ }
217
+ async resolveLinkIdentityV1(linkSessionId) {
218
+ const cached = this.targetCredentialRegistrationResult;
219
+ if (cached && cached.linkSessionId === linkSessionId) return {
220
+ walletId: cached.walletId,
221
+ enrollmentId: cached.enrollmentId,
222
+ deviceId: cached.deviceId
223
+ };
224
+ const preparation = await this.requireAuthenticatedTransport().getTargetPreparationV1({
225
+ linkSessionId,
226
+ deliveryRecipientPublicKey65B64u: this.requireDeliveryRecipientPublicKey65B64u()
227
+ });
228
+ return {
229
+ walletId: preparation.walletId,
230
+ enrollmentId: preparation.enrollmentId,
231
+ deviceId: preparation.deviceId
232
+ };
233
+ }
234
+ async cancelClaimedSessionV1(transport, linkSessionId, requestedAtMs) {
235
+ const identity = await this.resolveLinkIdentityV1(linkSessionId);
236
+ await transport.cancelSessionV1({ request: buildLinkedDeviceSessionCancelClaimedRequestV1({
237
+ linkSessionId,
238
+ enrollmentId: identity.enrollmentId,
239
+ deviceId: identity.deviceId,
240
+ reason: "user_cancelled",
241
+ requestedAtMs
242
+ }) });
243
+ }
244
+ async handleSessionEvent(event) {
245
+ if (this.cancelled || this.deliveryRecoveryReason !== null || !this.session || event.linkSessionId !== this.session.linkSessionId) return;
246
+ logDevice2LinkingStageV1({
247
+ flowId: this.flowId,
248
+ linkSessionId: event.linkSessionId,
249
+ stage: "session_event_received",
250
+ details: {
251
+ state: event.state.state,
252
+ emittedAtMs: event.emittedAtMs,
253
+ runEpoch: this.runEpoch
254
+ }
255
+ });
256
+ const runEpoch = this.runEpoch;
257
+ if (this.handledStates.has(event.state.state)) {
258
+ logDevice2LinkingStageV1({
259
+ flowId: this.flowId,
260
+ linkSessionId: event.linkSessionId,
261
+ stage: "session_event_already_handled",
262
+ details: { state: event.state.state }
263
+ });
264
+ return;
265
+ }
266
+ this.session = {
267
+ ...this.session,
268
+ state: event.state
269
+ };
270
+ this.handledStates.add(event.state.state);
271
+ switch (event.state.state) {
272
+ case "displaying_qr": return;
273
+ case "claimed":
274
+ this.emit({
275
+ phase: LinkDeviceEventPhase.STEP_02_QR_SCAN_STARTED,
276
+ status: "running",
277
+ message: "Device link claimed by owner",
278
+ data: { role: "display" },
279
+ interaction: {
280
+ kind: "qr_display",
281
+ overlay: "show"
282
+ }
283
+ });
284
+ return;
285
+ case "awaiting_target_factor":
286
+ await this.prepareTargetCredentialActivation(event, runEpoch);
287
+ return;
288
+ case "awaiting_source_contribution": return;
289
+ case "provisioning":
290
+ case "authority_pending_local_install": {
291
+ const result = await this.activateAuthorityForStateV1(event.state, runEpoch);
292
+ if (result.kind === "pending_local_install") return;
293
+ if (result.kind === "integrity_error") throw new DeviceLinkingError(`Linked-device authority installation failed: ${result.reason}`, DeviceLinkingErrorCode.REGISTRATION_FAILED, "registration");
294
+ if (result.kind === "failed_before_commit" || result.kind === "relink_required") throw new DeviceLinkingError("Linked-device authority activation cannot continue", DeviceLinkingErrorCode.REGISTRATION_FAILED, "registration");
295
+ await this.finishActiveAuthorityV1(event.state, result.session, result.operationCredential, runEpoch);
296
+ return;
297
+ }
298
+ case "active":
299
+ await this.replayCommittedAuthorityV1(event.state, runEpoch);
300
+ return;
301
+ case "expired": {
302
+ const error = new DeviceLinkingError("Device-link session expired", DeviceLinkingErrorCode.SESSION_EXPIRED, "registration");
303
+ this.error = error;
304
+ this.emitFailure(error, "registration");
305
+ notifyError(this.options.options?.onError, error);
306
+ this.runEpoch += 1;
307
+ await this.cleanupLocalResources();
308
+ return;
309
+ }
310
+ case "cancelled":
311
+ this.cancelled = true;
312
+ this.emit({
313
+ phase: LinkDeviceEventPhase.CANCELLED,
314
+ status: "cancelled",
315
+ message: "The other device cancelled this linking request.",
316
+ interaction: {
317
+ kind: "qr_display",
318
+ overlay: "show"
319
+ }
320
+ });
321
+ this.runEpoch += 1;
322
+ await this.cleanupLocalResources();
323
+ return;
324
+ case "failed_before_commit":
325
+ this.cancelled = true;
326
+ this.runEpoch += 1;
327
+ await this.cleanupLocalResources();
328
+ return;
329
+ default: return assertNeverLinkSessionStateV1(event.state);
330
+ }
331
+ }
332
+ async prepareTargetCredentialActivation(event, runEpoch) {
333
+ if (event.state.state !== "awaiting_target_factor") throw new Error("target passkey activation requires an awaiting session");
334
+ const state = event.state;
335
+ if (!this.keyMaterialHandle || !this.session) throw new Error("device-link key material is unavailable");
336
+ const authenticatedTransport = this.requireAuthenticatedTransport();
337
+ this.assertCurrentRun(runEpoch);
338
+ const preparation = await authenticatedTransport.getTargetPreparationV1({
339
+ linkSessionId: event.linkSessionId,
340
+ deliveryRecipientPublicKey65B64u: this.requireDeliveryRecipientPublicKey65B64u()
341
+ });
342
+ this.assertCurrentRun(runEpoch);
343
+ this.assertTargetPreparationMatchesSession({
344
+ preparation,
345
+ state,
346
+ linkSessionId: event.linkSessionId
347
+ });
348
+ const deviceId = preparation.deviceId;
349
+ this.ordinarySignerMaterialRecipientPreparation = await this.ports.keyMaterial.createOrdinarySignerMaterialRecipientRequestsV1({
350
+ keyMaterial: this.keyMaterialHandle,
351
+ requirements: preparation.ordinarySignerMaterialRecipientRequirements
352
+ });
353
+ this.assertCurrentRun(runEpoch);
354
+ if (this.requireSessionTargetFactorV1().kind === "email_otp") {
355
+ await this.prepareTargetEmailOtpActivation({
356
+ event,
357
+ state,
358
+ runEpoch,
359
+ deviceId,
360
+ preparation
361
+ });
362
+ return;
363
+ }
364
+ if (!isPasskeyTargetPreparation(preparation)) throw new Error("Passkey session returned a non-Passkey target preparation");
365
+ const onTargetFactorRequired = this.options.options?.onTargetFactorRequired;
366
+ if (!onTargetFactorRequired) throw new DeviceLinkingError("Confirm passkey creation on Device 2 to continue linking", DeviceLinkingErrorCode.UNSUPPORTED, "registration");
367
+ onTargetFactorRequired({
368
+ kind: "linked_device_target_passkey_activation_v1",
369
+ createPasskey: this.activateTargetCredential.bind(this, {
370
+ event,
371
+ state,
372
+ runEpoch,
373
+ deviceId,
374
+ preparation
375
+ })
376
+ });
377
+ }
378
+ async prepareTargetEmailOtpActivation(input) {
379
+ if (!isEmailOtpTargetPreparation(input.preparation)) throw new Error("Email OTP session returned a non-Email OTP target preparation");
380
+ if (!this.keyMaterialHandle || !this.session || !this.deliveryRecipientPublicKey65B64u) throw new Error("Email OTP target key material is unavailable");
381
+ if (!this.options.options?.onTargetFactorRequired) throw new DeviceLinkingError("Enter the Email OTP on Device 2 to continue linking", DeviceLinkingErrorCode.UNSUPPORTED, "registration");
382
+ const authenticatedTransport = this.requireAuthenticatedTransport();
383
+ const exportRoot = input.preparation.ed25519ExportRoot;
384
+ const exportRootContext = exportRoot === null ? { kind: "not_required" } : {
385
+ kind: "required",
386
+ recipient: await publishLinkedDeviceEd25519ExportRootRecipientV1({
387
+ ed25519ExportRoot: this.ports.ed25519ExportRoot,
388
+ transport: authenticatedTransport,
389
+ identity: {
390
+ linkSessionId: input.event.linkSessionId,
391
+ walletId: input.preparation.walletId,
392
+ walletKeyId: exportRoot.walletKeyId,
393
+ enrollmentId: input.preparation.enrollmentId,
394
+ deviceId: input.deviceId,
395
+ applicationBindingDigestB64u: exportRoot.applicationBindingDigestB64u,
396
+ registeredPublicKeyB64u: exportRoot.registeredPublicKeyB64u,
397
+ targetFactor: input.preparation.targetFactor,
398
+ revocationEpoch: exportRoot.revocationEpoch
399
+ },
400
+ registeredAtMs: Date.now()
401
+ })
402
+ };
403
+ this.assertCurrentRun(input.runEpoch);
404
+ const baseContext = {
405
+ event: input.event,
406
+ state: input.state,
407
+ runEpoch: input.runEpoch,
408
+ deviceId: input.deviceId,
409
+ preparation: input.preparation,
410
+ ordinarySignerMaterialRecipientRequests: this.requireOrdinarySignerMaterialRecipientPreparationV1().recipientRequests,
411
+ exportRoot: exportRootContext
412
+ };
413
+ this.emailOtpTargetActivationState = {
414
+ kind: "available",
415
+ context: baseContext
416
+ };
417
+ await this.startTargetEmailOtpChallengeV1(baseContext);
418
+ }
419
+ notifyEmailOtpActivationV1(state) {
420
+ const onTargetFactorRequired = this.options.options?.onTargetFactorRequired;
421
+ if (!onTargetFactorRequired) return;
422
+ onTargetFactorRequired({
423
+ kind: "linked_device_target_email_otp_activation_v1",
424
+ state,
425
+ sendCode: this.sendTargetEmailOtpCodeV1.bind(this),
426
+ submitCode: this.submitTargetEmailOtpCodeV1.bind(this),
427
+ resendCode: this.resendTargetEmailOtpCodeV1.bind(this)
428
+ });
429
+ }
430
+ sendTargetEmailOtpCodeV1() {
431
+ const state = this.emailOtpTargetActivationState;
432
+ switch (state.kind) {
433
+ case "available": {
434
+ const promise = this.startTargetEmailOtpChallengeV1(state.context);
435
+ this.emailOtpTargetActivationState = {
436
+ kind: "starting",
437
+ context: state.context,
438
+ promise
439
+ };
440
+ return promise;
441
+ }
442
+ case "starting": return state.promise;
443
+ case "resending": return state.promise;
444
+ case "awaiting_code":
445
+ case "submitting":
446
+ case "completed": return Promise.resolve();
447
+ case "failed": return Promise.reject(new Error(state.message));
448
+ case "idle": return Promise.reject(/* @__PURE__ */ new Error("Email OTP activation is unavailable"));
449
+ default: return assertNeverEmailOtpTargetActivationState(state);
450
+ }
451
+ }
452
+ async startTargetEmailOtpChallengeV1(context) {
453
+ try {
454
+ this.assertCurrentRun(context.runEpoch);
455
+ const workerEphemeralPublicKey65B64u = this.deliveryRecipientPublicKey65B64u;
456
+ if (!workerEphemeralPublicKey65B64u) throw new Error("Email OTP factor-release recipient is unavailable");
457
+ const challenge = await this.requireAuthenticatedTransport().startTargetEmailOtpChallengeV1({ request: {
458
+ kind: "linked_device_email_otp_challenge_start_request_v1",
459
+ linkSessionId: context.event.linkSessionId,
460
+ workerEphemeralPublicKey65B64u
461
+ } });
462
+ this.assertCurrentRun(context.runEpoch);
463
+ this.awaitTargetEmailOtpCodeV1(context, challenge);
464
+ } catch (error) {
465
+ if (this.isCurrentRun(context.runEpoch)) {
466
+ this.emailOtpTargetActivationState = {
467
+ kind: "available",
468
+ context
469
+ };
470
+ this.notifyEmailOtpActivationV1({
471
+ kind: "unavailable",
472
+ message: errorMessage(error)
473
+ });
474
+ }
475
+ throw error;
476
+ }
477
+ }
478
+ awaitTargetEmailOtpCodeV1(context, challenge) {
479
+ this.emailOtpTargetActivationState = {
480
+ kind: "awaiting_code",
481
+ context: {
482
+ ...emailOtpTargetActivationBaseContextV1(context),
483
+ challenge
484
+ }
485
+ };
486
+ this.notifyEmailOtpActivationV1({
487
+ kind: "code_input",
488
+ maskedEmailHint: challenge.maskedEmailHint,
489
+ expiresAtMs: challenge.expiresAtMs,
490
+ resendAvailableAtMs: challenge.resendAvailableAtMs
491
+ });
492
+ }
493
+ resendTargetEmailOtpCodeV1() {
494
+ const state = this.emailOtpTargetActivationState;
495
+ if (state.kind === "resending") return state.promise;
496
+ if (state.kind !== "awaiting_code") return Promise.reject(/* @__PURE__ */ new Error("Email OTP challenge is not ready to resend"));
497
+ try {
498
+ this.assertCurrentRun(state.context.runEpoch);
499
+ } catch (error) {
500
+ return Promise.reject(error);
501
+ }
502
+ const promise = this.runTargetEmailOtpResendV1(state.context);
503
+ this.emailOtpTargetActivationState = {
504
+ kind: "resending",
505
+ context: state.context,
506
+ promise
507
+ };
508
+ this.notifyEmailOtpActivationV1({
509
+ kind: "resending",
510
+ maskedEmailHint: state.context.challenge.maskedEmailHint
511
+ });
512
+ return promise;
513
+ }
514
+ async runTargetEmailOtpResendV1(context) {
515
+ try {
516
+ const challenge = await this.requireAuthenticatedTransport().resendTargetEmailOtpChallengeV1({ request: {
517
+ kind: "linked_device_email_otp_challenge_resend_request_v1",
518
+ linkSessionId: context.event.linkSessionId,
519
+ challengeId: context.challenge.challengeId
520
+ } });
521
+ this.assertCurrentRun(context.runEpoch);
522
+ this.awaitTargetEmailOtpCodeV1(context, challenge);
523
+ } catch (error) {
524
+ if (this.isCurrentRun(context.runEpoch)) {
525
+ const message = errorMessage(error) || "Email OTP resend is unavailable";
526
+ this.emailOtpTargetActivationState = {
527
+ kind: "available",
528
+ context: emailOtpTargetActivationBaseContextV1(context)
529
+ };
530
+ this.notifyEmailOtpActivationV1({
531
+ kind: "unavailable",
532
+ message
533
+ });
534
+ }
535
+ throw error;
536
+ }
537
+ }
538
+ submitTargetEmailOtpCodeV1(otpCode) {
539
+ const state = this.emailOtpTargetActivationState;
540
+ if (state.kind !== "awaiting_code") return Promise.reject(/* @__PURE__ */ new Error("Email OTP challenge is not ready for verification"));
541
+ this.assertCurrentRun(state.context.runEpoch);
542
+ const promise = this.completeTargetEmailOtpActivationV1(state.context, otpCode);
543
+ this.emailOtpTargetActivationState = {
544
+ kind: "submitting",
545
+ context: state.context,
546
+ promise
547
+ };
548
+ this.notifyEmailOtpActivationV1({
549
+ kind: "submitting",
550
+ maskedEmailHint: state.context.challenge.maskedEmailHint,
551
+ expiresAtMs: state.context.challenge.expiresAtMs,
552
+ resendAvailableAtMs: state.context.challenge.resendAvailableAtMs
553
+ });
554
+ return promise;
555
+ }
556
+ async completeTargetEmailOtpActivationV1(context, otpCode) {
557
+ let verification;
558
+ try {
559
+ verification = await this.requireAuthenticatedTransport().verifyTargetEmailOtpChallengeV1({ request: {
560
+ kind: "linked_device_email_otp_challenge_verify_request_v1",
561
+ linkSessionId: context.event.linkSessionId,
562
+ challengeId: context.challenge.challengeId,
563
+ otpCode
564
+ } });
565
+ } catch (error) {
566
+ if (this.isCurrentRun(context.runEpoch)) {
567
+ this.emailOtpTargetActivationState = {
568
+ kind: "awaiting_code",
569
+ context
570
+ };
571
+ if (Date.now() >= context.challenge.expiresAtMs) this.notifyEmailOtpActivationV1({
572
+ kind: "expired",
573
+ maskedEmailHint: context.challenge.maskedEmailHint,
574
+ message: errorMessage(error)
575
+ });
576
+ else this.notifyEmailOtpActivationV1({
577
+ kind: "incorrect",
578
+ maskedEmailHint: context.challenge.maskedEmailHint,
579
+ expiresAtMs: context.challenge.expiresAtMs,
580
+ resendAvailableAtMs: context.challenge.resendAvailableAtMs,
581
+ message: errorMessage(error)
582
+ });
583
+ }
584
+ throw error;
585
+ }
586
+ this.assertCurrentRun(context.runEpoch);
587
+ const preparation = requireEmailOtpTargetPreparationV1(context.preparation);
588
+ let recipient = context.exportRoot.kind === "required" ? context.exportRoot.recipient : null;
589
+ let factorSecret = null;
590
+ let retainedFactorSecret = null;
591
+ let verificationGrant = null;
592
+ let emailOtpEnrollmentId = null;
593
+ let emailOtpEnrollmentSealKeyVersion = null;
594
+ let emailOtpEnrollmentMaterial = null;
595
+ const existingEnrollment = preparation.enrollment.kind === "existing_enrollment";
596
+ try {
597
+ const targetPreparationDigestB64u = await computeLinkedDeviceTargetPreparationDigestV1(preparation);
598
+ if (verification.verificationGrant.targetEmail !== preparation.targetEmail) throw new Error("linked-device Email OTP verification target email changed");
599
+ if (existingEnrollment) {
600
+ const existingVerificationGrant = verification.verificationGrant;
601
+ if (existingVerificationGrant.enrollment.kind !== "existing_enrollment") throw new Error("linked-device Email OTP verification enrollment changed");
602
+ const baseWalletAuthMethodId = existingVerificationGrant.baseWalletAuthMethodId;
603
+ if (!baseWalletAuthMethodId) throw new Error("linked-device Email OTP base auth method is unavailable");
604
+ const factorRelease = verification.factorRelease;
605
+ if (!factorRelease) throw new Error("linked-device Email OTP factor release is unavailable");
606
+ const opened = await this.ports.keyMaterial.openEmailOtpFactorReleaseV1({
607
+ keyMaterial: this.requireKeyMaterialHandleV1(),
608
+ walletId: preparation.walletId,
609
+ linkSessionId: preparation.linkSessionId,
610
+ enrollmentId: preparation.enrollmentId,
611
+ deviceId: preparation.deviceId,
612
+ walletAuthMethodId: preparation.walletAuthMethodId,
613
+ baseWalletAuthMethodId,
614
+ targetPreparationDigestB64u,
615
+ expectedChallengeId: context.challenge.challengeId,
616
+ verificationGrant: existingVerificationGrant,
617
+ factorRelease
618
+ });
619
+ factorSecret = opened.factorSecret;
620
+ verificationGrant = opened.verificationGrant;
621
+ emailOtpEnrollmentId = factorRelease.enrollmentId;
622
+ emailOtpEnrollmentSealKeyVersion = factorRelease.enrollmentSealKeyVersion;
623
+ } else {
624
+ const newVerificationGrant = verification.verificationGrant;
625
+ if (newVerificationGrant.enrollment.kind !== "new_enrollment") throw new Error("linked-device Email OTP verification enrollment changed");
626
+ if (verification.factorRelease !== null) throw new Error("new linked-device Email OTP enrollment returned a factor release");
627
+ const authenticationContext = this.getAuthenticationContext?.();
628
+ if (!authenticationContext) throw new Error("linked-device authentication context is unavailable");
629
+ const freshFactorSecret = createEmailOtpFactorSecretV1();
630
+ factorSecret = freshFactorSecret.buffer;
631
+ const enrollment = await prepareNewEmailOtpEnrollmentMaterialV1({
632
+ context: authenticationContext,
633
+ walletId: preparation.walletId,
634
+ targetEmail: preparation.targetEmail,
635
+ factorSecret: freshFactorSecret
636
+ });
637
+ emailOtpEnrollmentId = enrollment.enrollmentId;
638
+ emailOtpEnrollmentSealKeyVersion = enrollment.enrollment.enrollmentSealKeyVersion;
639
+ emailOtpEnrollmentMaterial = enrollment.enrollment;
640
+ verificationGrant = newVerificationGrant;
641
+ }
642
+ if (!factorSecret || !verificationGrant || !emailOtpEnrollmentId || !emailOtpEnrollmentSealKeyVersion) throw new Error("linked-device Email OTP factor material is unavailable");
643
+ this.assertCurrentRun(context.runEpoch);
644
+ if (context.exportRoot.kind === "required") {
645
+ if (!recipient) throw new Error("linked-device Ed25519 export-root recipient is unavailable");
646
+ const exportRoot = preparation.ed25519ExportRoot;
647
+ if (!exportRoot) throw new Error("linked-device Ed25519 export-root preparation is unavailable");
648
+ const envelopeId = createExportRootEnvelopeIdV1();
649
+ const factor = buildEmailOtpEnvelopeFactor({
650
+ enrollmentId: emailOtpEnrollmentId,
651
+ enrollmentSealKeyVersion: emailOtpEnrollmentSealKeyVersion
652
+ });
653
+ this.resealedExportRoot = await this.acceptTargetExportRootV1({
654
+ preparation,
655
+ exportRoot,
656
+ recipient,
657
+ envelopeId,
658
+ factor,
659
+ replacementFactorSecret: new Uint8Array(factorSecret),
660
+ runEpoch: context.runEpoch
661
+ });
662
+ recipient = null;
663
+ }
664
+ const registration = existingEnrollment ? buildLinkedDeviceTargetCredentialRegistrationV1({
665
+ linkSessionId: preparation.linkSessionId,
666
+ walletId: preparation.walletId,
667
+ enrollmentId: preparation.enrollmentId,
668
+ deviceId: preparation.deviceId,
669
+ walletAuthMethodId: preparation.walletAuthMethodId,
670
+ targetFactor: { kind: "email_otp" },
671
+ targetEmail: preparation.targetEmail,
672
+ emailOtpVerificationGrant: verificationGrant,
673
+ targetPreparationDigestB64u,
674
+ ordinarySignerMaterialRecipientRequests: context.ordinarySignerMaterialRecipientRequests,
675
+ registeredAtMs: Date.now()
676
+ }) : buildLinkedDeviceTargetCredentialRegistrationV1({
677
+ linkSessionId: preparation.linkSessionId,
678
+ walletId: preparation.walletId,
679
+ enrollmentId: preparation.enrollmentId,
680
+ deviceId: preparation.deviceId,
681
+ walletAuthMethodId: preparation.walletAuthMethodId,
682
+ targetFactor: { kind: "email_otp" },
683
+ targetEmail: preparation.targetEmail,
684
+ emailOtpVerificationGrant: verificationGrant,
685
+ emailOtpEnrollment: requireNewEmailOtpEnrollmentMaterialV1(emailOtpEnrollmentMaterial),
686
+ targetPreparationDigestB64u,
687
+ ordinarySignerMaterialRecipientRequests: context.ordinarySignerMaterialRecipientRequests,
688
+ registeredAtMs: Date.now()
689
+ });
690
+ const registrationResult = await this.requireAuthenticatedTransport().registerTargetCredentialV1({ registration });
691
+ this.assertCurrentRun(context.runEpoch);
692
+ this.targetCredentialRegistrationResult = registrationResult;
693
+ retainedFactorSecret = new Uint8Array(factorSecret).slice();
694
+ await this.ports.keyMaterial.prepareOrdinarySignerMaterialV1({
695
+ keyMaterial: this.requireKeyMaterialHandleV1(),
696
+ targetFactor: registrationResult.targetFactor,
697
+ preparations: registrationResult.ordinarySignerMaterialPreparations,
698
+ recipientRequests: registrationResult.ordinarySignerMaterialRecipientRequests,
699
+ recipientInputs: this.requireOrdinarySignerMaterialRecipientPreparationV1().recipientInputs,
700
+ factorSecret
701
+ });
702
+ factorSecret = null;
703
+ this.assertCurrentRun(context.runEpoch);
704
+ logDevice2LinkingStageV1({
705
+ flowId: this.flowId,
706
+ linkSessionId: context.preparation.linkSessionId,
707
+ stage: "ordinary_signer_material_prepared"
708
+ });
709
+ if (!retainedFactorSecret) throw new Error("linked-device Email OTP factor runtime is unavailable");
710
+ this.emailOtpTargetActivationState = {
711
+ kind: "completed",
712
+ runEpoch: context.runEpoch,
713
+ enrollment: existingEnrollment ? { kind: "existing_enrollment" } : { kind: "new_enrollment" },
714
+ factorSecret: retainedFactorSecret,
715
+ providerUserId: verificationGrant.providerUserId
716
+ };
717
+ retainedFactorSecret = null;
718
+ this.notifyEmailOtpActivationV1({
719
+ kind: "completed",
720
+ maskedEmailHint: context.challenge.maskedEmailHint
721
+ });
722
+ } catch (error) {
723
+ if (factorSecret && factorSecret.byteLength > 0) new Uint8Array(factorSecret).fill(0);
724
+ retainedFactorSecret?.fill(0);
725
+ if (recipient) await discardLinkedDeviceEd25519ExportRootRecipientV1(this.ports.ed25519ExportRoot, recipient);
726
+ if (this.isCurrentRun(context.runEpoch)) {
727
+ const message = errorMessage(error) || "Email OTP activation is unavailable";
728
+ this.emailOtpTargetActivationState = {
729
+ kind: "failed",
730
+ runEpoch: context.runEpoch,
731
+ message
732
+ };
733
+ this.notifyEmailOtpActivationV1({
734
+ kind: "unavailable",
735
+ message
736
+ });
737
+ await this.cancelFailedPrecommitSession(context.event).catch(() => void 0);
738
+ }
739
+ throw error;
740
+ }
741
+ }
742
+ activateTargetCredential(input) {
743
+ if (!this.isCurrentRun(input.runEpoch)) return Promise.reject(new LinkDeviceFlowSupersededError());
744
+ switch (this.targetCredentialActivationState.kind) {
745
+ case "idle": break;
746
+ case "in_progress":
747
+ if (this.targetCredentialActivationState.runEpoch === input.runEpoch) return this.targetCredentialActivationState.promise;
748
+ return Promise.reject(new LinkDeviceFlowSupersededError());
749
+ case "factor_ready":
750
+ if (this.targetCredentialActivationState.runEpoch === input.runEpoch) return Promise.reject(/* @__PURE__ */ new Error("Device-link target passkey activation has already completed"));
751
+ return Promise.reject(new LinkDeviceFlowSupersededError());
752
+ default: return assertNeverTargetCredentialActivationState(this.targetCredentialActivationState);
753
+ }
754
+ const activation = this.runTargetCredentialActivation(input);
755
+ this.targetCredentialActivationState = {
756
+ kind: "in_progress",
757
+ runEpoch: input.runEpoch,
758
+ promise: activation
759
+ };
760
+ return activation;
761
+ }
762
+ async runTargetCredentialActivation(input) {
763
+ try {
764
+ const factorSecret = await this.createTargetCredential(input);
765
+ const state = this.targetCredentialActivationState;
766
+ if (!this.isCurrentRun(input.runEpoch) || state.kind !== "in_progress" || state.runEpoch !== input.runEpoch) {
767
+ zeroizeLiveBytes(factorSecret);
768
+ throw new LinkDeviceFlowSupersededError();
769
+ }
770
+ this.targetCredentialActivationState = {
771
+ kind: "factor_ready",
772
+ runEpoch: input.runEpoch,
773
+ factorSecret
774
+ };
775
+ } catch (error) {
776
+ if (this.isCurrentRun(input.runEpoch)) await this.handleSessionTransportFailure(input.event, error);
777
+ throw error;
778
+ } finally {
779
+ const state = this.targetCredentialActivationState;
780
+ if (state.kind === "in_progress" && state.runEpoch === input.runEpoch) this.targetCredentialActivationState = { kind: "idle" };
781
+ }
782
+ }
783
+ async waitForTargetCredentialActivation() {
784
+ switch (this.requireSessionTargetFactorV1().kind) {
785
+ case "passkey_prf": {
786
+ const state = this.targetCredentialActivationState;
787
+ if (state.kind === "in_progress") await state.promise;
788
+ if (this.targetCredentialActivationState.kind !== "factor_ready") throw new Error("linked-device target Passkey activation is incomplete");
789
+ return;
790
+ }
791
+ case "email_otp": {
792
+ const state = this.emailOtpTargetActivationState;
793
+ if (state.kind === "submitting") await state.promise;
794
+ if (this.emailOtpTargetActivationState.kind !== "completed") throw new Error("linked-device target Email OTP activation is incomplete");
795
+ return;
796
+ }
797
+ default: throw new Error("linked-device target factor is unsupported");
798
+ }
799
+ }
800
+ clearTargetCredentialActivationState() {
801
+ const state = this.targetCredentialActivationState;
802
+ if (state.kind === "factor_ready") zeroizeLiveBytes(state.factorSecret);
803
+ this.targetCredentialActivationState = { kind: "idle" };
804
+ }
805
+ async createTargetCredential(input) {
806
+ const { runEpoch, deviceId, preparation } = input;
807
+ if (!this.keyMaterialHandle || !this.session) throw new Error("device-link key material is unavailable");
808
+ const authenticatedTransport = this.requireAuthenticatedTransport();
809
+ logDevice2LinkingStageV1({
810
+ flowId: this.flowId,
811
+ linkSessionId: preparation.linkSessionId,
812
+ stage: "target_passkey_prompt_started"
813
+ });
814
+ const exportRoot = preparation.ed25519ExportRoot;
815
+ const recipientPublish = exportRoot === null ? Promise.resolve(null) : publishLinkedDeviceEd25519ExportRootRecipientV1({
816
+ ed25519ExportRoot: this.ports.ed25519ExportRoot,
817
+ transport: authenticatedTransport,
818
+ identity: {
819
+ linkSessionId: preparation.linkSessionId,
820
+ walletId: preparation.walletId,
821
+ walletKeyId: exportRoot.walletKeyId,
822
+ enrollmentId: preparation.enrollmentId,
823
+ deviceId,
824
+ applicationBindingDigestB64u: exportRoot.applicationBindingDigestB64u,
825
+ registeredPublicKeyB64u: exportRoot.registeredPublicKeyB64u,
826
+ targetFactor: preparation.targetFactor,
827
+ revocationEpoch: exportRoot.revocationEpoch
828
+ },
829
+ registeredAtMs: Date.now()
830
+ });
831
+ recipientPublish.catch(() => void 0);
832
+ let credential = null;
833
+ let recipient = null;
834
+ try {
835
+ credential = await this.ports.targetCredential.createTargetCredentialV1({
836
+ preparation,
837
+ keyMaterial: this.keyMaterialHandle
838
+ });
839
+ if (credential.walletAuthMethodId !== preparation.walletAuthMethodId) throw new Error("linked-device target credential returned a different auth method");
840
+ logDevice2LinkingStageV1({
841
+ flowId: this.flowId,
842
+ linkSessionId: preparation.linkSessionId,
843
+ stage: "target_passkey_created"
844
+ });
845
+ this.emit({
846
+ phase: LinkDeviceEventPhase.STEP_02_QR_SCAN_STARTED,
847
+ status: "running",
848
+ message: "Finishing linked-device setup",
849
+ data: { role: "display" },
850
+ interaction: {
851
+ kind: "qr_display",
852
+ overlay: "show"
853
+ }
854
+ });
855
+ recipient = await recipientPublish;
856
+ if (recipient) logDevice2LinkingStageV1({
857
+ flowId: this.flowId,
858
+ linkSessionId: preparation.linkSessionId,
859
+ stage: "export_root_recipient_published"
860
+ });
861
+ this.assertCurrentRun(runEpoch);
862
+ if (exportRoot !== null) {
863
+ if (!recipient) throw new Error("linked-device Ed25519 export-root recipient is unavailable");
864
+ const envelopeId = createExportRootEnvelopeIdV1();
865
+ const factor = buildPasskeyEnvelopeFactor({
866
+ rpId: requireTargetRpIdV1(preparation),
867
+ credentialIdB64u: credential.webauthnRegistration.credentialIdB64u
868
+ });
869
+ const resealed = await this.acceptTargetExportRootV1({
870
+ preparation,
871
+ exportRoot,
872
+ recipient,
873
+ envelopeId,
874
+ factor,
875
+ replacementFactorSecret: credential.factorSecret,
876
+ runEpoch
877
+ });
878
+ logDevice2LinkingStageV1({
879
+ flowId: this.flowId,
880
+ linkSessionId: preparation.linkSessionId,
881
+ stage: "export_root_accepted"
882
+ });
883
+ this.resealedExportRoot = resealed;
884
+ recipient = null;
885
+ }
886
+ this.assertCurrentRun(runEpoch);
887
+ const targetPreparationDigestB64u = await computeLinkedDeviceTargetPreparationDigestV1(preparation);
888
+ const registration = buildLinkedDeviceTargetCredentialRegistrationV1({
889
+ linkSessionId: preparation.linkSessionId,
890
+ walletId: preparation.walletId,
891
+ enrollmentId: preparation.enrollmentId,
892
+ deviceId: preparation.deviceId,
893
+ walletAuthMethodId: credential.walletAuthMethodId,
894
+ targetFactor: { kind: "passkey_prf" },
895
+ targetPreparationDigestB64u,
896
+ webauthnRegistration: credential.webauthnRegistration,
897
+ ordinarySignerMaterialRecipientRequests: this.requireOrdinarySignerMaterialRecipientPreparationV1().recipientRequests,
898
+ registeredAtMs: Date.now()
899
+ });
900
+ const registrationResult = await authenticatedTransport.registerTargetCredentialV1({ registration });
901
+ this.assertCurrentRun(runEpoch);
902
+ this.targetCredentialRegistrationResult = registrationResult;
903
+ await this.ports.keyMaterial.prepareOrdinarySignerMaterialV1({
904
+ keyMaterial: this.requireKeyMaterialHandleV1(),
905
+ targetFactor: registrationResult.targetFactor,
906
+ preparations: registrationResult.ordinarySignerMaterialPreparations,
907
+ recipientRequests: registrationResult.ordinarySignerMaterialRecipientRequests,
908
+ recipientInputs: this.requireOrdinarySignerMaterialRecipientPreparationV1().recipientInputs,
909
+ factorSecret: credential.factorSecret.slice().buffer
910
+ });
911
+ this.assertCurrentRun(runEpoch);
912
+ logDevice2LinkingStageV1({
913
+ flowId: this.flowId,
914
+ linkSessionId: preparation.linkSessionId,
915
+ stage: "ordinary_signer_material_prepared"
916
+ });
917
+ return credential.factorSecret;
918
+ } catch (error) {
919
+ if (credential) zeroizeLiveBytes(credential.factorSecret);
920
+ if (!recipient) try {
921
+ recipient = await recipientPublish;
922
+ } catch {}
923
+ if (recipient) await discardLinkedDeviceEd25519ExportRootRecipientV1(this.ports.ed25519ExportRoot, recipient);
924
+ throw error;
925
+ }
926
+ }
927
+ async acceptTargetExportRootV1(input) {
928
+ const { preparation, exportRoot } = input;
929
+ const binding = buildEd25519YaoClientRootBinding({
930
+ linkSessionId: preparation.linkSessionId,
931
+ walletKeyId: exportRoot.walletKeyId,
932
+ targetFactor: preparation.targetFactor,
933
+ applicationBindingDigestB64u: exportRoot.applicationBindingDigestB64u,
934
+ registeredPublicKeyB64u: exportRoot.registeredPublicKeyB64u,
935
+ enrollmentId: preparation.enrollmentId,
936
+ deviceId: preparation.deviceId,
937
+ revocationEpoch: exportRoot.revocationEpoch
938
+ });
939
+ return await acceptLinkedDeviceEd25519ExportRootV1({
940
+ ed25519ExportRoot: this.ports.ed25519ExportRoot,
941
+ transport: this.requireAuthenticatedTransport(),
942
+ recipient: input.recipient,
943
+ replacementEnvelope: buildDeviceLinkingEd25519ExportRootReplacementEnvelopeV1({
944
+ walletId: preparation.walletId,
945
+ ownership: buildMethodBoundEnvelopeOwnership(preparation.walletAuthMethodId),
946
+ envelopeId: input.envelopeId,
947
+ factor: input.factor,
948
+ binding,
949
+ createdAtMs: Date.now()
950
+ }),
951
+ replacementFactorSecret: input.replacementFactorSecret,
952
+ expiresAtMs: Math.min(preparation.expiresAtMs, this.requireSessionV1().qrData.expiresAtMs),
953
+ assertCurrentRun: () => this.assertCurrentRun(input.runEpoch),
954
+ waitForPollV1: waitForSessionStateRetry
955
+ });
956
+ }
957
+ assertTargetPreparationMatchesSession(input) {
958
+ const sessionTargetFactor = this.requireSessionTargetFactorV1();
959
+ const qrData = this.requireSessionV1().qrData;
960
+ if (input.preparation.linkSessionId !== input.linkSessionId || String(input.preparation.deviceId) !== String(input.state.deviceId) || input.preparation.targetFactor.kind !== sessionTargetFactor.kind || input.preparation.deliveryRecipientPublicKey65B64u !== this.requireDeliveryRecipientPublicKey65B64u() || input.preparation.expiresAtMs <= Date.now()) throw new Error("linked-device target preparation does not match the claimed session");
961
+ if (sessionTargetFactor.kind === "email_otp" && qrData.targetFactor.kind === "email_otp" && input.preparation.targetFactor.kind === "email_otp" && input.preparation.targetEmail !== qrData.targetEmail) throw new Error("linked-device target preparation email does not match the QR session");
962
+ }
963
+ async activateAuthorityForStateV1(state, runEpoch) {
964
+ this.assertCurrentRun(runEpoch);
965
+ await this.waitForTargetCredentialActivation();
966
+ this.assertCurrentRun(runEpoch);
967
+ const registration = this.targetCredentialRegistrationResult;
968
+ if (!registration) throw new Error("linked-device target credential registration is unavailable");
969
+ const keyMaterial = this.requireKeyMaterialHandleV1();
970
+ const transport = this.requireAuthenticatedTransport();
971
+ const expectedLockGeneration = await this.ports.readExpectedLockGenerationV1(registration.walletId);
972
+ this.assertCurrentRun(runEpoch);
973
+ const committed = this.committedAuthorityPackages || await transport.receiveCommittedAuthorityPackagesV1({ linkSessionId: this.requireSessionV1().linkSessionId });
974
+ this.committedAuthorityPackages = committed;
975
+ await this.ports.authorityInstallation.persistCommittedDeliveryResumeV1({
976
+ linkSessionId: this.requireSessionV1().linkSessionId,
977
+ committed,
978
+ targetFactor: registration.targetFactor,
979
+ committedAtMs: Date.now()
980
+ });
981
+ this.assertCurrentRun(runEpoch);
982
+ const activationDeadlineMs = this.requireSessionV1().qrData.expiresAtMs;
983
+ let attempt = 0;
984
+ while (Date.now() < activationDeadlineMs) {
985
+ const result = await activateLinkedAuthorityV1({
986
+ transport,
987
+ committed,
988
+ installation: this.ports.authorityInstallation,
989
+ sessionState: state,
990
+ linkSessionId: this.requireSessionV1().linkSessionId,
991
+ targetFactor: registration.targetFactor,
992
+ keyMaterialPort: this.ports.keyMaterial,
993
+ keyMaterial,
994
+ deliveryRecipientPublicKey65B64u: this.requireDeliveryRecipientPublicKey65B64u(),
995
+ resealedExportRoot: this.resealedExportRoot,
996
+ expectedLockGeneration,
997
+ nowMs: () => Date.now()
998
+ });
999
+ if (result.kind !== "pending_local_install") return result;
1000
+ await waitForSessionStateRetry(attempt);
1001
+ this.assertCurrentRun(runEpoch);
1002
+ attempt += 1;
1003
+ }
1004
+ throw new DeviceLinkingError("Linked-device authority activation did not complete before the link session expired", DeviceLinkingErrorCode.REGISTRATION_FAILED, "registration");
1005
+ }
1006
+ async finishActiveAuthorityV1(state, walletSession, operationCredential, runEpoch) {
1007
+ this.assertCurrentRun(runEpoch);
1008
+ const session = this.requireSessionV1();
1009
+ const registration = this.targetCredentialRegistrationResult;
1010
+ if (!registration || registration.walletId !== walletSession.walletId) throw new Error("linked-device activation identity is unavailable");
1011
+ const activeSession = {
1012
+ ...session,
1013
+ state: {
1014
+ state: "active",
1015
+ deviceId: state.deviceId,
1016
+ authorityId: walletSession.authorityId,
1017
+ activatedAtMs: walletSession.issuedAtMs
1018
+ }
1019
+ };
1020
+ this.handledStates.add("provisioning");
1021
+ this.handledStates.add("authority_pending_local_install");
1022
+ this.handledStates.add("active");
1023
+ const authenticationContext = this.getAuthenticationContext?.();
1024
+ if (!authenticationContext) throw new Error("linked-device authentication context is unavailable");
1025
+ const postLinkActivation = resolvePostLinkActivationV1({
1026
+ targetFactor: registration.targetFactor,
1027
+ walletAuthMethodId: registration.walletAuthMethodId,
1028
+ targetCredentialActivationState: this.targetCredentialActivationState,
1029
+ emailOtpTargetActivationState: this.emailOtpTargetActivationState,
1030
+ walletId: walletSession.walletId,
1031
+ runEpoch
1032
+ });
1033
+ await activateLinkedDeviceSignerRuntimesAfterLink({
1034
+ context: authenticationContext,
1035
+ factor: postLinkActivation.factor,
1036
+ walletSession,
1037
+ operationCredential,
1038
+ factorSecret32: postLinkActivation.factorSecret32
1039
+ });
1040
+ const committed = this.committedAuthorityPackages;
1041
+ if (!committed) throw new Error("linked-device committed authority packages are unavailable for acknowledgement");
1042
+ const installationReceipt = await this.ports.authorityInstallation.readLocalAuthorityInstallationReceiptV1({ authorityId: walletSession.authorityId });
1043
+ if (!installationReceipt) throw new Error("linked-device installation receipt is unavailable for acknowledgement");
1044
+ const acknowledgement = {
1045
+ kind: "local_authority_activation_final_ack_v1",
1046
+ linkSessionId: session.qrData.linkSessionId,
1047
+ authorityId: walletSession.authorityId,
1048
+ packageSetDigestB64u: committed.packageSetDigestB64u,
1049
+ authorizationId: walletSession.authorizationId,
1050
+ walletSessionId: operationCredential.walletSessionId,
1051
+ credentialDigestB64u: await computeWalletSessionOperationCredentialDigestB64u(operationCredential),
1052
+ installationReceiptDigestB64u: await computeWalletSessionInstallationReceiptDigestB64u(installationReceipt),
1053
+ acknowledgedAtMs: Date.now()
1054
+ };
1055
+ await this.ports.authorityInstallation.persistPendingActivationAcknowledgementV1({ acknowledgement });
1056
+ await this.sendActivationAcknowledgementV1(acknowledgement);
1057
+ this.session = activeSession;
1058
+ authenticationContext.signingEngine.setWalletAuthenticated(linkedDeviceWalletAuthenticationState(walletSession, registration));
1059
+ await this.cleanupCompletedLocalResources();
1060
+ logDevice2LinkingStageV1({
1061
+ flowId: this.flowId,
1062
+ linkSessionId: session.qrData.linkSessionId,
1063
+ stage: "post_link_runtime_ready"
1064
+ });
1065
+ this.emit({
1066
+ phase: LinkDeviceEventPhase.STEP_02_QR_SCAN_STARTED,
1067
+ status: "succeeded",
1068
+ message: "Device link active",
1069
+ walletId: String(walletSession.walletId),
1070
+ data: {
1071
+ role: "display",
1072
+ enrollmentId: String(registration.enrollmentId)
1073
+ },
1074
+ interaction: {
1075
+ kind: "qr_display",
1076
+ overlay: "hide"
1077
+ }
1078
+ });
1079
+ }
1080
+ requireAuthenticatedTransport() {
1081
+ if (!this.authenticatedTransport) throw new DeviceLinkingError("Authenticated link-session transport is unavailable", DeviceLinkingErrorCode.UNSUPPORTED, "registration");
1082
+ return this.authenticatedTransport;
1083
+ }
1084
+ requireSessionTargetFactorV1() {
1085
+ if (!this.session) throw new Error("device-link session is unavailable");
1086
+ return this.session.qrData.targetFactor;
1087
+ }
1088
+ requireSessionV1() {
1089
+ if (!this.session) throw new Error("device-link session is unavailable");
1090
+ return this.session;
1091
+ }
1092
+ requireKeyMaterialHandleV1() {
1093
+ if (!this.keyMaterialHandle) throw new Error("device-link key material is unavailable");
1094
+ return this.keyMaterialHandle;
1095
+ }
1096
+ requireDeliveryRecipientPublicKey65B64u() {
1097
+ if (!this.deliveryRecipientPublicKey65B64u) throw new Error("device-link delivery recipient is unavailable");
1098
+ return this.deliveryRecipientPublicKey65B64u;
1099
+ }
1100
+ requireOrdinarySignerMaterialRecipientPreparationV1() {
1101
+ const preparation = this.ordinarySignerMaterialRecipientPreparation;
1102
+ if (!preparation) throw new Error("ordinary signer material recipient preparation is unavailable");
1103
+ return preparation;
1104
+ }
1105
+ startRun() {
1106
+ this.clearRunActivationStateV1();
1107
+ this.committedAuthorityPackages = null;
1108
+ this.deliveryRecoveryReason = null;
1109
+ this.runEpoch += 1;
1110
+ this.generationInProgress = true;
1111
+ this.cancelled = false;
1112
+ this.error = void 0;
1113
+ this.handledStates.clear();
1114
+ return this.runEpoch;
1115
+ }
1116
+ isCurrentRun(runEpoch) {
1117
+ return !this.cancelled && this.runEpoch === runEpoch;
1118
+ }
1119
+ assertCurrentRun(runEpoch) {
1120
+ if (!this.isCurrentRun(runEpoch)) throw new LinkDeviceFlowSupersededError();
1121
+ }
1122
+ handleSessionTransportEvent(event) {
1123
+ this.sessionEventQueue = this.sessionEventQueue.then(this.handleSessionEvent.bind(this, event)).catch(this.handleSessionTransportFailure.bind(this, event));
1124
+ }
1125
+ async handleSessionTransportFailure(event, error) {
1126
+ if (error instanceof LinkDeviceFlowSupersededError) return;
1127
+ if (this.hasCommittedDeliveryState()) {
1128
+ await this.handleCommittedDeliveryFailureV1(event, error);
1129
+ return;
1130
+ }
1131
+ logDevice2LinkingFailureV1({
1132
+ flowId: this.flowId,
1133
+ linkSessionId: event.linkSessionId,
1134
+ state: event.state.state,
1135
+ error
1136
+ });
1137
+ this.handledStates.delete(event.state.state);
1138
+ const failure = errorForFailure(error, "registration");
1139
+ this.error = failure;
1140
+ this.emitFailure(failure, "registration");
1141
+ notifyError(this.options.options?.onError, failure);
1142
+ await this.cancelFailedPrecommitSession(event).catch(() => void 0);
1143
+ this.runEpoch += 1;
1144
+ try {
1145
+ await this.cleanupLocalResources();
1146
+ } catch {}
1147
+ }
1148
+ async handleCommittedDeliveryFailureV1(event, error) {
1149
+ const recoveryReason = classifyLinkedDeviceDeliveryFailureV1(error);
1150
+ if (recoveryReason) {
1151
+ await this.requireExactMethodUnlockForCommittedDeliveryV1(event, recoveryReason);
1152
+ return;
1153
+ }
1154
+ logDevice2LinkingStageV1({
1155
+ flowId: this.flowId,
1156
+ linkSessionId: event.linkSessionId,
1157
+ stage: "committed_delivery_retry_started",
1158
+ details: {
1159
+ state: event.state.state,
1160
+ error: errorMessage(error)
1161
+ }
1162
+ });
1163
+ this.handledStates.delete(event.state.state);
1164
+ try {
1165
+ await this.retryCommittedDeliveryV1(event);
1166
+ } catch (retryError) {
1167
+ const retryRecoveryReason = classifyLinkedDeviceDeliveryFailureV1(retryError);
1168
+ if (retryRecoveryReason) {
1169
+ await this.requireExactMethodUnlockForCommittedDeliveryV1(event, retryRecoveryReason);
1170
+ return;
1171
+ }
1172
+ logDevice2LinkingFailureV1({
1173
+ flowId: this.flowId,
1174
+ linkSessionId: event.linkSessionId,
1175
+ state: event.state.state,
1176
+ error: retryError
1177
+ });
1178
+ }
1179
+ }
1180
+ async requireExactMethodUnlockForCommittedDeliveryV1(event, reason) {
1181
+ this.deliveryRecoveryReason = reason;
1182
+ this.handledStates.clear();
1183
+ this.runEpoch += 1;
1184
+ const failure = new DeviceLinkingError(linkedDeviceDeliveryRecoveryMessageV1(reason), DeviceLinkingErrorCode.DELIVERY_RECOVERY_REQUIRED, "registration");
1185
+ this.error = failure;
1186
+ try {
1187
+ await this.cleanupCompletedLocalResources();
1188
+ } catch (cleanupError) {
1189
+ logDevice2LinkingFailureV1({
1190
+ flowId: this.flowId,
1191
+ linkSessionId: event.linkSessionId,
1192
+ state: event.state.state,
1193
+ error: cleanupError
1194
+ });
1195
+ }
1196
+ this.clearRunActivationStateV1();
1197
+ this.committedAuthorityPackages = null;
1198
+ this.keyMaterialHandle = null;
1199
+ this.deliveryRecipientPublicKey65B64u = null;
1200
+ this.authenticatedTransport = null;
1201
+ this.subscription = null;
1202
+ this.emitFailure(failure, "registration");
1203
+ notifyError(this.options.options?.onError, failure);
1204
+ }
1205
+ async retryCommittedDeliveryV1(event) {
1206
+ if (await this.replayPendingActivationAcknowledgementV1()) return;
1207
+ switch (event.state.state) {
1208
+ case "provisioning":
1209
+ case "authority_pending_local_install":
1210
+ case "active":
1211
+ await this.replayCommittedAuthorityV1(event.state, this.runEpoch);
1212
+ return;
1213
+ default: throw new Error(`committed link delivery cannot resume from ${event.state.state}`);
1214
+ }
1215
+ }
1216
+ async replayCommittedAuthorityV1(state, runEpoch) {
1217
+ const result = await this.activateAuthorityForStateV1(state, runEpoch);
1218
+ if (result.kind === "pending_local_install") return;
1219
+ if (result.kind === "integrity_error") throw new DeviceLinkingError(`Linked-device authority replay failed: ${result.reason}`, DeviceLinkingErrorCode.REGISTRATION_FAILED, "registration");
1220
+ if (result.kind === "failed_before_commit" || result.kind === "relink_required") throw new DeviceLinkingError("Linked-device authority replay cannot continue", DeviceLinkingErrorCode.REGISTRATION_FAILED, "registration");
1221
+ await this.finishActiveAuthorityV1(state, result.session, result.operationCredential, runEpoch);
1222
+ }
1223
+ async replayPendingActivationAcknowledgementV1() {
1224
+ const committed = this.committedAuthorityPackages;
1225
+ if (!committed) return false;
1226
+ const pending = await this.ports.authorityInstallation.readPendingActivationAcknowledgementV1({ authorityId: committed.authority.authorityId });
1227
+ if (!pending) return false;
1228
+ const session = this.requireSessionV1();
1229
+ if (pending.linkSessionId !== session.qrData.linkSessionId || pending.authorityId !== committed.authority.authorityId || pending.packageSetDigestB64u !== committed.packageSetDigestB64u) throw new Error("pending linked-device acknowledgement identity is inconsistent");
1230
+ await this.sendActivationAcknowledgementV1(pending);
1231
+ return true;
1232
+ }
1233
+ async sendActivationAcknowledgementV1(acknowledgement) {
1234
+ await this.closeSessionSubscriptionV1();
1235
+ await this.requireAuthenticatedTransport().acknowledgeLocalAuthorityActivationV1({ acknowledgement });
1236
+ await this.ports.authorityInstallation.clearPendingActivationAcknowledgementV1({ authorityId: acknowledgement.authorityId });
1237
+ await this.ports.authorityInstallation.clearCommittedDeliveryResumeV1({ authorityId: acknowledgement.authorityId });
1238
+ }
1239
+ async cancelFailedPrecommitSession(event) {
1240
+ const transport = this.authenticatedTransport;
1241
+ if (!transport) return;
1242
+ switch (event.state.state) {
1243
+ case "claimed":
1244
+ case "awaiting_target_factor":
1245
+ case "awaiting_source_contribution":
1246
+ case "provisioning": {
1247
+ const cancelledAtMs = Date.now();
1248
+ await this.cancelClaimedSessionV1(transport, event.linkSessionId, cancelledAtMs);
1249
+ if (this.session?.linkSessionId === event.linkSessionId) this.session = {
1250
+ ...this.session,
1251
+ state: {
1252
+ state: "cancelled",
1253
+ cancelledAtMs
1254
+ }
1255
+ };
1256
+ return;
1257
+ }
1258
+ case "displaying_qr":
1259
+ case "authority_pending_local_install":
1260
+ case "active":
1261
+ case "expired":
1262
+ case "cancelled":
1263
+ case "failed_before_commit": return;
1264
+ default: assertNeverLinkSessionStateV1(event.state);
1265
+ }
1266
+ }
1267
+ async cleanupLocalResources(force = false) {
1268
+ if (!force && this.hasCommittedDeliveryState()) return;
1269
+ const preserveCommittedState = force && this.hasCommittedDeliveryState();
1270
+ if (!preserveCommittedState) this.clearRunActivationStateV1();
1271
+ let failure;
1272
+ const subscription = this.subscription;
1273
+ if (subscription) try {
1274
+ await subscription.close();
1275
+ if (this.subscription === subscription) this.subscription = null;
1276
+ } catch (error) {
1277
+ failure = error;
1278
+ }
1279
+ if (!failure) try {
1280
+ await this.discardKeyMaterial();
1281
+ } catch (error) {
1282
+ failure = error;
1283
+ }
1284
+ if (failure) throw failure;
1285
+ if (preserveCommittedState) {
1286
+ this.clearRunActivationStateV1();
1287
+ this.committedAuthorityPackages = null;
1288
+ }
1289
+ }
1290
+ clearRunActivationStateV1() {
1291
+ this.clearTargetCredentialActivationState();
1292
+ this.clearEmailOtpTargetActivationState();
1293
+ this.resealedExportRoot = null;
1294
+ this.targetCredentialRegistrationResult = null;
1295
+ this.ordinarySignerMaterialRecipientPreparation = null;
1296
+ }
1297
+ async closeSessionSubscriptionV1() {
1298
+ const subscription = this.subscription;
1299
+ if (!subscription) return;
1300
+ await subscription.close();
1301
+ if (this.subscription === subscription) this.subscription = null;
1302
+ }
1303
+ async cleanupCompletedLocalResources() {
1304
+ await this.cleanupLocalResources(true);
1305
+ }
1306
+ clearEmailOtpTargetActivationState() {
1307
+ const state = this.emailOtpTargetActivationState;
1308
+ if (state.kind === "completed") requireCompletedEmailOtpTargetActivationStateV1(state).factorSecret.fill(0);
1309
+ this.emailOtpTargetActivationState = { kind: "idle" };
1310
+ }
1311
+ hasCommittedDeliveryState() {
1312
+ return this.committedAuthorityPackages !== null || this.keyMaterialHandle !== null && (this.session?.state.state === "authority_pending_local_install" || this.session?.state.state === "active");
1313
+ }
1314
+ async discardKeyMaterial() {
1315
+ const handle = this.keyMaterialHandle;
1316
+ if (!handle) return;
1317
+ if (this.discardInProgress) return await this.discardInProgress;
1318
+ const discard = this.ports.keyMaterial.discardKeyMaterialV1({ handle });
1319
+ this.discardInProgress = discard;
1320
+ try {
1321
+ await discard;
1322
+ if (this.keyMaterialHandle === handle) {
1323
+ this.keyMaterialHandle = null;
1324
+ this.deliveryRecipientPublicKey65B64u = null;
1325
+ this.authenticatedTransport = null;
1326
+ }
1327
+ } finally {
1328
+ if (this.discardInProgress === discard) this.discardInProgress = null;
1329
+ }
1330
+ }
1331
+ emitFailure(error, phase) {
1332
+ this.emit({
1333
+ phase: phase === "generation" ? LinkDeviceEventPhase.STEP_01_QR_PREPARE_STARTED : LinkDeviceEventPhase.FAILED,
1334
+ status: "failed",
1335
+ message: error.message,
1336
+ data: { role: "display" },
1337
+ interaction: {
1338
+ kind: "qr_display",
1339
+ overlay: "hide"
1340
+ },
1341
+ error: {
1342
+ code: error.code,
1343
+ message: error.message,
1344
+ retryable: error.code !== DeviceLinkingErrorCode.UNSUPPORTED && error.code !== DeviceLinkingErrorCode.DELIVERY_RECOVERY_REQUIRED
1345
+ }
1346
+ });
1347
+ }
1348
+ emit(event) {
1349
+ this.options.options?.onEvent?.(createLinkDeviceFlowEvent({
1350
+ flowId: this.flowId,
1351
+ ...event
1352
+ }));
1353
+ }
1354
+ };
1355
+ //#endregion
1356
+ export { LinkDeviceFlow };
1357
+
1358
+ //# sourceMappingURL=linkDeviceFlow.js.map