@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,15 +1,12 @@
1
1
  import { base64UrlDecode, base64UrlEncode } from "../utils/base64.js";
2
- import { parseLinkDeviceSessionId, parseLinkedDeviceEnrollmentId, parseLinkedDeviceId, parseMpcMaterialActivationRef, parseVerifiedEmailAddress, parseWalletAuthMethodId, parseWalletAuthorityId, parseWalletId, parseWalletKeyId, parseWebAuthnCredentialIdB64u, parseWebAuthnRpId } from "../utils/domainIds.js";
2
+ import { requireArray, requireRecord } from "../utils/validation.js";
3
3
  import { requireRouterAbX25519PublicKey } from "../utils/routerAbPublicKeyset.js";
4
- import { parseDigestB64u } from "../utils/canonicalPrimitives.js";
5
- import { parseDeviceId as parseDeviceId$1, parseMpcWalletSigningQuotaId, parseWalletSessionAuthorizationId, parseWalletSessionId } from "../authorization/capabilityKinds.js";
6
- import { delegatedWalletPermissionNamesV1, parseDelegatedWalletAuthorityV1 } from "../authorization/delegatedAuthority.js";
4
+ import { exactRecord } from "../utils/exactRecord.js";
5
+ import { wireLiteral, wireNullable, wireObject, wireUnion } from "../utils/wireSchema.js";
6
+ import { delegatedWalletPermissionNamesV1 } from "../authorization/delegatedAuthority.js";
7
+ import { parseEd25519PublicKeyB64u } from "../passkey-custody/primitives.js";
8
+ import { authorizationDeviceId, credentialId, digest, enrollmentId, linkedDeviceId, parseDelegatedWalletAuthority, parseNonEmptyToken, parseNonNegativeSafeInteger, parseTargetEmail, parseUnixTime, rpId, sessionId, walletAuthMethodId, walletAuthorityId, walletId, walletKeyId, walletSessionAuthorizationId, walletSessionId } from "./wireFields.js";
7
9
  import { parseWalletAddAuthMethodRegistrationOptions } from "../utils/addAuthMethodRegistration.js";
8
- import { parseLinkedDeviceWalletSessionCredentialDeliveryBindingV1, parseLinkedDeviceWalletSessionCredentialDeliveryV1 } from "./walletSessionCredentialDelivery.js";
9
- import { parseEd25519PublicKeyB64u, parseUnixMs, rejectUnknownFields, requireRecord } from "../passkey-custody/primitives.js";
10
- import { parseWalletAuthorityV1, parseWalletSignerActivationSetV1 } from "../authorization/walletAuthority.js";
11
- import { parseWalletAuthMethodRecordV2 } from "../utils/registrationIntent.js";
12
- import { parseWebAuthnAuthenticatorDeviceInfo } from "../utils/webauthnDeviceInfo.js";
13
10
  import { parseLinkedDeviceOrdinaryMaterialSourceContributionPreparationTupleV1, parseLinkedDeviceOrdinaryMaterialSourceContributionTupleV1 } from "./sourceContribution.js";
14
11
  import "./committedSignerPackages.js";
15
12
  //#region ../shared-ts/src/device-linking/parsers.ts
@@ -24,7 +21,6 @@ const QR_FIELDS = [
24
21
  "issuedAtMs",
25
22
  "expiresAtMs"
26
23
  ];
