@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,45 +1,27 @@
1
- import { mpcMaterialActivationRefsEqual, parseCapabilityInstanceRef, parseMpcMaterialActivationRef, parseMpcMaterialOwnerRef, parseWalletId } from "../../../shared-ts/src/utils/domainIds.js";
2
- import { base64UrlDecode, base64UrlEncode } from "../../../shared-ts/src/utils/base64.js";
3
- import { parseCorrelationId, parseDigestB64u, parseIsoTimestamp } from "../../../shared-ts/src/utils/canonicalPrimitives.js";
4
- import { alphabetizeStringify, sha256Bytes, sha256BytesUtf8 } from "../../../shared-ts/src/utils/digests.js";
5
- import { canonicalRouterAbMpcMaterialActivationRefBytes, routerAbMpcMaterialActivationRefFromWire, routerAbMpcMaterialActivationRefToWire } from "../../../shared-ts/src/utils/routerAbNormalSigningIdentity.js";
6
- import { parseSdkEcdsaDerivationSigningRootId, parseSdkEcdsaDerivationSigningRootVersion } from "../../../shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.js";
1
+ import { mpcMaterialActivationRefsEqual, parseMpcMaterialActivationRef, parseWalletId } from "../../../shared-ts/src/utils/domainIds.js";
2
+ import { requireRecord } from "../../../shared-ts/src/utils/validation.js";
3
+ import { base64UrlEncode } from "../../../shared-ts/src/utils/base64.js";
4
+ import { parseCorrelationId } from "../../../shared-ts/src/utils/canonicalPrimitives.js";
7
5
  import { normalizeRuntimePolicyScope } from "../../../shared-ts/src/threshold/signingRootScope.js";
8
- import { parseCanonicalEcdsaServerActivationRequest, parseEcdsaCapabilityManifestId, parseEcdsaCapabilityManifestRevision, parseEcdsaCiphertextB64u, parseEcdsaCiphertextDigest, parseEcdsaIv12B64u, parseEcdsaMaterialSealingKeyId, parseEcdsaPendingCiphertextDigest, parseEcdsaServerGeneration, parseEvmFamilyEcdsaSignerId } from "../../../shared-ts/src/utils/ecdsaCapabilityActivation.js";
9
- import { parseWalletAuthAuthorityRef } from "../../../shared-ts/src/utils/walletAuthAuthority.js";
10
- import { parseRouterAbEcdsaDerivationPublicCapabilityV1, parseRouterAbEcdsaRegistrationActivationReceiptV1, requireRouterAbEcdsaDerivationNormalSigningStateV1, routerAbEcdsaDerivationNormalSigningScopeCanonicalBytesV1, sameRouterAbEcdsaDerivationNormalSigningStateV1, sameRouterAbEcdsaDerivationPublicCapabilityV1, sameRouterAbEcdsaRegistrationActivationReceiptV1 } from "../../../shared-ts/src/utils/routerAbEcdsaDerivation.js";
11
- import { thresholdEcdsaChainTargetFromRequest } from "../../signingEngine/interfaces/ecdsaChainTarget.js";
12
- import { buildVerifiedEcdsaPublicFacts, toEvmFamilyEcdsaKeyHandle, toParticipantId } from "../../signingEngine/session/identity/evmFamilyEcdsaIdentity.js";
6
+ import { parseEcdsaCiphertextDigest, parseEcdsaMaterialSealingKeyId, parseEcdsaPendingCiphertextDigest } from "../../../shared-ts/src/utils/ecdsaCapabilityActivation.js";
13
7
  import { secureRandomId } from "../../../shared-ts/src/utils/secureRandomId.js";
14
- import { parseEcdsaClientVerifyingPublicKey33B64u, parseEcdsaKeyHandle, parseEcdsaRelayerKeyId, parseEcdsaRoleLocalBindingDigest, parseEcdsaRoleLocalDurableMaterialRef, parseEcdsaRoleLocalPersistedMaterialRef, parseEcdsaThresholdKeyId } from "../../signingEngine/session/keyMaterialBrands.js";
15
- import { SEAMS_WALLET_INDEXES, SEAMS_WALLET_STORES } from "../schemaNames.js";
8
+ import { routerAbMpcMaterialActivationRefFromWire } from "../../../shared-ts/src/utils/routerAbNormalSigningIdentity.js";
9
+ import { parseEcdsaClientVerifyingPublicKey33B64u, parseEcdsaRoleLocalPersistedMaterialRef } from "../../signingEngine/session/keyMaterialBrands.js";
10
+ import { sameRouterAbEcdsaDerivationNormalSigningStateV1 } from "../../../shared-ts/src/utils/routerAbEcdsaDerivation.js";
11
+ import { SEAMS_WALLET_INDEXES } from "../schemaNames.js";
16
12
  import { seamsWalletDB } from "../singletons.js";
17
- import { SeamsWalletRepositories } from "./repositories.js";
18
13
  import { buildEcdsaRoleLocalPublicFacts } from "../../signingEngine/session/persistence/ecdsaRoleLocalRecords.js";
19
- import { buildActiveEcdsaCapabilityManifest, buildDurableEcdsaMaterialBinding, buildEcdsaActivationBinding, buildEcdsaCapabilityScope, buildEcdsaManifestIdentity, buildEcdsaRoleLocalMaterialBinding, buildEcdsaServerActivationCommit, buildEncryptedEcdsaPendingCandidate, buildExactEcdsaManifestExpectation, buildExactEcdsaServerGenerationExpectation, buildNoCurrentEcdsaManifestExpectation, buildNoCurrentEcdsaServerGenerationExpectation, buildPreparedEcdsaActivationCandidate, buildPreparedEcdsaActivationJournal, buildPreparedEvmFamilySigner, buildReplacedEcdsaCapabilityManifest, buildServerCommittedEcdsaActivationJournal, buildValidatedEncryptedEcdsaReadyMaterial } from "../../signingEngine/session/material/ecdsaCapabilityManifest.js";
14
+ import { buildActiveEcdsaCapabilityManifest, buildDurableEcdsaMaterialBinding, buildEcdsaServerActivationCommit, buildEncryptedEcdsaPendingCandidate, buildServerCommittedEcdsaActivationJournal, buildValidatedEncryptedEcdsaReadyMaterial } from "../../signingEngine/session/material/ecdsaCapabilityManifest.js";
20
15
  import { ecdsaClientPresignPoolKey, equalEcdsaClientPresignPoolIdentity, parseEcdsaClientPresignPoolIdentity } from "../../signingEngine/workerManager/ecdsaPresignPoolIdentity.js";
21
16
  import "../../signingEngine/workerManager/ecdsaPresignLifecycle.js";
17
+ import { JOURNAL_STORE, MANIFEST_RECORD_VERSION, MANIFEST_STORE, MATERIAL_STORE, POINTER_STORE, PRESIGNATURE_STORE, SEALING_KEY_STORE, assertNever, buildPreparedJournalFromEncryptedCandidate, ciphertextDigestB64u, decryptStateBlob, ecdsaActivationCommitJournalsMatch, ecdsaActiveCapabilityManifestsMatch, ecdsaCapabilityScopesMatch, ecdsaDurableMaterialBindingsMatch, ecdsaRegisteredPublicFactsMatch, ecdsaRoleLocalMaterialBindingsMatch, ecdsaRoleLocalPublicFactsMatch, ecdsaServerActivationCommitsMatch, encryptStateBlob, generateMaterialSealingKey, materialMatchesManifest, normalizeSelector, parseActiveProof, parseCommittedJournal, parseJournalRow, parseManifestRow, parseMaterialLocator, parseMaterialRow, parsePointerRow, parseSealingKeyRow, preparedJournalProjection, runtimePolicyScopesMatch, selectorColumns, selectorFromJournal, selectorFromManifest, selectorFromSigner, selectorKey, selectorsMatch, storedJournalRow, storedMaterialRow, storedPointerRow, storedSealingKeyRow, walletAuthAuthorityRefsMatch } from "./ecdsaCapabilityManifestRecords.js";
18
+ import { activeMaterialMatchesPresignature, decryptPresignatureBytes, deleteCursorRows, encryptPresignatureBytes, materialRefMatchesPoolIdentity, metadataFromPresignatureRow, parseDurableClientPresignatureRecordId, parsePresignatureTimestamp, parseSealedAvailableClientPresignatureRow, rawRecordId, readAvailableClientPresignatureRows, retireClientPresignaturesForActivationInTransaction, supportsStrictIndexedDbDurability } from "./ecdsaClientPresignatures.js";
19
+ import { activeLookupUsesMaterialActivation, ecdsaManifestErrorMessage, isConstraintError, journalConstraintConflict, lookupInTransaction, materialRefOpenFailure, persistenceDigest, readActivationJournalRows, readActiveManifestRows, readPointerRowsForWallet, retryCorrelation } from "./ecdsaCapabilityManifestLookups.js";
22
20
  //#region src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.ts
23
- const MANIFEST_RECORD_VERSION = "ecdsa_capability_manifest_v3";
24
- const POINTER_RECORD_VERSION = "ecdsa_current_capability_manifest_v2";
25
- const MATERIAL_RECORD_VERSION = "ecdsa_role_local_material_v2";
26
- const JOURNAL_RECORD_VERSION = "ecdsa_activation_commit_journal_v1";
27
- const SEALING_KEY_RECORD_VERSION = "ecdsa_material_sealing_key_v1";
28
- const MANIFEST_STORE = SEAMS_WALLET_STORES.ecdsaCapabilityManifests;
29
- const POINTER_STORE = SEAMS_WALLET_STORES.ecdsaCurrentCapabilityManifests;
30
- const MATERIAL_STORE = SEAMS_WALLET_STORES.ecdsaRoleLocalMaterial;
31
- const JOURNAL_STORE = SEAMS_WALLET_STORES.ecdsaActivationCommitJournals;
32
- const SEALING_KEY_STORE = SEAMS_WALLET_STORES.ecdsaMaterialSealingKeys;
33
- const PRESIGNATURE_STORE = SEAMS_WALLET_STORES.ecdsaClientPresignatures;
34
- const AES_GCM_IV_BYTES = 12;
35
21
  const MATERIAL_AAD_VERSION = 1;
