@seams/wallet 0.6.2 → 0.7.3

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