27
- const QR_EMAIL_FIELDS = [...QR_FIELDS, "targetEmail"];
28
24
  const COMPACT_QR_FIELDS = [
29
25
  "v",
30
26
  "s",
@@ -35,232 +31,16 @@ const COMPACT_QR_FIELDS = [
35
31
  "i",
36
32
  "e"
37
33
  ];
38
- const COMPACT_QR_EMAIL_FIELDS = [...COMPACT_QR_FIELDS, "t"];
39
- const OWNER_AUTHORIZATION_REQUEST_FIELDS = ["payload", "requestedAtMs"];
40
- const CLAIM_FIELDS = [
41
- "kind",
42
- "linkSessionId",
43
- "walletId",
44
- "enrollmentId",
45
- "deviceId",
46
- "devicePublicKeyB64u",
47
- "targetFactor",
48
- "sessionRevision",
49
- "claimedAtMs",
50
- "claimExpiresAtMs"
51
- ];
52
- const OWNER_AUTH_WALLET_SESSION_FIELDS = [
53
- "kind",
54
- "walletSessionId",
55
- "authorizationId"
56
- ];
57
- const ENROLLMENT_FIELDS = [
58
- "kind",
59
- "linkSessionId",
60
- "walletId",
61
- "enrollmentId",
62
- "deviceId",
63
- "linkPublicKeyB64u",
64
- "devicePublicKeyB64u",
65
- "permission",
66
- "targetFactor",
67
- "ownerAuthorization",
68
- "approvedAtMs",
69
- "expiresAtMs"
70
- ];
71
- const ENROLLMENT_FIELDS_WITH_SOURCE_CONTRIBUTION = [...ENROLLMENT_FIELDS, "sourceContribution"];
72
- const APPROVAL_DELIVERY_FIELDS = ["kind", "approval"];
73
- const CREDENTIAL_BASE_FIELDS = [
74
- "kind",
75
- "linkSessionId",
76
- "walletId",
77
- "enrollmentId",
78
- "deviceId",
79
- "walletAuthMethodId",
80
- "targetFactor",
81
- "targetPreparationDigestB64u",
82
- "ordinarySignerMaterialRecipientRequests",
83
- "registeredAtMs"
84
- ];
85
- const PASSKEY_CREDENTIAL_FIELDS = [...CREDENTIAL_BASE_FIELDS, "webauthnRegistration"];
86
- const EMAIL_OTP_CREDENTIAL_FIELDS = [
87
- ...CREDENTIAL_BASE_FIELDS,
88
- "targetEmail",
89
- "emailOtpVerificationGrant"
90
- ];
91
- const EMAIL_OTP_CREDENTIAL_NEW_FIELDS = [...EMAIL_OTP_CREDENTIAL_FIELDS, "emailOtpEnrollment"];
92
- const TARGET_PREPARATION_BASE_FIELDS = [
93
- "kind",
94
- "linkSessionId",
95
- "walletId",
96
- "enrollmentId",
97
- "deviceId",
98
- "deliveryRecipientPublicKey65B64u",
99
- "walletAuthMethodId",
100
- "ed25519ExportRoot",
101
- "targetFactor",
102
- "ordinarySignerMaterialRecipientRequirements",
103
- "issuedAtMs",
104
- "expiresAtMs"
105
- ];
106
- const TARGET_PREPARATION_REQUEST_FIELDS = [
107
- "kind",
108
- "linkSessionId",
109
- "deliveryRecipientPublicKey65B64u"
110
- ];
111
- const TARGET_PREPARATION_PASSKEY_FIELDS = [
112
- ...TARGET_PREPARATION_BASE_FIELDS,
113
- "passkeyCreationOptions",
114
- "passkeyConfigurationDigestB64u"
115
- ];
116
- const TARGET_PREPARATION_EMAIL_FIELDS = [
117
- ...TARGET_PREPARATION_BASE_FIELDS,
118
- "targetEmail",
119
- "enrollment",
120
- "baseWalletAuthMethodId"
121
- ];
122
- const TARGET_PREPARATION_EMAIL_NEW_FIELDS = [
123
- ...TARGET_PREPARATION_BASE_FIELDS,
124
- "targetEmail",
125
- "enrollment"
126
- ];
127
- const EMAIL_OTP_VERIFICATION_GRANT_BASE_FIELDS = [
128
- "kind",
129
- "grantId",
130
- "grantToken",
131
- "challengeId",
132
- "linkSessionId",
133
- "walletId",
134
- "enrollmentId",
135
- "deviceId",
136
- "targetPreparationDigestB64u",
137
- "targetEmail",
138
- "enrollment",
139
- "emailHashHex",
140
- "registrationAuthorityId",
141
- "providerUserId",
142
- "authorityDigestB64u",
143
- "issuedAtMs",
144
- "expiresAtMs"
145
- ];
146
- const EMAIL_OTP_VERIFICATION_GRANT_FIELDS = [...EMAIL_OTP_VERIFICATION_GRANT_BASE_FIELDS, "baseWalletAuthMethodId"];
147
- const EMAIL_OTP_FACTOR_RELEASE_FIELDS = [
148
- "kind",
149
- "challengeId",
150
- "enrollmentId",
151
- "enrollmentSealKeyVersion",
152
- "serverEphemeralPublicKey65B64u",
153
- "nonce12B64u",
154
- "ciphertextB64u"
155
- ];
156
- const WEBAUTHN_REGISTRATION_FIELDS = [
157
- "kind",
158
- "credentialIdB64u",
159
- "authenticatorAttachment",
160
- "clientDataJsonB64u",
161
- "attestationObjectB64u",
162
- "transports"
163
- ];
164
- const APPROVAL_PENDING_FIELDS = ["outcome", "state"];
165
- const APPROVAL_REPLAY_FIELDS = ["outcome", "replay"];
166
- const APPROVAL_REPLAY_PENDING_FIELDS = ["state", "session"];
167
- const LINKED_DEVICE_SUMMARY_FIELDS = [
168
- "deviceId",
169
- "enrollmentId",
170
- "walletId",
171
- "credential",
172
- "permission",
173
- "keyManifestDigestB64u",
174
- "coveredWalletKeys",
175
- "state",
176
- "createdAtMs",
177
- "lastActivityAtMs",
178
- "revocationEpoch"
179
- ];
180
- const LINKED_OWNER_PASSKEY_CREDENTIAL_FIELDS = [
181
- "kind",
182
- "walletAuthMethodId",
183
- "credentialIdB64u",
184
- "device"
185
- ];
186
- const LINKED_OWNER_EMAIL_OTP_CREDENTIAL_FIELDS = [
187
- "kind",
188
- "walletAuthMethodId",
189
- "email"
190
- ];
191
- const LINKED_DEVICE_LIST_REQUEST_FIELDS = [
192
- "kind",
193
- "walletId",
194
- "limit",
195
- "cursor"
196
- ];
197
- const OWNER_DEVICE_SUMMARY_FIELDS = [
198
- "walletId",
199
- "walletAuthorityId",
200
- "credential",
201
- "createdAtMs",
202
- "lastActivityAtMs"
203
- ];
204
- const LINKED_DEVICE_LIST_RESULT_FIELDS = [
205
- "devices",
206
- "ownerDevices",
207
- "nextCursor"
208
- ];
209
- const LINKED_DEVICE_REVOKE_REQUEST_FIELDS = [
210
- "kind",
211
- "walletId",
212
- "walletAuthMethodId",
213
- "requestedAtMs"
214
- ];
215
- const LINKED_DEVICE_REVOKE_SUCCESS_FIELDS = [
216
- "kind",
217
- "walletAuthMethodId",
218
- "authorityId",
219
- "revocationEpoch"
220
- ];
221
- const LINKED_DEVICE_REVOKE_FAILURE_FIELDS = ["kind"];
222
- function exactRecord(raw, fields, label) {
223
- const record = requireRecord(raw, label);
224
- rejectUnknownFields(record, fields, label);
225
- for (const field of fields) if (!Object.prototype.hasOwnProperty.call(record, field) || record[field] === void 0) throw new Error(`${label}.${field} is required`);
226
- return record;
227
- }
228
- function parseId(parser, raw, label) {
229
- const result = parser(raw);
230
- if (result.ok) return result.value;
231
- throw new Error(`${label} ${result.error.message}`);
232
- }
233
- function parseLinkedDeviceRevokeWalletAuthMethodId(raw, label) {
234
- const value = parseId(parseWalletAuthMethodId, raw, label);
235
- if (value.startsWith("wallet-authority:") || value.startsWith("authority:")) throw new Error(`${label} must identify a WalletAuthMethodId`);
236
- return value;
237
- }
238
- function parseUnixTime(raw, label) {
239
- try {
240
- return parseUnixMs(raw, label);
241
- } catch (error) {
242
- throw new Error(error instanceof Error ? error.message : `${label} is invalid`);
243
- }
34
+ function supportedLiteral(...values) {
35
+ return (raw, label) => {
36
+ if (!values.includes(raw)) throw new Error(`${label} is unsupported`);
37
+ return raw;
38
+ };
244
39
  }
245
40
  function parseEmailHashHex(raw, label) {
246
41
  if (typeof raw !== "string" || !/^[0-9a-f]{64}$/.test(raw)) throw new Error(`${label} must be 32 canonical lowercase hex bytes`);
247
42
  return raw;
248
43
  }
249
- function parseNonEmptyToken(raw, label) {
250
- if (typeof raw !== "string" || raw.length === 0 || raw.trim() !== raw) throw new Error(`${label} must be a non-empty canonical string`);
251
- for (const character of raw) {
252
- const code = character.charCodeAt(0);
253
- if (/\s/.test(character) || code <= 31 || code === 127) throw new Error(`${label} must not contain whitespace or control characters`);
254
- }
255
- return raw;
256
- }
257
- function parseDigest(raw, label) {
258
- try {
259
- return parseDigestB64u(raw);
260
- } catch (error) {
261
- throw new Error(`${label} ${error instanceof Error ? error.message : "is invalid"}`);
262
- }
263
- }
264
44
  function parsePublicKey(raw, label) {
265
45
  if (typeof raw !== "string" || raw.length === 0 || !/^[A-Za-z0-9_-]+$/.test(raw)) throw new Error(`${label} must be canonical unpadded base64url`);
266
46
  try {
@@ -320,33 +100,15 @@ function parseLinkDevicePublicKeyB64u(raw) {
320
100
  return parsePublicKey(raw, "LinkDevicePublicKeyB64u");
321
101
  }
322
102
  function parseCredential(raw, label) {
323
- return parseId(parseWebAuthnCredentialIdB64u, parseCanonicalBase64UrlBytes(raw, label), label);
103
+ return credentialId(parseCanonicalBase64UrlBytes(raw, label), label);
324
104
  }
325
105
  function parseKeyFamily(raw, label) {
326
106
  if (raw !== "ed25519" && raw !== "ecdsa_secp256k1") throw new Error(`${label} must identify a supported key family`);
327
107
  return raw;
328
108
  }
329
- function parseNonNegativeSafeInteger(raw, label) {
330
- if (!Number.isSafeInteger(raw) || Number(raw) < 0) throw new Error(`${label} must be a non-negative safe integer`);
331
- return Number(raw);
332
- }
333
- function parsePositiveSafeInteger(raw, label) {
334
- const value = parseNonNegativeSafeInteger(raw, label);
335
- if (value < 1) throw new Error(`${label} must be a positive safe integer`);
336
- return value;
337
- }
338
- function parseNullableCursor(raw, label) {
339
- if (raw === null) return null;
340
- return parseNonEmptyToken(raw, label);
341
- }
342
109
  function assertExpiryAfterIssued(issuedAtMs, expiresAtMs, label) {
343
110
  if (expiresAtMs <= issuedAtMs) throw new Error(`${label}.expiresAtMs must be after issuedAtMs`);
344
111
  }
345
- function parseDelegatedWalletAuthority(raw, label) {
346
- const result = parseDelegatedWalletAuthorityV1(raw);
347
- if (!result.ok) throw new Error(`${label}: ${result.error.message}`);
348
- return result.value;
349
- }
350
112
  function delegatedWalletAuthorityWireValue(value) {
351
113
  return {
352
114
  kind: value.kind,
@@ -377,36 +139,31 @@ function parseTargetFactor(raw, label) {
377
139
  default: throw new Error(`${label}.kind is unsupported`);
378
140
  }
379
141
  }
380
- function parseTargetEmail(raw, label) {
381
- const parsed = parseVerifiedEmailAddress(raw);
382
- if (!parsed.ok) throw new Error(`${label} ${parsed.error.message}`);
383
- return parsed.value;
142
+ function passkeyTargetFactorV1() {
143
+ return wireObject({ kind: wireLiteral("passkey_prf") });
384
144
  }
385
- function parseEmailOtpEnrollmentSelection(raw, label) {
386
- const record = requireRecord(raw, label);
387
- if (record.kind === "existing_enrollment") {
388
- exactRecord(record, ["kind"], label);
389
- return { kind: "existing_enrollment" };
390
- }
391
- if (record.kind === "new_enrollment") {
392
- exactRecord(record, ["kind"], label);
393
- return { kind: "new_enrollment" };
394
- }
395
- throw new Error(`${label}.kind is invalid`);
145
+ function emailOtpTargetFactorV1() {
146
+ return wireObject({ kind: wireLiteral("email_otp") });
396
147
  }
397
- function parseEmailOtpEnrollmentMaterial(raw, label) {
398
- const record = exactRecord(raw, [
399
- "enrollmentSealKeyVersion",
400
- "clientUnlockPublicKeyB64u",
401
- "unlockKeyVersion",
402
- "serverSealedFactorCiphertextB64u"
403
- ], label);
404
- return {
405
- enrollmentSealKeyVersion: parseNonEmptyToken(record.enrollmentSealKeyVersion, `${label}.enrollmentSealKeyVersion`),
406
- clientUnlockPublicKeyB64u: parseNonEmptyToken(record.clientUnlockPublicKeyB64u, `${label}.clientUnlockPublicKeyB64u`),
407
- unlockKeyVersion: parseNonEmptyToken(record.unlockKeyVersion, `${label}.unlockKeyVersion`),
408
- serverSealedFactorCiphertextB64u: parseNonEmptyToken(record.serverSealedFactorCiphertextB64u, `${label}.serverSealedFactorCiphertextB64u`)
409
- };
148
+ function existingEnrollmentV1() {
149
+ return wireObject({ kind: wireLiteral("existing_enrollment") });
150
+ }
151
+ function newEnrollmentV1() {
152
+ return wireObject({ kind: wireLiteral("new_enrollment") });
153
+ }
154
+ function emailOtpEnrollmentSelectionV1() {
155
+ return wireUnion("kind", [existingEnrollmentV1(), newEnrollmentV1()]);
156
+ }
157
+ function parseEmailOtpEnrollmentSelection(raw, label) {
158
+ return emailOtpEnrollmentSelectionV1()(raw, label);
159
+ }
160
+ function emailOtpEnrollmentMaterialV1() {
161
+ return wireObject({
162
+ enrollmentSealKeyVersion: parseNonEmptyToken,
163
+ clientUnlockPublicKeyB64u: parseNonEmptyToken,
164
+ unlockKeyVersion: parseNonEmptyToken,
165
+ serverSealedFactorCiphertextB64u: parseNonEmptyToken
166
+ });
410
167
  }
411
168
  function parseApprovedTargetFactor(raw, label) {
412
169
  const record = requireRecord(raw, label);
@@ -421,7 +178,7 @@ function parseApprovedTargetFactor(raw, label) {
421
178
  kind: "email_otp",
422
179
  targetEmail,
423
180
  enrollment,
424
- baseWalletAuthMethodId: parseId(parseWalletAuthMethodId, exactRecord(record, [
181
+ baseWalletAuthMethodId: walletAuthMethodId(exactRecord(record, [
425
182
  "kind",
426
183
  "targetEmail",
427
184
  "enrollment",
@@ -441,131 +198,6 @@ function parseApprovedTargetFactor(raw, label) {
441
198
  }
442
199
  throw new Error(`${label}.kind is unsupported`);
443
200
  }
444
- function parseSessionId(raw, label) {
445
- return parseId(parseLinkDeviceSessionId, raw, label);
446
- }
447
- function parseWallet(raw, label) {
448
- return parseId(parseWalletId, raw, label);
449
- }
450
- function parseEnrollmentId(raw, label) {
451
- return parseId(parseLinkedDeviceEnrollmentId, raw, label);
452
- }
453
- function parseDeviceId(raw, label) {
454
- return parseId(parseLinkedDeviceId, raw, label);
455
- }
456
- function parseWalletKey(raw, label) {
457
- return parseId(parseWalletKeyId, raw, label);
458
- }
459
- function parseWalletSession(raw, label) {
460
- return parseId(parseWalletSessionId, raw, label);
461
- }
462
- function parseWalletAuthorization(raw, label) {
463
- return parseId(parseWalletSessionAuthorizationId, raw, label);
464
- }
465
- function parseLinkedOwnerCredentialMetadata(raw, label) {
466
- const record = requireRecord(raw, label);
467
- switch (record.kind) {
468
- case "passkey": {
469
- const exact = exactRecord(record, LINKED_OWNER_PASSKEY_CREDENTIAL_FIELDS, label);
470
- const device = parseWebAuthnAuthenticatorDeviceInfo(exact.device);
471
- if (!device) throw new Error(`${label}.device is invalid`);
472
- return {
473
- kind: "passkey",
474
- walletAuthMethodId: parseId(parseWalletAuthMethodId, exact.walletAuthMethodId, `${label}.walletAuthMethodId`),
475
- credentialIdB64u: parseId(parseWebAuthnCredentialIdB64u, exact.credentialIdB64u, `${label}.credentialIdB64u`),
476
- device
477
- };
478
- }
479
- case "email_otp": {
480
- const exact = exactRecord(record, LINKED_OWNER_EMAIL_OTP_CREDENTIAL_FIELDS, label);
481
- return {
482
- kind: "email_otp",
483
- walletAuthMethodId: parseId(parseWalletAuthMethodId, exact.walletAuthMethodId, `${label}.walletAuthMethodId`),
484
- email: parseTargetEmail(exact.email, `${label}.email`)
485
- };
486
- }
487
- default: throw new Error(`${label}.kind is invalid`);
488
- }
489
- }
490
- function parseLinkedDeviceSummaryRecord(record) {
491
- const state = record.state;
492
- if (state !== "provisioning" && state !== "active" && state !== "suspended" && state !== "expired" && state !== "revoked") throw new Error("LinkedDeviceSummaryV1.state is invalid");
493
- if (!Array.isArray(record.coveredWalletKeys)) throw new Error("LinkedDeviceSummaryV1.coveredWalletKeys is invalid");
494
- const coveredWalletKeys = record.coveredWalletKeys.map((value, index) => parseWalletKey(value, `LinkedDeviceSummaryV1.coveredWalletKeys[${index}]`));
495
- return {
496
- deviceId: parseDeviceId(record.deviceId, "LinkedDeviceSummaryV1.deviceId"),
497
- enrollmentId: parseEnrollmentId(record.enrollmentId, "LinkedDeviceSummaryV1.enrollmentId"),
498
- walletId: parseWallet(record.walletId, "LinkedDeviceSummaryV1.walletId"),
499
- credential: parseLinkedOwnerCredentialMetadata(record.credential, "LinkedDeviceSummaryV1.credential"),
500
- permission: parseDelegatedWalletAuthority(record.permission, "LinkedDeviceSummaryV1.permission"),
501
- keyManifestDigestB64u: parseDigest(record.keyManifestDigestB64u, "LinkedDeviceSummaryV1.keyManifestDigestB64u"),
502
- coveredWalletKeys,
503
- state,
504
- createdAtMs: parseUnixTime(record.createdAtMs, "LinkedDeviceSummaryV1.createdAtMs"),
505
- lastActivityAtMs: parseUnixTime(record.lastActivityAtMs, "LinkedDeviceSummaryV1.lastActivityAtMs"),
506
- revocationEpoch: parseNonNegativeSafeInteger(record.revocationEpoch, "LinkedDeviceSummaryV1.revocationEpoch")
507
- };
508
- }
509
- function parseLinkedDeviceSummaryV1(raw) {
510
- return parseLinkedDeviceSummaryRecord(exactRecord(raw, LINKED_DEVICE_SUMMARY_FIELDS, "LinkedDeviceSummaryV1"));
511
- }
512
- function parseLinkedDeviceListRequestV1(raw) {
513
- const record = exactRecord(raw, LINKED_DEVICE_LIST_REQUEST_FIELDS, "LinkedDeviceListRequestV1");
514
- if (record.kind !== "linked_device_list_request_v1") throw new Error("LinkedDeviceListRequestV1.kind is invalid");
515
- return {
516
- kind: "linked_device_list_request_v1",
517
- walletId: parseWallet(record.walletId, "LinkedDeviceListRequestV1.walletId"),
518
- limit: parsePositiveSafeInteger(record.limit, "LinkedDeviceListRequestV1.limit"),
519
- cursor: parseNullableCursor(record.cursor, "LinkedDeviceListRequestV1.cursor")
520
- };
521
- }
522
- function parseOwnerDeviceSummaryV1(raw) {
523
- const record = exactRecord(raw, OWNER_DEVICE_SUMMARY_FIELDS, "OwnerDeviceSummaryV1");
524
- return {
525
- walletId: parseWallet(record.walletId, "OwnerDeviceSummaryV1.walletId"),
526
- walletAuthorityId: parseId(parseWalletAuthorityId, record.walletAuthorityId, "OwnerDeviceSummaryV1.walletAuthorityId"),
527
- credential: parseLinkedOwnerCredentialMetadata(record.credential, "OwnerDeviceSummaryV1.credential"),
528
- createdAtMs: parseUnixTime(record.createdAtMs, "OwnerDeviceSummaryV1.createdAtMs"),
529
- lastActivityAtMs: parseUnixTime(record.lastActivityAtMs, "OwnerDeviceSummaryV1.lastActivityAtMs")
530
- };
531
- }
532
- function parseLinkedDeviceListResultV1(raw) {
533
- const record = exactRecord(raw, LINKED_DEVICE_LIST_RESULT_FIELDS, "LinkedDeviceListResultV1");
534
- if (!Array.isArray(record.devices)) throw new Error("LinkedDeviceListResultV1.devices is invalid");
535
- if (!Array.isArray(record.ownerDevices)) throw new Error("LinkedDeviceListResultV1.ownerDevices is invalid");
536
- return {
537
- devices: record.devices.map(parseLinkedDeviceSummaryV1),
538
- ownerDevices: record.ownerDevices.map(parseOwnerDeviceSummaryV1),
539
- nextCursor: parseNullableCursor(record.nextCursor, "LinkedDeviceListResultV1.nextCursor")
540
- };
541
- }
542
- function parseLinkedDeviceRevokeRequestV1(raw) {
543
- const record = exactRecord(raw, LINKED_DEVICE_REVOKE_REQUEST_FIELDS, "LinkedDeviceRevokeRequestV1");
544
- if (record.kind !== "linked_device_revoke_request_v1") throw new Error("LinkedDeviceRevokeRequestV1.kind is invalid");
545
- return {
546
- kind: "linked_device_revoke_request_v1",
547
- walletId: parseWallet(record.walletId, "LinkedDeviceRevokeRequestV1.walletId"),
548
- walletAuthMethodId: parseLinkedDeviceRevokeWalletAuthMethodId(record.walletAuthMethodId, "LinkedDeviceRevokeRequestV1.walletAuthMethodId"),
549
- requestedAtMs: parseUnixTime(record.requestedAtMs, "LinkedDeviceRevokeRequestV1.requestedAtMs")
550
- };
551
- }
552
- function parseLinkedDeviceRevokeResultV1(raw) {
553
- const initial = requireRecord(raw, "LinkedDeviceRevokeResultV1");
554
- if (initial.kind === "not_found" || initial.kind === "conflict" || initial.kind === "unauthorized") switch (exactRecord(initial, LINKED_DEVICE_REVOKE_FAILURE_FIELDS, "LinkedDeviceRevokeResultV1").kind) {
555
- case "not_found": return { kind: "not_found" };
556
- case "conflict": return { kind: "conflict" };
557
- case "unauthorized": return { kind: "unauthorized" };
558
- default: throw new Error("LinkedDeviceRevokeResultV1.kind is invalid");
559
- }
560
- const record = exactRecord(initial, LINKED_DEVICE_REVOKE_SUCCESS_FIELDS, "LinkedDeviceRevokeResultV1");
561
- if (record.kind !== "revoked") throw new Error("LinkedDeviceRevokeResultV1.kind is invalid");
562
- return {
563
- kind: record.kind,
564
- walletAuthMethodId: parseLinkedDeviceRevokeWalletAuthMethodId(record.walletAuthMethodId, "LinkedDeviceRevokeResultV1.walletAuthMethodId"),
565
- authorityId: parseId(parseWalletAuthorityId, record.authorityId, "LinkedDeviceRevokeResultV1.authorityId"),
566
- revocationEpoch: parseNonNegativeSafeInteger(record.revocationEpoch, "LinkedDeviceRevokeResultV1.revocationEpoch")
567
- };
568
- }
569
201
  function parseQrPayloadRecord(record) {
570
202
  if (record.version !== "v5") throw new Error("QrLinkedDeviceSessionPayloadV5.version is invalid");
571
203
  if (record.purpose !== "linked_device_lane_creation") throw new Error("QrLinkedDeviceSessionPayloadV5.purpose is invalid");
@@ -575,7 +207,7 @@ function parseQrPayloadRecord(record) {
575
207
  const base = {
576
208
  version: "v5",
577
209
  purpose: "linked_device_lane_creation",
578
- linkSessionId: parseSessionId(record.linkSessionId, "QrLinkedDeviceSessionPayloadV5.linkSessionId"),
210
+ linkSessionId: sessionId(record.linkSessionId, "QrLinkedDeviceSessionPayloadV5.linkSessionId"),
579
211
  linkPublicKeyB64u: parsePublicKey(record.linkPublicKeyB64u, "QrLinkedDeviceSessionPayloadV5.linkPublicKeyB64u"),
580
212
  devicePublicKeyB64u: parsePublicKey(record.devicePublicKeyB64u, "QrLinkedDeviceSessionPayloadV5.devicePublicKeyB64u"),
581
213
  requestedPermission: parseDelegatedWalletAuthority(record.requestedPermission, "QrLinkedDeviceSessionPayloadV5.requestedPermission"),
@@ -595,7 +227,7 @@ function parseQrPayloadRecord(record) {
595
227
  }
596
228
  function parseQrLinkedDeviceSessionPayloadV5(raw) {
597
229
  const candidate = requireRecord(raw, "QrLinkedDeviceSessionPayloadV5");
598
- return parseQrPayloadRecord(exactRecord(candidate, parseTargetFactor(candidate.targetFactor, "QrLinkedDeviceSessionPayloadV5.targetFactor").kind === "email_otp" ? QR_EMAIL_FIELDS : QR_FIELDS, "QrLinkedDeviceSessionPayloadV5"));
230
+ return parseQrPayloadRecord(exactRecord(candidate, parseTargetFactor(candidate.targetFactor, "QrLinkedDeviceSessionPayloadV5.targetFactor").kind === "email_otp" ? [...QR_FIELDS, "targetEmail"] : QR_FIELDS, "QrLinkedDeviceSessionPayloadV5"));
599
231
  }
600
232
  function serializeQrLinkedDeviceSessionPayloadV5(payload) {
601
233
  const parsed = parseQrPayloadRecord(qrPayloadWireValue(payload));
@@ -622,7 +254,7 @@ function parseQrLinkedDeviceSessionTextV5(raw) {
622
254
  throw new Error("Linked-device QR payload is not valid JSON");
623
255
  }
624
256
  const candidate = requireRecord(decoded, "LinkedDeviceQrV5");
625
- const compact = exactRecord(candidate, (candidate.f === "e" ? "email_otp" : "passkey_prf") === "email_otp" ? COMPACT_QR_EMAIL_FIELDS : COMPACT_QR_FIELDS, "LinkedDeviceQrV5");
257
+ const compact = exactRecord(candidate, (candidate.f === "e" ? "email_otp" : "passkey_prf") === "email_otp" ? [...COMPACT_QR_FIELDS, "t"] : COMPACT_QR_FIELDS, "LinkedDeviceQrV5");
626
258
  if (compact.v !== 5) throw new Error("LinkedDeviceQrV5.v is invalid");
627
259
  if (compact.f !== "p" && compact.f !== "e") throw new Error("LinkedDeviceQrV5.f is invalid");
628
260
  const payload = {
@@ -644,91 +276,58 @@ function parseQrLinkedDeviceSessionTextV5(raw) {
644
276
  targetFactor: { kind: "passkey_prf" }
645
277
  });
646
278
  }
279
+ function linkedDeviceOwnerAuthorizationRequestV1() {
280
+ return wireObject({
281
+ payload: parseQrLinkedDeviceSessionPayloadV5,
282
+ requestedAtMs: parseUnixTime
283
+ });
284
+ }
647
285
  function parseLinkedDeviceOwnerAuthorizationRequestV1(raw) {
648
- const record = exactRecord(raw, OWNER_AUTHORIZATION_REQUEST_FIELDS, "LinkedDeviceOwnerAuthorizationRequestV1");
649
- const requestedAtMs = parseUnixTime(record.requestedAtMs, "LinkedDeviceOwnerAuthorizationRequestV1.requestedAtMs");
650
- return {
651
- payload: parseQrLinkedDeviceSessionPayloadV5(record.payload),
652
- requestedAtMs
653
- };
286
+ return linkedDeviceOwnerAuthorizationRequestV1()(raw, "LinkedDeviceOwnerAuthorizationRequestV1");
287
+ }
288
+ function linkSessionStatesV1() {
289
+ const withDevice = (state) => wireObject({
290
+ state: wireLiteral(state),
291
+ deviceId: authorizationDeviceId
292
+ });
293
+ return [
294
+ wireObject({ state: wireLiteral("displaying_qr") }),
295
+ withDevice("claimed"),
296
+ withDevice("awaiting_target_factor"),
297
+ withDevice("awaiting_source_contribution"),
298
+ withDevice("provisioning"),
299
+ wireObject({
300
+ state: wireLiteral("authority_pending_local_install"),
301
+ deviceId: authorizationDeviceId,
302
+ authorityId: walletAuthorityId,
303
+ packageSetDigestB64u: digest
304
+ }),
305
+ wireObject({
306
+ state: wireLiteral("active"),
307
+ deviceId: authorizationDeviceId,
308
+ authorityId: walletAuthorityId,
309
+ activatedAtMs: parseUnixTime
310
+ }),
311
+ wireObject({
312
+ state: wireLiteral("failed_before_commit"),
313
+ error: parseLinkPrecommitFailureV1
314
+ }),
315
+ wireObject({
316
+ state: wireLiteral("cancelled"),
317
+ cancelledAtMs: parseUnixTime
318
+ }),
319
+ wireObject({
320
+ state: wireLiteral("expired"),
321
+ expiredAtMs: parseUnixTime
322
+ })
323
+ ];
654
324
  }
655
- const LINK_SESSION_PROJECTION_FIELDS = [
656
- "kind",
657
- "linkSessionId",
658
- "qrPayload",
659
- "revision",
660
- "createdAtMs",
661
- "updatedAtMs",
662
- "state"
663
- ];
664
- const LINK_SESSION_EVENT_FIELDS = [
665
- "kind",
666
- "linkSessionId",
667
- "state",
668
- "emittedAtMs"
669
- ];
670
325
  function parseLinkSessionStateV1(raw) {
671
- const initial = requireRecord(raw, "LinkSessionStateV1");
672
- if (typeof initial.state !== "string") throw new Error("LinkSessionStateV1.state is invalid");
673
- switch (initial.state) {
674
- case "displaying_qr":
675
- exactRecord(initial, ["state"], "LinkSessionStateV1.displaying_qr");
676
- return { state: "displaying_qr" };
677
- case "claimed":
678
- case "awaiting_target_factor":
679
- case "awaiting_source_contribution":
680
- case "provisioning":
681
- exactRecord(initial, ["state", "deviceId"], `LinkSessionStateV1.${initial.state}`);
682
- return {
683
- state: initial.state,
684
- deviceId: parseId(parseDeviceId$1, initial.deviceId, `LinkSessionStateV1.${initial.state}.deviceId`)
685
- };
686
- case "authority_pending_local_install":
687
- exactRecord(initial, [
688
- "state",
689
- "deviceId",
690
- "authorityId",
691
- "packageSetDigestB64u"
692
- ], "LinkSessionStateV1.authority_pending_local_install");
693
- return {
694
- state: initial.state,
695
- deviceId: parseId(parseDeviceId$1, initial.deviceId, "LinkSessionStateV1.authority_pending_local_install.deviceId"),
696
- authorityId: parseId(parseWalletAuthorityId, initial.authorityId, "LinkSessionStateV1.authority_pending_local_install.authorityId"),
697
- packageSetDigestB64u: parseDigest(initial.packageSetDigestB64u, "LinkSessionStateV1.authority_pending_local_install.packageSetDigestB64u")
698
- };
699
- case "active":
700
- exactRecord(initial, [
701
- "state",
702
- "deviceId",
703
- "authorityId",
704
- "activatedAtMs"
705
- ], "LinkSessionStateV1.active");
706
- return {
707
- state: initial.state,
708
- deviceId: parseId(parseDeviceId$1, initial.deviceId, "LinkSessionStateV1.active.deviceId"),
709
- authorityId: parseId(parseWalletAuthorityId, initial.authorityId, "LinkSessionStateV1.active.authorityId"),
710
- activatedAtMs: parseUnixTime(initial.activatedAtMs, "LinkSessionStateV1.active.activatedAtMs")
711
- };
712
- case "failed_before_commit":
713
- exactRecord(initial, ["state", "error"], "LinkSessionStateV1.failed_before_commit");
714
- return {
715
- state: initial.state,
716
- error: parseLinkPrecommitFailureV1(initial.error)
717
- };
718
- case "cancelled":
719
- exactRecord(initial, ["state", "cancelledAtMs"], "LinkSessionStateV1.cancelled");
720
- return {
721
- state: initial.state,
722
- cancelledAtMs: parseUnixTime(initial.cancelledAtMs, "LinkSessionStateV1.cancelled.cancelledAtMs")
723
- };
724
- case "expired":
725
- exactRecord(initial, ["state", "expiredAtMs"], "LinkSessionStateV1.expired");
726
- return {
727
- state: initial.state,
728
- expiredAtMs: parseUnixTime(initial.expiredAtMs, "LinkSessionStateV1.expired.expiredAtMs")
729
- };
730
- default: throw new Error(`LinkSessionStateV1.state ${initial.state} is unsupported`);
731
- }
326
+ const state = requireRecord(raw, "LinkSessionStateV1").state;
327
+ if (typeof state !== "string") throw new Error("LinkSessionStateV1.state is invalid");
328
+ const schema = linkSessionStatesV1().find((variant) => variant.shape.state.literals.includes(state));
329
+ if (!schema) throw new Error(`LinkSessionStateV1.state ${state} is unsupported`);
330
+ return schema(raw, `LinkSessionStateV1.${state}`);
732
331
  }
733
332
  function parseLinkPrecommitFailureV1(raw) {
734
333
  const record = exactRecord(raw, ["kind", "reason"], "LinkPrecommitFailureV1");
@@ -738,43 +337,45 @@ function parseLinkPrecommitFailureV1(raw) {
738
337
  reason: parseNonEmptyToken(record.reason, "LinkPrecommitFailureV1.reason")
739
338
  };
740
339
  }
340
+ function linkSessionProjectionV1() {
341
+ return wireObject({
342
+ kind: wireLiteral("linked_device_session_projection_v1"),
343
+ linkSessionId: sessionId,
344
+ qrPayload: parseQrLinkedDeviceSessionPayloadV5,
345
+ revision: parseNonNegativeSafeInteger,
346
+ createdAtMs: parseUnixTime,
347
+ updatedAtMs: parseUnixTime,
348
+ state: parseLinkSessionStateV1
349
+ });
350
+ }
741
351
  function parseLinkSessionProjectionV1(raw) {
742
- const record = exactRecord(raw, LINK_SESSION_PROJECTION_FIELDS, "LinkSessionProjectionV1");
743
- if (record.kind !== "linked_device_session_projection_v1") throw new Error("LinkSessionProjectionV1.kind is invalid");
744
- return {
745
- kind: "linked_device_session_projection_v1",
746
- linkSessionId: parseSessionId(record.linkSessionId, "LinkSessionProjectionV1.linkSessionId"),
747
- qrPayload: parseQrLinkedDeviceSessionPayloadV5(record.qrPayload),
748
- revision: parseNonNegativeSafeInteger(record.revision, "LinkSessionProjectionV1.revision"),
749
- createdAtMs: parseUnixTime(record.createdAtMs, "LinkSessionProjectionV1.createdAtMs"),
750
- updatedAtMs: parseUnixTime(record.updatedAtMs, "LinkSessionProjectionV1.updatedAtMs"),
751
- state: parseLinkSessionStateV1(record.state)
752
- };
352
+ return linkSessionProjectionV1()(raw, "LinkSessionProjectionV1");
353
+ }
354
+ function linkSessionTransportEventV1() {
355
+ return wireObject({
356
+ kind: wireLiteral("linked_device_session_event_v1"),
357
+ linkSessionId: sessionId,
358
+ state: parseLinkSessionStateV1,
359
+ emittedAtMs: parseUnixTime
360
+ });
753
361
  }
754
362
  function parseLinkSessionTransportEventV1(raw) {
755
- const record = exactRecord(raw, LINK_SESSION_EVENT_FIELDS, "LinkSessionTransportEventV1");
756
- if (record.kind !== "linked_device_session_event_v1") throw new Error("LinkSessionTransportEventV1.kind is invalid");
757
- return {
758
- kind: "linked_device_session_event_v1",
759
- linkSessionId: parseSessionId(record.linkSessionId, "LinkSessionTransportEventV1.linkSessionId"),
760
- state: parseLinkSessionStateV1(record.state),
761
- emittedAtMs: parseUnixTime(record.emittedAtMs, "LinkSessionTransportEventV1.emittedAtMs")
762
- };
363
+ return linkSessionTransportEventV1()(raw, "LinkSessionTransportEventV1");
364
+ }
365
+ function linkedDeviceApprovalResultV1() {
366
+ return wireUnion("outcome", [wireObject({
367
+ outcome: wireLiteral("pending"),
368
+ state: parsePendingApprovalState
369
+ }), wireObject({
370
+ outcome: wireLiteral("replayed"),
371
+ replay: wireObject({
372
+ state: () => "pending",
373
+ session: parsePendingApprovalState
374
+ })
375
+ })]);
763
376
  }
764
377
  function parseLinkedDeviceApprovalResultV1(raw) {
765
- const initial = requireRecord(raw, "LinkedDeviceApprovalResultV1");
766
- if (initial.outcome === "pending") return {
767
- outcome: "pending",
768
- state: parsePendingApprovalState(exactRecord(initial, APPROVAL_PENDING_FIELDS, "LinkedDeviceApprovalResultV1").state)
769
- };
770
- if (initial.outcome !== "replayed") throw new Error("LinkedDeviceApprovalResultV1.outcome is invalid");
771
- return {
772
- outcome: "replayed",
773
- replay: {
774
- state: "pending",
775
- session: parsePendingApprovalState(exactRecord(exactRecord(initial, APPROVAL_REPLAY_FIELDS, "LinkedDeviceApprovalResultV1").replay, APPROVAL_REPLAY_PENDING_FIELDS, "LinkedDeviceApprovalResultV1.replay").session)
776
- }
777
- };
378
+ return linkedDeviceApprovalResultV1()(raw, "LinkedDeviceApprovalResultV1");
778
379
  }
779
380
  function parsePendingApprovalState(raw) {
780
381
  const state = parseLinkSessionStateV1(raw);
@@ -786,180 +387,189 @@ function parsePendingApprovalState(raw) {
786
387
  default: throw new Error("LinkedDeviceApprovalResultV1 state is not pending");
787
388
  }
788
389
  }
390
+ function linkedDeviceSessionClaimV1() {
391
+ return wireObject({
392
+ kind: wireLiteral("linked_device_session_claim_v1"),
393
+ linkSessionId: sessionId,
394
+ walletId,
395
+ enrollmentId,
396
+ deviceId: linkedDeviceId,
397
+ devicePublicKeyB64u: parsePublicKey,
398
+ targetFactor: parseTargetFactor,
399
+ sessionRevision: parseUnixTime,
400
+ claimedAtMs: parseUnixTime,
401
+ claimExpiresAtMs: parseUnixTime
402
+ }, (claim, label) => assertExpiryAfterIssued(claim.claimedAtMs, claim.claimExpiresAtMs, label));
403
+ }
789
404
  function parseLinkedDeviceSessionClaimV1(raw) {
790
- const record = exactRecord(raw, CLAIM_FIELDS, "LinkedDeviceSessionClaimV1");
791
- if (record.kind !== "linked_device_session_claim_v1") throw new Error("LinkedDeviceSessionClaimV1.kind is invalid");
792
- const claimedAtMs = parseUnixTime(record.claimedAtMs, "LinkedDeviceSessionClaimV1.claimedAtMs");
793
- const claimExpiresAtMs = parseUnixTime(record.claimExpiresAtMs, "LinkedDeviceSessionClaimV1.claimExpiresAtMs");
794
- assertExpiryAfterIssued(claimedAtMs, claimExpiresAtMs, "LinkedDeviceSessionClaimV1");
795
- return {
796
- kind: "linked_device_session_claim_v1",
797
- linkSessionId: parseSessionId(record.linkSessionId, "LinkedDeviceSessionClaimV1.linkSessionId"),
798
- walletId: parseWallet(record.walletId, "LinkedDeviceSessionClaimV1.walletId"),
799
- enrollmentId: parseEnrollmentId(record.enrollmentId, "LinkedDeviceSessionClaimV1.enrollmentId"),
800
- deviceId: parseDeviceId(record.deviceId, "LinkedDeviceSessionClaimV1.deviceId"),
801
- devicePublicKeyB64u: parsePublicKey(record.devicePublicKeyB64u, "LinkedDeviceSessionClaimV1.devicePublicKeyB64u"),
802
- targetFactor: parseTargetFactor(record.targetFactor, "LinkedDeviceSessionClaimV1.targetFactor"),
803
- sessionRevision: parseUnixTime(record.sessionRevision, "LinkedDeviceSessionClaimV1.sessionRevision"),
804
- claimedAtMs,
805
- claimExpiresAtMs
806
- };
405
+ return linkedDeviceSessionClaimV1()(raw, "LinkedDeviceSessionClaimV1");
406
+ }
407
+ function walletSessionOwnerAuthorizationV1() {
408
+ return wireObject({
409
+ kind: wireLiteral("wallet_session"),
410
+ walletSessionId,
411
+ authorizationId: walletSessionAuthorizationId
412
+ });
807
413
  }
808
414
  function parseLinkedDeviceOwnerAuthorizationSourceV1(raw, label = "ownerAuthorization") {
809
- const record = requireRecord(raw, label);
810
- if (record.kind === "wallet_session") {
811
- const exact = exactRecord(record, OWNER_AUTH_WALLET_SESSION_FIELDS, label);
812
- return {
813
- kind: "wallet_session",
814
- walletSessionId: parseWalletSession(exact.walletSessionId, `${label}.walletSessionId`),
815
- authorizationId: parseWalletAuthorization(exact.authorizationId, `${label}.authorizationId`)
816
- };
817
- }
818
- throw new Error(`${label}.kind is unsupported`);
415
+ if (requireRecord(raw, label).kind !== "wallet_session") throw new Error(`${label}.kind is unsupported`);
416
+ return walletSessionOwnerAuthorizationV1()(raw, label);
819
417
  }
820
- function parseEnrollmentCore(record, label) {
821
- const approvedAtMs = parseUnixTime(record.approvedAtMs, `${label}.approvedAtMs`);
822
- const expiresAtMs = parseUnixTime(record.expiresAtMs, `${label}.expiresAtMs`);
823
- assertExpiryAfterIssued(approvedAtMs, expiresAtMs, label);
824
- const core = {
825
- linkSessionId: parseSessionId(record.linkSessionId, `${label}.linkSessionId`),
826
- walletId: parseWallet(record.walletId, `${label}.walletId`),
827
- enrollmentId: parseEnrollmentId(record.enrollmentId, `${label}.enrollmentId`),
828
- deviceId: parseDeviceId(record.deviceId, `${label}.deviceId`),
829
- linkPublicKeyB64u: parsePublicKey(record.linkPublicKeyB64u, `${label}.linkPublicKeyB64u`),
830
- devicePublicKeyB64u: parsePublicKey(record.devicePublicKeyB64u, `${label}.devicePublicKeyB64u`),
831
- permission: parseDelegatedWalletAuthority(record.permission, `${label}.permission`),
832
- targetFactor: parseApprovedTargetFactor(record.targetFactor, `${label}.targetFactor`),
833
- ownerAuthorization: parseLinkedDeviceOwnerAuthorizationSourceV1(record.ownerAuthorization, `${label}.ownerAuthorization`),
834
- approvedAtMs,
835
- expiresAtMs
836
- };
837
- if (record.sourceContribution === void 0) return core;
418
+ function linkedDeviceApprovalFields() {
838
419
  return {
839
- ...core,
840
- sourceContribution: parseLinkedDeviceOrdinaryMaterialSourceContributionTupleV1(record.sourceContribution)
420
+ kind: wireLiteral("linked_device_approval_v1"),
421
+ linkSessionId: sessionId,
422
+ walletId,
423
+ enrollmentId,
424
+ deviceId: linkedDeviceId,
425
+ linkPublicKeyB64u: parsePublicKey,
426
+ devicePublicKeyB64u: parsePublicKey,
427
+ permission: parseDelegatedWalletAuthority,
428
+ targetFactor: parseApprovedTargetFactor,
429
+ ownerAuthorization: parseLinkedDeviceOwnerAuthorizationSourceV1,
430
+ approvedAtMs: parseUnixTime,
431
+ expiresAtMs: parseUnixTime
841
432
  };
842
433
  }
434
+ function approvedBeforeExpiry(approval, label) {
435
+ assertExpiryAfterIssued(approval.approvedAtMs, approval.expiresAtMs, label);
436
+ }
437
+ function linkedDeviceApprovalV1() {
438
+ return wireObject(linkedDeviceApprovalFields(), approvedBeforeExpiry);
439
+ }
440
+ function linkedDeviceSourceContributionApprovalV1() {
441
+ return wireObject({
442
+ ...linkedDeviceApprovalFields(),
443
+ sourceContribution: parseLinkedDeviceOrdinaryMaterialSourceContributionTupleV1
444
+ }, approvedBeforeExpiry);
445
+ }
843
446
  function parseLinkedDeviceApprovalV1(raw) {
844
- const candidate = requireRecord(raw, "LinkedDeviceApprovalV1");
845
- const record = exactRecord(candidate, candidate.sourceContribution === void 0 ? ENROLLMENT_FIELDS : ENROLLMENT_FIELDS_WITH_SOURCE_CONTRIBUTION, "LinkedDeviceApprovalV1");
846
- if (record.kind !== "linked_device_approval_v1") throw new Error("LinkedDeviceApprovalV1.kind is invalid");
847
- return {
848
- kind: "linked_device_approval_v1",
849
- ...parseEnrollmentCore(record, "LinkedDeviceApprovalV1")
850
- };
447
+ const record = requireRecord(raw, "LinkedDeviceApprovalV1");
448
+ return (record.sourceContribution === void 0 ? linkedDeviceApprovalV1() : linkedDeviceSourceContributionApprovalV1())(record, "LinkedDeviceApprovalV1");
449
+ }
450
+ function linkedDeviceApprovalDeliveryV1() {
451
+ return wireObject({
452
+ kind: wireLiteral("linked_device_approval_delivery_v1"),
453
+ approval: parseLinkedDeviceApprovalV1
454
+ });
851
455
  }
852
456
  function parseLinkedDeviceApprovalDeliveryV1(raw) {
853
- const record = exactRecord(raw, APPROVAL_DELIVERY_FIELDS, "LinkedDeviceApprovalDeliveryV1");
854
- if (record.kind !== "linked_device_approval_delivery_v1") throw new Error("LinkedDeviceApprovalDeliveryV1.kind is invalid");
457
+ return linkedDeviceApprovalDeliveryV1()(raw, "LinkedDeviceApprovalDeliveryV1");
458
+ }
459
+ function linkedDeviceTargetPreparationFields() {
855
460
  return {
856
- kind: "linked_device_approval_delivery_v1",
857
- approval: parseLinkedDeviceApprovalV1(record.approval)
461
+ kind: wireLiteral("linked_device_target_preparation_v1"),
462
+ linkSessionId: sessionId,
463
+ walletId,
464
+ enrollmentId,
465
+ deviceId: linkedDeviceId,
466
+ deliveryRecipientPublicKey65B64u: parseUncompressedP256PointB64u,
467
+ walletAuthMethodId,
468
+ ed25519ExportRoot: wireNullable(ed25519ExportRootPreparationV1()),
469
+ ordinarySignerMaterialRecipientRequirements: parseRecipientRequirements,
470
+ issuedAtMs: parseUnixTime,
471
+ expiresAtMs: parseUnixTime
858
472
  };
859
473
  }
474
+ function preparationExpiresAfterIssue(preparation, label) {
475
+ if (preparation.expiresAtMs <= preparation.issuedAtMs) throw new Error(`${label}.expiresAtMs must follow issuedAtMs`);
476
+ }
477
+ function passkeyTargetPreparationV1() {
478
+ return wireObject({
479
+ ...linkedDeviceTargetPreparationFields(),
480
+ targetFactor: passkeyTargetFactorV1(),
481
+ passkeyCreationOptions: parseLinkedDevicePasskeyCreationOptionsV1,
482
+ passkeyConfigurationDigestB64u: digest
483
+ }, (preparation, label) => {
484
+ preparationExpiresAfterIssue(preparation, label);
485
+ if (preparation.passkeyCreationOptions.walletAuthMethodId !== preparation.walletAuthMethodId) throw new Error(`${label}.passkeyCreationOptions.walletAuthMethodId must match the preparation`);
486
+ });
487
+ }
488
+ function emailOtpTargetPreparationV1() {
489
+ return wireObject({
490
+ ...linkedDeviceTargetPreparationFields(),
491
+ targetFactor: emailOtpTargetFactorV1(),
492
+ targetEmail: parseTargetEmail,
493
+ enrollment: existingEnrollmentV1(),
494
+ baseWalletAuthMethodId: walletAuthMethodId
495
+ }, preparationExpiresAfterIssue);
496
+ }
497
+ function newEmailOtpTargetPreparationV1() {
498
+ return wireObject({
499
+ ...linkedDeviceTargetPreparationFields(),
500
+ targetFactor: emailOtpTargetFactorV1(),
501
+ targetEmail: parseTargetEmail,
502
+ enrollment: newEnrollmentV1()
503
+ }, preparationExpiresAfterIssue);
504
+ }
860
505
  function parseLinkedDeviceTargetPreparationV1(raw) {
861
- const candidate = requireRecord(raw, "LinkedDeviceTargetPreparationV1");
862
- const targetFactor = parseTargetFactor(candidate.targetFactor, "LinkedDeviceTargetPreparationV1.targetFactor");
863
- const emailEnrollment = targetFactor.kind === "email_otp" ? parseEmailOtpEnrollmentSelection(candidate.enrollment, "LinkedDeviceTargetPreparationV1.enrollment") : null;
864
- const record = exactRecord(candidate, targetFactor.kind === "passkey_prf" ? TARGET_PREPARATION_PASSKEY_FIELDS : emailEnrollment?.kind === "new_enrollment" ? TARGET_PREPARATION_EMAIL_NEW_FIELDS : TARGET_PREPARATION_EMAIL_FIELDS, "LinkedDeviceTargetPreparationV1");
865
- if (record.kind !== "linked_device_target_preparation_v1") throw new Error("LinkedDeviceTargetPreparationV1.kind is invalid");
866
- const walletAuthMethodId = parseId(parseWalletAuthMethodId, record.walletAuthMethodId, "LinkedDeviceTargetPreparationV1.walletAuthMethodId");
867
- const ordinarySignerMaterialRecipientRequirements = parseOrdinarySignerMaterialRecipientRequirementsV1(record.ordinarySignerMaterialRecipientRequirements);
868
- const issuedAtMs = parseUnixTime(record.issuedAtMs, "LinkedDeviceTargetPreparationV1.issuedAtMs");
869
- const expiresAtMs = parseUnixTime(record.expiresAtMs, "LinkedDeviceTargetPreparationV1.expiresAtMs");
870
- if (expiresAtMs <= issuedAtMs) throw new Error("LinkedDeviceTargetPreparationV1.expiresAtMs must follow issuedAtMs");
871
- const ed25519ExportRoot = parseLinkedDeviceEd25519ExportRootPreparationV1(record.ed25519ExportRoot);
872
- const base = {
873
- kind: "linked_device_target_preparation_v1",
874
- linkSessionId: parseSessionId(record.linkSessionId, "LinkedDeviceTargetPreparationV1.linkSessionId"),
875
- walletId: parseWallet(record.walletId, "LinkedDeviceTargetPreparationV1.walletId"),
876
- enrollmentId: parseEnrollmentId(record.enrollmentId, "LinkedDeviceTargetPreparationV1.enrollmentId"),
877
- deviceId: parseDeviceId(record.deviceId, "LinkedDeviceTargetPreparationV1.deviceId"),
878
- deliveryRecipientPublicKey65B64u: parseUncompressedP256PointB64u(record.deliveryRecipientPublicKey65B64u, "LinkedDeviceTargetPreparationV1.deliveryRecipientPublicKey65B64u"),
879
- walletAuthMethodId,
880
- ed25519ExportRoot,
881
- ordinarySignerMaterialRecipientRequirements,
882
- issuedAtMs,
883
- expiresAtMs
884
- };
885
- if (targetFactor.kind === "passkey_prf") {
886
- const passkeyCreationOptions = parseLinkedDevicePasskeyCreationOptionsV1(record.passkeyCreationOptions, walletAuthMethodId);
887
- return {
888
- ...base,
889
- targetFactor,
890
- passkeyCreationOptions,
891
- passkeyConfigurationDigestB64u: parseDigest(record.passkeyConfigurationDigestB64u, "LinkedDeviceTargetPreparationV1.passkeyConfigurationDigestB64u")
892
- };
893
- }
894
- if (!emailEnrollment) throw new Error("Email OTP target preparation enrollment is missing");
895
- const targetEmail = parseTargetEmail(record.targetEmail, "LinkedDeviceTargetPreparationV1.targetEmail");
896
- if (emailEnrollment.kind === "new_enrollment") return {
897
- ...base,
898
- targetFactor,
899
- targetEmail,
900
- enrollment: emailEnrollment
901
- };
902
- return {
903
- ...base,
904
- targetFactor,
905
- targetEmail,
906
- enrollment: emailEnrollment,
907
- baseWalletAuthMethodId: parseId(parseWalletAuthMethodId, record.baseWalletAuthMethodId, "LinkedDeviceTargetPreparationV1.baseWalletAuthMethodId")
908
- };
506
+ const label = "LinkedDeviceTargetPreparationV1";
507
+ const record = requireRecord(raw, label);
508
+ if (parseTargetFactor(record.targetFactor, `${label}.targetFactor`).kind === "passkey_prf") return passkeyTargetPreparationV1()(record, label);
509
+ return (parseEmailOtpEnrollmentSelection(record.enrollment, `${label}.enrollment`).kind === "new_enrollment" ? newEmailOtpTargetPreparationV1() : emailOtpTargetPreparationV1())(record, label);
510
+ }
511
+ function linkedDeviceTargetPreparationRequestV1() {
512
+ return wireObject({
513
+ kind: wireLiteral("linked_device_target_preparation_request_v1"),
514
+ linkSessionId: sessionId,
515
+ deliveryRecipientPublicKey65B64u: parseUncompressedP256PointB64u
516
+ });
909
517
  }
910
518
  function parseLinkedDeviceTargetPreparationRequestV1(raw) {
911
- const record = exactRecord(raw, TARGET_PREPARATION_REQUEST_FIELDS, "LinkedDeviceTargetPreparationRequestV1");
912
- if (record.kind !== "linked_device_target_preparation_request_v1") throw new Error("LinkedDeviceTargetPreparationRequestV1.kind is invalid");
913
- return {
914
- kind: "linked_device_target_preparation_request_v1",
915
- linkSessionId: parseSessionId(record.linkSessionId, "LinkedDeviceTargetPreparationRequestV1.linkSessionId"),
916
- deliveryRecipientPublicKey65B64u: parseUncompressedP256PointB64u(record.deliveryRecipientPublicKey65B64u, "LinkedDeviceTargetPreparationRequestV1.deliveryRecipientPublicKey65B64u")
917
- };
519
+ return linkedDeviceTargetPreparationRequestV1()(raw, "LinkedDeviceTargetPreparationRequestV1");
520
+ }
521
+ function emailOtpBaseFactorChoiceV1() {
522
+ return wireObject({
523
+ baseWalletAuthMethodId: walletAuthMethodId,
524
+ maskedEmailHint: (raw, label) => {
525
+ if (typeof raw !== "string" || raw.length === 0) throw new Error(`${label} is invalid`);
526
+ return raw;
527
+ }
528
+ });
918
529
  }
919
- function parseLinkedDeviceEmailOtpBaseFactorChoiceV1(raw) {
920
- const record = exactRecord(raw, ["baseWalletAuthMethodId", "maskedEmailHint"], "LinkedDeviceEmailOtpBaseFactorChoiceV1");
921
- if (typeof record.maskedEmailHint !== "string" || record.maskedEmailHint.length === 0) throw new Error("LinkedDeviceEmailOtpBaseFactorChoiceV1.maskedEmailHint is invalid");
530
+ function emailOtpBaseFactorResolutionsV1() {
531
+ const choice = emailOtpBaseFactorChoiceV1();
532
+ const parseChoice = (raw) => choice(raw, "LinkedDeviceEmailOtpBaseFactorChoiceV1");
922
533
  return {
923
- baseWalletAuthMethodId: parseId(parseWalletAuthMethodId, record.baseWalletAuthMethodId, "LinkedDeviceEmailOtpBaseFactorChoiceV1.baseWalletAuthMethodId"),
924
- maskedEmailHint: record.maskedEmailHint
534
+ selected: wireObject({
535
+ kind: wireLiteral("selected"),
536
+ choice: parseChoice
537
+ }),
538
+ selection_required: wireObject({
539
+ kind: wireLiteral("selection_required"),
540
+ choices: (raw, label) => {
541
+ if (!Array.isArray(raw) || raw.length === 0) throw new Error(`${label} must not be empty`);
542
+ const choices = raw.map(parseChoice);
543
+ return [choices[0], ...choices.slice(1)];
544
+ }
545
+ }),
546
+ unavailable: wireObject({
547
+ kind: wireLiteral("unavailable"),
548
+ reason: supportedLiteral("no_active_email_otp_base_factor")
549
+ })
925
550
  };
926
551
  }
927
552
  function parseLinkedDeviceEmailOtpBaseFactorResolutionV1(raw) {
928
- const record = requireRecord(raw, "LinkedDeviceEmailOtpBaseFactorResolutionV1");
553
+ const label = "LinkedDeviceEmailOtpBaseFactorResolutionV1";
554
+ const record = requireRecord(raw, label);
555
+ const resolutions = emailOtpBaseFactorResolutionsV1();
929
556
  switch (record.kind) {
930
- case "selected": return {
931
- kind: "selected",
932
- choice: parseLinkedDeviceEmailOtpBaseFactorChoiceV1(exactRecord(record, ["kind", "choice"], "LinkedDeviceEmailOtpBaseFactorResolutionV1").choice)
933
- };
934
- case "selection_required": {
935
- const exact = exactRecord(record, ["kind", "choices"], "LinkedDeviceEmailOtpBaseFactorResolutionV1");
936
- if (!Array.isArray(exact.choices) || exact.choices.length === 0) throw new Error("LinkedDeviceEmailOtpBaseFactorResolutionV1.choices must not be empty");
937
- const choices = exact.choices.map(parseLinkedDeviceEmailOtpBaseFactorChoiceV1);
938
- return {
939
- kind: "selection_required",
940
- choices: [choices[0], ...choices.slice(1)]
941
- };
942
- }
943
- case "unavailable": {
944
- const exact = exactRecord(record, ["kind", "reason"], "LinkedDeviceEmailOtpBaseFactorResolutionV1");
945
- if (exact.reason !== "no_active_email_otp_base_factor") throw new Error("LinkedDeviceEmailOtpBaseFactorResolutionV1.reason is unsupported");
946
- return {
947
- kind: "unavailable",
948
- reason: exact.reason
949
- };
950
- }
951
- default: throw new Error("LinkedDeviceEmailOtpBaseFactorResolutionV1.kind is unsupported");
557
+ case "selected":
558
+ case "selection_required":
559
+ case "unavailable": return resolutions[record.kind](record, label);
560
+ default: throw new Error(`${label}.kind is unsupported`);
952
561
  }
953
562
  }
563
+ function emailOtpBaseFactorResolutionResultV1() {
564
+ return wireObject({
565
+ revision: parseUnixTime,
566
+ resolution: parseLinkedDeviceEmailOtpBaseFactorResolutionV1
567
+ });
568
+ }
954
569
  function parseLinkedDeviceEmailOtpBaseFactorResolutionResultV1(raw) {
955
- const record = exactRecord(raw, ["revision", "resolution"], "LinkedDeviceEmailOtpBaseFactorResolutionResultV1");
956
- return {
957
- revision: parseUnixTime(record.revision, "LinkedDeviceEmailOtpBaseFactorResolutionResultV1.revision"),
958
- resolution: parseLinkedDeviceEmailOtpBaseFactorResolutionV1(record.resolution)
959
- };
570
+ return emailOtpBaseFactorResolutionResultV1()(raw, "LinkedDeviceEmailOtpBaseFactorResolutionResultV1");
960
571
  }
961
- function parseLinkedDevicePasskeyCreationOptionsV1(raw, expectedWalletAuthMethodId) {
962
- const label = "LinkedDeviceTargetPreparationV1.passkeyCreationOptions";
572
+ function parseLinkedDevicePasskeyCreationOptionsV1(raw, label) {
963
573
  const record = exactRecord(raw, [
964
574
  "kind",
965
575
  "walletAuthMethodId",
@@ -974,8 +584,7 @@ function parseLinkedDevicePasskeyCreationOptionsV1(raw, expectedWalletAuthMethod
974
584
  "extensions",
975
585
  "excludeCredentials"
976
586
  ], label);
977
- const walletAuthMethodId = parseId(parseWalletAuthMethodId, record.walletAuthMethodId, `${label}.walletAuthMethodId`);
978
- if (walletAuthMethodId !== expectedWalletAuthMethodId) throw new Error(`${label}.walletAuthMethodId must match the preparation`);
587
+ const methodId = walletAuthMethodId(record.walletAuthMethodId, `${label}.walletAuthMethodId`);
979
588
  exactRecord(record.user, [
980
589
  "idB64u",
981
590
  "name",
@@ -994,7 +603,7 @@ function parseLinkedDevicePasskeyCreationOptionsV1(raw, expectedWalletAuthMethod
994
603
  const options = parseWalletAddAuthMethodRegistrationOptions(record);
995
604
  return {
996
605
  kind: options.kind,
997
- walletAuthMethodId,
606
+ walletAuthMethodId: methodId,
998
607
  challengeId: options.challengeId,
999
608
  challengeB64u: options.challengeB64u,
1000
609
  rpId: options.rpId,
@@ -1007,448 +616,311 @@ function parseLinkedDevicePasskeyCreationOptionsV1(raw, expectedWalletAuthMethod
1007
616
  excludeCredentials: options.excludeCredentials
1008
617
  };
1009
618
  }
1010
- function parseLinkedDeviceEd25519ExportRootPreparationV1(raw) {
1011
- if (raw === null) return null;
1012
- const record = exactRecord(raw, [
1013
- "kind",
1014
- "walletKeyId",
1015
- "applicationBindingDigestB64u",
1016
- "registeredPublicKeyB64u",
1017
- "revocationEpoch"
1018
- ], "LinkedDeviceTargetPreparationV1.ed25519ExportRoot");
1019
- if (record.kind !== "linked_device_ed25519_export_root_preparation_v1") throw new Error("LinkedDeviceTargetPreparationV1.ed25519ExportRoot.kind is invalid");
1020
- return {
1021
- kind: "linked_device_ed25519_export_root_preparation_v1",
1022
- walletKeyId: parseWalletKey(record.walletKeyId, "LinkedDeviceTargetPreparationV1.ed25519ExportRoot.walletKeyId"),
1023
- applicationBindingDigestB64u: parseDigest(record.applicationBindingDigestB64u, "LinkedDeviceTargetPreparationV1.ed25519ExportRoot.applicationBindingDigestB64u"),
1024
- registeredPublicKeyB64u: parseEd25519PublicKeyB64u(record.registeredPublicKeyB64u, "LinkedDeviceTargetPreparationV1.ed25519ExportRoot.registeredPublicKeyB64u"),
1025
- revocationEpoch: parseNonNegativeSafeInteger(record.revocationEpoch, "LinkedDeviceTargetPreparationV1.ed25519ExportRoot.revocationEpoch")
1026
- };
619
+ function ed25519ExportRootPreparationV1() {
620
+ return wireObject({
621
+ kind: wireLiteral("linked_device_ed25519_export_root_preparation_v1"),
622
+ walletKeyId,
623
+ applicationBindingDigestB64u: digest,
624
+ registeredPublicKeyB64u: parseEd25519PublicKeyB64u,
625
+ revocationEpoch: parseNonNegativeSafeInteger
626
+ });
1027
627
  }
1028
- function parseOrdinarySignerMaterialRecipientRequirementV1(raw, index) {
1029
- const label = `LinkedDeviceTargetPreparationV1.ordinarySignerMaterialRecipientRequirements[${index}]`;
1030
- const record = exactRecord(raw, [
1031
- "kind",
1032
- "keyFamily",
1033
- "walletKeyId"
1034
- ], label);
1035
- if (record.kind !== "ordinary_signer_material_recipient_requirement_v1") throw new Error(`${label}.kind is invalid`);
1036
- return {
1037
- kind: "ordinary_signer_material_recipient_requirement_v1",
1038
- keyFamily: parseKeyFamily(record.keyFamily, `${label}.keyFamily`),
1039
- walletKeyId: parseId(parseWalletKeyId, record.walletKeyId, `${label}.walletKeyId`)
1040
- };
628
+ function parseKeyFamilyEntries(raw, item, label) {
629
+ if (!Array.isArray(raw) || raw.length === 0 || raw.length > 2) throw new Error(`${label} must contain one or two entries`);
630
+ const entries = raw.map((entry, index) => item(entry, `${label}[${index}]`));
631
+ if (new Set(entries.map((entry) => entry.keyFamily)).size !== entries.length) throw new Error(`${label} repeats a key family`);
632
+ if (new Set(entries.map((entry) => String(entry.walletKeyId))).size !== entries.length) throw new Error(`${label} repeats a wallet key`);
633
+ if (entries.length === 2 && (entries[0]?.keyFamily !== "ed25519" || entries[1]?.keyFamily !== "ecdsa_secp256k1")) throw new Error(`${label} must be ordered Ed25519 then ECDSA`);
634
+ return entries;
635
+ }
636
+ function recipientRequirementV1() {
637
+ return wireObject({
638
+ kind: wireLiteral("ordinary_signer_material_recipient_requirement_v1"),
639
+ keyFamily: parseKeyFamily,
640
+ walletKeyId
641
+ });
1041
642
  }
1042
- function parseOrdinarySignerMaterialRecipientRequirementsV1(raw) {
1043
- if (!Array.isArray(raw) || raw.length === 0 || raw.length > 2) throw new Error("LinkedDeviceTargetPreparationV1.ordinarySignerMaterialRecipientRequirements must contain one or two entries");
1044
- const requirements = raw.map((entry, index) => parseOrdinarySignerMaterialRecipientRequirementV1(entry, index));
1045
- if (new Set(requirements.map((entry) => entry.keyFamily)).size !== requirements.length) throw new Error("LinkedDeviceTargetPreparationV1.ordinarySignerMaterialRecipientRequirements repeats a key family");
1046
- if (new Set(requirements.map((entry) => String(entry.walletKeyId))).size !== requirements.length) throw new Error("LinkedDeviceTargetPreparationV1.ordinarySignerMaterialRecipientRequirements repeats a wallet key");
1047
- if (requirements.length === 2 && (requirements[0]?.keyFamily !== "ed25519" || requirements[1]?.keyFamily !== "ecdsa_secp256k1")) throw new Error("LinkedDeviceTargetPreparationV1.ordinarySignerMaterialRecipientRequirements must be ordered Ed25519 then ECDSA");
643
+ function parseRecipientRequirements(raw) {
644
+ const requirements = parseKeyFamilyEntries(raw, recipientRequirementV1(), "LinkedDeviceTargetPreparationV1.ordinarySignerMaterialRecipientRequirements");
1048
645
  const first = requirements[0];
1049
646
  if (!first) throw new Error("ordinary signer material recipient requirements are empty");
1050
647
  return [first, ...requirements.slice(1)];
1051
648
  }
1052
- function parseWebAuthnTransport(raw, label) {
1053
- switch (raw) {
1054
- case "ble":
1055
- case "cable":
1056
- case "hybrid":
1057
- case "internal":
1058
- case "nfc":
1059
- case "smart-card":
1060
- case "usb": return raw;
1061
- default: throw new Error(`${label} is invalid`);
1062
- }
649
+ const webAuthnTransport = /* @__PURE__ */ wireLiteral("ble", "cable", "hybrid", "internal", "nfc", "smart-card", "usb");
650
+ function parseWebAuthnTransports(raw, label) {
651
+ const transports = requireArray(raw, label).map((entry, index) => webAuthnTransport(entry, `${label}[${index}]`));
652
+ if (new Set(transports).size !== transports.length) throw new Error(`${label} contains duplicates`);
653
+ return transports;
654
+ }
655
+ function linkedDeviceWebAuthnRegistrationV1() {
656
+ return wireObject({
657
+ kind: wireLiteral("linked_device_webauthn_registration_v1"),
658
+ credentialIdB64u: parseCredential,
659
+ authenticatorAttachment: wireNullable(wireLiteral("platform", "cross-platform")),
660
+ clientDataJsonB64u: parseCanonicalBase64UrlBytes,
661
+ attestationObjectB64u: parseCanonicalBase64UrlBytes,
662
+ transports: parseWebAuthnTransports
663
+ });
1063
664
  }
1064
- function parseLinkedDeviceWebAuthnRegistrationV1(raw) {
1065
- const label = "LinkedDeviceTargetCredentialRegistrationV1.webauthnRegistration";
1066
- const record = exactRecord(raw, WEBAUTHN_REGISTRATION_FIELDS, label);
1067
- if (record.kind !== "linked_device_webauthn_registration_v1") throw new Error(`${label}.kind is invalid`);
1068
- if (!Array.isArray(record.transports)) throw new Error(`${label}.transports must be an array`);
1069
- if (record.authenticatorAttachment !== null && record.authenticatorAttachment !== "platform" && record.authenticatorAttachment !== "cross-platform") throw new Error(`${label}.authenticatorAttachment is invalid`);
1070
- const transports = record.transports.map((entry, index) => parseWebAuthnTransport(entry, `${label}.transports[${index}]`));
1071
- if (new Set(transports).size !== transports.length) throw new Error(`${label}.transports contains duplicates`);
1072
- return {
1073
- kind: "linked_device_webauthn_registration_v1",
1074
- credentialIdB64u: parseCredential(record.credentialIdB64u, `${label}.credentialIdB64u`),
1075
- authenticatorAttachment: record.authenticatorAttachment,
1076
- clientDataJsonB64u: parseCanonicalBase64UrlBytes(record.clientDataJsonB64u, `${label}.clientDataJsonB64u`),
1077
- attestationObjectB64u: parseCanonicalBase64UrlBytes(record.attestationObjectB64u, `${label}.attestationObjectB64u`),
1078
- transports
665
+ function recipientRequestV1() {
666
+ const keyFamily = (family) => (raw, label) => {
667
+ if (raw !== family) throw new Error(`${label} does not match its kind`);
668
+ return family;
1079
669
  };
1080
- }
1081
- function parseOrdinarySignerMaterialPreparationsV1(raw) {
1082
- return parseLinkedDeviceOrdinaryMaterialSourceContributionPreparationTupleV1(raw);
1083
- }
1084
- function parseOrdinarySignerMaterialRecipientRequestV1(raw, index) {
1085
- const label = `LinkedDeviceTargetCredentialRegistrationV1.ordinarySignerMaterialRecipientRequests[${index}]`;
1086
- const record = requireRecord(raw, label);
1087
- if (record.kind === "ordinary_ed25519_signer_material_recipient_request_v1") {
1088
- exactRecord(record, [
1089
- "kind",
1090
- "keyFamily",
1091
- "walletKeyId",
1092
- "recipientPublicKeyB64u"
1093
- ], label);
1094
- if (record.keyFamily !== "ed25519") throw new Error(`${label}.keyFamily does not match its kind`);
1095
- return {
1096
- kind: record.kind,
1097
- keyFamily: "ed25519",
1098
- walletKeyId: parseId(parseWalletKeyId, record.walletKeyId, `${label}.walletKeyId`),
1099
- recipientPublicKeyB64u: parseCanonicalFixedBase64UrlBytes(record.recipientPublicKeyB64u, 32, `${label}.recipientPublicKeyB64u`)
1100
- };
1101
- }
1102
- if (record.kind === "ordinary_ecdsa_signer_material_recipient_request_v1") {
1103
- exactRecord(record, [
1104
- "kind",
1105
- "keyFamily",
1106
- "walletKeyId",
1107
- "clientEphemeralPublicKey"
1108
- ], label);
1109
- if (record.keyFamily !== "ecdsa_secp256k1") throw new Error(`${label}.keyFamily does not match its kind`);
1110
- return {
1111
- kind: record.kind,
1112
- keyFamily: "ecdsa_secp256k1",
1113
- walletKeyId: parseId(parseWalletKeyId, record.walletKeyId, `${label}.walletKeyId`),
1114
- clientEphemeralPublicKey: requireRouterAbX25519PublicKey(record.clientEphemeralPublicKey, `${label}.clientEphemeralPublicKey`)
1115
- };
1116
- }
1117
- throw new Error(`${label}.kind is invalid`);
1118
- }
1119
- function parseOrdinarySignerMaterialRecipientRequestsV1(raw) {
1120
- if (!Array.isArray(raw) || raw.length === 0 || raw.length > 2) throw new Error("LinkedDeviceTargetCredentialRegistrationV1.ordinarySignerMaterialRecipientRequests must contain one or two entries");
1121
- const requests = raw.map((entry, index) => parseOrdinarySignerMaterialRecipientRequestV1(entry, index));
1122
- const families = requests.map((entry) => entry.keyFamily);
1123
- if (new Set(families).size !== families.length) throw new Error("LinkedDeviceTargetCredentialRegistrationV1.ordinarySignerMaterialRecipientRequests repeats a key family");
1124
- if (new Set(requests.map((entry) => String(entry.walletKeyId))).size !== requests.length) throw new Error("LinkedDeviceTargetCredentialRegistrationV1.ordinarySignerMaterialRecipientRequests repeats a wallet key");
1125
- if (requests.length === 2 && (requests[0]?.keyFamily !== "ed25519" || requests[1]?.keyFamily !== "ecdsa_secp256k1")) throw new Error("LinkedDeviceTargetCredentialRegistrationV1.ordinarySignerMaterialRecipientRequests must be ordered Ed25519 then ECDSA");
670
+ return wireUnion("kind", [wireObject({
671
+ kind: wireLiteral("ordinary_ed25519_signer_material_recipient_request_v1"),
672
+ keyFamily: keyFamily("ed25519"),
673
+ walletKeyId,
674
+ recipientPublicKeyB64u: (raw, label) => parseCanonicalFixedBase64UrlBytes(raw, 32, label)
675
+ }), wireObject({
676
+ kind: wireLiteral("ordinary_ecdsa_signer_material_recipient_request_v1"),
677
+ keyFamily: keyFamily("ecdsa_secp256k1"),
678
+ walletKeyId,
679
+ clientEphemeralPublicKey: requireRouterAbX25519PublicKey
680
+ })]);
681
+ }
682
+ function parseRecipientRequests(raw) {
683
+ const requests = parseKeyFamilyEntries(raw, recipientRequestV1(), "LinkedDeviceTargetCredentialRegistrationV1.ordinarySignerMaterialRecipientRequests");
1126
684
  const first = requests[0];
1127
685
  if (!first) throw new Error("ordinary signer material recipient requests are empty");
1128
686
  return [first, ...requests.slice(1)];
1129
687
  }
1130
- function parseLinkedDeviceTargetCredentialRegistrationV1(raw) {
1131
- const initial = requireRecord(raw, "LinkedDeviceTargetCredentialRegistrationV1");
1132
- const targetFactor = parseTargetFactor(initial.targetFactor, "LinkedDeviceTargetCredentialRegistrationV1.targetFactor");
1133
- const emailGrant = targetFactor.kind === "email_otp" ? parseLinkedDeviceEmailOtpVerificationGrantV1(initial.emailOtpVerificationGrant) : null;
1134
- const record = exactRecord(initial, targetFactor.kind === "passkey_prf" ? PASSKEY_CREDENTIAL_FIELDS : emailGrant?.enrollment.kind === "new_enrollment" ? EMAIL_OTP_CREDENTIAL_NEW_FIELDS : EMAIL_OTP_CREDENTIAL_FIELDS, "LinkedDeviceTargetCredentialRegistrationV1");
1135
- if (record.kind !== "linked_device_target_credential_registration_v1") throw new Error("LinkedDeviceTargetCredentialRegistrationV1.kind is invalid");
1136
- if (targetFactor.kind === "email_otp" && !emailGrant) throw new Error("Email OTP target credential grant is missing");
1137
- const linkSessionId = parseSessionId(record.linkSessionId, "LinkedDeviceTargetCredentialRegistrationV1.linkSessionId");
1138
- const walletId = parseWallet(record.walletId, "LinkedDeviceTargetCredentialRegistrationV1.walletId");
1139
- const enrollmentId = parseEnrollmentId(record.enrollmentId, "LinkedDeviceTargetCredentialRegistrationV1.enrollmentId");
1140
- const deviceId = parseDeviceId(record.deviceId, "LinkedDeviceTargetCredentialRegistrationV1.deviceId");
1141
- const walletAuthMethodId = parseWalletAuthMethodId(record.walletAuthMethodId);
1142
- if (!walletAuthMethodId.ok) throw new Error(`LinkedDeviceTargetCredentialRegistrationV1.walletAuthMethodId ${walletAuthMethodId.error.message}`);
1143
- const targetPreparationDigestB64u = parseDigest(record.targetPreparationDigestB64u, "LinkedDeviceTargetCredentialRegistrationV1.targetPreparationDigestB64u");
1144
- const ordinarySignerMaterialRecipientRequests = parseOrdinarySignerMaterialRecipientRequestsV1(record.ordinarySignerMaterialRecipientRequests);
1145
- const registeredAtMs = parseUnixTime(record.registeredAtMs, "LinkedDeviceTargetCredentialRegistrationV1.registeredAtMs");
1146
- if (targetFactor.kind === "passkey_prf") return {
1147
- kind: "linked_device_target_credential_registration_v1",
1148
- linkSessionId,
1149
- walletId,
1150
- enrollmentId,
1151
- deviceId,
1152
- walletAuthMethodId: walletAuthMethodId.value,
1153
- targetFactor,
1154
- targetPreparationDigestB64u,
1155
- ordinarySignerMaterialRecipientRequests,
1156
- webauthnRegistration: parseLinkedDeviceWebAuthnRegistrationV1(record.webauthnRegistration),
1157
- registeredAtMs
1158
- };
1159
- if (!emailGrant) throw new Error("Email OTP target credential grant is missing");
1160
- const targetEmail = parseTargetEmail(record.targetEmail, "LinkedDeviceTargetCredentialRegistrationV1.targetEmail");
1161
- if (emailGrant.enrollment.kind === "new_enrollment") return {
1162
- kind: "linked_device_target_credential_registration_v1",
1163
- linkSessionId,
1164
- walletId,
1165
- enrollmentId,
1166
- deviceId,
1167
- walletAuthMethodId: walletAuthMethodId.value,
1168
- targetFactor,
1169
- targetEmail,
1170
- targetPreparationDigestB64u,
1171
- ordinarySignerMaterialRecipientRequests,
1172
- emailOtpVerificationGrant: emailGrant,
1173
- emailOtpEnrollment: parseEmailOtpEnrollmentMaterial(record.emailOtpEnrollment, "LinkedDeviceTargetCredentialRegistrationV1.emailOtpEnrollment"),
1174
- registeredAtMs
1175
- };
688
+ function targetCredentialRegistrationIdentity() {
1176
689
  return {
1177
- kind: "linked_device_target_credential_registration_v1",
1178
- linkSessionId,
690
+ kind: wireLiteral("linked_device_target_credential_registration_v1"),
691
+ linkSessionId: sessionId,
1179
692
  walletId,
1180
693
  enrollmentId,
1181
- deviceId,
1182
- walletAuthMethodId: walletAuthMethodId.value,
1183
- targetFactor,
1184
- targetEmail,
1185
- targetPreparationDigestB64u,
1186
- ordinarySignerMaterialRecipientRequests,
1187
- emailOtpVerificationGrant: emailGrant,
1188
- registeredAtMs
694
+ deviceId: linkedDeviceId,
695
+ walletAuthMethodId
1189
696
  };
1190
697
  }
1191
- function parseLinkedDeviceTargetCredentialRegistrationResultV1(raw) {
1192
- const record = exactRecord(raw, [
1193
- "kind",
1194
- "outcome",
1195
- "linkSessionId",
1196
- "walletId",
1197
- "enrollmentId",
1198
- "deviceId",
1199
- "walletAuthMethodId",
1200
- "targetPreparationDigestB64u",
1201
- "targetFactor",
1202
- "ordinarySignerMaterialPreparations",
1203
- "ordinarySignerMaterialRecipientRequests",
1204
- "keyManifestDigestB64u"
1205
- ], "LinkedDeviceTargetCredentialRegistrationResultV1");
1206
- if (record.kind !== "linked_device_target_credential_registration_result_v1") throw new Error("LinkedDeviceTargetCredentialRegistrationResultV1.kind is invalid");
1207
- if (record.outcome !== "applied" && record.outcome !== "replayed") throw new Error("LinkedDeviceTargetCredentialRegistrationResultV1.outcome is invalid");
1208
- const linkSessionId = parseSessionId(record.linkSessionId, "LinkedDeviceTargetCredentialRegistrationResultV1.linkSessionId");
1209
- const walletId = parseWallet(record.walletId, "LinkedDeviceTargetCredentialRegistrationResultV1.walletId");
1210
- const enrollmentId = parseEnrollmentId(record.enrollmentId, "LinkedDeviceTargetCredentialRegistrationResultV1.enrollmentId");
1211
- const deviceId = parseDeviceId(record.deviceId, "LinkedDeviceTargetCredentialRegistrationResultV1.deviceId");
1212
- const walletAuthMethodId = parseId(parseWalletAuthMethodId, record.walletAuthMethodId, "LinkedDeviceTargetCredentialRegistrationResultV1.walletAuthMethodId");
1213
- const targetPreparationDigestB64u = parseDigest(record.targetPreparationDigestB64u, "LinkedDeviceTargetCredentialRegistrationResultV1.targetPreparationDigestB64u");
1214
- const targetFactor = parseVerifiedTargetFactorV1(record.targetFactor, "LinkedDeviceTargetCredentialRegistrationResultV1.targetFactor");
1215
- if (targetFactor.authMethod.walletAuthMethodId !== walletAuthMethodId || targetFactor.authMethod.walletId !== walletId) throw new Error("LinkedDeviceTargetCredentialRegistrationResultV1 target identity differs");
1216
- const ordinarySignerMaterialPreparations = parseOrdinarySignerMaterialPreparationsV1(record.ordinarySignerMaterialPreparations);
1217
- const ordinarySignerMaterialRecipientRequests = parseOrdinarySignerMaterialRecipientRequestsV1(record.ordinarySignerMaterialRecipientRequests);
1218
- return {
1219
- kind: "linked_device_target_credential_registration_result_v1",
1220
- outcome: record.outcome,
1221
- linkSessionId,
698
+ function passkeyTargetCredentialRegistrationV1() {
699
+ return wireObject({
700
+ ...targetCredentialRegistrationIdentity(),
701
+ targetFactor: passkeyTargetFactorV1(),
702
+ targetPreparationDigestB64u: digest,
703
+ ordinarySignerMaterialRecipientRequests: parseRecipientRequests,
704
+ webauthnRegistration: linkedDeviceWebAuthnRegistrationV1(),
705
+ registeredAtMs: parseUnixTime
706
+ });
707
+ }
708
+ function emailOtpTargetCredentialRegistrationV1() {
709
+ return wireObject({
710
+ ...targetCredentialRegistrationIdentity(),
711
+ targetFactor: emailOtpTargetFactorV1(),
712
+ targetEmail: parseTargetEmail,
713
+ targetPreparationDigestB64u: digest,
714
+ ordinarySignerMaterialRecipientRequests: parseRecipientRequests,
715
+ emailOtpVerificationGrant: parseLinkedDeviceEmailOtpVerificationGrantV1,
716
+ registeredAtMs: parseUnixTime
717
+ });
718
+ }
719
+ function newEmailOtpTargetCredentialRegistrationV1() {
720
+ return wireObject({
721
+ ...targetCredentialRegistrationIdentity(),
722
+ targetFactor: emailOtpTargetFactorV1(),
723
+ targetEmail: parseTargetEmail,
724
+ targetPreparationDigestB64u: digest,
725
+ ordinarySignerMaterialRecipientRequests: parseRecipientRequests,
726
+ emailOtpVerificationGrant: parseLinkedDeviceEmailOtpVerificationGrantV1,
727
+ emailOtpEnrollment: emailOtpEnrollmentMaterialV1(),
728
+ registeredAtMs: parseUnixTime
729
+ });
730
+ }
731
+ function parseLinkedDeviceTargetCredentialRegistrationV1(raw) {
732
+ const label = "LinkedDeviceTargetCredentialRegistrationV1";
733
+ const record = requireRecord(raw, label);
734
+ if (parseTargetFactor(record.targetFactor, `${label}.targetFactor`).kind === "passkey_prf") return passkeyTargetCredentialRegistrationV1()(record, label);
735
+ return (parseLinkedDeviceEmailOtpVerificationGrantV1(record.emailOtpVerificationGrant).enrollment.kind === "new_enrollment" ? newEmailOtpTargetCredentialRegistrationV1() : emailOtpTargetCredentialRegistrationV1())(record, label);
736
+ }
737
+ function targetCredentialRegistrationResultV1() {
738
+ return wireObject({
739
+ kind: wireLiteral("linked_device_target_credential_registration_result_v1"),
740
+ outcome: wireLiteral("applied", "replayed"),
741
+ linkSessionId: sessionId,
1222
742
  walletId,
1223
743
  enrollmentId,
1224
- deviceId,
744
+ deviceId: linkedDeviceId,
1225
745
  walletAuthMethodId,
1226
- targetPreparationDigestB64u,
1227
- targetFactor,
1228
- ordinarySignerMaterialPreparations,
1229
- ordinarySignerMaterialRecipientRequests,
1230
- keyManifestDigestB64u: parseDigest(record.keyManifestDigestB64u, "LinkedDeviceTargetCredentialRegistrationResultV1.keyManifestDigestB64u")
1231
- };
746
+ targetPreparationDigestB64u: digest,
747
+ targetFactor: parseVerifiedTargetFactorV1,
748
+ ordinarySignerMaterialPreparations: parseLinkedDeviceOrdinaryMaterialSourceContributionPreparationTupleV1,
749
+ ordinarySignerMaterialRecipientRequests: parseRecipientRequests,
750
+ keyManifestDigestB64u: digest
751
+ }, (result, label) => {
752
+ const { authMethod } = result.targetFactor;
753
+ if (authMethod.walletAuthMethodId !== result.walletAuthMethodId || authMethod.walletId !== result.walletId) throw new Error(`${label} target identity differs`);
754
+ });
755
+ }
756
+ function parseLinkedDeviceTargetCredentialRegistrationResultV1(raw) {
757
+ return targetCredentialRegistrationResultV1()(raw, "LinkedDeviceTargetCredentialRegistrationResultV1");
758
+ }
759
+ function verifiedAfterCreation(target, label) {
760
+ if (target.verifiedAtMs < target.authMethod.createdAtMs) throw new Error(`${label}.verifiedAtMs precedes authMethod.createdAtMs`);
761
+ }
762
+ function verifiedPasskeyTargetV1() {
763
+ return wireObject({
764
+ kind: wireLiteral("verified_passkey_target_v1"),
765
+ authMethod: parsePasskeyWalletAuthMethodDraftV1,
766
+ verificationDigestB64u: digest,
767
+ verifiedAtMs: parseUnixTime
768
+ }, verifiedAfterCreation);
769
+ }
770
+ function verifiedEmailOtpTargetV1() {
771
+ return wireObject({
772
+ kind: wireLiteral("verified_email_otp_target_v1"),
773
+ authMethod: parseEmailOtpWalletAuthMethodDraftV1,
774
+ targetEmail: parseTargetEmail,
775
+ enrollment: existingEnrollmentV1(),
776
+ baseWalletAuthMethodId: walletAuthMethodId,
777
+ providerUserId: parseNonEmptyToken,
778
+ verificationDigestB64u: digest,
779
+ verifiedAtMs: parseUnixTime
780
+ }, verifiedAfterCreation);
781
+ }
782
+ function verifiedNewEmailOtpTargetV1() {
783
+ return wireObject({
784
+ kind: wireLiteral("verified_email_otp_target_v1"),
785
+ authMethod: parseEmailOtpWalletAuthMethodDraftV1,
786
+ targetEmail: parseTargetEmail,
787
+ enrollment: newEnrollmentV1(),
788
+ providerUserId: parseNonEmptyToken,
789
+ verificationDigestB64u: digest,
790
+ verifiedAtMs: parseUnixTime
791
+ }, verifiedAfterCreation);
1232
792
  }
1233
793
  function parseVerifiedTargetFactorV1(raw, label) {
1234
794
  const record = requireRecord(raw, label);
1235
- if (record.kind === "verified_passkey_target_v1") {
1236
- exactRecord(record, [
1237
- "kind",
1238
- "authMethod",
1239
- "verificationDigestB64u",
1240
- "verifiedAtMs"
1241
- ], label);
1242
- const authMethod = parsePasskeyWalletAuthMethodDraftV1(record.authMethod, `${label}.authMethod`);
1243
- const verifiedAtMs = parseUnixTime(record.verifiedAtMs, `${label}.verifiedAtMs`);
1244
- if (verifiedAtMs < authMethod.createdAtMs) throw new Error(`${label}.verifiedAtMs precedes authMethod.createdAtMs`);
1245
- return {
1246
- kind: "verified_passkey_target_v1",
1247
- authMethod,
1248
- verificationDigestB64u: parseDigest(record.verificationDigestB64u, `${label}.verificationDigestB64u`),
1249
- verifiedAtMs
1250
- };
1251
- }
1252
- if (record.kind === "verified_email_otp_target_v1") {
1253
- const enrollment = parseEmailOtpEnrollmentSelection(record.enrollment, `${label}.enrollment`);
1254
- const exact = exactRecord(record, enrollment.kind === "existing_enrollment" ? [
1255
- "kind",
1256
- "authMethod",
1257
- "targetEmail",
1258
- "enrollment",
1259
- "baseWalletAuthMethodId",
1260
- "providerUserId",
1261
- "verificationDigestB64u",
1262
- "verifiedAtMs"
1263
- ] : [
1264
- "kind",
1265
- "authMethod",
1266
- "targetEmail",
1267
- "enrollment",
1268
- "providerUserId",
1269
- "verificationDigestB64u",
1270
- "verifiedAtMs"
1271
- ], label);
1272
- const authMethod = parseEmailOtpWalletAuthMethodDraftV1(record.authMethod, `${label}.authMethod`);
1273
- const verifiedAtMs = parseUnixTime(record.verifiedAtMs, `${label}.verifiedAtMs`);
1274
- if (verifiedAtMs < authMethod.createdAtMs) throw new Error(`${label}.verifiedAtMs precedes authMethod.createdAtMs`);
1275
- const targetEmail = parseTargetEmail(record.targetEmail, `${label}.targetEmail`);
1276
- const providerUserId = parseNonEmptyToken(record.providerUserId, `${label}.providerUserId`);
1277
- const verificationDigestB64u = parseDigest(record.verificationDigestB64u, `${label}.verificationDigestB64u`);
1278
- if (enrollment.kind === "existing_enrollment") return {
1279
- kind: "verified_email_otp_target_v1",
1280
- authMethod,
1281
- targetEmail,
1282
- enrollment,
1283
- baseWalletAuthMethodId: parseId(parseWalletAuthMethodId, exact.baseWalletAuthMethodId, `${label}.baseWalletAuthMethodId`),
1284
- providerUserId,
1285
- verificationDigestB64u,
1286
- verifiedAtMs
1287
- };
1288
- return {
1289
- kind: "verified_email_otp_target_v1",
1290
- authMethod,
1291
- targetEmail,
1292
- enrollment,
1293
- providerUserId,
1294
- verificationDigestB64u,
1295
- verifiedAtMs
1296
- };
1297
- }
1298
- throw new Error(`${label}.kind is invalid`);
795
+ if (record.kind === "verified_passkey_target_v1") return verifiedPasskeyTargetV1()(record, label);
796
+ if (record.kind !== "verified_email_otp_target_v1") throw new Error(`${label}.kind is invalid`);
797
+ return (parseEmailOtpEnrollmentSelection(record.enrollment, `${label}.enrollment`).kind === "existing_enrollment" ? verifiedEmailOtpTargetV1() : verifiedNewEmailOtpTargetV1())(record, label);
798
+ }
799
+ function passkeyWalletAuthMethodDraftV1() {
800
+ return wireObject({
801
+ walletAuthMethodId,
802
+ walletId,
803
+ createdAtMs: parseUnixTime,
804
+ kind: wireLiteral("passkey"),
805
+ rpId,
806
+ credentialIdB64u: credentialId,
807
+ credentialPublicKeyB64u: parseCanonicalBase64UrlBytes,
808
+ counter: parseNonNegativeSafeInteger
809
+ });
1299
810
  }
1300
811
  function parsePasskeyWalletAuthMethodDraftV1(raw, label) {
1301
- const record = exactRecord(raw, [
1302
- "walletAuthMethodId",
1303
- "walletId",
1304
- "createdAtMs",
1305
- "kind",
1306
- "rpId",
1307
- "credentialIdB64u",
1308
- "credentialPublicKeyB64u",
1309
- "counter"
1310
- ], label);
1311
- if (record.kind !== "passkey") throw new Error(`${label}.kind is invalid`);
1312
- return {
1313
- walletAuthMethodId: parseId(parseWalletAuthMethodId, record.walletAuthMethodId, `${label}.walletAuthMethodId`),
1314
- walletId: parseWallet(record.walletId, `${label}.walletId`),
1315
- createdAtMs: parseUnixTime(record.createdAtMs, `${label}.createdAtMs`),
1316
- kind: "passkey",
1317
- rpId: parseId(parseWebAuthnRpId, record.rpId, `${label}.rpId`),
1318
- credentialIdB64u: parseId(parseWebAuthnCredentialIdB64u, record.credentialIdB64u, `${label}.credentialIdB64u`),
1319
- credentialPublicKeyB64u: parseCanonicalBase64UrlBytes(record.credentialPublicKeyB64u, `${label}.credentialPublicKeyB64u`),
1320
- counter: parseNonNegativeInteger(record.counter, `${label}.counter`)
1321
- };
812
+ return passkeyWalletAuthMethodDraftV1()(raw, label);
813
+ }
814
+ function emailOtpWalletAuthMethodDraftV1() {
815
+ return wireObject({
816
+ walletAuthMethodId,
817
+ walletId,
818
+ createdAtMs: parseUnixTime,
819
+ kind: wireLiteral("email_otp"),
820
+ emailHashHex: parseEmailHashHex,
821
+ registrationAuthorityId: parseNonEmptyToken
822
+ });
1322
823
  }
1323
824
  function parseEmailOtpWalletAuthMethodDraftV1(raw, label) {
1324
- const record = exactRecord(raw, [
1325
- "walletAuthMethodId",
1326
- "walletId",
1327
- "createdAtMs",
1328
- "kind",
1329
- "emailHashHex",
1330
- "registrationAuthorityId"
1331
- ], label);
1332
- if (record.kind !== "email_otp") throw new Error(`${label}.kind is invalid`);
825
+ return emailOtpWalletAuthMethodDraftV1()(raw, label);
826
+ }
827
+ function emailOtpVerificationGrantFields(enrollment) {
1333
828
  return {
1334
- walletAuthMethodId: parseId(parseWalletAuthMethodId, record.walletAuthMethodId, `${label}.walletAuthMethodId`),
1335
- walletId: parseWallet(record.walletId, `${label}.walletId`),
1336
- createdAtMs: parseUnixTime(record.createdAtMs, `${label}.createdAtMs`),
1337
- kind: "email_otp",
1338
- emailHashHex: parseEmailHashHex(record.emailHashHex, `${label}.emailHashHex`),
1339
- registrationAuthorityId: parseNonEmptyToken(record.registrationAuthorityId, `${label}.registrationAuthorityId`)
829
+ kind: wireLiteral("linked_device_email_otp_verification_grant_v1"),
830
+ grantId: parseNonEmptyToken,
831
+ grantToken: parseNonEmptyToken,
832
+ challengeId: parseNonEmptyToken,
833
+ linkSessionId: sessionId,
834
+ walletId,
835
+ enrollmentId,
836
+ deviceId: linkedDeviceId,
837
+ targetPreparationDigestB64u: digest,
838
+ targetEmail: parseTargetEmail,
839
+ enrollment,
840
+ emailHashHex: parseEmailHashHex,
841
+ registrationAuthorityId: parseNonEmptyToken,
842
+ providerUserId: parseNonEmptyToken,
843
+ authorityDigestB64u: digest,
844
+ issuedAtMs: parseUnixTime,
845
+ expiresAtMs: parseUnixTime
1340
846
  };
1341
847
  }
848
+ function grantIssuedBeforeExpiry(grant, label) {
849
+ assertExpiryAfterIssued(grant.issuedAtMs, grant.expiresAtMs, label);
850
+ }
851
+ function emailOtpVerificationGrantV1() {
852
+ return wireObject({
853
+ ...emailOtpVerificationGrantFields(existingEnrollmentV1()),
854
+ baseWalletAuthMethodId: walletAuthMethodId
855
+ }, grantIssuedBeforeExpiry);
856
+ }
857
+ function newEnrollmentEmailOtpVerificationGrantV1() {
858
+ return wireObject(emailOtpVerificationGrantFields(newEnrollmentV1()), grantIssuedBeforeExpiry);
859
+ }
1342
860
  function parseLinkedDeviceEmailOtpVerificationGrantV1(raw) {
1343
- const candidate = requireRecord(raw, "LinkedDeviceEmailOtpVerificationGrantV1");
1344
- const enrollment = parseEmailOtpEnrollmentSelection(candidate.enrollment, "LinkedDeviceEmailOtpVerificationGrantV1.enrollment");
1345
- const record = exactRecord(candidate, enrollment.kind === "new_enrollment" ? EMAIL_OTP_VERIFICATION_GRANT_BASE_FIELDS : EMAIL_OTP_VERIFICATION_GRANT_FIELDS, "LinkedDeviceEmailOtpVerificationGrantV1");
1346
- if (record.kind !== "linked_device_email_otp_verification_grant_v1") throw new Error("LinkedDeviceEmailOtpVerificationGrantV1.kind is invalid");
1347
- const issuedAtMs = parseUnixTime(record.issuedAtMs, "LinkedDeviceEmailOtpVerificationGrantV1.issuedAtMs");
1348
- const expiresAtMs = parseUnixTime(record.expiresAtMs, "LinkedDeviceEmailOtpVerificationGrantV1.expiresAtMs");
1349
- assertExpiryAfterIssued(issuedAtMs, expiresAtMs, "LinkedDeviceEmailOtpVerificationGrantV1");
1350
- const base = {
1351
- kind: "linked_device_email_otp_verification_grant_v1",
1352
- grantId: parseNonEmptyToken(record.grantId, "LinkedDeviceEmailOtpVerificationGrantV1.grantId"),
1353
- grantToken: parseNonEmptyToken(record.grantToken, "LinkedDeviceEmailOtpVerificationGrantV1.grantToken"),
1354
- challengeId: parseNonEmptyToken(record.challengeId, "LinkedDeviceEmailOtpVerificationGrantV1.challengeId"),
1355
- linkSessionId: parseId(parseLinkDeviceSessionId, record.linkSessionId, "LinkedDeviceEmailOtpVerificationGrantV1.linkSessionId"),
1356
- walletId: parseId(parseWalletId, record.walletId, "LinkedDeviceEmailOtpVerificationGrantV1.walletId"),
1357
- enrollmentId: parseId(parseLinkedDeviceEnrollmentId, record.enrollmentId, "LinkedDeviceEmailOtpVerificationGrantV1.enrollmentId"),
1358
- deviceId: parseId(parseLinkedDeviceId, record.deviceId, "LinkedDeviceEmailOtpVerificationGrantV1.deviceId"),
1359
- targetPreparationDigestB64u: parseDigest(record.targetPreparationDigestB64u, "LinkedDeviceEmailOtpVerificationGrantV1.targetPreparationDigestB64u"),
1360
- targetEmail: parseTargetEmail(record.targetEmail, "LinkedDeviceEmailOtpVerificationGrantV1.targetEmail"),
1361
- enrollment,
1362
- emailHashHex: parseEmailHashHex(record.emailHashHex, "LinkedDeviceEmailOtpVerificationGrantV1.emailHashHex"),
1363
- registrationAuthorityId: parseNonEmptyToken(record.registrationAuthorityId, "LinkedDeviceEmailOtpVerificationGrantV1.registrationAuthorityId"),
1364
- providerUserId: parseNonEmptyToken(record.providerUserId, "LinkedDeviceEmailOtpVerificationGrantV1.providerUserId"),
1365
- authorityDigestB64u: parseDigest(record.authorityDigestB64u, "LinkedDeviceEmailOtpVerificationGrantV1.authorityDigestB64u"),
1366
- issuedAtMs,
1367
- expiresAtMs
1368
- };
1369
- if (enrollment.kind === "new_enrollment") return {
1370
- ...base,
1371
- enrollment: { kind: "new_enrollment" }
1372
- };
1373
- return {
1374
- ...base,
1375
- enrollment: { kind: "existing_enrollment" },
1376
- baseWalletAuthMethodId: parseId(parseWalletAuthMethodId, record.baseWalletAuthMethodId, "LinkedDeviceEmailOtpVerificationGrantV1.baseWalletAuthMethodId")
1377
- };
861
+ const label = "LinkedDeviceEmailOtpVerificationGrantV1";
862
+ const record = requireRecord(raw, label);
863
+ return (parseEmailOtpEnrollmentSelection(record.enrollment, `${label}.enrollment`).kind === "new_enrollment" ? newEnrollmentEmailOtpVerificationGrantV1() : emailOtpVerificationGrantV1())(record, label);
864
+ }
865
+ function emailOtpFactorReleaseEnvelopeV1() {
866
+ return wireObject({
867
+ kind: wireLiteral("email_otp_factor_release_v1"),
868
+ challengeId: parseNonEmptyToken,
869
+ enrollmentId: parseNonEmptyToken,
870
+ enrollmentSealKeyVersion: parseNonEmptyToken,
871
+ serverEphemeralPublicKey65B64u: parseUncompressedP256PointB64u,
872
+ nonce12B64u: (raw, label) => parseCanonicalFixedBase64UrlBytes(raw, 12, label),
873
+ ciphertextB64u: parseCanonicalBase64UrlBytes
874
+ });
1378
875
  }
1379
876
  function parseLinkedDeviceEmailOtpFactorReleaseEnvelopeV1(raw) {
1380
- const record = exactRecord(raw, EMAIL_OTP_FACTOR_RELEASE_FIELDS, "LinkedDeviceEmailOtpFactorReleaseEnvelopeV1");
1381
- if (record.kind !== "email_otp_factor_release_v1") throw new Error("LinkedDeviceEmailOtpFactorReleaseEnvelopeV1.kind is invalid");
1382
- return {
1383
- kind: "email_otp_factor_release_v1",
1384
- challengeId: parseNonEmptyToken(record.challengeId, "LinkedDeviceEmailOtpFactorReleaseEnvelopeV1.challengeId"),
1385
- enrollmentId: parseNonEmptyToken(record.enrollmentId, "LinkedDeviceEmailOtpFactorReleaseEnvelopeV1.enrollmentId"),
1386
- enrollmentSealKeyVersion: parseNonEmptyToken(record.enrollmentSealKeyVersion, "LinkedDeviceEmailOtpFactorReleaseEnvelopeV1.enrollmentSealKeyVersion"),
1387
- serverEphemeralPublicKey65B64u: parseUncompressedP256PointB64u(record.serverEphemeralPublicKey65B64u, "LinkedDeviceEmailOtpFactorReleaseEnvelopeV1.serverEphemeralPublicKey65B64u"),
1388
- nonce12B64u: parseCanonicalFixedBase64UrlBytes(record.nonce12B64u, 12, "LinkedDeviceEmailOtpFactorReleaseEnvelopeV1.nonce12B64u"),
1389
- ciphertextB64u: parseCanonicalBase64UrlBytes(record.ciphertextB64u, "LinkedDeviceEmailOtpFactorReleaseEnvelopeV1.ciphertextB64u")
1390
- };
877
+ return emailOtpFactorReleaseEnvelopeV1()(raw, "LinkedDeviceEmailOtpFactorReleaseEnvelopeV1");
878
+ }
879
+ function emailOtpChallengeStartRequestV1() {
880
+ return wireObject({
881
+ kind: wireLiteral("linked_device_email_otp_challenge_start_request_v1"),
882
+ linkSessionId: sessionId,
883
+ workerEphemeralPublicKey65B64u: parseUncompressedP256PointB64u
884
+ });
1391
885
  }
1392
886
  function parseLinkedDeviceEmailOtpChallengeStartRequestV1(raw) {
1393
- const record = exactRecord(raw, [
1394
- "kind",
1395
- "linkSessionId",
1396
- "workerEphemeralPublicKey65B64u"
1397
- ], "LinkedDeviceEmailOtpChallengeStartRequestV1");
1398
- if (record.kind !== "linked_device_email_otp_challenge_start_request_v1") throw new Error("LinkedDeviceEmailOtpChallengeStartRequestV1.kind is invalid");
1399
- return {
1400
- kind: "linked_device_email_otp_challenge_start_request_v1",
1401
- linkSessionId: parseId(parseLinkDeviceSessionId, record.linkSessionId, "LinkedDeviceEmailOtpChallengeStartRequestV1.linkSessionId"),
1402
- workerEphemeralPublicKey65B64u: parseUncompressedP256PointB64u(record.workerEphemeralPublicKey65B64u, "LinkedDeviceEmailOtpChallengeStartRequestV1.workerEphemeralPublicKey65B64u")
1403
- };
887
+ return emailOtpChallengeStartRequestV1()(raw, "LinkedDeviceEmailOtpChallengeStartRequestV1");
888
+ }
889
+ function emailOtpChallengeResendRequestV1() {
890
+ return wireObject({
891
+ kind: wireLiteral("linked_device_email_otp_challenge_resend_request_v1"),
892
+ linkSessionId: sessionId,
893
+ challengeId: parseNonEmptyToken
894
+ });
1404
895
  }
1405
896
  function parseLinkedDeviceEmailOtpChallengeResendRequestV1(raw) {
1406
- const record = exactRecord(raw, [
1407
- "kind",
1408
- "linkSessionId",
1409
- "challengeId"
1410
- ], "LinkedDeviceEmailOtpChallengeResendRequestV1");
1411
- if (record.kind !== "linked_device_email_otp_challenge_resend_request_v1") throw new Error("LinkedDeviceEmailOtpChallengeResendRequestV1.kind is invalid");
1412
- return {
1413
- kind: "linked_device_email_otp_challenge_resend_request_v1",
1414
- linkSessionId: parseId(parseLinkDeviceSessionId, record.linkSessionId, "LinkedDeviceEmailOtpChallengeResendRequestV1.linkSessionId"),
1415
- challengeId: parseNonEmptyToken(record.challengeId, "LinkedDeviceEmailOtpChallengeResendRequestV1.challengeId")
1416
- };
897
+ return emailOtpChallengeResendRequestV1()(raw, "LinkedDeviceEmailOtpChallengeResendRequestV1");
898
+ }
899
+ function emailOtpChallengeVerifyRequestV1() {
900
+ return wireObject({
901
+ kind: wireLiteral("linked_device_email_otp_challenge_verify_request_v1"),
902
+ linkSessionId: sessionId,
903
+ challengeId: parseNonEmptyToken,
904
+ otpCode: (raw, label) => {
905
+ if (typeof raw !== "string" || !/^[0-9]{6,10}$/.test(raw)) throw new Error(`${label} is invalid`);
906
+ return raw;
907
+ }
908
+ });
1417
909
  }
1418
910
  function parseLinkedDeviceEmailOtpChallengeVerifyRequestV1(raw) {
1419
- const record = exactRecord(raw, [
1420
- "kind",
1421
- "linkSessionId",
1422
- "challengeId",
1423
- "otpCode"
1424
- ], "LinkedDeviceEmailOtpChallengeVerifyRequestV1");
1425
- if (record.kind !== "linked_device_email_otp_challenge_verify_request_v1") throw new Error("LinkedDeviceEmailOtpChallengeVerifyRequestV1.kind is invalid");
1426
- if (typeof record.otpCode !== "string" || !/^[0-9]{6,10}$/.test(record.otpCode)) throw new Error("LinkedDeviceEmailOtpChallengeVerifyRequestV1.otpCode is invalid");
1427
- return {
1428
- kind: "linked_device_email_otp_challenge_verify_request_v1",
1429
- linkSessionId: parseId(parseLinkDeviceSessionId, record.linkSessionId, "LinkedDeviceEmailOtpChallengeVerifyRequestV1.linkSessionId"),
1430
- challengeId: parseNonEmptyToken(record.challengeId, "LinkedDeviceEmailOtpChallengeVerifyRequestV1.challengeId"),
1431
- otpCode: record.otpCode
1432
- };
911
+ return emailOtpChallengeVerifyRequestV1()(raw, "LinkedDeviceEmailOtpChallengeVerifyRequestV1");
912
+ }
913
+ function emailOtpChallengeResultV1() {
914
+ return wireObject({
915
+ kind: wireLiteral("linked_device_email_otp_challenge_result_v1"),
916
+ challengeId: parseNonEmptyToken,
917
+ maskedEmailHint: parseNonEmptyToken,
918
+ expiresAtMs: parseUnixTime,
919
+ resendAvailableAtMs: parseUnixTime
920
+ });
1433
921
  }
1434
922
  function parseLinkedDeviceEmailOtpChallengeResultV1(raw) {
1435
- const record = exactRecord(raw, [
1436
- "kind",
1437
- "challengeId",
1438
- "maskedEmailHint",
1439
- "expiresAtMs",
1440
- "resendAvailableAtMs"
1441
- ], "LinkedDeviceEmailOtpChallengeResultV1");
1442
- if (record.kind !== "linked_device_email_otp_challenge_result_v1") throw new Error("LinkedDeviceEmailOtpChallengeResultV1.kind is invalid");
1443
- const expiresAtMs = parseUnixTime(record.expiresAtMs, "LinkedDeviceEmailOtpChallengeResultV1.expiresAtMs");
1444
- const resendAvailableAtMs = parseUnixTime(record.resendAvailableAtMs, "LinkedDeviceEmailOtpChallengeResultV1.resendAvailableAtMs");
1445
- return {
1446
- kind: "linked_device_email_otp_challenge_result_v1",
1447
- challengeId: parseNonEmptyToken(record.challengeId, "LinkedDeviceEmailOtpChallengeResultV1.challengeId"),
1448
- maskedEmailHint: parseNonEmptyToken(record.maskedEmailHint, "LinkedDeviceEmailOtpChallengeResultV1.maskedEmailHint"),
1449
- expiresAtMs,
1450
- resendAvailableAtMs
1451
- };
923
+ return emailOtpChallengeResultV1()(raw, "LinkedDeviceEmailOtpChallengeResultV1");
1452
924
  }
1453
925
  function parseLinkedDeviceEmailOtpVerificationResultV1(raw) {
1454
926
  const record = exactRecord(raw, [
@@ -1551,241 +1023,7 @@ function buildLinkedDeviceSessionCancelClaimedRequestV1(args) {
1551
1023
  requestedAtMs: parseUnixTime(args.requestedAtMs, "LinkedDeviceSessionCancelClaimedRequestV1.requestedAtMs")
1552
1024
  };
1553
1025
  }
1554
- const LOCAL_AUTHORITY_INSTALLATION_RECEIPT_FIELDS = [
1555
- "kind",
1556
- "authorityId",
1557
- "walletId",
1558
- "authMethodId",
1559
- "deviceId",
1560
- "packageSetDigestB64u",
1561
- "installedActivationRefs",
1562
- "installedRecordSetDigestB64u",
1563
- "targetFactorVerificationDigestB64u",
1564
- "installedAtMs"
1565
- ];
1566
- function parseLocalAuthorityInstallationReceiptV1(raw) {
1567
- const record = exactRecord(raw, LOCAL_AUTHORITY_INSTALLATION_RECEIPT_FIELDS, "LocalAuthorityInstallationReceiptV1");
1568
- if (record.kind !== "local_authority_installation_receipt_v1") throw new Error("LocalAuthorityInstallationReceiptV1.kind is invalid");
1569
- const installedActivationResult = parseWalletSignerActivationSetV1(record.installedActivationRefs);
1570
- if (!installedActivationResult.ok) throw new Error(`LocalAuthorityInstallationReceiptV1.installedActivationRefs ${installedActivationResult.error}`);
1571
- return {
1572
- kind: "local_authority_installation_receipt_v1",
1573
- authorityId: parseId(parseWalletAuthorityId, record.authorityId, "authorityId"),
1574
- walletId: parseId(parseWalletId, record.walletId, "walletId"),
1575
- authMethodId: parseId(parseWalletAuthMethodId, record.authMethodId, "authMethodId"),
1576
- deviceId: parseId(parseDeviceId$1, record.deviceId, "deviceId"),
1577
- packageSetDigestB64u: parseDigest(record.packageSetDigestB64u, "packageSetDigestB64u"),
1578
- installedActivationRefs: installedActivationResult.value,
1579
- installedRecordSetDigestB64u: parseDigest(record.installedRecordSetDigestB64u, "installedRecordSetDigestB64u"),
1580
- targetFactorVerificationDigestB64u: parseDigest(record.targetFactorVerificationDigestB64u, "targetFactorVerificationDigestB64u"),
1581
- installedAtMs: parseUnixTime(record.installedAtMs, "installedAtMs")
1582
- };
1583
- }
1584
- const ACTIVE_WALLET_SESSION_FIELDS = [
1585
- "kind",
1586
- "walletId",
1587
- "authorityId",
1588
- "authMethodId",
1589
- "authorizationId",
1590
- "quotaId",
1591
- "authorityDigestB64u",
1592
- "authorityRevocationEpoch",
1593
- "capabilitySubjects",
1594
- "issuedAtMs",
1595
- "expiresAtMs"
1596
- ];
1597
- const WALLET_SESSION_OPERATION_CREDENTIAL_FIELDS = [
1598
- "kind",
1599
- "token",
1600
- "walletSessionId"
1601
- ];
1602
- function parseWalletSessionOperationCredentialV1(raw) {
1603
- const record = exactRecord(raw, WALLET_SESSION_OPERATION_CREDENTIAL_FIELDS, "WalletSessionOperationCredentialV1");
1604
- if (typeof record.token !== "string" || record.token.length > 8192) throw new Error("WalletSessionOperationCredentialV1.token is invalid");
1605
- if (record.kind === "opaque_wallet_session_operation_credential_v1") {
1606
- if (!/^wst_[A-Za-z0-9_-]{43}$/.test(record.token)) throw new Error("WalletSessionOperationCredentialV1 opaque token is invalid");
1607
- return {
1608
- kind: record.kind,
1609
- token: record.token,
1610
- walletSessionId: parseId(parseWalletSessionId, record.walletSessionId, "walletSessionId")
1611
- };
1612
- }
1613
- throw new Error("WalletSessionOperationCredentialV1.kind is invalid");
1614
- }
1615
- function parseActiveWalletSessionV1(raw) {
1616
- const record = exactRecord(raw, ACTIVE_WALLET_SESSION_FIELDS, "ActiveWalletSessionV1");
1617
- if (record.kind !== "active_wallet_session_v1") throw new Error("ActiveWalletSessionV1.kind is invalid");
1618
- if (!Array.isArray(record.capabilitySubjects) || record.capabilitySubjects.length === 0) throw new Error("ActiveWalletSessionV1.capabilitySubjects must be non-empty");
1619
- const capabilitySubjects = [];
1620
- const subjectKeys = /* @__PURE__ */ new Set();
1621
- for (const [index, rawSubject] of record.capabilitySubjects.entries()) {
1622
- const subject = parseWalletCapabilitySubjectV1(rawSubject, `capabilitySubjects[${index}]`);
1623
- const key = subject.kind === "sign" || subject.kind === "export_keys" ? `${subject.kind}:${subject.keyFamily}:${subject.materialActivation.activationId}` : subject.kind;
1624
- if (subjectKeys.has(key)) throw new Error("ActiveWalletSessionV1 capability subjects repeat");
1625
- subjectKeys.add(key);
1626
- capabilitySubjects.push(subject);
1627
- }
1628
- const first = capabilitySubjects[0];
1629
- if (!first) throw new Error("ActiveWalletSessionV1.capabilitySubjects must be non-empty");
1630
- return {
1631
- kind: "active_wallet_session_v1",
1632
- walletId: parseId(parseWalletId, record.walletId, "walletId"),
1633
- authorityId: parseId(parseWalletAuthorityId, record.authorityId, "authorityId"),
1634
- authMethodId: parseId(parseWalletAuthMethodId, record.authMethodId, "authMethodId"),
1635
- authorizationId: parseId(parseWalletSessionAuthorizationId, record.authorizationId, "authorizationId"),
1636
- quotaId: parseId(parseMpcWalletSigningQuotaId, record.quotaId, "quotaId"),
1637
- authorityDigestB64u: parseDigest(record.authorityDigestB64u, "authorityDigestB64u"),
1638
- authorityRevocationEpoch: parseNonNegativeInteger(record.authorityRevocationEpoch, "authorityRevocationEpoch"),
1639
- capabilitySubjects: [first, ...capabilitySubjects.slice(1)],
1640
- issuedAtMs: parseUnixTime(record.issuedAtMs, "issuedAtMs"),
1641
- expiresAtMs: parseUnixTime(record.expiresAtMs, "expiresAtMs")
1642
- };
1643
- }
1644
- function parseWalletCapabilitySubjectV1(raw, label) {
1645
- const record = requireRecord(raw, label);
1646
- if (record.kind === "link_devices" || record.kind === "revoke_devices") {
1647
- rejectUnknownFields(record, ["kind"], label);
1648
- return { kind: record.kind };
1649
- }
1650
- if (record.kind !== "sign" && record.kind !== "export_keys") throw new Error(`${label}.kind is invalid`);
1651
- rejectUnknownFields(record, [
1652
- "kind",
1653
- "keyFamily",
1654
- "materialActivation"
1655
- ], label);
1656
- if (record.keyFamily !== "ed25519" && record.keyFamily !== "ecdsa_secp256k1") throw new Error(`${label}.keyFamily is invalid`);
1657
- return {
1658
- kind: record.kind,
1659
- keyFamily: record.keyFamily,
1660
- materialActivation: parseId(parseMpcMaterialActivationRef, record.materialActivation, `${label}.materialActivation`)
1661
- };
1662
- }
1663
- function parseNonNegativeInteger(raw, label) {
1664
- if (!Number.isSafeInteger(raw) || Number(raw) < 0) throw new Error(`${label} must be a non-negative safe integer`);
1665
- return Number(raw);
1666
- }
1667
- const LOCAL_AUTHORITY_ACTIVATION_FINAL_ACK_FIELDS = [
1668
- "kind",
1669
- "linkSessionId",
1670
- "authorityId",
1671
- "packageSetDigestB64u",
1672
- "authorizationId",
1673
- "walletSessionId",
1674
- "credentialDigestB64u",
1675
- "installationReceiptDigestB64u",
1676
- "acknowledgedAtMs"
1677
- ];
1678
- function parseLocalAuthorityActivationFinalAckV1(raw) {
1679
- const record = exactRecord(raw, LOCAL_AUTHORITY_ACTIVATION_FINAL_ACK_FIELDS, "LocalAuthorityActivationFinalAckV1");
1680
- if (record.kind !== "local_authority_activation_final_ack_v1") throw new Error("LocalAuthorityActivationFinalAckV1.kind is invalid");
1681
- return {
1682
- kind: "local_authority_activation_final_ack_v1",
1683
- linkSessionId: parseId(parseLinkDeviceSessionId, record.linkSessionId, "linkSessionId"),
1684
- authorityId: parseId(parseWalletAuthorityId, record.authorityId, "authorityId"),
1685
- packageSetDigestB64u: parseDigest(record.packageSetDigestB64u, "packageSetDigestB64u"),
1686
- authorizationId: parseId(parseWalletSessionAuthorizationId, record.authorizationId, "authorizationId"),
1687
- walletSessionId: parseId(parseWalletSessionId, record.walletSessionId, "walletSessionId"),
1688
- credentialDigestB64u: parseDigest(record.credentialDigestB64u, "credentialDigestB64u"),
1689
- installationReceiptDigestB64u: parseDigest(record.installationReceiptDigestB64u, "installationReceiptDigestB64u"),
1690
- acknowledgedAtMs: parseUnixTime(record.acknowledgedAtMs, "acknowledgedAtMs")
1691
- };
1692
- }
1693
- function parseActivateInstalledAuthorityResultV1(raw) {
1694
- const record = requireRecord(raw, "ActivateInstalledAuthorityResultV1");
1695
- switch (record.kind) {
1696
- case "active": {
1697
- rejectUnknownFields(record, [
1698
- "kind",
1699
- "authority",
1700
- "authMethod",
1701
- "walletSession",
1702
- "deliveryBinding",
1703
- "sealedDelivery"
1704
- ], "ActivateInstalledAuthorityResultV1");
1705
- const authorityResult = parseWalletAuthorityV1(record.authority);
1706
- if (!authorityResult.ok || authorityResult.value.state !== "active") throw new Error("ActivateInstalledAuthorityResultV1.authority must be active");
1707
- const authMethod = parseWalletAuthMethodRecordV2(record.authMethod);
1708
- if (!authMethod || authMethod.status !== "active") throw new Error("ActivateInstalledAuthorityResultV1.authMethod must be active");
1709
- const walletSession = parseActiveWalletSessionV1(record.walletSession);
1710
- const deliveryBinding = parseLinkedDeviceWalletSessionCredentialDeliveryBindingV1(record.deliveryBinding);
1711
- const sealedDelivery = parseLinkedDeviceWalletSessionCredentialDeliveryV1(record.sealedDelivery);
1712
- if (authorityResult.value.walletId !== authMethod.walletId || authorityResult.value.authorityId !== authMethod.walletAuthorityId || walletSession.walletId !== authorityResult.value.walletId || walletSession.authorityId !== authorityResult.value.authorityId || walletSession.authMethodId !== authMethod.walletAuthMethodId || walletSession.authorityDigestB64u !== authorityResult.value.authorityDigestB64u || walletSession.authorityRevocationEpoch !== authorityResult.value.revocationEpoch || deliveryBinding.namespace !== sealedDelivery.aad.namespace || deliveryBinding.orgId !== sealedDelivery.aad.orgId || deliveryBinding.projectId !== sealedDelivery.aad.projectId || deliveryBinding.envId !== sealedDelivery.aad.envId || deliveryBinding.tenantId !== sealedDelivery.aad.tenantId || deliveryBinding.principalId !== sealedDelivery.aad.principalId || sealedDelivery.aad.walletId !== walletSession.walletId || sealedDelivery.aad.authorityId !== walletSession.authorityId || sealedDelivery.aad.walletAuthMethodId !== walletSession.authMethodId || sealedDelivery.aad.authorizationId !== walletSession.authorizationId || sealedDelivery.aad.quotaId !== walletSession.quotaId || sealedDelivery.aad.issuedAtMs !== walletSession.issuedAtMs || sealedDelivery.aad.expiresAtMs !== walletSession.expiresAtMs) throw new Error("ActivateInstalledAuthorityResultV1 identities do not match");
1713
- return {
1714
- kind: "active",
1715
- authority: authorityResult.value,
1716
- authMethod,
1717
- walletSession,
1718
- deliveryBinding,
1719
- sealedDelivery
1720
- };
1721
- }
1722
- case "pending_local_install":
1723
- rejectUnknownFields(record, [
1724
- "kind",
1725
- "authorityId",
1726
- "reason"
1727
- ], "ActivateInstalledAuthorityResultV1");
1728
- return {
1729
- kind: "pending_local_install",
1730
- authorityId: parseId(parseWalletAuthorityId, record.authorityId, "authorityId"),
1731
- reason: parseActivationRetryReasonV1(record.reason)
1732
- };
1733
- case "integrity_error":
1734
- rejectUnknownFields(record, ["kind", "reason"], "ActivateInstalledAuthorityResultV1");
1735
- return {
1736
- kind: "integrity_error",
1737
- reason: parseLinkIntegrityFailureV1(record.reason)
1738
- };
1739
- default: throw new Error("ActivateInstalledAuthorityResultV1.kind is invalid");
1740
- }
1741
- }
1742
- function parseActivationRetryReasonV1(raw) {
1743
- const record = requireRecord(raw, "ActivationRetryReasonV1");
1744
- switch (record.kind) {
1745
- case "installation_receipt_not_found":
1746
- case "server_worker_activation_pending":
1747
- case "wallet_session_issuance_pending":
1748
- rejectUnknownFields(record, ["kind"], "ActivationRetryReasonV1");
1749
- return { kind: record.kind };
1750
- default: throw new Error("ActivationRetryReasonV1.kind is invalid");
1751
- }
1752
- }
1753
- function parseLinkIntegrityFailureV1(raw) {
1754
- const record = requireRecord(raw, "LinkIntegrityFailureV1");
1755
- switch (record.kind) {
1756
- case "authority_id_mismatch":
1757
- rejectUnknownFields(record, [
1758
- "kind",
1759
- "expectedAuthorityId",
1760
- "actualAuthorityId"
1761
- ], "LinkIntegrityFailureV1");
1762
- return {
1763
- kind: "authority_id_mismatch",
1764
- expectedAuthorityId: parseId(parseWalletAuthorityId, record.expectedAuthorityId, "expectedAuthorityId"),
1765
- actualAuthorityId: parseId(parseWalletAuthorityId, record.actualAuthorityId, "actualAuthorityId")
1766
- };
1767
- case "package_set_digest_mismatch":
1768
- rejectUnknownFields(record, [
1769
- "kind",
1770
- "expectedPackageSetDigestB64u",
1771
- "actualPackageSetDigestB64u"
1772
- ], "LinkIntegrityFailureV1");
1773
- return {
1774
- kind: "package_set_digest_mismatch",
1775
- expectedPackageSetDigestB64u: parseDigest(record.expectedPackageSetDigestB64u, "expectedPackageSetDigestB64u"),
1776
- actualPackageSetDigestB64u: parseDigest(record.actualPackageSetDigestB64u, "actualPackageSetDigestB64u")
1777
- };
1778
- case "installation_receipt_mismatch":
1779
- rejectUnknownFields(record, ["kind", "field"], "LinkIntegrityFailureV1");
1780
- if (record.field !== "walletId" && record.field !== "authMethodId" && record.field !== "deviceId" && record.field !== "targetFactorVerificationDigestB64u" && record.field !== "installedActivationRefs") throw new Error("LinkIntegrityFailureV1.field is invalid");
1781
- return {
1782
- kind: "installation_receipt_mismatch",
1783
- field: record.field
1784
- };
1785
- default: throw new Error("LinkIntegrityFailureV1.kind is invalid");
1786
- }
1787
- }
1788
1026
  //#endregion
1789
- export { buildLinkedDeviceApprovalV1, buildLinkedDeviceSessionCancelClaimedRequestV1, buildLinkedDeviceSessionCancelUnclaimedRequestV1, buildLinkedDeviceSessionClaimRequestV1, buildLinkedDeviceTargetCredentialRegistrationV1, buildQrLinkedDeviceSessionPayloadV5, parseActivateInstalledAuthorityResultV1, parseActiveWalletSessionV1, parseLinkDevicePublicKeyB64u, parseLinkSessionProjectionV1, parseLinkSessionStateV1, parseLinkSessionTransportEventV1, parseLinkedDeviceApprovalDeliveryV1, parseLinkedDeviceApprovalResultV1, parseLinkedDeviceApprovalV1, parseLinkedDeviceEmailOtpBaseFactorResolutionResultV1, parseLinkedDeviceEmailOtpBaseFactorResolutionV1, parseLinkedDeviceEmailOtpChallengeResendRequestV1, parseLinkedDeviceEmailOtpChallengeResultV1, parseLinkedDeviceEmailOtpChallengeStartRequestV1, parseLinkedDeviceEmailOtpChallengeVerifyRequestV1, parseLinkedDeviceEmailOtpFactorReleaseEnvelopeV1, parseLinkedDeviceEmailOtpVerificationGrantV1, parseLinkedDeviceEmailOtpVerificationResultV1, parseLinkedDeviceListRequestV1, parseLinkedDeviceListResultV1, parseLinkedDeviceOwnerAuthorizationRequestV1, parseLinkedDeviceOwnerAuthorizationSourceV1, parseLinkedDeviceRevokeRequestV1, parseLinkedDeviceRevokeResultV1, parseLinkedDeviceSessionClaimV1, parseLinkedDeviceSummaryV1, parseLinkedDeviceTargetCredentialRegistrationResultV1, parseLinkedDeviceTargetCredentialRegistrationV1, parseLinkedDeviceTargetPreparationRequestV1, parseLinkedDeviceTargetPreparationV1, parseLocalAuthorityActivationFinalAckV1, parseLocalAuthorityInstallationReceiptV1, parseOwnerDeviceSummaryV1, parseQrLinkedDeviceSessionPayloadV5, parseQrLinkedDeviceSessionTextV5, parseWalletSessionOperationCredentialV1, serializeQrLinkedDeviceSessionPayloadV5 };
1027
+ export { buildLinkedDeviceApprovalV1, buildLinkedDeviceSessionCancelClaimedRequestV1, buildLinkedDeviceSessionCancelUnclaimedRequestV1, buildLinkedDeviceSessionClaimRequestV1, buildLinkedDeviceTargetCredentialRegistrationV1, buildQrLinkedDeviceSessionPayloadV5, parseLinkDevicePublicKeyB64u, parseLinkSessionProjectionV1, parseLinkSessionStateV1, parseLinkSessionTransportEventV1, parseLinkedDeviceApprovalDeliveryV1, parseLinkedDeviceApprovalResultV1, parseLinkedDeviceApprovalV1, parseLinkedDeviceEmailOtpBaseFactorResolutionResultV1, parseLinkedDeviceEmailOtpChallengeResendRequestV1, parseLinkedDeviceEmailOtpChallengeResultV1, parseLinkedDeviceEmailOtpChallengeStartRequestV1, parseLinkedDeviceEmailOtpChallengeVerifyRequestV1, parseLinkedDeviceEmailOtpFactorReleaseEnvelopeV1, parseLinkedDeviceEmailOtpVerificationGrantV1, parseLinkedDeviceEmailOtpVerificationResultV1, parseLinkedDeviceOwnerAuthorizationRequestV1, parseLinkedDeviceOwnerAuthorizationSourceV1, parseLinkedDeviceSessionClaimV1, parseLinkedDeviceTargetCredentialRegistrationResultV1, parseLinkedDeviceTargetCredentialRegistrationV1, parseLinkedDeviceTargetPreparationRequestV1, parseLinkedDeviceTargetPreparationV1, parseQrLinkedDeviceSessionPayloadV5, parseQrLinkedDeviceSessionTextV5, serializeQrLinkedDeviceSessionPayloadV5 };
1790
1028
 
1791
1029
  //# sourceMappingURL=parsers.js.map