36
- const CLIENT_PRESIGNATURE_AAD_DOMAIN = "seams/ecdsa-client-presignature/v1";
37
- const MAX_EXPIRED_CLIENT_PRESIGNATURE_DELETIONS_PER_TRANSACTION = 32;
38
- const MAX_DURABLE_CLIENT_PRESIGNATURE_FUTURE_SKEW_MS = 5 * 6e4;
39
- function activeManifestMatchesWalletCustodyImport(input) {
40
- const manifest = input.manifest;
22
+ function activeManifestMatchesWalletCustodyImport(manifest, input, serverActivation) {
41
23
  const binding = input.activationBinding;
42
- return walletAuthAuthorityRefsMatch(manifest.signer.authority, binding.signer.authority) && ecdsaCapabilityScopesMatch(manifest.signer.scope, binding.signer.scope) && manifest.signer.walletId === binding.signer.walletId && manifest.signer.capability === binding.signer.capability && manifest.signer.materialOwner === binding.signer.materialOwner && manifest.signer.signingRootId === binding.signer.signingRootId && manifest.signer.signingRootVersion === binding.signer.signingRootVersion && ecdsaRegisteredPublicFactsMatch(manifest.signer.registeredPublicFacts, input.registeredPublicFacts) && ecdsaServerActivationCommitsMatch(manifest.activation.serverActivation, input.serverActivation) && mpcMaterialActivationRefsEqual(manifest.activation.materialActivation, routerAbMpcMaterialActivationRefFromWire(input.serverActivation.serverActivationReceipt.protocolReceipt.ecdsa_activation.material_activation)) && manifest.durableMaterial.bindingDigest === binding.bindingDigest && manifest.durableMaterial.durableMaterialRef === binding.durableMaterialRef && ecdsaRoleLocalMaterialBindingsMatch(manifest.durableMaterial.roleLocalBinding, binding.roleLocalBinding) && ecdsaRoleLocalPublicFactsMatch(manifest.durableMaterial.roleLocalPublicFacts, input.roleLocalPublicFacts) && sameRouterAbEcdsaDerivationNormalSigningStateV1(manifest.durableMaterial.routerAbEcdsaDerivationNormalSigning, input.routerAbEcdsaDerivationNormalSigning) && runtimePolicyScopesMatch(manifest.durableMaterial.runtimePolicyScope, normalizeRuntimePolicyScope(input.runtimePolicyScope));
24
+ return walletAuthAuthorityRefsMatch(manifest.signer.authority, binding.signer.authority) && ecdsaCapabilityScopesMatch(manifest.signer.scope, binding.signer.scope) && manifest.signer.walletId === binding.signer.walletId && manifest.signer.capability === binding.signer.capability && manifest.signer.materialOwner === binding.signer.materialOwner && manifest.signer.signingRootId === binding.signer.signingRootId && manifest.signer.signingRootVersion === binding.signer.signingRootVersion && ecdsaRegisteredPublicFactsMatch(manifest.signer.registeredPublicFacts, input.registeredPublicFacts) && ecdsaServerActivationCommitsMatch(manifest.activation.serverActivation, serverActivation) && mpcMaterialActivationRefsEqual(manifest.activation.materialActivation, routerAbMpcMaterialActivationRefFromWire(serverActivation.serverActivationReceipt.protocolReceipt.ecdsa_activation.material_activation)) && manifest.durableMaterial.bindingDigest === binding.bindingDigest && manifest.durableMaterial.durableMaterialRef === binding.durableMaterialRef && ecdsaRoleLocalMaterialBindingsMatch(manifest.durableMaterial.roleLocalBinding, binding.roleLocalBinding) && ecdsaRoleLocalPublicFactsMatch(manifest.durableMaterial.roleLocalPublicFacts, input.roleLocalPublicFacts) && sameRouterAbEcdsaDerivationNormalSigningStateV1(manifest.durableMaterial.routerAbEcdsaDerivationNormalSigning, input.routerAbEcdsaDerivationNormalSigning) && runtimePolicyScopesMatch(manifest.durableMaterial.runtimePolicyScope, normalizeRuntimePolicyScope(input.runtimePolicyScope));
43
25
  }
44
26
  var FinalizationControlError = class extends Error {
45
27
  constructor(kind, message) {
@@ -48,206 +30,6 @@ var FinalizationControlError = class extends Error {
48
30
  this.kind = kind;
49
31
  }
50
32
  };
51
- function requireRecord(value, label) {
52
- if (value === null || typeof value !== "object" || Array.isArray(value)) throw new Error(`${label} must be an object`);
53
- return value;
54
- }
55
- function requireExactKeys(record, label, expectedKeys) {
56
- const actual = Object.keys(record).sort();
57
- const expected = [...expectedKeys].sort();
58
- if (actual.length !== expected.length || actual.some((field, index) => field !== expected[index])) throw new Error(`${label} has unexpected fields`);
59
- }
60
- function requireArray(value, label) {
61
- if (!Array.isArray(value)) throw new Error(`${label} must be an array`);
62
- return value;
63
- }
64
- function unwrapDomainId(result) {
65
- if (!result.ok) throw new Error(result.error.message);
66
- return result.value;
67
- }
68
- function normalizeSelector(selector) {
69
- const authority = parseWalletAuthAuthorityRef(selector.authority);
70
- if (!authority) throw new Error("ECDSA capability selector authority is invalid");
71
- return {
72
- capability: unwrapDomainId(parseCapabilityInstanceRef(selector.capability)),
73
- authority
74
- };
75
- }
76
- function selectorFromJournal(journal) {
77
- return {
78
- capability: journal.candidate.activationBinding.signer.capability,
79
- authority: journal.candidate.activationBinding.signer.authority
80
- };
81
- }
82
- function selectorFromManifest(manifest) {
83
- return {
84
- capability: manifest.signer.capability,
85
- authority: manifest.signer.authority
86
- };
87
- }
88
- function selectorKey(selector) {
89
- return [
90
- String(selector.capability),
91
- String(selector.authority.walletId),
92
- String(selector.authority.authorityDigest)
93
- ];
94
- }
95
- function walletAuthAuthorityRefsMatch(left, right) {
96
- return left.kind === right.kind && left.walletId === right.walletId && left.authorityDigest === right.authorityDigest && left.walletAuthMethodId === right.walletAuthMethodId;
97
- }
98
- function selectorsMatch(left, right) {
99
- const leftKey = selectorKey(left);
100
- const rightKey = selectorKey(right);
101
- return leftKey[0] === rightKey[0] && leftKey[1] === rightKey[1] && leftKey[2] === rightKey[2];
102
- }
103
- function orderedNumberValuesMatch(left, right) {
104
- return left.length === right.length && left.every((value, index) => value === right[index]);
105
- }
106
- function runtimePolicyScopesMatch(left, right) {
107
- return left.orgId === right.orgId && left.projectId === right.projectId && left.envId === right.envId && left.signingRootVersion === right.signingRootVersion;
108
- }
109
- function ecdsaChainTargetsMatch(left, right) {
110
- if (left.kind !== right.kind) return false;
111
- switch (left.kind) {
112
- case "evm": return right.kind === "evm" && left.namespace === right.namespace && left.chainId === right.chainId && left.networkSlug === right.networkSlug;
113
- case "tempo": return right.kind === "tempo" && left.chainId === right.chainId && left.networkSlug === right.networkSlug;
114
- default: return assertNever(left);
115
- }
116
- }
117
- function ecdsaCapabilityScopesMatch(left, right) {
118
- return left.kind === right.kind && left.targetMemberships.length === right.targetMemberships.length && left.targetMemberships.every((target, index) => ecdsaChainTargetsMatch(target, right.targetMemberships[index]));
119
- }
120
- function ecdsaRoleLocalMaterialBindingsMatch(left, right) {
121
- return left.kind === right.kind && left.keyHandle === right.keyHandle && left.ecdsaThresholdKeyId === right.ecdsaThresholdKeyId && left.clientVerifyingPublicKey33B64u === right.clientVerifyingPublicKey33B64u && orderedNumberValuesMatch(left.participantIds, right.participantIds) && left.relayerKeyId === right.relayerKeyId;
122
- }
123
- function ecdsaRoleLocalPublicFactsMatch(left, right) {
124
- return left.walletId === right.walletId && ecdsaChainTargetsMatch(left.chainTarget, right.chainTarget) && left.keyHandle === right.keyHandle && left.ecdsaThresholdKeyId === right.ecdsaThresholdKeyId && left.signingRootId === right.signingRootId && left.signingRootVersion === right.signingRootVersion && left.applicationBindingDigestB64u === right.applicationBindingDigestB64u && left.clientParticipantId === right.clientParticipantId && left.relayerParticipantId === right.relayerParticipantId && orderedNumberValuesMatch(left.participantIds, right.participantIds) && left.contextBinding32B64u === right.contextBinding32B64u && left.derivationClientSharePublicKey33B64u === right.derivationClientSharePublicKey33B64u && left.relayerPublicKey33B64u === right.relayerPublicKey33B64u && left.groupPublicKey33B64u === right.groupPublicKey33B64u && left.ethereumAddress === right.ethereumAddress && sameRouterAbEcdsaDerivationPublicCapabilityV1(left.publicCapability, right.publicCapability);
125
- }
126
- function ecdsaRegisteredPublicFactsMatch(left, right) {
127
- return left.kind === right.kind && left.keyHandle === right.keyHandle && left.publicKeyB64u === right.publicKeyB64u && left.participantIds.length === right.participantIds.length && left.participantIds.every((participantId, index) => participantId === right.participantIds[index]) && left.thresholdOwnerAddress === right.thresholdOwnerAddress;
128
- }
129
- function ecdsaManifestIdentitiesMatch(left, right) {
130
- return left.manifestId === right.manifestId && left.manifestRevision === right.manifestRevision;
131
- }
132
- function ecdsaManifestRevisionExpectationsMatch(left, right) {
133
- if (left.kind !== right.kind) return false;
134
- switch (left.kind) {
135
- case "no_current_manifest": return true;
136
- case "exact_manifest": return right.kind === "exact_manifest" && left.manifestId === right.manifestId && left.manifestRevision === right.manifestRevision;
137
- default: return assertNever(left);
138
- }
139
- }
140
- function ecdsaServerGenerationExpectationsMatch(left, right) {
141
- if (left.kind !== right.kind) return false;
142
- switch (left.kind) {
143
- case "no_current_generation": return true;
144
- case "exact_generation": return right.kind === "exact_generation" && left.serverGeneration === right.serverGeneration;
145
- default: return assertNever(left);
146
- }
147
- }
148
- function ecdsaPreparedEvmFamilySignersMatch(left, right) {
149
- return left.kind === right.kind && left.capability === right.capability && left.signerId === right.signerId && left.walletId === right.walletId && walletAuthAuthorityRefsMatch(left.authority, right.authority) && ecdsaCapabilityScopesMatch(left.scope, right.scope) && left.materialOwner === right.materialOwner && left.signingRootId === right.signingRootId && left.signingRootVersion === right.signingRootVersion;
150
- }
151
- function ecdsaRegisteredEvmFamilySignersMatch(left, right) {
152
- return left.kind === right.kind && left.capability === right.capability && left.signerId === right.signerId && left.walletId === right.walletId && walletAuthAuthorityRefsMatch(left.authority, right.authority) && ecdsaCapabilityScopesMatch(left.scope, right.scope) && left.materialOwner === right.materialOwner && left.signingRootId === right.signingRootId && left.signingRootVersion === right.signingRootVersion && ecdsaRegisteredPublicFactsMatch(left.registeredPublicFacts, right.registeredPublicFacts);
153
- }
154
- function ecdsaEncryptedPendingCandidatesMatch(left, right) {
155
- return left.kind === right.kind && left.sealingKeyId === right.sealingKeyId && left.iv12B64u === right.iv12B64u && left.ciphertextB64u === right.ciphertextB64u && left.ciphertextDigest === right.ciphertextDigest;
156
- }
157
- function ecdsaActivationBindingsMatch(left, right) {
158
- return left.kind === right.kind && ecdsaManifestIdentitiesMatch(left.targetManifest, right.targetManifest) && ecdsaPreparedEvmFamilySignersMatch(left.signer, right.signer) && ecdsaRoleLocalMaterialBindingsMatch(left.roleLocalBinding, right.roleLocalBinding) && left.bindingDigest === right.bindingDigest && left.durableMaterialRef === right.durableMaterialRef;
159
- }
160
- function ecdsaServerActivationCommitsMatch(left, right) {
161
- return left.kind === right.kind && left.correlationId === right.correlationId && left.activationRequestDigest === right.activationRequestDigest && left.serverGeneration === right.serverGeneration && ecdsaServerActivationReceiptsMatch(left.serverActivationReceipt, right.serverActivationReceipt);
162
- }
163
- function ecdsaServerActivationReceiptsMatch(left, right) {
164
- return left.kind === right.kind && left.lifecycleId === right.lifecycleId && left.activationDigest === right.activationDigest && left.activatedAt === right.activatedAt && sameRouterAbEcdsaRegistrationActivationReceiptV1(left.protocolReceipt, right.protocolReceipt);
165
- }
166
- function ecdsaActivationCommandsMatch(left, right) {
167
- return left.kind === right.kind && left.correlationId === right.correlationId && ecdsaServerGenerationExpectationsMatch(left.expectedGeneration, right.expectedGeneration) && left.requestDigest === right.requestDigest && left.canonicalRequest === right.canonicalRequest;
168
- }
169
- function ecdsaPreparedActivationCandidatesMatch(left, right) {
170
- return left.kind === right.kind && ecdsaActivationBindingsMatch(left.activationBinding, right.activationBinding) && ecdsaEncryptedPendingCandidatesMatch(left.encryptedPending, right.encryptedPending);
171
- }
172
- function ecdsaActivationCommitJournalsMatch(left, right) {
173
- if (left.kind !== right.kind) return false;
174
- if (!(left.journalId === right.journalId && ecdsaManifestRevisionExpectationsMatch(left.expectedManifest, right.expectedManifest) && ecdsaActivationCommandsMatch(left.activationCommand, right.activationCommand) && ecdsaPreparedActivationCandidatesMatch(left.candidate, right.candidate) && left.createdAt === right.createdAt)) return false;
175
- switch (left.kind) {
176
- case "activation_prepared": return true;
177
- case "server_activation_committed": return right.kind === "server_activation_committed" && ecdsaServerActivationCommitsMatch(left.serverActivation, right.serverActivation);
178
- default: return assertNever(left);
179
- }
180
- }
181
- function ecdsaDurableMaterialBindingsMatch(left, right) {
182
- return left.kind === right.kind && mpcMaterialActivationRefsEqual(left.materialActivation, right.materialActivation) && sameRouterAbEcdsaDerivationNormalSigningStateV1(left.routerAbEcdsaDerivationNormalSigning, right.routerAbEcdsaDerivationNormalSigning) && ecdsaRoleLocalPublicFactsMatch(left.roleLocalPublicFacts, right.roleLocalPublicFacts) && ecdsaRoleLocalMaterialBindingsMatch(left.roleLocalBinding, right.roleLocalBinding) && left.durableMaterialRef === right.durableMaterialRef && left.bindingDigest === right.bindingDigest && left.lifecycleId === right.lifecycleId && left.ciphertextDigest === right.ciphertextDigest && left.activationDigest === right.activationDigest && left.activatedAt === right.activatedAt && runtimePolicyScopesMatch(left.runtimePolicyScope, right.runtimePolicyScope);
183
- }
184
- function ecdsaActiveMaterialActivationsMatch(left, right) {
185
- return left.kind === right.kind && mpcMaterialActivationRefsEqual(left.materialActivation, right.materialActivation) && ecdsaServerActivationCommitsMatch(left.serverActivation, right.serverActivation) && left.retention === right.retention;
186
- }
187
- function ecdsaActiveCapabilityManifestsMatch(left, right) {
188
- return left.kind === right.kind && ecdsaManifestIdentitiesMatch(left.identity, right.identity) && ecdsaRegisteredEvmFamilySignersMatch(left.signer, right.signer) && ecdsaActiveMaterialActivationsMatch(left.activation, right.activation) && ecdsaDurableMaterialBindingsMatch(left.durableMaterial, right.durableMaterial) && left.committedAt === right.committedAt;
189
- }
190
- function serverActivationRecordMatches(expected, record) {
191
- try {
192
- const receipt = requireRecord(record.serverActivationReceipt, "ECDSA server activation receipt");
193
- return record.kind === expected.kind && parseCorrelationId(record.correlationId) === expected.correlationId && parseDigestB64u(record.activationRequestDigest) === expected.activationRequestDigest && parseEcdsaServerGeneration(record.serverGeneration) === expected.serverGeneration && receipt.kind === expected.serverActivationReceipt.kind && receipt.lifecycleId === String(expected.serverActivationReceipt.lifecycleId) && receipt.activationDigest === String(expected.serverActivationReceipt.activationDigest) && parseIsoTimestamp(receipt.activatedAt) === expected.serverActivationReceipt.activatedAt && sameRouterAbEcdsaRegistrationActivationReceiptV1(parseRouterAbEcdsaRegistrationActivationReceiptV1(receipt.protocolReceipt), expected.serverActivationReceipt.protocolReceipt);
194
- } catch {
195
- return false;
196
- }
197
- }
198
- async function persistenceDigest(category, selector, detail) {
199
- return parseDigestB64u(base64UrlEncode(await sha256BytesUtf8(alphabetizeStringify({
200
- category,
201
- capability_ref: selector.capability,
202
- wallet_id: selector.authority.walletId,
203
- authority_digest: selector.authority.authorityDigest,
204
- wallet_auth_method_id: selector.authority.walletAuthMethodId,
205
- detail
206
- }))));
207
- }
208
- function retryCorrelation() {
209
- return parseCorrelationId(secureRandomId("ecdsa-persistence-retry", 16, "ECDSA persistence retry correlations"));
210
- }
211
- function buildPreparedJournalFromEncryptedCandidate(input) {
212
- const candidate = buildPreparedEcdsaActivationCandidate({
213
- activationBinding: input.preparation.activationBinding,
214
- encryptedPending: input.encryptedPending
215
- });
216
- switch (input.preparation.expectedManifest.kind) {
217
- case "no_current_manifest":
218
- if (input.preparation.expectedGeneration.kind !== "no_current_generation") throw new Error("Initial ECDSA activation cannot expect a server generation");
219
- return buildPreparedEcdsaActivationJournal({
220
- journalId: input.preparation.journalId,
221
- expectedManifest: input.preparation.expectedManifest,
222
- expectedGeneration: input.preparation.expectedGeneration,
223
- candidate,
224
- requestDigest: input.preparation.requestDigest,
225
- canonicalRequest: input.preparation.canonicalRequest,
226
- createdAt: input.preparation.createdAt
227
- });
228
- case "exact_manifest":
229
- if (input.preparation.expectedGeneration.kind !== "exact_generation") throw new Error("Replacement ECDSA activation requires an exact server generation");
230
- return buildPreparedEcdsaActivationJournal({
231
- journalId: input.preparation.journalId,
232
- expectedManifest: input.preparation.expectedManifest,
233
- expectedGeneration: input.preparation.expectedGeneration,
234
- candidate,
235
- requestDigest: input.preparation.requestDigest,
236
- canonicalRequest: input.preparation.canonicalRequest,
237
- createdAt: input.preparation.createdAt
238
- });
239
- default: return assertNever(input.preparation.expectedManifest);
240
- }
241
- }
242
- function decodeCanonicalStateBlob(value, label) {
243
- if (typeof value !== "string" || value.length === 0 || !/^[A-Za-z0-9_-]+$/.test(value)) throw new Error(`${label} must be non-empty unpadded base64url`);
244
- const bytes = base64UrlDecode(value);
245
- if (bytes.length === 0 || base64UrlEncode(bytes) !== value) {
246
- bytes.fill(0);
247
- throw new Error(`${label} must be canonical base64url`);
248
- }
249
- return bytes;
250
- }
251
33
  function activationBindingAadProjection(binding) {
252
34
  return {
253
35
  target_manifest: binding.targetManifest,
@@ -266,24 +48,6 @@ function activationBindingAadProjection(binding) {
266
48
  durable_material_ref: binding.durableMaterialRef
267
49
  };
268
50
  }
269
- function activeManifestBindingAadProjection(manifest) {
270
- return {
271
- target_manifest: manifest.identity,
272
- signer: {
273
- capability: manifest.signer.capability,
274
- signer_id: manifest.signer.signerId,
275
- wallet_id: manifest.signer.walletId,
276
- authority: manifest.signer.authority,
277
- scope: manifest.signer.scope,
278
- material_owner: manifest.signer.materialOwner,
279
- signing_root_id: manifest.signer.signingRootId,
280
- signing_root_version: manifest.signer.signingRootVersion
281
- },
282
- role_local_binding: manifest.durableMaterial.roleLocalBinding,
283
- binding_digest: manifest.durableMaterial.bindingDigest,
284
- durable_material_ref: manifest.durableMaterial.durableMaterialRef
285
- };
286
- }
287
51
  function pendingAadProjection(input) {
288
52
  if ("activationBinding" in input) return {
289
53
  version: MATERIAL_AAD_VERSION,
@@ -311,604 +75,23 @@ function pendingAadProjection(input) {
311
75
  };
312
76
  }
313
77
  function readyAadProjection(input) {
78
+ if (input.kind === "server_activation_committed") return readyAadProjectionFor(input.candidate.activationBinding, input.serverActivation);
79
+ return readyAadProjectionFor({
80
+ targetManifest: input.identity,
81
+ signer: input.signer,
82
+ roleLocalBinding: input.durableMaterial.roleLocalBinding,
83
+ bindingDigest: input.durableMaterial.bindingDigest,
84
+ durableMaterialRef: input.durableMaterial.durableMaterialRef
85
+ }, input.activation.serverActivation);
86
+ }
87
+ function readyAadProjectionFor(activationBinding, serverActivation) {
314
88
  return {
315
89
  version: MATERIAL_AAD_VERSION,
316
90
  stage: "activation_ready",
317
- activation_binding: input.kind === "server_activation_committed" ? activationBindingAadProjection(input.candidate.activationBinding) : activeManifestBindingAadProjection(input),
318
- server_activation: input.kind === "server_activation_committed" ? input.serverActivation : input.activation.serverActivation
319
- };
320
- }
321
- function importedReadyAadProjection(input) {
322
- return {
323
- version: MATERIAL_AAD_VERSION,
324
- stage: "activation_ready",
325
- activation_binding: activationBindingAadProjection(input.activationBinding),
326
- server_activation: input.serverActivation
327
- };
328
- }
329
- function additionalData(projection) {
330
- return new TextEncoder().encode(alphabetizeStringify(projection));
331
- }
332
- function activeMaterialMatchesPresignaturePoolIdentity(material, poolIdentity) {
333
- const scope = material.binding.routerAbEcdsaDerivationNormalSigning.scope;
334
- const materialActivation = routerAbMpcMaterialActivationRefToWire(material.binding.materialActivation);
335
- return scope.wallet_id === poolIdentity.walletId && base64UrlEncode(routerAbEcdsaDerivationNormalSigningScopeCanonicalBytesV1(scope)) === poolIdentity.signingScopeB64u && base64UrlEncode(canonicalRouterAbMpcMaterialActivationRefBytes(materialActivation)) === poolIdentity.materialActivationB64u && scope.signing_worker.key_epoch === poolIdentity.keyEpoch && scope.activation_epoch === poolIdentity.activationEpoch && materialActivation.activation_id === poolIdentity.materialActivationId && materialActivation.capability === poolIdentity.capability && materialActivation.key_binding === poolIdentity.keyBinding && materialActivation.material_owner === poolIdentity.walletId;
336
- }
337
- function parseDurableClientPresignatureRecordId(value) {
338
- if (typeof value !== "string" || !/^ecdsa-client-presignature-[A-Za-z0-9_-]+$/.test(value)) throw new Error("ECDSA durable presignature record id is invalid");
339
- return value;
340
- }
341
- function parsePresignatureTimestamp(value, label) {
342
- if (typeof value !== "number" || !Number.isSafeInteger(value) || value <= 0) throw new Error(`${label} is invalid`);
343
- return value;
344
- }
345
- function rawRecordId(value) {
346
- if (!value || typeof value !== "object" || !("record_id" in value)) return null;
347
- const recordId = value.record_id;
348
- return typeof recordId === "string" ? recordId : null;
349
- }
350
- function supportsStrictIndexedDbDurability() {
351
- return typeof IDBTransaction !== "undefined" && "durability" in IDBTransaction.prototype;
352
- }
353
- async function deleteExpiredClientPresignatureRows(context, walletId, nowMs) {
354
- let cursor = await context.store(PRESIGNATURE_STORE).index(SEAMS_WALLET_INDEXES.walletExpiresAt).openCursor(IDBKeyRange.bound([walletId, 0], [walletId, nowMs]));
355
- let deletedCount = 0;
356
- while (cursor && deletedCount < MAX_EXPIRED_CLIENT_PRESIGNATURE_DELETIONS_PER_TRANSACTION) {
357
- await cursor.delete();
358
- deletedCount += 1;
359
- cursor = await cursor.continue();
360
- }
361
- return deletedCount;
362
- }
363
- function presignatureAadProjection(metadata) {
364
- return {
365
- domain: CLIENT_PRESIGNATURE_AAD_DOMAIN,
366
- version: 1,
367
- pool_identity: metadata.poolIdentity,
368
- durable_material_ref: metadata.durableMaterialRef,
369
- presignature_id: metadata.presignatureId,
370
- group_public_key33_b64u: metadata.groupPublicKey33B64u,
371
- big_r33_b64u: metadata.bigR33B64u,
372
- created_at_ms: metadata.createdAtMs,
373
- expires_at_ms: metadata.expiresAtMs,
374
- sealing_key_id: metadata.sealingKeyId
375
- };
376
- }
377
- function parseSealedAvailableClientPresignatureRow(value) {
378
- const record = requireRecord(value, "ECDSA durable presignature row");
379
- requireExactKeys(record, "ECDSA durable presignature row", [
380
- "kind",
381
- "record_id",
382
- "pool_identity",
383
- "pool_identity_key",
384
- "wallet_id",
385
- "material_activation_id",
386
- "durable_material_ref",
387
- "presignature_id",
388
- "group_public_key33_b64u",
389
- "big_r33_b64u",
390
- "created_at_ms",
391
- "expires_at_ms",
392
- "sealed"
393
- ]);
394
- if (record.kind !== "sealed_available_client_presignature_v1") throw new Error("ECDSA durable presignature row kind is invalid");
395
- const poolIdentityRecord = requireRecord(record.pool_identity, "ECDSA durable presignature pool identity");
396
- requireExactKeys(poolIdentityRecord, "ECDSA durable presignature pool identity", [
397
- "activationEpoch",
398
- "capability",
399
- "keyBinding",
400
- "keyEpoch",
401
- "materialActivationB64u",
402
- "materialActivationId",
403
- "pairRole",
404
- "protocolId",
405
- "relayerUrl",
406
- "signingScopeB64u",
407
- "walletId"
408
- ]);
409
- const poolIdentity = parseEcdsaClientPresignPoolIdentity(poolIdentityRecord);
410
- const recordId = parseDurableClientPresignatureRecordId(record.record_id);
411
- const poolIdentityKeyValue = String(record.pool_identity_key ?? "");
412
- if (poolIdentityKeyValue !== ecdsaClientPresignPoolKey(poolIdentity)) throw new Error("ECDSA durable presignature pool identity index is inconsistent");
413
- const walletId = String(record.wallet_id ?? "").trim();
414
- const materialActivationId = String(record.material_activation_id ?? "").trim();
415
- if (!walletId || walletId !== poolIdentity.walletId) throw new Error("ECDSA durable presignature wallet binding is inconsistent");
416
- if (!materialActivationId || materialActivationId !== poolIdentity.materialActivationId) throw new Error("ECDSA durable presignature activation binding is inconsistent");
417
- const durableMaterialRef = parseEcdsaRoleLocalPersistedMaterialRef(record.durable_material_ref);
418
- if (durableMaterialRef.materialActivation.activationId !== poolIdentity.materialActivationId || durableMaterialRef.materialActivation.capability !== poolIdentity.capability || durableMaterialRef.materialActivation.keyBinding !== poolIdentity.keyBinding || durableMaterialRef.materialActivation.materialOwner !== poolIdentity.walletId) throw new Error("ECDSA durable presignature material binding is inconsistent");
419
- const presignatureId = String(record.presignature_id ?? "").trim();
420
- if (!presignatureId) throw new Error("ECDSA durable presignature id is invalid");
421
- const groupPublicKey33B64u = parseEcdsaClientVerifyingPublicKey33B64u(record.group_public_key33_b64u);
422
- const bigR33B64u = parseEcdsaClientVerifyingPublicKey33B64u(record.big_r33_b64u);
423
- const createdAtMs = parsePresignatureTimestamp(record.created_at_ms, "created_at_ms");
424
- const expiresAtMs = parsePresignatureTimestamp(record.expires_at_ms, "expires_at_ms");
425
- if (createdAtMs > Date.now() + MAX_DURABLE_CLIENT_PRESIGNATURE_FUTURE_SKEW_MS) throw new Error("ECDSA durable presignature creation timestamp is in the future");
426
- if (expiresAtMs <= createdAtMs) throw new Error("ECDSA durable presignature expiry must follow creation");
427
- if (expiresAtMs - createdAtMs > 7776e6) throw new Error("ECDSA durable presignature lifetime exceeds the maximum");
428
- const sealed = requireRecord(record.sealed, "ECDSA durable presignature sealed payload");
429
- requireExactKeys(sealed, "ECDSA durable presignature sealed payload", [
430
- "kind",
431
- "sealing_key_id",
432
- "iv12_b64u",
433
- "ciphertext_b64u",
434
- "ciphertext_digest_b64u"
435
- ]);
436
- if (sealed.kind !== "ecdsa_activation_aes_gcm_v1") throw new Error("ECDSA durable presignature sealing kind is invalid");
437
- return {
438
- kind: "sealed_available_client_presignature_v1",
439
- record_id: recordId,
440
- pool_identity: poolIdentity,
441
- pool_identity_key: poolIdentityKeyValue,
442
- wallet_id: walletId,
443
- material_activation_id: materialActivationId,
444
- durable_material_ref: durableMaterialRef,
445
- presignature_id: presignatureId,
446
- group_public_key33_b64u: groupPublicKey33B64u,
447
- big_r33_b64u: bigR33B64u,
448
- created_at_ms: createdAtMs,
449
- expires_at_ms: expiresAtMs,
450
- sealed: {
451
- kind: "ecdsa_activation_aes_gcm_v1",
452
- sealing_key_id: parseEcdsaMaterialSealingKeyId(sealed.sealing_key_id),
453
- iv12_b64u: parseEcdsaIv12B64u(sealed.iv12_b64u),
454
- ciphertext_b64u: parseEcdsaCiphertextB64u(sealed.ciphertext_b64u),
455
- ciphertext_digest_b64u: parseEcdsaCiphertextDigest(sealed.ciphertext_digest_b64u)
456
- }
457
- };
458
- }
459
- function metadataFromPresignatureRow(row) {
460
- return {
461
- kind: "sealed_available_client_presignature_v1",
462
- recordId: row.record_id,
463
- poolIdentity: row.pool_identity,
464
- durableMaterialRef: row.durable_material_ref,
465
- presignatureId: row.presignature_id,
466
- groupPublicKey33B64u: row.group_public_key33_b64u,
467
- bigR33B64u: row.big_r33_b64u,
468
- createdAtMs: row.created_at_ms,
469
- expiresAtMs: row.expires_at_ms,
470
- sealingKeyId: row.sealed.sealing_key_id
471
- };
472
- }
473
- async function encryptPresignatureBytes(input) {
474
- const iv12 = crypto.getRandomValues(new Uint8Array(AES_GCM_IV_BYTES));
475
- const aad = additionalData(presignatureAadProjection(input.metadata));
476
- try {
477
- const ciphertext = new Uint8Array(await crypto.subtle.encrypt({
478
- name: "AES-GCM",
479
- iv: iv12,
480
- additionalData: aad
481
- }, input.key, input.plaintext97));
482
- try {
483
- const ciphertextB64u = base64UrlEncode(ciphertext);
484
- return {
485
- iv12B64u: parseEcdsaIv12B64u(base64UrlEncode(iv12)),
486
- ciphertextB64u: parseEcdsaCiphertextB64u(ciphertextB64u),
487
- ciphertextDigestB64u: parseEcdsaCiphertextDigest(base64UrlEncode(await sha256Bytes(ciphertext)))
488
- };
489
- } finally {
490
- ciphertext.fill(0);
491
- }
492
- } finally {
493
- iv12.fill(0);
494
- aad.fill(0);
495
- input.plaintext97.fill(0);
496
- }
497
- }
498
- async function decryptPresignatureBytes(input) {
499
- const iv12 = base64UrlDecode(input.sealed.iv12_b64u);
500
- const ciphertext = base64UrlDecode(input.sealed.ciphertext_b64u);
501
- const aad = additionalData(presignatureAadProjection(input.metadata));
502
- let plaintext = null;
503
- try {
504
- if (base64UrlEncode(await sha256Bytes(ciphertext)) !== input.sealed.ciphertext_digest_b64u) throw new Error("ECDSA durable presignature ciphertext digest mismatch");
505
- plaintext = new Uint8Array(await crypto.subtle.decrypt({
506
- name: "AES-GCM",
507
- iv: iv12,
508
- additionalData: aad
509
- }, input.key, ciphertext));
510
- if (plaintext.length !== 97) throw new Error("ECDSA durable presignature plaintext length is invalid");
511
- return plaintext.slice();
512
- } finally {
513
- iv12.fill(0);
514
- ciphertext.fill(0);
515
- aad.fill(0);
516
- plaintext?.fill(0);
517
- }
518
- }
519
- async function generateMaterialSealingKey() {
520
- return await crypto.subtle.generateKey({
521
- name: "AES-GCM",
522
- length: 256
523
- }, false, ["encrypt", "decrypt"]);
524
- }
525
- async function encryptStateBlob(input) {
526
- const plaintext = decodeCanonicalStateBlob(input.stateBlobB64u, "ECDSA state blob");
527
- const iv12 = crypto.getRandomValues(new Uint8Array(AES_GCM_IV_BYTES));
528
- const aad = additionalData(input.aadProjection);
529
- try {
530
- const ciphertext = new Uint8Array(await crypto.subtle.encrypt({
531
- name: "AES-GCM",
532
- iv: iv12,
533
- additionalData: aad
534
- }, input.key, plaintext));
535
- try {
536
- return {
537
- iv12B64u: parseEcdsaIv12B64u(base64UrlEncode(iv12)),
538
- ciphertextB64u: parseEcdsaCiphertextB64u(base64UrlEncode(ciphertext)),
539
- digestB64u: base64UrlEncode(await sha256Bytes(ciphertext))
540
- };
541
- } finally {
542
- ciphertext.fill(0);
543
- }
544
- } finally {
545
- plaintext.fill(0);
546
- aad.fill(0);
547
- }
548
- }
549
- async function ciphertextDigestB64u(ciphertextB64u) {
550
- const ciphertext = base64UrlDecode(ciphertextB64u);
551
- try {
552
- return base64UrlEncode(await sha256Bytes(ciphertext));
553
- } finally {
554
- ciphertext.fill(0);
555
- }
556
- }
557
- async function decryptStateBlob(input) {
558
- const iv12 = base64UrlDecode(input.iv12B64u);
559
- const ciphertext = base64UrlDecode(input.ciphertextB64u);
560
- const aad = additionalData(input.aadProjection);
561
- let plaintext = null;
562
- try {
563
- plaintext = new Uint8Array(await crypto.subtle.decrypt({
564
- name: "AES-GCM",
565
- iv: iv12,
566
- additionalData: aad
567
- }, input.key, ciphertext));
568
- if (plaintext.length === 0) throw new Error("decrypted ECDSA state blob must not be empty");
569
- return base64UrlEncode(plaintext);
570
- } finally {
571
- iv12.fill(0);
572
- ciphertext.fill(0);
573
- aad.fill(0);
574
- plaintext?.fill(0);
575
- }
576
- }
577
- function parseManifestIdentity(value) {
578
- const record = requireRecord(value, "ECDSA manifest identity");
579
- requireExactKeys(record, "ECDSA manifest identity", ["manifestId", "manifestRevision"]);
580
- return buildEcdsaManifestIdentity({
581
- manifestId: parseEcdsaCapabilityManifestId(record.manifestId),
582
- manifestRevision: parseEcdsaCapabilityManifestRevision(record.manifestRevision)
583
- });
584
- }
585
- function parseManifestExpectation(value) {
586
- const record = requireRecord(value, "ECDSA manifest expectation");
587
- switch (record.kind) {
588
- case "no_current_manifest":
589
- requireExactKeys(record, "ECDSA no-current manifest expectation", ["kind"]);
590
- return buildNoCurrentEcdsaManifestExpectation();
591
- case "exact_manifest":
592
- requireExactKeys(record, "ECDSA exact manifest expectation", [
593
- "kind",
594
- "manifestId",
595
- "manifestRevision"
596
- ]);
597
- return buildExactEcdsaManifestExpectation(buildEcdsaManifestIdentity({
598
- manifestId: parseEcdsaCapabilityManifestId(record.manifestId),
599
- manifestRevision: parseEcdsaCapabilityManifestRevision(record.manifestRevision)
600
- }));
601
- default: throw new Error("ECDSA manifest expectation kind is invalid");
602
- }
603
- }
604
- function parseChainTarget(value) {
605
- const record = requireRecord(value, "ECDSA capability target");
606
- switch (record.kind) {
607
- case "evm":
608
- requireExactKeys(record, "ECDSA EVM capability target", [
609
- "kind",
610
- "namespace",
611
- "chainId",
612
- "networkSlug"
613
- ]);
614
- return thresholdEcdsaChainTargetFromRequest({
615
- kind: record.kind,
616
- namespace: record.namespace,
617
- chainId: record.chainId,
618
- networkSlug: record.networkSlug
619
- });
620
- case "tempo":
621
- requireExactKeys(record, "ECDSA Tempo capability target", [
622
- "kind",
623
- "chainId",
624
- "networkSlug"
625
- ]);
626
- return thresholdEcdsaChainTargetFromRequest({
627
- kind: record.kind,
628
- chainId: record.chainId,
629
- networkSlug: record.networkSlug
630
- });
631
- default: throw new Error("ECDSA capability target kind is invalid");
632
- }
633
- }
634
- function parseCapabilityScope(value) {
635
- const record = requireRecord(value, "ECDSA capability scope");
636
- requireExactKeys(record, "ECDSA capability scope", ["kind", "targetMemberships"]);
637
- if (record.kind !== "evm_family") throw new Error("ECDSA capability scope kind is invalid");
638
- const targetValues = requireArray(record.targetMemberships, "ECDSA capability target memberships");
639
- const targets = [];
640
- for (const targetValue of targetValues) targets.push(parseChainTarget(targetValue));
641
- const [first, ...rest] = targets;
642
- if (!first) throw new Error("ECDSA capability scope requires at least one target");
643
- return buildEcdsaCapabilityScope({ targetMemberships: [first, ...rest] });
644
- }
645
- function parseRoleLocalBinding(value) {
646
- const record = requireRecord(value, "ECDSA role-local material binding");
647
- requireExactKeys(record, "ECDSA role-local material binding", [
648
- "kind",
649
- "keyHandle",
650
- "ecdsaThresholdKeyId",
651
- "clientVerifyingPublicKey33B64u",
652
- "participantIds",
653
- "relayerKeyId"
654
- ]);
655
- if (record.kind !== "ecdsa_role_local_material_binding") throw new Error("ECDSA role-local material binding kind is invalid");
656
- const participantValues = requireArray(record.participantIds, "ECDSA role-local participant ids");
657
- const participantIds = [];
658
- for (const participantValue of participantValues) participantIds.push(toParticipantId(participantValue));
659
- const [firstParticipantId, ...remainingParticipantIds] = participantIds;
660
- if (!firstParticipantId) throw new Error("ECDSA role-local material requires at least one participant");
661
- return buildEcdsaRoleLocalMaterialBinding({
662
- keyHandle: parseEcdsaKeyHandle(record.keyHandle),
663
- ecdsaThresholdKeyId: parseEcdsaThresholdKeyId(record.ecdsaThresholdKeyId),
664
- clientVerifyingPublicKey33B64u: parseEcdsaClientVerifyingPublicKey33B64u(record.clientVerifyingPublicKey33B64u),
665
- participantIds: [firstParticipantId, ...remainingParticipantIds],
666
- relayerKeyId: parseEcdsaRelayerKeyId(record.relayerKeyId)
667
- });
668
- }
669
- function parsePreparedSigner(value) {
670
- const record = requireRecord(value, "prepared ECDSA signer");
671
- requireExactKeys(record, "prepared ECDSA signer", [
672
- "kind",
673
- "capability",
674
- "signerId",
675
- "walletId",
676
- "authority",
677
- "scope",
678
- "materialOwner",
679
- "signingRootId",
680
- "signingRootVersion"
681
- ]);
682
- if (record.kind !== "prepared_evm_family_signer") throw new Error("prepared ECDSA signer kind is invalid");
683
- const authority = parseWalletAuthAuthorityRef(record.authority);
684
- if (!authority) throw new Error("prepared ECDSA signer authority is invalid");
685
- if (String(record.walletId) !== String(authority.walletId)) throw new Error("prepared ECDSA signer wallet does not match its authority");
686
- return buildPreparedEvmFamilySigner({
687
- capability: unwrapDomainId(parseCapabilityInstanceRef(record.capability)),
688
- signerId: parseEvmFamilyEcdsaSignerId(record.signerId),
689
- authority,
690
- scope: parseCapabilityScope(record.scope),
691
- materialOwner: unwrapDomainId(parseMpcMaterialOwnerRef(record.materialOwner)),
692
- signingRootId: parseSdkEcdsaDerivationSigningRootId(record.signingRootId),
693
- signingRootVersion: parseSdkEcdsaDerivationSigningRootVersion(record.signingRootVersion)
694
- });
695
- }
696
- function parseEncryptedPendingCandidate(value) {
697
- const record = requireRecord(value, "encrypted ECDSA pending candidate");
698
- requireExactKeys(record, "encrypted ECDSA pending candidate", [
699
- "kind",
700
- "sealingKeyId",
701
- "iv12B64u",
702
- "ciphertextB64u",
703
- "ciphertextDigest"
704
- ]);
705
- if (record.kind !== "encrypted_ecdsa_pending_candidate") throw new Error("encrypted ECDSA pending candidate kind is invalid");
706
- return buildEncryptedEcdsaPendingCandidate({
707
- sealingKeyId: parseEcdsaMaterialSealingKeyId(record.sealingKeyId),
708
- iv12B64u: parseEcdsaIv12B64u(record.iv12B64u),
709
- ciphertextB64u: parseEcdsaCiphertextB64u(record.ciphertextB64u),
710
- ciphertextDigest: parseEcdsaPendingCiphertextDigest(record.ciphertextDigest)
711
- });
712
- }
713
- function parseActivationBinding(value) {
714
- const record = requireRecord(value, "ECDSA activation binding");
715
- requireExactKeys(record, "ECDSA activation binding", [
716
- "kind",
717
- "targetManifest",
718
- "signer",
719
- "roleLocalBinding",
720
- "bindingDigest",
721
- "durableMaterialRef"
722
- ]);
723
- if (record.kind !== "ecdsa_activation_binding") throw new Error("ECDSA activation binding kind is invalid");
724
- return buildEcdsaActivationBinding({
725
- targetManifest: parseManifestIdentity(record.targetManifest),
726
- signer: parsePreparedSigner(record.signer),
727
- roleLocalBinding: parseRoleLocalBinding(record.roleLocalBinding),
728
- bindingDigest: parseEcdsaRoleLocalBindingDigest(record.bindingDigest),
729
- durableMaterialRef: parseEcdsaRoleLocalDurableMaterialRef(record.durableMaterialRef)
730
- });
731
- }
732
- function parsePreparedCandidate(value) {
733
- const record = requireRecord(value, "prepared ECDSA activation candidate");
734
- requireExactKeys(record, "prepared ECDSA activation candidate", [
735
- "kind",
736
- "activationBinding",
737
- "encryptedPending"
738
- ]);
739
- if (record.kind !== "prepared_ecdsa_activation_candidate") throw new Error("prepared ECDSA activation candidate kind is invalid");
740
- return buildPreparedEcdsaActivationCandidate({
741
- activationBinding: parseActivationBinding(record.activationBinding),
742
- encryptedPending: parseEncryptedPendingCandidate(record.encryptedPending)
743
- });
744
- }
745
- function parseExpectedServerGeneration(value) {
746
- const record = requireRecord(value, "ECDSA server generation expectation");
747
- switch (record.kind) {
748
- case "no_current_generation":
749
- requireExactKeys(record, "ECDSA no-current server generation expectation", ["kind"]);
750
- return buildNoCurrentEcdsaServerGenerationExpectation();
751
- case "exact_generation":
752
- requireExactKeys(record, "ECDSA exact server generation expectation", ["kind", "serverGeneration"]);
753
- return buildExactEcdsaServerGenerationExpectation(parseEcdsaServerGeneration(record.serverGeneration));
754
- default: throw new Error("ECDSA server generation expectation kind is invalid");
755
- }
756
- }
757
- function parsePreparedJournal(value) {
758
- const record = requireRecord(value, "prepared ECDSA activation journal");
759
- requireExactKeys(record, "prepared ECDSA activation journal", [
760
- "kind",
761
- "journalId",
762
- "expectedManifest",
763
- "activationCommand",
764
- "candidate",
765
- "createdAt"
766
- ]);
767
- if (record.kind !== "activation_prepared") throw new Error("prepared ECDSA activation journal kind is invalid");
768
- const command = requireRecord(record.activationCommand, "ECDSA activation command");
769
- requireExactKeys(command, "ECDSA activation command", [
770
- "kind",
771
- "correlationId",
772
- "expectedGeneration",
773
- "requestDigest",
774
- "canonicalRequest"
775
- ]);
776
- if (command.kind !== "ecdsa_server_activation_command") throw new Error("ECDSA activation command kind is invalid");
777
- const journalId = parseCorrelationId(record.journalId);
778
- if (parseCorrelationId(command.correlationId) !== journalId) throw new Error("ECDSA activation command correlation does not match its journal");
779
- const expectedManifest = parseManifestExpectation(record.expectedManifest);
780
- const expectedGeneration = parseExpectedServerGeneration(command.expectedGeneration);
781
- const common = {
782
- journalId,
783
- candidate: parsePreparedCandidate(record.candidate),
784
- requestDigest: parseDigestB64u(command.requestDigest),
785
- canonicalRequest: parseCanonicalEcdsaServerActivationRequest(command.canonicalRequest),
786
- createdAt: parseIsoTimestamp(record.createdAt)
787
- };
788
- switch (expectedManifest.kind) {
789
- case "no_current_manifest":
790
- if (expectedGeneration.kind !== "no_current_generation") throw new Error("initial ECDSA journal has an exact server generation");
791
- return buildPreparedEcdsaActivationJournal({
792
- ...common,
793
- expectedManifest,
794
- expectedGeneration
795
- });
796
- case "exact_manifest":
797
- if (expectedGeneration.kind !== "exact_generation") throw new Error("replacement ECDSA journal is missing its exact server generation");
798
- return buildPreparedEcdsaActivationJournal({
799
- ...common,
800
- expectedManifest,
801
- expectedGeneration
802
- });
803
- }
804
- return assertNever(expectedManifest);
805
- }
806
- function preparedJournalValueFromCommitted(record) {
807
- return {
808
- kind: "activation_prepared",
809
- journalId: record.journalId,
810
- expectedManifest: record.expectedManifest,
811
- activationCommand: record.activationCommand,
812
- candidate: record.candidate,
813
- createdAt: record.createdAt
91
+ activation_binding: activationBindingAadProjection(activationBinding),
92
+ server_activation: serverActivation
814
93
  };
815
94
  }
816
- function preparedJournalProjection(journal) {
817
- if (journal.kind === "activation_prepared") return journal;
818
- switch (journal.expectedManifest.kind) {
819
- case "no_current_manifest":
820
- if (journal.activationCommand.expectedGeneration.kind !== "no_current_generation") throw new Error("Initial ECDSA activation cannot expect a server generation");
821
- return buildPreparedEcdsaActivationJournal({
822
- journalId: journal.journalId,
823
- expectedManifest: journal.expectedManifest,
824
- expectedGeneration: journal.activationCommand.expectedGeneration,
825
- candidate: journal.candidate,
826
- requestDigest: journal.activationCommand.requestDigest,
827
- canonicalRequest: journal.activationCommand.canonicalRequest,
828
- createdAt: journal.createdAt
829
- });
830
- case "exact_manifest":
831
- if (journal.activationCommand.expectedGeneration.kind !== "exact_generation") throw new Error("Replacement ECDSA activation requires an exact server generation");
832
- return buildPreparedEcdsaActivationJournal({
833
- journalId: journal.journalId,
834
- expectedManifest: journal.expectedManifest,
835
- expectedGeneration: journal.activationCommand.expectedGeneration,
836
- candidate: journal.candidate,
837
- requestDigest: journal.activationCommand.requestDigest,
838
- canonicalRequest: journal.activationCommand.canonicalRequest,
839
- createdAt: journal.createdAt
840
- });
841
- default: return assertNever(journal.expectedManifest);
842
- }
843
- }
844
- function parseCommittedJournal(value) {
845
- const record = requireRecord(value, "server-committed ECDSA activation journal");
846
- requireExactKeys(record, "server-committed ECDSA activation journal", [
847
- "kind",
848
- "journalId",
849
- "expectedManifest",
850
- "activationCommand",
851
- "candidate",
852
- "createdAt",
853
- "serverActivation"
854
- ]);
855
- if (record.kind !== "server_activation_committed") throw new Error("server-committed ECDSA activation journal kind is invalid");
856
- const preparedJournal = parsePreparedJournal(preparedJournalValueFromCommitted(record));
857
- const serverActivation = requireRecord(record.serverActivation, "ECDSA server activation commit");
858
- requireExactKeys(serverActivation, "ECDSA server activation commit", [
859
- "kind",
860
- "correlationId",
861
- "activationRequestDigest",
862
- "serverGeneration",
863
- "serverActivationReceipt"
864
- ]);
865
- if (serverActivation.kind !== "ecdsa_server_activation_commit") throw new Error("ECDSA server activation commit kind is invalid");
866
- const receipt = requireRecord(serverActivation.serverActivationReceipt, "ECDSA server activation receipt");
867
- requireExactKeys(receipt, "ECDSA server activation receipt", [
868
- "kind",
869
- "lifecycleId",
870
- "activationDigest",
871
- "activatedAt",
872
- "protocolReceipt"
873
- ]);
874
- if (receipt.kind !== "ecdsa_server_activation_receipt") throw new Error("ECDSA server activation receipt kind is invalid");
875
- const committed = buildServerCommittedEcdsaActivationJournal({
876
- preparedJournal,
877
- serverCommit: {
878
- correlationId: parseCorrelationId(serverActivation.correlationId),
879
- activationRequestDigest: parseDigestB64u(serverActivation.activationRequestDigest),
880
- serverGeneration: parseEcdsaServerGeneration(serverActivation.serverGeneration),
881
- protocolReceipt: receipt.protocolReceipt
882
- }
883
- });
884
- if (!serverActivationRecordMatches(committed.serverActivation, serverActivation)) throw new Error("ECDSA server activation commit fields are inconsistent");
885
- return committed;
886
- }
887
- function parseJournal(value) {
888
- const record = requireRecord(value, "ECDSA activation journal");
889
- switch (record.kind) {
890
- case "activation_prepared": return parsePreparedJournal(record);
891
- case "server_activation_committed": return parseCommittedJournal(record);
892
- default: throw new Error("ECDSA activation journal kind is invalid");
893
- }
894
- }
895
- function parseRegisteredPublicFacts(value) {
896
- const record = requireRecord(value, "registered ECDSA public facts");
897
- requireExactKeys(record, "registered ECDSA public facts", [
898
- "kind",
899
- "keyHandle",
900
- "publicKeyB64u",
901
- "participantIds",
902
- "thresholdOwnerAddress"
903
- ]);
904
- if (record.kind !== "verified_ecdsa_public_facts") throw new Error("registered ECDSA public facts kind is invalid");
905
- return buildVerifiedEcdsaPublicFacts({
906
- keyHandle: toEvmFamilyEcdsaKeyHandle(record.keyHandle),
907
- publicKeyB64u: record.publicKeyB64u,
908
- participantIds: requireArray(record.participantIds, "registered ECDSA participant ids"),
909
- thresholdOwnerAddress: record.thresholdOwnerAddress
910
- });
911
- }
912
95
  function storedActiveProof(input) {
913
96
  return {
914
97
  activation_binding: input.activationBinding,
@@ -921,80 +104,12 @@ function storedActiveProof(input) {
921
104
  committed_at: input.activeManifest.committedAt
922
105
  };
923
106
  }
924
- function parseActiveProof(value) {
925
- const record = requireRecord(value, "active ECDSA manifest proof");
926
- requireExactKeys(record, "active ECDSA manifest proof", [
927
- "activation_binding",
928
- "server_activation",
929
- "registered_public_facts",
930
- "role_local_public_facts",
931
- "router_ab_ecdsa_derivation_normal_signing",
932
- "runtime_policy_scope",
933
- "ciphertext_digest",
934
- "committed_at"
935
- ]);
936
- const activationBinding = parseActivationBinding(record.activation_binding);
937
- const serverActivationRecord = requireRecord(record.server_activation, "ECDSA server activation commit");
938
- requireExactKeys(serverActivationRecord, "ECDSA server activation commit", [
939
- "kind",
940
- "correlationId",
941
- "activationRequestDigest",
942
- "serverGeneration",
943
- "serverActivationReceipt"
944
- ]);
945
- if (serverActivationRecord.kind !== "ecdsa_server_activation_commit") throw new Error("ECDSA server activation commit kind is invalid");
946
- const receipt = requireRecord(serverActivationRecord.serverActivationReceipt, "ECDSA server activation receipt");
947
- requireExactKeys(receipt, "ECDSA server activation receipt", [
948
- "kind",
949
- "lifecycleId",
950
- "activationDigest",
951
- "activatedAt",
952
- "protocolReceipt"
953
- ]);
954
- if (receipt.kind !== "ecdsa_server_activation_receipt") throw new Error("ECDSA server activation receipt kind is invalid");
955
- const serverActivation = buildEcdsaServerActivationCommit({
956
- activationBinding,
957
- serverCommit: {
958
- correlationId: parseCorrelationId(serverActivationRecord.correlationId),
959
- activationRequestDigest: parseDigestB64u(serverActivationRecord.activationRequestDigest),
960
- serverGeneration: parseEcdsaServerGeneration(serverActivationRecord.serverGeneration),
961
- protocolReceipt: receipt.protocolReceipt
962
- }
963
- });
964
- if (!serverActivationRecordMatches(serverActivation, serverActivationRecord)) throw new Error("ECDSA server activation commit fields are inconsistent");
965
- const durableMaterial = buildDurableEcdsaMaterialBinding({
966
- activationBinding,
967
- serverActivation,
968
- routerAbEcdsaDerivationNormalSigning: requireRouterAbEcdsaDerivationNormalSigningStateV1(record.router_ab_ecdsa_derivation_normal_signing),
969
- roleLocalPublicFacts: buildEcdsaRoleLocalPublicFacts(record.role_local_public_facts),
970
- ciphertextDigest: parseEcdsaCiphertextDigest(record.ciphertext_digest),
971
- runtimePolicyScope: normalizeRuntimePolicyScope(record.runtime_policy_scope)
972
- });
973
- const committedAt = parseIsoTimestamp(record.committed_at);
974
- return {
975
- activationBinding,
976
- serverActivation,
977
- durableMaterial,
978
- activeManifest: buildActiveEcdsaCapabilityManifest({
979
- activationBinding,
980
- serverActivation,
981
- registeredPublicFacts: parseRegisteredPublicFacts(record.registered_public_facts),
982
- durableMaterial,
983
- committedAt
984
- }),
985
- committedAt
986
- };
987
- }
988
107
  function manifestRowCommon(proof, manifestState) {
989
- const selector = selectorFromManifest(proof.activeManifest);
990
108
  return {
991
109
  record_version: MANIFEST_RECORD_VERSION,
992
110
  manifest_id: proof.activeManifest.identity.manifestId,
993
111
  manifest_revision: proof.activeManifest.identity.manifestRevision,
994
- capability_ref: selector.capability,
995
- wallet_id: selector.authority.walletId,
996
- authority_digest: selector.authority.authorityDigest,
997
- wallet_auth_method_id: selector.authority.walletAuthMethodId,
112
+ ...selectorColumns(selectorFromManifest(proof.activeManifest)),
998
113
  manifest_state: manifestState
999
114
  };
1000
115
  }
@@ -1011,215 +126,6 @@ function storedReplacedManifestRow(previous, replacement) {
1011
126
  replacement_proof: storedActiveProof(replacement)
1012
127
  };
1013
128
  }
1014
- function parseManifestRow(value) {
1015
- const record = requireRecord(value, "ECDSA capability manifest row");
1016
- const commonKeys = [
1017
- "record_version",
1018
- "manifest_id",
1019
- "manifest_revision",
1020
- "capability_ref",
1021
- "wallet_id",
1022
- "authority_digest",
1023
- "wallet_auth_method_id",
1024
- "manifest_state",
1025
- "active_proof"
1026
- ];
1027
- switch (record.manifest_state) {
1028
- case "active": {
1029
- requireExactKeys(record, "active ECDSA capability manifest row", commonKeys);
1030
- const activeProof = parseActiveProof(record.active_proof);
1031
- const selector = selectorFromManifest(activeProof.activeManifest);
1032
- assertManifestRowCommon(record, activeProof.activeManifest, selector);
1033
- return {
1034
- state: "active",
1035
- selector,
1036
- manifest: activeProof.activeManifest,
1037
- activeProof
1038
- };
1039
- }
1040
- case "replaced": {
1041
- requireExactKeys(record, "replaced ECDSA capability manifest row", [...commonKeys, "replacement_proof"]);
1042
- const activeProof = parseActiveProof(record.active_proof);
1043
- const replacementProof = parseActiveProof(record.replacement_proof);
1044
- const manifest = buildReplacedEcdsaCapabilityManifest({
1045
- activeManifest: activeProof.activeManifest,
1046
- replacementManifest: replacementProof.activeManifest
1047
- });
1048
- const selector = selectorFromManifest(activeProof.activeManifest);
1049
- assertManifestRowCommon(record, activeProof.activeManifest, selector);
1050
- return {
1051
- state: "replaced",
1052
- selector,
1053
- manifest,
1054
- activeProof,
1055
- replacementProof
1056
- };
1057
- }
1058
- default: throw new Error("ECDSA capability manifest row state is invalid");
1059
- }
1060
- }
1061
- function assertManifestRowCommon(record, manifest, selector) {
1062
- if (record.record_version !== MANIFEST_RECORD_VERSION || parseEcdsaCapabilityManifestId(record.manifest_id) !== manifest.identity.manifestId || parseEcdsaCapabilityManifestRevision(record.manifest_revision) !== manifest.identity.manifestRevision || String(record.capability_ref) !== String(selector.capability) || String(record.wallet_id) !== String(selector.authority.walletId) || String(record.authority_digest) !== String(selector.authority.authorityDigest)) throw new Error("ECDSA capability manifest row identity is inconsistent");
1063
- }
1064
- function storedPointerRow(manifest) {
1065
- const selector = selectorFromManifest(manifest);
1066
- return {
1067
- record_version: POINTER_RECORD_VERSION,
1068
- capability_ref: selector.capability,
1069
- wallet_id: selector.authority.walletId,
1070
- authority_digest: selector.authority.authorityDigest,
1071
- wallet_auth_method_id: selector.authority.walletAuthMethodId,
1072
- manifest_id: manifest.identity.manifestId,
1073
- manifest_revision: manifest.identity.manifestRevision
1074
- };
1075
- }
1076
- function parsePointerRow(value) {
1077
- const record = requireRecord(value, "current ECDSA capability pointer");
1078
- requireExactKeys(record, "current ECDSA capability pointer", [
1079
- "record_version",
1080
- "capability_ref",
1081
- "wallet_id",
1082
- "authority_digest",
1083
- "wallet_auth_method_id",
1084
- "manifest_id",
1085
- "manifest_revision"
1086
- ]);
1087
- if (record.record_version !== POINTER_RECORD_VERSION) throw new Error("current ECDSA capability pointer version is invalid");
1088
- const authority = parseWalletAuthAuthorityRef({
1089
- kind: "wallet_auth_authority_ref",
1090
- walletId: record.wallet_id,
1091
- authorityDigest: record.authority_digest,
1092
- walletAuthMethodId: record.wallet_auth_method_id
1093
- });
1094
- if (!authority) throw new Error("current ECDSA capability pointer authority is invalid");
1095
- return {
1096
- selector: {
1097
- capability: unwrapDomainId(parseCapabilityInstanceRef(record.capability_ref)),
1098
- authority
1099
- },
1100
- manifestId: parseEcdsaCapabilityManifestId(record.manifest_id),
1101
- manifestRevision: parseEcdsaCapabilityManifestRevision(record.manifest_revision)
1102
- };
1103
- }
1104
- function storedMaterialRow(material, manifest) {
1105
- const selector = selectorFromManifest(manifest);
1106
- return {
1107
- record_version: MATERIAL_RECORD_VERSION,
1108
- durable_material_ref: material.binding.durableMaterialRef,
1109
- binding_digest: material.binding.bindingDigest,
1110
- capability_ref: selector.capability,
1111
- wallet_id: selector.authority.walletId,
1112
- authority_digest: selector.authority.authorityDigest,
1113
- wallet_auth_method_id: selector.authority.walletAuthMethodId,
1114
- sealing_key_id: material.sealingKeyId,
1115
- iv: material.iv12B64u,
1116
- ciphertext: material.ciphertextB64u
1117
- };
1118
- }
1119
- function parseMaterialLocator(value) {
1120
- const record = requireRecord(value, "ECDSA role-local material row");
1121
- requireExactKeys(record, "ECDSA role-local material row", [
1122
- "record_version",
1123
- "durable_material_ref",
1124
- "binding_digest",
1125
- "capability_ref",
1126
- "wallet_id",
1127
- "authority_digest",
1128
- "wallet_auth_method_id",
1129
- "sealing_key_id",
1130
- "iv",
1131
- "ciphertext"
1132
- ]);
1133
- if (record.record_version !== MATERIAL_RECORD_VERSION) throw new Error("ECDSA role-local material row version is invalid");
1134
- const authority = parseWalletAuthAuthorityRef({
1135
- kind: "wallet_auth_authority_ref",
1136
- walletId: record.wallet_id,
1137
- authorityDigest: record.authority_digest,
1138
- walletAuthMethodId: record.wallet_auth_method_id
1139
- });
1140
- if (!authority) throw new Error("ECDSA role-local material authority is invalid");
1141
- return {
1142
- durableMaterialRef: parseEcdsaRoleLocalDurableMaterialRef(record.durable_material_ref),
1143
- bindingDigest: parseEcdsaRoleLocalBindingDigest(record.binding_digest),
1144
- selector: {
1145
- capability: unwrapDomainId(parseCapabilityInstanceRef(record.capability_ref)),
1146
- authority
1147
- }
1148
- };
1149
- }
1150
- function parseMaterialRow(value, activeProof) {
1151
- const record = requireRecord(value, "ECDSA role-local material row");
1152
- const locator = parseMaterialLocator(record);
1153
- const material = buildValidatedEncryptedEcdsaReadyMaterial({
1154
- binding: activeProof.durableMaterial,
1155
- sealingKeyId: parseEcdsaMaterialSealingKeyId(record.sealing_key_id),
1156
- iv12B64u: parseEcdsaIv12B64u(record.iv),
1157
- ciphertextB64u: parseEcdsaCiphertextB64u(record.ciphertext)
1158
- });
1159
- if (locator.durableMaterialRef !== material.binding.durableMaterialRef || locator.bindingDigest !== material.binding.bindingDigest || !selectorsMatch(locator.selector, selectorFromManifest(activeProof.activeManifest))) throw new Error("ECDSA role-local material row binding is inconsistent");
1160
- return material;
1161
- }
1162
- function materialMatchesManifest(material, manifest) {
1163
- return material.binding.durableMaterialRef === manifest.durableMaterial.durableMaterialRef && material.binding.bindingDigest === manifest.durableMaterial.bindingDigest && material.binding.lifecycleId === manifest.durableMaterial.lifecycleId && material.binding.ciphertextDigest === manifest.durableMaterial.ciphertextDigest && material.binding.activationDigest === manifest.durableMaterial.activationDigest && material.binding.activatedAt === manifest.durableMaterial.activatedAt && mpcMaterialActivationRefsEqual(material.binding.materialActivation, manifest.durableMaterial.materialActivation) && ecdsaRoleLocalMaterialBindingsMatch(material.binding.roleLocalBinding, manifest.durableMaterial.roleLocalBinding);
1164
- }
1165
- function storedJournalRow(journal) {
1166
- const selector = selectorFromJournal(journal);
1167
- return {
1168
- record_version: JOURNAL_RECORD_VERSION,
1169
- journal_id: journal.journalId,
1170
- capability_ref: selector.capability,
1171
- wallet_id: selector.authority.walletId,
1172
- authority_digest: selector.authority.authorityDigest,
1173
- wallet_auth_method_id: selector.authority.walletAuthMethodId,
1174
- journal
1175
- };
1176
- }
1177
- function parseJournalRow(value) {
1178
- const record = requireRecord(value, "ECDSA activation commit journal row");
1179
- requireExactKeys(record, "ECDSA activation commit journal row", [
1180
- "record_version",
1181
- "journal_id",
1182
- "capability_ref",
1183
- "wallet_id",
1184
- "authority_digest",
1185
- "wallet_auth_method_id",
1186
- "journal"
1187
- ]);
1188
- if (record.record_version !== JOURNAL_RECORD_VERSION) throw new Error("ECDSA activation commit journal row version is invalid");
1189
- const journal = parseJournal(record.journal);
1190
- const selector = selectorFromJournal(journal);
1191
- if (parseCorrelationId(record.journal_id) !== journal.journalId || String(record.capability_ref) !== String(selector.capability) || String(record.wallet_id) !== String(selector.authority.walletId) || String(record.authority_digest) !== String(selector.authority.authorityDigest)) throw new Error("ECDSA activation commit journal row identity is inconsistent");
1192
- return {
1193
- journal,
1194
- selector
1195
- };
1196
- }
1197
- function isNonExtractableAesGcmKey(value) {
1198
- if (typeof CryptoKey === "undefined" || !(value instanceof CryptoKey)) return false;
1199
- if (value.type !== "secret" || value.extractable || value.algorithm.name !== "AES-GCM") return false;
1200
- return value.usages.includes("encrypt") && value.usages.includes("decrypt");
1201
- }
1202
- function storedSealingKeyRow(keyId, key) {
1203
- return {
1204
- record_version: SEALING_KEY_RECORD_VERSION,
1205
- key_id: keyId,
1206
- key
1207
- };
1208
- }
1209
- function parseSealingKeyRow(value) {
1210
- const record = requireRecord(value, "ECDSA material sealing key row");
1211
- requireExactKeys(record, "ECDSA material sealing key row", [
1212
- "record_version",
1213
- "key_id",
1214
- "key"
1215
- ]);
1216
- if (record.record_version !== SEALING_KEY_RECORD_VERSION) throw new Error("ECDSA material sealing key row version is invalid");
1217
- if (!isNonExtractableAesGcmKey(record.key)) throw new Error("ECDSA material sealing key must be a non-extractable AES-GCM key");
1218
- return {
1219
- keyId: parseEcdsaMaterialSealingKeyId(record.key_id),
1220
- key: record.key
1221
- };
1222
- }
1223
129
  async function prepareImportedWalletCustodyEcdsaContinuity(input) {
1224
130
  const serverActivation = buildEcdsaServerActivationCommit({
1225
131
  activationBinding: input.activationBinding,
@@ -1230,10 +136,7 @@ async function prepareImportedWalletCustodyEcdsaContinuity(input) {
1230
136
  const encrypted = await encryptStateBlob({
1231
137
  key: sealingKey,
1232
138
  stateBlobB64u: input.readyStateBlobB64u,
1233
- aadProjection: importedReadyAadProjection({
1234
- activationBinding: input.activationBinding,
1235
- serverActivation
1236
- })
139
+ aadProjection: readyAadProjectionFor(input.activationBinding, serverActivation)
1237
140
  });
1238
141
  const durableMaterial = buildDurableEcdsaMaterialBinding({
1239
142
  activationBinding: input.activationBinding,
@@ -1274,7 +177,7 @@ async function persistPreparedImportedWalletCustodyEcdsaContinuityInTransaction(
1274
177
  const selector = selectorFromManifest(prepared.activeManifest);
1275
178
  const pointerStore = context.store(POINTER_STORE);
1276
179
  const existingPointer = await pointerStore.get(selectorKey(selector));
1277
- const activeRows = await context.store(MANIFEST_STORE).index(SEAMS_WALLET_INDEXES.capabilityWalletAuthorityState).getAll([...selectorKey(selector), "active"]);
180
+ const activeRows = await readActiveManifestRows(context, selector);
1278
181
  if (existingPointer !== void 0 || activeRows.length !== 0) throw new FinalizationControlError("exact_record_conflict", "ECDSA custody import found an existing active manifest");
1279
182
  const activeProof = {
1280
183
  activationBinding: prepared.activationBinding,
@@ -1310,7 +213,7 @@ function assertExpectedPointer(expected, pointerRaw, selector) {
1310
213
  try {
1311
214
  pointer = parsePointerRow(pointerRaw);
1312
215
  } catch (error) {
1313
- throw new FinalizationControlError("corrupt", errorMessage(error));
216
+ throw new FinalizationControlError("corrupt", ecdsaManifestErrorMessage(error));
1314
217
  }
1315
218
  if (!selectorsMatch(pointer.selector, selector) || pointer.manifestId !== expected.manifestId || pointer.manifestRevision !== expected.manifestRevision) throw new FinalizationControlError("exact_record_conflict", "replacement ECDSA activation pointer CAS did not match");
1316
219
  return pointer;
@@ -1318,15 +221,6 @@ function assertExpectedPointer(expected, pointerRaw, selector) {
1318
221
  }
1319
222
  return assertNever(expected);
1320
223
  }
1321
- function errorMessage(error) {
1322
- return error instanceof Error ? error.message : String(error);
1323
- }
1324
- function isConstraintError(error) {
1325
- return error instanceof DOMException && error.name === "ConstraintError";
1326
- }
1327
- function assertNever(value) {
1328
- throw new Error(`Unexpected ECDSA persistence branch: ${String(value)}`);
1329
- }
1330
224
  async function cancelPreparedActivationInTransaction(preparedJournal, context) {
1331
225
  const journalStore = context.store(JOURNAL_STORE);
1332
226
  const raw = await journalStore.get(preparedJournal.journalId);
@@ -1348,11 +242,61 @@ async function cancelPreparedActivationInTransaction(preparedJournal, context) {
1348
242
  }
1349
243
  return assertNever(persisted.journal);
1350
244
  }
1351
- async function readPointerRowsForWallet(context, walletId) {
1352
- return await context.store(POINTER_STORE).index(SEAMS_WALLET_INDEXES.walletId).getAll(walletId);
245
+ function persistPreparedContinuity(manager, prepared) {
246
+ return manager.runTransaction([
247
+ MANIFEST_STORE,
248
+ POINTER_STORE,
249
+ MATERIAL_STORE,
250
+ SEALING_KEY_STORE
251
+ ], "readwrite", (context) => persistPreparedImportedWalletCustodyEcdsaContinuityInTransaction(context, prepared));
1353
252
  }
1354
- async function readActivationJournalRows(context) {
1355
- return await context.store(JOURNAL_STORE).getAll();
253
+ async function importCommittedActivation(store, input, persist) {
254
+ const serverActivation = buildEcdsaServerActivationCommit({
255
+ activationBinding: input.activationBinding,
256
+ serverCommit: input.serverCommit
257
+ });
258
+ const selector = selectorFromSigner(input.activationBinding.signer);
259
+ const existing = await store.lookup(selector);
260
+ if (existing.kind === "active") {
261
+ if (activeManifestMatchesWalletCustodyImport(existing.manifest, input, serverActivation)) return {
262
+ kind: "committed",
263
+ manifest: existing.manifest,
264
+ material: existing.material
265
+ };
266
+ return {
267
+ kind: "exact_record_conflict",
268
+ selector,
269
+ conflictDigest: await persistenceDigest("custody_import_conflict", selector, "ECDSA custody import conflicts with the active manifest")
270
+ };
271
+ }
272
+ try {
273
+ const prepared = await prepareImportedWalletCustodyEcdsaContinuity(input);
274
+ await persist(prepared);
275
+ return {
276
+ kind: "committed",
277
+ manifest: prepared.activeManifest,
278
+ material: prepared.readyMaterial
279
+ };
280
+ } catch (error) {
281
+ if (error instanceof FinalizationControlError || isConstraintError(error)) {
282
+ const replay = await store.lookup(selector);
283
+ if (replay.kind === "active" && activeManifestMatchesWalletCustodyImport(replay.manifest, input, serverActivation)) return {
284
+ kind: "committed",
285
+ manifest: replay.manifest,
286
+ material: replay.material
287
+ };
288
+ return {
289
+ kind: "exact_record_conflict",
290
+ selector,
291
+ conflictDigest: await persistenceDigest("custody_import_conflict", selector, ecdsaManifestErrorMessage(error))
292
+ };
293
+ }
294
+ return {
295
+ kind: "corrupt",
296
+ selector,
297
+ corruptionDigest: await persistenceDigest("custody_import_corrupt", selector, ecdsaManifestErrorMessage(error))
298
+ };
299
+ }
1356
300
  }
1357
301
  var IndexedDbEcdsaCapabilityManifestStore = class {
1358
302
  constructor(manager = seamsWalletDB) {
@@ -1362,11 +306,11 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
1362
306
  if (!supportsStrictIndexedDbDurability()) return { kind: "persistence_unavailable" };
1363
307
  const poolIdentity = parseEcdsaClientPresignPoolIdentity(input.poolIdentity);
1364
308
  const durableMaterialRef = parseEcdsaRoleLocalPersistedMaterialRef(input.durableMaterialRef);
1365
- if (durableMaterialRef.materialActivation.activationId !== poolIdentity.materialActivationId || durableMaterialRef.materialActivation.capability !== poolIdentity.capability || durableMaterialRef.materialActivation.keyBinding !== poolIdentity.keyBinding || durableMaterialRef.materialActivation.materialOwner !== poolIdentity.walletId) return { kind: "persistence_unavailable" };
309
+ if (!materialRefMatchesPoolIdentity(durableMaterialRef, poolIdentity)) return { kind: "persistence_unavailable" };
1366
310
  if (input.groupPublicKey33.length !== 33 || input.bigR33.length !== 33) return { kind: "persistence_unavailable" };
1367
311
  const createdAtMs = parsePresignatureTimestamp(input.createdAtMs, "createdAtMs");
1368
312
  const expiresAtMs = parsePresignatureTimestamp(input.expiresAtMs, "expiresAtMs");
1369
- if (createdAtMs > Date.now() + MAX_DURABLE_CLIENT_PRESIGNATURE_FUTURE_SKEW_MS || expiresAtMs <= createdAtMs || expiresAtMs > createdAtMs + 7776e6) return { kind: "persistence_unavailable" };
313
+ if (createdAtMs > Date.now() + 3e5 || expiresAtMs <= createdAtMs || expiresAtMs > createdAtMs + 7776e6) return { kind: "persistence_unavailable" };
1370
314
  const presignatureId = String(input.presignatureId || "").trim();
1371
315
  if (!presignatureId || input.plaintext97.length !== 97) return { kind: "persistence_unavailable" };
1372
316
  let lookup;
@@ -1376,7 +320,7 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
1376
320
  return { kind: "persistence_unavailable" };
1377
321
  }
1378
322
  if (lookup.kind !== "active") return { kind: "persistence_unavailable" };
1379
- if (!activeMaterialMatchesPresignaturePoolIdentity(lookup.material, poolIdentity) || lookup.material.binding.durableMaterialRef !== durableMaterialRef.durableMaterialRef || lookup.material.binding.bindingDigest !== durableMaterialRef.bindingDigest || !mpcMaterialActivationRefsEqual(lookup.material.binding.materialActivation, durableMaterialRef.materialActivation)) return { kind: "persistence_unavailable" };
323
+ if (!activeMaterialMatchesPresignature(lookup.material, poolIdentity, durableMaterialRef)) return { kind: "persistence_unavailable" };
1380
324
  let sealingKey;
1381
325
  try {
1382
326
  sealingKey = await this.readMaterialSealingKey(lookup.material.sealingKeyId);
@@ -1433,20 +377,7 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
1433
377
  };
1434
378
  try {
1435
379
  const result = await this.manager.runTransaction([PRESIGNATURE_STORE, MATERIAL_STORE], "readwrite", async (context) => {
1436
- const nowMs = Date.now();
1437
- await deleteExpiredClientPresignatureRows(context, poolIdentity.walletId, nowMs);
1438
- const store = context.store(PRESIGNATURE_STORE);
1439
- const rows = await store.index(SEAMS_WALLET_INDEXES.poolIdentityKey).getAll(row.pool_identity_key);
1440
- let availableCount = 0;
1441
- for (const raw of rows) try {
1442
- const existing = parseSealedAvailableClientPresignatureRow(raw);
1443
- if (existing.expires_at_ms <= nowMs) await store.delete(existing.record_id);
1444
- else availableCount += 1;
1445
- } catch {
1446
- const malformedRecordId = rawRecordId(raw);
1447
- if (malformedRecordId) await store.delete(malformedRecordId);
1448
- }
1449
- if (availableCount >= 5) return { kind: "capacity_full" };
380
+ if ((await readAvailableClientPresignatureRows(context, poolIdentity, Date.now())).length >= 5) return { kind: "capacity_full" };
1450
381
  const materialRow = await context.store(MATERIAL_STORE).get(durableMaterialRef.durableMaterialRef);
1451
382
  if (materialRow === void 0) return { kind: "persistence_unavailable" };
1452
383
  try {
@@ -1456,7 +387,7 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
1456
387
  } catch {
1457
388
  return { kind: "persistence_unavailable" };
1458
389
  }
1459
- await store.put(row);
390
+ await context.store(PRESIGNATURE_STORE).put(row);
1460
391
  return { kind: "stored" };
1461
392
  }, { durability: "strict" });
1462
393
  return result.kind === "stored" ? {
@@ -1473,22 +404,7 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
1473
404
  const nowMs = Date.now();
1474
405
  try {
1475
406
  return await this.manager.runTransaction([PRESIGNATURE_STORE], "readwrite", async (context) => {
1476
- await deleteExpiredClientPresignatureRows(context, poolIdentity.walletId, nowMs);
1477
- const store = context.store(PRESIGNATURE_STORE);
1478
- const rows = await store.index(SEAMS_WALLET_INDEXES.poolIdentityKey).getAll(ecdsaClientPresignPoolKey(poolIdentity));
1479
- const metadata = [];
1480
- for (const raw of rows) try {
1481
- const row = parseSealedAvailableClientPresignatureRow(raw);
1482
- if (row.expires_at_ms <= nowMs) {
1483
- await store.delete(row.record_id);
1484
- continue;
1485
- }
1486
- metadata.push(metadataFromPresignatureRow(row));
1487
- } catch {
1488
- const malformedRecordId = rawRecordId(raw);
1489
- if (malformedRecordId) await store.delete(malformedRecordId);
1490
- }
1491
- return metadata.sort((left, right) => left.createdAtMs - right.createdAtMs);
407
+ return (await readAvailableClientPresignatureRows(context, poolIdentity, nowMs)).map(metadataFromPresignatureRow).sort((left, right) => left.createdAtMs - right.createdAtMs);
1492
408
  });
1493
409
  } catch {
1494
410
  return [];
@@ -1537,7 +453,7 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
1537
453
  } catch {
1538
454
  return { kind: "persistence_unavailable" };
1539
455
  }
1540
- if (lookup.kind !== "active" || !activeMaterialMatchesPresignaturePoolIdentity(lookup.material, poolIdentity) || lookup.material.sealingKeyId !== row.sealed.sealing_key_id || lookup.material.binding.durableMaterialRef !== row.durable_material_ref.durableMaterialRef || lookup.material.binding.bindingDigest !== row.durable_material_ref.bindingDigest || !mpcMaterialActivationRefsEqual(lookup.material.binding.materialActivation, row.durable_material_ref.materialActivation)) return { kind: "binding_rejected" };
456
+ if (lookup.kind !== "active" || !activeMaterialMatchesPresignature(lookup.material, poolIdentity, row.durable_material_ref) || lookup.material.sealingKeyId !== row.sealed.sealing_key_id) return { kind: "binding_rejected" };
1541
457
  let sealingKey;
1542
458
  try {
1543
459
  sealingKey = await this.readMaterialSealingKey(row.sealed.sealing_key_id);
@@ -1578,23 +494,12 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
1578
494
  case "wallet": {
1579
495
  const walletId = String(target.walletId).trim();
1580
496
  if (!walletId) throw new Error("ECDSA durable presignature wallet id is required");
1581
- let cursor = await store.index(SEAMS_WALLET_INDEXES.walletId).openCursor(walletId);
1582
- while (cursor) {
1583
- await cursor.delete();
1584
- deletedCount += 1;
1585
- cursor = await cursor.continue();
1586
- }
497
+ deletedCount = await deleteCursorRows(await store.index(SEAMS_WALLET_INDEXES.walletId).openCursor(walletId));
1587
498
  break;
1588
499
  }
1589
- case "all": {
1590
- let cursor = await store.openCursor();
1591
- while (cursor) {
1592
- await cursor.delete();
1593
- deletedCount += 1;
1594
- cursor = await cursor.continue();
1595
- }
500
+ case "all":
501
+ deletedCount = await deleteCursorRows(await store.openCursor());
1596
502
  break;
1597
- }
1598
503
  }
1599
504
  return deletedCount;
1600
505
  });
@@ -1647,10 +552,7 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
1647
552
  for (const row of rows) {
1648
553
  const signer = parseJournalRow(row).journal.candidate.activationBinding.signer;
1649
554
  if (signer.authority.walletId !== parsedWalletId.value) continue;
1650
- selectors.push({
1651
- capability: signer.capability,
1652
- authority: signer.authority
1653
- });
555
+ selectors.push(selectorFromSigner(signer));
1654
556
  }
1655
557
  } catch {
1656
558
  return { kind: "invalid_current_state" };
@@ -1661,10 +563,7 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
1661
563
  };
1662
564
  }
1663
565
  async prepareActivation(input) {
1664
- const selector = {
1665
- capability: input.activationBinding.signer.capability,
1666
- authority: input.activationBinding.signer.authority
1667
- };
566
+ const selector = selectorFromSigner(input.activationBinding.signer);
1668
567
  try {
1669
568
  const keyId = parseEcdsaMaterialSealingKeyId(secureRandomId("ecdsa-material-key", 32, "ECDSA activation material sealing key"));
1670
569
  const key = await generateMaterialSealingKey();
@@ -1691,13 +590,10 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
1691
590
  journal
1692
591
  };
1693
592
  } catch (error) {
1694
- if (isConstraintError(error)) return {
1695
- kind: "exact_record_conflict",
1696
- conflictDigest: await persistenceDigest("journal_constraint_conflict", selector, errorMessage(error))
1697
- };
593
+ if (isConstraintError(error)) return await journalConstraintConflict(selector, error);
1698
594
  if (error instanceof DOMException && error.name === "OperationError") return {
1699
595
  kind: "corrupt",
1700
- corruptionDigest: await persistenceDigest("journal_encryption_failed", selector, errorMessage(error))
596
+ corruptionDigest: await persistenceDigest("journal_encryption_failed", selector, ecdsaManifestErrorMessage(error))
1701
597
  };
1702
598
  if (error instanceof Error && !(error instanceof DOMException)) return {
1703
599
  kind: "corrupt",
@@ -1716,7 +612,7 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
1716
612
  } catch (error) {
1717
613
  return {
1718
614
  kind: "corrupt",
1719
- corruptionDigest: await persistenceDigest("server_activation_commit_corrupt", selectorFromJournal(input.preparedJournal), errorMessage(error))
615
+ corruptionDigest: await persistenceDigest("server_activation_commit_corrupt", selectorFromJournal(input.preparedJournal), ecdsaManifestErrorMessage(error))
1720
616
  };
1721
617
  }
1722
618
  return await this.putActivationJournal(committedJournal);
@@ -1729,7 +625,7 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
1729
625
  } catch (error) {
1730
626
  return {
1731
627
  kind: "corrupt",
1732
- corruptionDigest: await persistenceDigest("journal_input_corrupt", selectorFromJournal(journalInput), errorMessage(error))
628
+ corruptionDigest: await persistenceDigest("journal_input_corrupt", selectorFromJournal(journalInput), ecdsaManifestErrorMessage(error))
1733
629
  };
1734
630
  }
1735
631
  const selector = selectorFromJournal(journal);
@@ -1748,7 +644,7 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
1748
644
  try {
1749
645
  parseSealingKeyRow(sealingKeyRaw);
1750
646
  } catch (error) {
1751
- throw new FinalizationControlError("corrupt", errorMessage(error));
647
+ throw new FinalizationControlError("corrupt", ecdsaManifestErrorMessage(error));
1752
648
  }
1753
649
  const journalStore = context.store(JOURNAL_STORE);
1754
650
  const existingRaw = await journalStore.get(journal.journalId);
@@ -1757,7 +653,7 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
1757
653
  try {
1758
654
  existing = parseJournalRow(existingRaw);
1759
655
  } catch (error) {
1760
- throw new FinalizationControlError("corrupt", errorMessage(error));
656
+ throw new FinalizationControlError("corrupt", ecdsaManifestErrorMessage(error));
1761
657
  }
1762
658
  if (!selectorsMatch(existing.selector, selector) || existing.journal.kind === "activation_prepared" && !ecdsaActivationCommitJournalsMatch(existing.journal, preparedJournalProjection(journal)) || existing.journal.kind === "server_activation_committed" && !ecdsaActivationCommitJournalsMatch(existing.journal, journal)) throw new FinalizationControlError("exact_record_conflict", "ECDSA activation journal conflicts with its existing correlation");
1763
659
  await journalStore.put(storedJournalRow(journal));
@@ -1777,13 +673,10 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
1777
673
  conflictDigest: digest
1778
674
  };
1779
675
  }
1780
- if (isConstraintError(error)) return {
1781
- kind: "exact_record_conflict",
1782
- conflictDigest: await persistenceDigest("journal_constraint_conflict", selector, errorMessage(error))
1783
- };
676
+ if (isConstraintError(error)) return await journalConstraintConflict(selector, error);
1784
677
  if (error instanceof DOMException && error.name === "OperationError") return {
1785
678
  kind: "corrupt",
1786
- corruptionDigest: await persistenceDigest("journal_ciphertext_corrupt", selector, errorMessage(error))
679
+ corruptionDigest: await persistenceDigest("journal_ciphertext_corrupt", selector, ecdsaManifestErrorMessage(error))
1787
680
  };
1788
681
  return {
1789
682
  kind: "persistence_unavailable",
@@ -1945,7 +838,7 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
1945
838
  const lookup = await this.lookup(selector);
1946
839
  switch (lookup.kind) {
1947
840
  case "active":
1948
- if (mpcMaterialActivationRefsEqual(lookup.manifest.activation.materialActivation, materialActivation) && mpcMaterialActivationRefsEqual(lookup.manifest.durableMaterial.materialActivation, materialActivation) && mpcMaterialActivationRefsEqual(lookup.material.binding.materialActivation, materialActivation)) exact.push(lookup);
841
+ if (activeLookupUsesMaterialActivation(lookup, materialActivation)) exact.push(lookup);
1949
842
  break;
1950
843
  case "retired": break;
1951
844
  case "missing": return {
@@ -2019,7 +912,7 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
2019
912
  const lookup = await this.lookup(locator.selector);
2020
913
  switch (lookup.kind) {
2021
914
  case "active":
2022
- if (lookup.manifest.durableMaterial.durableMaterialRef !== materialRef.durableMaterialRef || lookup.manifest.durableMaterial.bindingDigest !== materialRef.bindingDigest || !mpcMaterialActivationRefsEqual(lookup.manifest.activation.materialActivation, materialRef.materialActivation) || !mpcMaterialActivationRefsEqual(lookup.manifest.durableMaterial.materialActivation, materialRef.materialActivation) || !mpcMaterialActivationRefsEqual(lookup.material.binding.materialActivation, materialRef.materialActivation)) return {
915
+ if (lookup.manifest.durableMaterial.durableMaterialRef !== materialRef.durableMaterialRef || lookup.manifest.durableMaterial.bindingDigest !== materialRef.bindingDigest || !activeLookupUsesMaterialActivation(lookup, materialRef.materialActivation)) return {
2023
916
  kind: "exact_binding_mismatch",
2024
917
  capability
2025
918
  };
@@ -2114,7 +1007,7 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
2114
1007
  return {
2115
1008
  kind: "corrupt",
2116
1009
  selector,
2117
- corruptionDigest: await persistenceDigest("active_material_open_corrupt", selector, errorMessage(error))
1010
+ corruptionDigest: await persistenceDigest("active_material_open_corrupt", selector, ecdsaManifestErrorMessage(error))
2118
1011
  };
2119
1012
  }
2120
1013
  }
@@ -2125,28 +1018,9 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
2125
1018
  } catch {
2126
1019
  return { kind: "corrupt" };
2127
1020
  }
2128
- switch (lookup.kind) {
2129
- case "active": {
2130
- const opened = await this.openActiveMaterialLookup(lookup);
2131
- switch (opened.kind) {
2132
- case "active": return opened;
2133
- case "missing":
2134
- case "retired": return { kind: "missing" };
2135
- case "exact_binding_mismatch": return { kind: "binding_mismatch" };
2136
- case "exact_record_conflict":
2137
- case "corrupt": return { kind: "corrupt" };
2138
- case "persistence_unavailable": return { kind: "persistence_unavailable" };
2139
- }
2140
- return assertNever(opened);
2141
- }
2142
- case "missing":
2143
- case "retired": return { kind: "missing" };
2144
- case "exact_binding_mismatch": return { kind: "binding_mismatch" };
2145
- case "exact_record_conflict":
2146
- case "corrupt": return { kind: "corrupt" };
2147
- case "persistence_unavailable": return { kind: "persistence_unavailable" };
2148
- }
2149
- return assertNever(lookup);
1021
+ if (lookup.kind !== "active") return materialRefOpenFailure(lookup);
1022
+ const opened = await this.openActiveMaterialLookup(lookup);
1023
+ return opened.kind === "active" ? opened : materialRefOpenFailure(opened);
2150
1024
  }
2151
1025
  async sealAndFinalizeActivation(input) {
2152
1026
  const selector = selectorFromJournal(input.committedJournal);
@@ -2190,89 +1064,15 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
2190
1064
  return {
2191
1065
  kind: "corrupt",
2192
1066
  selector,
2193
- corruptionDigest: await persistenceDigest("activation_seal_corrupt", selector, errorMessage(error))
1067
+ corruptionDigest: await persistenceDigest("activation_seal_corrupt", selector, ecdsaManifestErrorMessage(error))
2194
1068
  };
2195
1069
  }
2196
1070
  }
2197
1071
  async importCommittedWalletCustodyActivation(input) {
2198
- const serverActivation = buildEcdsaServerActivationCommit({
2199
- activationBinding: input.activationBinding,
2200
- serverCommit: input.serverCommit
2201
- });
2202
- const selector = {
2203
- capability: input.activationBinding.signer.capability,
2204
- authority: input.activationBinding.signer.authority
2205
- };
2206
- const existing = await this.lookup(selector);
2207
- if (existing.kind === "active") {
2208
- if (activeManifestMatchesWalletCustodyImport({
2209
- manifest: existing.manifest,
2210
- activationBinding: input.activationBinding,
2211
- serverActivation,
2212
- registeredPublicFacts: input.registeredPublicFacts,
2213
- roleLocalPublicFacts: input.roleLocalPublicFacts,
2214
- routerAbEcdsaDerivationNormalSigning: input.routerAbEcdsaDerivationNormalSigning,
2215
- runtimePolicyScope: input.runtimePolicyScope
2216
- })) return {
2217
- kind: "committed",
2218
- manifest: existing.manifest,
2219
- material: existing.material
2220
- };
2221
- return {
2222
- kind: "exact_record_conflict",
2223
- selector,
2224
- conflictDigest: await persistenceDigest("custody_import_conflict", selector, "ECDSA custody import conflicts with the active manifest")
2225
- };
2226
- }
2227
- try {
2228
- const prepared = await prepareImportedWalletCustodyEcdsaContinuity(input);
2229
- await this.manager.runTransaction([
2230
- MANIFEST_STORE,
2231
- POINTER_STORE,
2232
- MATERIAL_STORE,
2233
- SEALING_KEY_STORE
2234
- ], "readwrite", (context) => persistPreparedImportedWalletCustodyEcdsaContinuityInTransaction(context, prepared));
2235
- return {
2236
- kind: "committed",
2237
- manifest: prepared.activeManifest,
2238
- material: prepared.readyMaterial
2239
- };
2240
- } catch (error) {
2241
- if (error instanceof FinalizationControlError || isConstraintError(error)) {
2242
- const replay = await this.lookup(selector);
2243
- if (replay.kind === "active" && activeManifestMatchesWalletCustodyImport({
2244
- manifest: replay.manifest,
2245
- activationBinding: input.activationBinding,
2246
- serverActivation,
2247
- registeredPublicFacts: input.registeredPublicFacts,
2248
- roleLocalPublicFacts: input.roleLocalPublicFacts,
2249
- routerAbEcdsaDerivationNormalSigning: input.routerAbEcdsaDerivationNormalSigning,
2250
- runtimePolicyScope: input.runtimePolicyScope
2251
- })) return {
2252
- kind: "committed",
2253
- manifest: replay.manifest,
2254
- material: replay.material
2255
- };
2256
- return {
2257
- kind: "exact_record_conflict",
2258
- selector,
2259
- conflictDigest: await persistenceDigest("custody_import_conflict", selector, errorMessage(error))
2260
- };
2261
- }
2262
- return {
2263
- kind: "corrupt",
2264
- selector,
2265
- corruptionDigest: await persistenceDigest("custody_import_corrupt", selector, errorMessage(error))
2266
- };
2267
- }
1072
+ return await importCommittedActivation(this, input, (prepared) => persistPreparedContinuity(this.manager, prepared));
2268
1073
  }
2269
1074
  async persistPreparedWalletCustodyEcdsaContinuity(prepared) {
2270
- await this.manager.runTransaction([
2271
- MANIFEST_STORE,
2272
- POINTER_STORE,
2273
- MATERIAL_STORE,
2274
- SEALING_KEY_STORE
2275
- ], "readwrite", (context) => persistPreparedImportedWalletCustodyEcdsaContinuityInTransaction(context, prepared));
1075
+ await persistPreparedContinuity(this.manager, prepared);
2276
1076
  }
2277
1077
  async readMaterialSealingKey(keyIdInput) {
2278
1078
  const keyId = parseEcdsaMaterialSealingKeyId(keyIdInput);
@@ -2291,7 +1091,7 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
2291
1091
  return {
2292
1092
  kind: "corrupt",
2293
1093
  selector,
2294
- corruptionDigest: await persistenceDigest("finalization_input_corrupt", selector, errorMessage(error))
1094
+ corruptionDigest: await persistenceDigest("finalization_input_corrupt", selector, ecdsaManifestErrorMessage(error))
2295
1095
  };
2296
1096
  }
2297
1097
  const selector = selectorFromManifest(activeProof.activeManifest);
@@ -2336,7 +1136,7 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
2336
1136
  if (isConstraintError(error)) return {
2337
1137
  kind: "exact_record_conflict",
2338
1138
  selector,
2339
- conflictDigest: await persistenceDigest("finalization_constraint_conflict", selector, errorMessage(error))
1139
+ conflictDigest: await persistenceDigest("finalization_constraint_conflict", selector, ecdsaManifestErrorMessage(error))
2340
1140
  };
2341
1141
  return {
2342
1142
  kind: "persistence_unavailable",
@@ -2346,405 +1146,6 @@ var IndexedDbEcdsaCapabilityManifestStore = class {
2346
1146
  }
2347
1147
  }
2348
1148
  };
2349
- function buildWalletCustodyEcdsaContinuityImportInput(input) {
2350
- const authority = parseWalletAuthAuthorityRef(input.authority);
2351
- if (!authority || String(authority.walletId) !== String(input.walletId)) throw new Error("ECDSA custody import authority is invalid");
2352
- const publicCapability = parseRouterAbEcdsaDerivationPublicCapabilityV1(input.publicCapability);
2353
- const receipt = parseRouterAbEcdsaRegistrationActivationReceiptV1(input.activationReceipt);
2354
- const materialActivation = routerAbMpcMaterialActivationRefFromWire(receipt.ecdsa_activation.material_activation);
2355
- if (!mpcMaterialActivationRefsEqual(materialActivation, routerAbMpcMaterialActivationRefFromWire(publicCapability.material_activation))) throw new Error("ECDSA custody continuity changed the material activation");
2356
- const participantIds = [toParticipantId(input.participantIds[0]), toParticipantId(input.participantIds[1])];
2357
- const roleLocalBinding = buildEcdsaRoleLocalMaterialBinding({
2358
- keyHandle: parseEcdsaKeyHandle(input.keyHandle),
2359
- ecdsaThresholdKeyId: parseEcdsaThresholdKeyId(input.ecdsaThresholdKeyId),
2360
- clientVerifyingPublicKey33B64u: parseEcdsaClientVerifyingPublicKey33B64u(input.publicFacts.derivationClientSharePublicKey33B64u),
2361
- participantIds,
2362
- relayerKeyId: parseEcdsaRelayerKeyId(input.relayerKeyId)
2363
- });
2364
- const signer = buildPreparedEvmFamilySigner({
2365
- capability: materialActivation.capability,
2366
- signerId: parseEvmFamilyEcdsaSignerId(secureRandomId("ecdsa-signer", 32, "ECDSA custody signer identities")),
2367
- authority,
2368
- scope: buildEcdsaCapabilityScope({ targetMemberships: input.chainTargets }),
2369
- materialOwner: materialActivation.materialOwner,
2370
- signingRootId: parseSdkEcdsaDerivationSigningRootId(input.signingRootId),
2371
- signingRootVersion: parseSdkEcdsaDerivationSigningRootVersion(input.signingRootVersion)
2372
- });
2373
- const activationBinding = buildEcdsaActivationBinding({
2374
- targetManifest: buildEcdsaManifestIdentity({
2375
- manifestId: parseEcdsaCapabilityManifestId(secureRandomId("ecdsa-manifest", 32, "ECDSA custody manifest identities")),
2376
- manifestRevision: parseEcdsaCapabilityManifestRevision(1)
2377
- }),
2378
- signer,
2379
- roleLocalBinding,
2380
- bindingDigest: parseEcdsaRoleLocalBindingDigest(input.publicFacts.contextBinding32B64u),
2381
- durableMaterialRef: parseEcdsaRoleLocalDurableMaterialRef(secureRandomId("ecdsa-role-local-material", 32, "ECDSA custody material identities"))
2382
- });
2383
- const ethereumAddress = input.publicFacts.ethereumAddress;
2384
- const registeredPublicFacts = buildVerifiedEcdsaPublicFacts({
2385
- keyHandle: toEvmFamilyEcdsaKeyHandle(input.keyHandle),
2386
- publicKeyB64u: input.publicFacts.groupPublicKey33B64u,
2387
- participantIds,
2388
- thresholdOwnerAddress: ethereumAddress
2389
- });
2390
- const roleLocalPublicFacts = buildEcdsaRoleLocalPublicFacts({
2391
- walletId: authority.walletId,
2392
- chainTarget: input.chainTargets[0],
2393
- keyHandle: roleLocalBinding.keyHandle,
2394
- ecdsaThresholdKeyId: roleLocalBinding.ecdsaThresholdKeyId,
2395
- signingRootId: signer.signingRootId,
2396
- signingRootVersion: signer.signingRootVersion,
2397
- applicationBindingDigestB64u: publicCapability.context.application_binding_digest_b64u,
2398
- clientParticipantId: participantIds[0],
2399
- relayerParticipantId: participantIds[1],
2400
- participantIds,
2401
- contextBinding32B64u: input.publicFacts.contextBinding32B64u,
2402
- derivationClientSharePublicKey33B64u: input.publicFacts.derivationClientSharePublicKey33B64u,
2403
- relayerPublicKey33B64u: input.publicFacts.relayerPublicKey33B64u,
2404
- groupPublicKey33B64u: input.publicFacts.groupPublicKey33B64u,
2405
- ethereumAddress,
2406
- publicCapability
2407
- });
2408
- const normalSigning = {
2409
- kind: "router_ab_ecdsa_derivation_normal_signing_v1",
2410
- scope: {
2411
- wallet_id: String(authority.walletId),
2412
- ecdsa_threshold_key_id: String(roleLocalBinding.ecdsaThresholdKeyId),
2413
- signing_root_id: String(signer.signingRootId),
2414
- signing_root_version: String(signer.signingRootVersion),
2415
- context: receipt.ecdsa_activation.context,
2416
- public_identity: receipt.ecdsa_activation.public_identity,
2417
- material_activation: receipt.ecdsa_activation.material_activation,
2418
- signing_worker: receipt.ecdsa_activation.signing_worker,
2419
- activation_epoch: receipt.ecdsa_activation.activation_epoch
2420
- }
2421
- };
2422
- return {
2423
- activationBinding,
2424
- serverCommit: {
2425
- correlationId: receipt.activation_correlation_id,
2426
- activationRequestDigest: parseDigestB64u(base64UrlEncode(Uint8Array.from(receipt.activation_request_digest.bytes))),
2427
- serverGeneration: receipt.server_generation,
2428
- protocolReceipt: receipt
2429
- },
2430
- readyStateBlobB64u: input.readyStateBlobB64u,
2431
- registeredPublicFacts,
2432
- roleLocalPublicFacts,
2433
- routerAbEcdsaDerivationNormalSigning: normalSigning,
2434
- runtimePolicyScope: normalizeRuntimePolicyScope(input.runtimePolicyScope),
2435
- committedAt: parseIsoTimestamp(new Date(receipt.ecdsa_activation.activated_at_ms).toISOString())
2436
- };
2437
- }
2438
- async function prepareWalletCustodyEcdsaContinuity(input) {
2439
- return prepareImportedWalletCustodyEcdsaContinuity(buildWalletCustodyEcdsaContinuityImportInput(input));
2440
- }
2441
- async function importWalletCustodyEcdsaContinuity(input) {
2442
- const preparedInput = buildWalletCustodyEcdsaContinuityImportInput(input);
2443
- const serverActivation = buildEcdsaServerActivationCommit({
2444
- activationBinding: preparedInput.activationBinding,
2445
- serverCommit: preparedInput.serverCommit
2446
- });
2447
- const selector = {
2448
- capability: preparedInput.activationBinding.signer.capability,
2449
- authority: preparedInput.activationBinding.signer.authority
2450
- };
2451
- const existing = await input.store.lookup(selector);
2452
- if (existing.kind === "active") {
2453
- if (activeManifestMatchesWalletCustodyImport({
2454
- manifest: existing.manifest,
2455
- activationBinding: preparedInput.activationBinding,
2456
- serverActivation,
2457
- registeredPublicFacts: preparedInput.registeredPublicFacts,
2458
- roleLocalPublicFacts: preparedInput.roleLocalPublicFacts,
2459
- routerAbEcdsaDerivationNormalSigning: preparedInput.routerAbEcdsaDerivationNormalSigning,
2460
- runtimePolicyScope: preparedInput.runtimePolicyScope
2461
- })) return {
2462
- kind: "committed",
2463
- manifest: existing.manifest,
2464
- material: existing.material
2465
- };
2466
- return {
2467
- kind: "exact_record_conflict",
2468
- selector,
2469
- conflictDigest: await persistenceDigest("custody_import_conflict", selector, "ECDSA custody import conflicts with the active manifest")
2470
- };
2471
- }
2472
- try {
2473
- const prepared = await prepareImportedWalletCustodyEcdsaContinuity(preparedInput);
2474
- await input.store.persistPreparedWalletCustodyEcdsaContinuity(prepared);
2475
- return {
2476
- kind: "committed",
2477
- manifest: prepared.activeManifest,
2478
- material: prepared.readyMaterial
2479
- };
2480
- } catch (error) {
2481
- if (error instanceof FinalizationControlError || isConstraintError(error)) {
2482
- const replay = await input.store.lookup(selector);
2483
- if (replay.kind === "active" && activeManifestMatchesWalletCustodyImport({
2484
- manifest: replay.manifest,
2485
- activationBinding: preparedInput.activationBinding,
2486
- serverActivation,
2487
- registeredPublicFacts: preparedInput.registeredPublicFacts,
2488
- roleLocalPublicFacts: preparedInput.roleLocalPublicFacts,
2489
- routerAbEcdsaDerivationNormalSigning: preparedInput.routerAbEcdsaDerivationNormalSigning,
2490
- runtimePolicyScope: preparedInput.runtimePolicyScope
2491
- })) return {
2492
- kind: "committed",
2493
- manifest: replay.manifest,
2494
- material: replay.material
2495
- };
2496
- return {
2497
- kind: "exact_record_conflict",
2498
- selector,
2499
- conflictDigest: await persistenceDigest("custody_import_conflict", selector, errorMessage(error))
2500
- };
2501
- }
2502
- return {
2503
- kind: "corrupt",
2504
- selector,
2505
- corruptionDigest: await persistenceDigest("custody_import_corrupt", selector, errorMessage(error))
2506
- };
2507
- }
2508
- }
2509
- async function assertSharedWalletAuthorityMembership(input) {
2510
- const repositories = new SeamsWalletRepositories(seamsWalletDB);
2511
- for (const walletAuthMethodId of input.walletAuthMethodIds) {
2512
- const authMethod = await repositories.getWalletAuthMethodV2(String(walletAuthMethodId));
2513
- if (!authMethod || authMethod.status !== "active" || authMethod.walletId !== input.walletId || authMethod.walletAuthorityId !== input.walletAuthorityId) throw new Error(`ECDSA custody continuity method ${String(walletAuthMethodId)} is not an active member of the wallet authority`);
2514
- }
2515
- }
2516
- /**
2517
- * R109C: give an added auth method its own encrypted access projection over the
2518
- * activation the wallet already has. The activation is not re-created and the
2519
- * source credential's authority is not widened; only a second method-bound
2520
- * record over the same material appears.
2521
- *
2522
- * The membership check is the whole safety argument. Copying access to a method
2523
- * on another wallet authority would hand that credential custody it was never
2524
- * granted, so both methods are read back and required to be active members of
2525
- * the exact same authority before anything is opened.
2526
- */
2527
- async function copyWalletCustodyEcdsaContinuityToAuthMethod(input) {
2528
- if (input.targetAuthority.walletId !== input.walletId || input.targetAuthority.walletAuthMethodId === input.sourceWalletAuthMethodId) throw new Error("ECDSA custody continuity target is invalid");
2529
- await assertSharedWalletAuthorityMembership({
2530
- walletId: input.walletId,
2531
- walletAuthorityId: input.walletAuthorityId,
2532
- walletAuthMethodIds: [input.sourceWalletAuthMethodId, input.targetAuthority.walletAuthMethodId]
2533
- });
2534
- const store = new IndexedDbEcdsaCapabilityManifestStore();
2535
- const listed = await store.listActiveWalletCapabilitySubjects(input.walletId);
2536
- if (listed.kind !== "resolved") throw new Error(`ECDSA custody continuity inventory is ${listed.kind}`);
2537
- if (listed.subjects.length === 0) return;
2538
- const sources = listed.subjects.filter((subject) => subject.authority.walletAuthMethodId === input.sourceWalletAuthMethodId);
2539
- if (sources.length === 0) throw new Error(`ECDSA custody continuity found no active capability for source method ${String(input.sourceWalletAuthMethodId)} among [${listed.subjects.map((subject) => String(subject.authority.walletAuthMethodId)).join(", ")}]`);
2540
- for (const source of sources) {
2541
- const sourceLookup = await store.lookup(source);
2542
- if (sourceLookup.kind !== "active") throw new Error(`ECDSA custody continuity source is ${sourceLookup.kind}`);
2543
- const targetSelector = {
2544
- capability: source.capability,
2545
- authority: input.targetAuthority
2546
- };
2547
- const targetLookup = await store.lookup(targetSelector);
2548
- if (targetLookup.kind === "active") {
2549
- const targetMaterial = targetLookup.manifest.durableMaterial;
2550
- const sourceMaterial = sourceLookup.manifest.durableMaterial;
2551
- if (targetMaterial.activationDigest !== sourceMaterial.activationDigest || targetMaterial.bindingDigest !== sourceMaterial.bindingDigest || targetMaterial.roleLocalBinding.ecdsaThresholdKeyId !== sourceMaterial.roleLocalBinding.ecdsaThresholdKeyId || !ecdsaRoleLocalMaterialBindingsMatch(targetMaterial.roleLocalBinding, sourceMaterial.roleLocalBinding) || !ecdsaRoleLocalPublicFactsMatch(targetMaterial.roleLocalPublicFacts, sourceMaterial.roleLocalPublicFacts) || !ecdsaRegisteredPublicFactsMatch(targetLookup.manifest.signer.registeredPublicFacts, sourceLookup.manifest.signer.registeredPublicFacts)) throw new Error("ECDSA custody continuity target conflicts with source material");
2552
- continue;
2553
- }
2554
- if (targetLookup.kind !== "missing") throw new Error(`ECDSA custody continuity target is ${targetLookup.kind}`);
2555
- const opened = await store.openActiveMaterialLookup(sourceLookup);
2556
- if (opened.kind !== "active") throw new Error(`ECDSA custody continuity material is ${opened.kind}`);
2557
- const manifest = opened.manifest;
2558
- const publicFacts = manifest.durableMaterial.roleLocalPublicFacts;
2559
- const imported = await importWalletCustodyEcdsaContinuity({
2560
- store,
2561
- authority: input.targetAuthority,
2562
- chainTargets: manifest.signer.scope.targetMemberships,
2563
- walletId: String(input.walletId),
2564
- keyHandle: publicFacts.keyHandle,
2565
- ecdsaThresholdKeyId: String(publicFacts.ecdsaThresholdKeyId),
2566
- signingRootId: String(publicFacts.signingRootId),
2567
- signingRootVersion: String(publicFacts.signingRootVersion),
2568
- relayerKeyId: String(manifest.durableMaterial.roleLocalBinding.relayerKeyId),
2569
- participantIds: publicFacts.participantIds,
2570
- publicCapability: publicFacts.publicCapability,
2571
- activationReceipt: manifest.activation.serverActivation.serverActivationReceipt.protocolReceipt,
2572
- runtimePolicyScope: manifest.durableMaterial.runtimePolicyScope,
2573
- readyStateBlobB64u: opened.readyStateBlobB64u,
2574
- publicFacts: {
2575
- contextBinding32B64u: publicFacts.contextBinding32B64u,
2576
- derivationClientSharePublicKey33B64u: publicFacts.derivationClientSharePublicKey33B64u,
2577
- clientVerifyingShare33B64u: publicFacts.publicCapability.public_identity.derivation_client_share_public_key33_b64u,
2578
- relayerPublicKey33B64u: publicFacts.relayerPublicKey33B64u,
2579
- groupPublicKey33B64u: publicFacts.groupPublicKey33B64u,
2580
- ethereumAddress: publicFacts.ethereumAddress,
2581
- clientShareRetryCounter: publicFacts.publicCapability.public_identity.client_share_retry_counter,
2582
- relayerShareRetryCounter: publicFacts.publicCapability.public_identity.server_share_retry_counter
2583
- }
2584
- });
2585
- if (imported.kind !== "committed") throw new Error(`ECDSA custody continuity import is ${imported.kind}`);
2586
- }
2587
- }
2588
- async function lookupInTransaction(context, selector) {
2589
- const pointerRaw = await context.store(POINTER_STORE).get(selectorKey(selector));
2590
- if (pointerRaw === void 0) return await lookupWithoutPointer(context, selector);
2591
- let pointer;
2592
- try {
2593
- pointer = parsePointerRow(pointerRaw);
2594
- } catch (error) {
2595
- return {
2596
- kind: "corrupt",
2597
- detail: errorMessage(error)
2598
- };
2599
- }
2600
- if (!selectorsMatch(pointer.selector, selector)) return {
2601
- kind: "exact_binding_mismatch",
2602
- detail: "current ECDSA pointer belongs to a different exact authority"
2603
- };
2604
- const manifestRaw = await context.store(MANIFEST_STORE).get(pointer.manifestId);
2605
- if (manifestRaw === void 0) return {
2606
- kind: "exact_record_conflict",
2607
- detail: "current ECDSA pointer references a missing manifest"
2608
- };
2609
- let parsedManifest;
2610
- try {
2611
- parsedManifest = parseManifestRow(manifestRaw);
2612
- } catch (error) {
2613
- return {
2614
- kind: "corrupt",
2615
- detail: errorMessage(error)
2616
- };
2617
- }
2618
- if (!selectorsMatch(parsedManifest.selector, selector)) return {
2619
- kind: "exact_binding_mismatch",
2620
- detail: "current ECDSA manifest belongs to a different exact authority"
2621
- };
2622
- if (parsedManifest.manifest.identity.manifestId !== pointer.manifestId || parsedManifest.manifest.identity.manifestRevision !== pointer.manifestRevision) return {
2623
- kind: "exact_record_conflict",
2624
- detail: "current ECDSA pointer does not match its manifest identity"
2625
- };
2626
- if (parsedManifest.state === "replaced") return {
2627
- kind: "retired",
2628
- manifest: parsedManifest.manifest
2629
- };
2630
- const activeRows = await context.store(MANIFEST_STORE).index(SEAMS_WALLET_INDEXES.capabilityWalletAuthorityState).getAll([...selectorKey(selector), "active"]);
2631
- if (activeRows.length !== 1) return {
2632
- kind: "exact_record_conflict",
2633
- detail: "exact ECDSA authority has multiple current manifests"
2634
- };
2635
- let indexedActive;
2636
- try {
2637
- indexedActive = parseManifestRow(activeRows[0]);
2638
- } catch (error) {
2639
- return {
2640
- kind: "corrupt",
2641
- detail: errorMessage(error)
2642
- };
2643
- }
2644
- if (indexedActive.state !== "active" || indexedActive.manifest.identity.manifestId !== pointer.manifestId) return {
2645
- kind: "exact_record_conflict",
2646
- detail: "exact ECDSA current index disagrees with its pointer"
2647
- };
2648
- const materialRaw = await context.store(MATERIAL_STORE).get(parsedManifest.manifest.durableMaterial.durableMaterialRef);
2649
- if (materialRaw === void 0) return {
2650
- kind: "missing",
2651
- subject: "material",
2652
- detail: "active ECDSA manifest is missing its ready material"
2653
- };
2654
- let material;
2655
- try {
2656
- material = parseMaterialRow(materialRaw, parsedManifest.activeProof);
2657
- } catch (error) {
2658
- return {
2659
- kind: "corrupt",
2660
- detail: errorMessage(error)
2661
- };
2662
- }
2663
- if (!materialMatchesManifest(material, parsedManifest.manifest)) return {
2664
- kind: "exact_binding_mismatch",
2665
- detail: "active ECDSA material does not match its manifest"
2666
- };
2667
- const sealingKeyRaw = await context.store(SEALING_KEY_STORE).get(material.sealingKeyId);
2668
- if (sealingKeyRaw === void 0) return {
2669
- kind: "missing",
2670
- subject: "material",
2671
- detail: "active ECDSA material is missing its sealing key"
2672
- };
2673
- try {
2674
- if (parseSealingKeyRow(sealingKeyRaw).keyId !== material.sealingKeyId) return {
2675
- kind: "exact_binding_mismatch",
2676
- detail: "active ECDSA material sealing key id does not match"
2677
- };
2678
- } catch (error) {
2679
- return {
2680
- kind: "corrupt",
2681
- detail: errorMessage(error)
2682
- };
2683
- }
2684
- if (await ciphertextDigestB64u(material.ciphertextB64u) !== material.binding.ciphertextDigest) return {
2685
- kind: "corrupt",
2686
- detail: "active ECDSA material ciphertext digest is invalid"
2687
- };
2688
- return {
2689
- kind: "active",
2690
- manifest: parsedManifest.manifest,
2691
- material
2692
- };
2693
- }
2694
- async function lookupWithoutPointer(context, selector) {
2695
- const rows = await context.store(MANIFEST_STORE).index(SEAMS_WALLET_INDEXES.capabilityWallet).getAll([String(selector.capability), String(selector.authority.walletId)]);
2696
- if (rows.length === 0) return {
2697
- kind: "missing",
2698
- subject: "capability",
2699
- detail: "no ECDSA capability manifest exists"
2700
- };
2701
- let hasDifferentAuthority = false;
2702
- let hasExactAuthority = false;
2703
- let hasSameMethodUnderAnotherDigest = false;
2704
- for (const raw of rows) {
2705
- let parsed;
2706
- try {
2707
- parsed = parseManifestRow(raw);
2708
- } catch (error) {
2709
- return {
2710
- kind: "corrupt",
2711
- detail: errorMessage(error)
2712
- };
2713
- }
2714
- if (selectorsMatch(parsed.selector, selector)) {
2715
- hasExactAuthority = true;
2716
- continue;
2717
- }
2718
- hasDifferentAuthority = true;
2719
- if (parsed.selector.authority.walletAuthMethodId === selector.authority.walletAuthMethodId) hasSameMethodUnderAnotherDigest = true;
2720
- }
2721
- if (hasExactAuthority) return {
2722
- kind: "exact_record_conflict",
2723
- detail: "exact ECDSA authority has manifest history without a current pointer"
2724
- };
2725
- if (hasSameMethodUnderAnotherDigest) return {
2726
- kind: "exact_binding_mismatch",
2727
- detail: "ECDSA capability exists for this method under a different authority digest"
2728
- };
2729
- if (hasDifferentAuthority) return {
2730
- kind: "missing",
2731
- subject: "capability",
2732
- detail: "no ECDSA capability manifest exists for this exact authority"
2733
- };
2734
- return {
2735
- kind: "missing",
2736
- subject: "capability",
2737
- detail: "no exact ECDSA capability manifest exists"
2738
- };
2739
- }
2740
- async function retireClientPresignaturesForActivationInTransaction(context, walletId, materialActivationId) {
2741
- const store = context.store(PRESIGNATURE_STORE);
2742
- const rows = await store.index(SEAMS_WALLET_INDEXES.walletMaterialActivationId).getAll([walletId, materialActivationId]);
2743
- for (const raw of rows) {
2744
- const recordId = rawRecordId(raw);
2745
- if (recordId) await store.delete(recordId);
2746
- }
2747
- }
2748
1149
  async function finalizeInTransaction(context, input, activeProof, selector) {
2749
1150
  const journalStore = context.store(JOURNAL_STORE);
2750
1151
  const journalRaw = await journalStore.get(input.committedJournal.journalId);
@@ -2753,7 +1154,7 @@ async function finalizeInTransaction(context, input, activeProof, selector) {
2753
1154
  try {
2754
1155
  persistedJournal = parseJournalRow(journalRaw);
2755
1156
  } catch (error) {
2756
- throw new FinalizationControlError("corrupt", errorMessage(error));
1157
+ throw new FinalizationControlError("corrupt", ecdsaManifestErrorMessage(error));
2757
1158
  }
2758
1159
  if (persistedJournal.journal.kind !== "server_activation_committed" || !selectorsMatch(persistedJournal.selector, selector) || !ecdsaActivationCommitJournalsMatch(persistedJournal.journal, input.committedJournal)) throw new FinalizationControlError("exact_record_conflict", "ECDSA finalization journal does not match its committed activation");
2759
1160
  const sealingKeyRaw = await context.store(SEALING_KEY_STORE).get(input.readyMaterial.sealingKeyId);
@@ -2761,13 +1162,13 @@ async function finalizeInTransaction(context, input, activeProof, selector) {
2761
1162
  try {
2762
1163
  parseSealingKeyRow(sealingKeyRaw);
2763
1164
  } catch (error) {
2764
- throw new FinalizationControlError("corrupt", errorMessage(error));
1165
+ throw new FinalizationControlError("corrupt", ecdsaManifestErrorMessage(error));
2765
1166
  }
2766
1167
  const pointerStore = context.store(POINTER_STORE);
2767
1168
  const pointerRaw = await pointerStore.get(selectorKey(selector));
2768
1169
  const expected = input.committedJournal.expectedManifest;
2769
1170
  const currentPointer = assertExpectedPointer(expected, pointerRaw, selector);
2770
- const activeRows = await context.store(MANIFEST_STORE).index(SEAMS_WALLET_INDEXES.capabilityWalletAuthorityState).getAll([...selectorKey(selector), "active"]);
1171
+ const activeRows = await readActiveManifestRows(context, selector);
2771
1172
  let previousProof = null;
2772
1173
  let previousSealingKeyId = null;
2773
1174
  if (currentPointer === null) {
@@ -2778,7 +1179,7 @@ async function finalizeInTransaction(context, input, activeProof, selector) {
2778
1179
  try {
2779
1180
  previousManifest = parseManifestRow(activeRows[0]);
2780
1181
  } catch (error) {
2781
- throw new FinalizationControlError("corrupt", errorMessage(error));
1182
+ throw new FinalizationControlError("corrupt", ecdsaManifestErrorMessage(error));
2782
1183
  }
2783
1184
  if (previousManifest.state !== "active" || previousManifest.manifest.identity.manifestId !== currentPointer.manifestId) throw new FinalizationControlError("exact_record_conflict", "replacement ECDSA activation current manifest does not match its pointer");
2784
1185
  if (input.committedJournal.activationCommand.expectedGeneration.kind !== "exact_generation" || previousManifest.activeProof.serverActivation.serverGeneration !== input.committedJournal.activationCommand.expectedGeneration.serverGeneration) throw new FinalizationControlError("exact_record_conflict", "replacement ECDSA activation server generation CAS did not match");
@@ -2790,7 +1191,7 @@ async function finalizeInTransaction(context, input, activeProof, selector) {
2790
1191
  if (previousMaterial.sealingKeyId === input.readyMaterial.sealingKeyId) throw new Error("replacement ECDSA activation must use a fresh material sealing key");
2791
1192
  previousSealingKeyId = previousMaterial.sealingKeyId;
2792
1193
  } catch (error) {
2793
- throw new FinalizationControlError("corrupt", errorMessage(error));
1194
+ throw new FinalizationControlError("corrupt", ecdsaManifestErrorMessage(error));
2794
1195
  }
2795
1196
  previousProof = previousManifest.activeProof;
2796
1197
  }
@@ -2809,6 +1210,6 @@ async function finalizeInTransaction(context, input, activeProof, selector) {
2809
1210
  await journalStore.delete(input.committedJournal.journalId);
2810
1211
  }
2811
1212
  //#endregion
2812
- export { IndexedDbEcdsaCapabilityManifestStore, copyWalletCustodyEcdsaContinuityToAuthMethod, importWalletCustodyEcdsaContinuity, persistPreparedImportedWalletCustodyEcdsaContinuityInTransaction, prepareWalletCustodyEcdsaContinuity };
1213
+ export { IndexedDbEcdsaCapabilityManifestStore, importCommittedActivation, persistPreparedImportedWalletCustodyEcdsaContinuityInTransaction, prepareImportedWalletCustodyEcdsaContinuity };
2813
1214
 
2814
1215
  //# sourceMappingURL=ecdsaCapabilityManifestStore.js.map