@seams/wallet 0.7.1 → 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 (509) 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 +10 -1
  4. package/dist/esm/SeamsWeb/operations/auth/login.js +16 -6
  5. package/dist/esm/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.js +64 -0
  6. package/dist/esm/SeamsWeb/operations/auth/walletAuth.js +2 -3
  7. package/dist/esm/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.js +1 -4
  8. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +11 -12
  9. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingResume.js +1 -5
  10. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +24 -24
  11. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +4 -7
  12. package/dist/esm/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +2 -8
  13. package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +4 -1
  14. package/dist/esm/SeamsWeb/publicApi/auth.js +2 -1
  15. package/dist/esm/SeamsWeb/publicApi/tempo.js +6 -0
  16. package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +24 -15
  17. package/dist/esm/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.js +29 -0
  18. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +88 -222
  19. package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +6 -26
  20. package/dist/esm/build-paths.js +0 -2
  21. package/dist/esm/components/AccountMenuButton/MenuItem.css +17 -0
  22. package/dist/esm/components/AccountMenuButton/UserAccountButton.css +0 -5
  23. package/dist/esm/components/AccountMenuButton/Web3AuthProfileButton.css +0 -52
  24. package/dist/esm/components/QRCodeScanner.css +0 -15
  25. package/dist/esm/components/ShowQRCode.css +0 -14
  26. package/dist/esm/core/indexedDB/pendingWalletRecoveryCommit.js +5 -10
  27. package/dist/esm/core/indexedDB/pendingWalletRegistrationCommit.js +139 -273
  28. package/dist/esm/core/indexedDB/seamsWalletDB/laneHolderMaterialStore.js +10 -13
  29. package/dist/esm/core/rpcClients/relayer/walletRecoveryPrepare.js +69 -121
  30. package/dist/esm/core/signingEngine/assembly/ports/recovery.js +1 -1
  31. package/dist/esm/core/signingEngine/chains/evm/display/functionSelectors.js +2 -5
  32. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportFlow.js +2 -2
  33. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +35 -28
  34. package/dist/esm/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +3 -3
  35. package/dist/esm/core/signingEngine/flows/recovery/exportKeypairOperation.js +1 -4
  36. package/dist/esm/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +1 -4
  37. package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +2 -2
  38. package/dist/esm/core/signingEngine/flows/signEvmFamily/preparedSigning.js +2 -9
  39. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +6 -8
  40. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.js +24 -18
  41. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +6 -4
  42. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +10 -9
  43. package/dist/esm/core/signingEngine/flows/signEvmFamily/transactionExecutor.js +2 -5
  44. package/dist/esm/core/signingEngine/flows/signNear/signNear.js +2 -2
  45. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +2 -0
  46. package/dist/esm/core/signingEngine/session/availability/availableSigningLanes.js +1 -10
  47. package/dist/esm/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +7 -6
  48. package/dist/esm/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.js +108 -24
  49. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLogin.js +3 -8
  50. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaRecovery.js +2 -2
  51. package/dist/esm/core/signingEngine/session/identity/selectLane.js +7 -21
  52. package/dist/esm/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +2 -7
  53. package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +3 -15
  54. package/dist/esm/core/signingEngine/session/material/ecdsaSigningCapability.js +1 -1
  55. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +1 -4
  56. package/dist/esm/core/signingEngine/session/persistence/sealedSessionRecords.js +5 -8
  57. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefillSigningMaterialSource.js +2 -2
  58. package/dist/esm/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +1 -1
  59. package/dist/esm/core/signingEngine/threshold/commitQueueShared.js +20 -6
  60. package/dist/esm/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +7 -4
  61. package/dist/esm/core/signingEngine/threshold/ecdsa/signingQueue.js +8 -50
  62. package/dist/esm/core/signingEngine/threshold/ed25519/commitQueue.js +7 -43
  63. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +3 -2
  64. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +18 -16
  65. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +1 -10
  66. package/dist/esm/core/signingEngine/workerManager/deviceLinkingPorts.js +67 -48
  67. package/dist/esm/core/signingEngine/workerManager/workerTransport.js +1 -5
  68. package/dist/esm/react/SeamsWeb/SeamsWeb.js +10 -1
  69. package/dist/esm/react/SeamsWeb/operations/auth/login.js +16 -6
  70. package/dist/esm/react/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.js +64 -0
  71. package/dist/esm/react/SeamsWeb/operations/auth/walletAuth.js +2 -3
  72. package/dist/esm/react/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.js +1 -4
  73. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +11 -12
  74. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingResume.js +1 -5
  75. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +24 -24
  76. package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +4 -7
  77. package/dist/esm/react/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +2 -8
  78. package/dist/esm/react/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +4 -1
  79. package/dist/esm/react/SeamsWeb/publicApi/auth.js +2 -1
  80. package/dist/esm/react/SeamsWeb/publicApi/tempo.js +6 -0
  81. package/dist/esm/react/SeamsWeb/signingSurface/BrowserSigningSurface.js +24 -15
  82. package/dist/esm/react/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.js +29 -0
  83. package/dist/esm/react/SeamsWeb/walletIframe/shared/exactSessionState.js +6 -26
  84. package/dist/esm/react/build-paths.js +0 -2
  85. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +2 -2
  86. package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.js +1 -1
  87. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +4 -4
  88. package/dist/esm/react/components/AccountMenuButton/LockMenuItem.js +2 -1
  89. package/dist/esm/react/components/AccountMenuButton/MenuItem.css +17 -0
  90. package/dist/esm/react/components/AccountMenuButton/UserAccountButton.css +0 -5
  91. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +7 -7
  92. package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +0 -52
  93. package/dist/esm/react/components/AccountMenuButton/icons/GlobeIcon.js +12 -27
  94. package/dist/esm/react/components/AccountMenuButton/icons/KeyIcon.js +12 -27
  95. package/dist/esm/react/components/AccountMenuButton/icons/LaptopIcon.js +4 -19
  96. package/dist/esm/react/components/AccountMenuButton/icons/LinkIcon.js +4 -19
  97. package/dist/esm/react/components/AccountMenuButton/icons/LockIcon.js +11 -26
  98. package/dist/esm/react/components/AccountMenuButton/icons/MailIcon.js +10 -25
  99. package/dist/esm/react/components/AccountMenuButton/icons/RecoveryCodesIcon.js +16 -31
  100. package/dist/esm/react/components/AccountMenuButton/icons/ScanIcon.js +9 -24
  101. package/dist/esm/react/components/AccountMenuButton/icons/SlidersIcon.js +14 -29
  102. package/dist/esm/react/components/AccountMenuButton/icons/SmartphoneIcon.js +11 -26
  103. package/dist/esm/react/components/AccountMenuButton/icons/lucideIcon.js +27 -0
  104. package/dist/esm/react/components/AccountMenuButton/icons/strokeIcon.js +7 -17
  105. package/dist/esm/react/components/AccountMenuButton/index.js +6 -6
  106. package/dist/esm/react/components/QRCodeScanner.css +0 -15
  107. package/dist/esm/react/components/ShowQRCode.css +0 -14
  108. package/dist/esm/react/context/useSeamsWithSdkFlow.js +1 -2
  109. package/dist/esm/react/context/useWalletIframeLifecycle.js +0 -14
  110. package/dist/esm/react/core/indexedDB/pendingWalletRecoveryCommit.js +5 -10
  111. package/dist/esm/react/core/indexedDB/pendingWalletRegistrationCommit.js +139 -273
  112. package/dist/esm/react/core/rpcClients/relayer/walletRecoveryPrepare.js +4 -4
  113. package/dist/esm/react/core/signingEngine/assembly/ports/recovery.js +1 -1
  114. package/dist/esm/react/core/signingEngine/chains/evm/display/functionSelectors.js +2 -5
  115. package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaExportFlow.js +2 -2
  116. package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +35 -28
  117. package/dist/esm/react/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +3 -3
  118. package/dist/esm/react/core/signingEngine/flows/recovery/exportKeypairOperation.js +1 -4
  119. package/dist/esm/react/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +1 -4
  120. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +2 -2
  121. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/preparedSigning.js +2 -9
  122. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +6 -8
  123. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.js +24 -18
  124. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlow.js +6 -4
  125. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +10 -9
  126. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/transactionExecutor.js +2 -5
  127. package/dist/esm/react/core/signingEngine/flows/signNear/signNear.js +2 -2
  128. package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +2 -0
  129. package/dist/esm/react/core/signingEngine/session/availability/availableSigningLanes.js +1 -10
  130. package/dist/esm/react/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +7 -6
  131. package/dist/esm/react/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.js +108 -24
  132. package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaLogin.js +3 -8
  133. package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaRecovery.js +2 -2
  134. package/dist/esm/react/core/signingEngine/session/identity/selectLane.js +7 -21
  135. package/dist/esm/react/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +2 -7
  136. package/dist/esm/react/core/signingEngine/session/material/ecdsaCapabilityManifest.js +3 -15
  137. package/dist/esm/react/core/signingEngine/session/material/ecdsaSigningCapability.js +1 -1
  138. package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +1 -4
  139. package/dist/esm/react/core/signingEngine/session/persistence/sealedSessionRecords.js +5 -8
  140. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefillSigningMaterialSource.js +2 -2
  141. package/dist/esm/react/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +1 -1
  142. package/dist/esm/react/core/signingEngine/threshold/commitQueueShared.js +20 -6
  143. package/dist/esm/react/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +7 -4
  144. package/dist/esm/react/core/signingEngine/threshold/ecdsa/signingQueue.js +8 -50
  145. package/dist/esm/react/core/signingEngine/threshold/ed25519/commitQueue.js +7 -43
  146. package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +3 -2
  147. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +18 -16
  148. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +1 -10
  149. package/dist/esm/react/core/signingEngine/workerManager/deviceLinkingPorts.js +67 -48
  150. package/dist/esm/react/core/signingEngine/workerManager/workerTransport.js +1 -5
  151. package/dist/esm/react/shared-ts/src/authorization/walletSessionIssuance.js +5 -8
  152. package/dist/esm/react/shared-ts/src/authorization/walletSignerActivationEquality.js +12 -0
  153. package/dist/esm/react/shared-ts/src/device-linking/committedSignerPackages.js +2 -5
  154. package/dist/esm/react/shared-ts/src/device-linking/delegatedActivationPlan.js +1 -5
  155. package/dist/esm/react/shared-ts/src/device-linking/ed25519ExportRoot.js +11 -15
  156. package/dist/esm/react/shared-ts/src/device-linking/sourceContribution.js +5 -8
  157. package/dist/esm/react/shared-ts/src/passkey-custody/primitives.js +5 -1
  158. package/dist/esm/react/shared-ts/src/signing-lanes/ownerContinuity.js +3 -7
  159. package/dist/esm/react/shared-ts/src/signing-lanes/recordParsers.js +12 -16
  160. package/dist/esm/react/shared-ts/src/threshold/signingRootScope.js +4 -1
  161. package/dist/esm/react/shared-ts/src/utils/ecdsaKeyFactsInventory.js +2 -4
  162. package/dist/esm/react/shared-ts/src/utils/ecdsaServerTiming.js +0 -1
  163. package/dist/esm/react/shared-ts/src/utils/exactKeys.js +17 -0
  164. package/dist/esm/react/shared-ts/src/utils/registrationIntent.js +2 -8
  165. package/dist/esm/react/shared-ts/src/utils/registrationSignerPlan.js +2 -5
  166. package/dist/esm/react/shared-ts/src/utils/routerAbEcdsaDerivation.js +1 -1
  167. package/dist/esm/react/shared-ts/src/utils/routerAbEd25519Yao.js +1 -1
  168. package/dist/esm/react/shared-ts/src/utils/thresholdEcdsaChainTarget.js +9 -0
  169. package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +1 -4
  170. package/dist/esm/react/styles/styles.css +17 -86
  171. package/dist/esm/react/utils/menuItemBlink.js +24 -0
  172. package/dist/esm/sdk/{accountLifecycle-BAGG_rbk.js → accountLifecycle-zthG08aC.js} +1 -1
  173. package/dist/esm/sdk/{adapters-B4JeK1nJ.js → adapters-Dli9XAZp.js} +20 -48
  174. package/dist/{public/sdk/canonicalSignerErrorCode-CRoJMVpp.js → esm/sdk/canonicalSignerErrorCode-BBIk365e.js} +1 -15
  175. package/dist/esm/sdk/{challengeDelivery-Dd0586fo.js → challengeDelivery-DZtopOAG.js} +1 -1
  176. package/dist/{public/sdk/configHelpers-vAQCzUD0.js → esm/sdk/configHelpers-D1EqxVxg.js} +1 -1
  177. package/dist/{public/sdk/defaultConfigs-B3c16M_8.js → esm/sdk/defaultConfigs-D_33pPT9.js} +3 -3
  178. package/dist/esm/sdk/{display-KdIL0ff7.js → display-P4nQF-yc.js} +1 -1
  179. package/dist/esm/sdk/{ecdsaCapabilityManifest-kzO_fW09.js → ecdsaCapabilityManifest-DuMs0VtU.js} +6 -18
  180. package/dist/{public/sdk/ecdsaPresignLifecycle-BFOTNYCK.js → esm/sdk/ecdsaPresignLifecycle-Bfx2AQKb.js} +2 -2
  181. package/dist/esm/sdk/{ecdsaWalletRecords-Cz4m6bIz.js → ecdsaWalletRecords-D42rtA9z.js} +2 -2
  182. package/dist/{public/sdk/evmFamilyEcdsaIdentity-Co5XDcEA.js → esm/sdk/evmFamilyEcdsaIdentity-CqGafQsI.js} +20 -34
  183. package/dist/esm/sdk/{exactSessionState-CiD5fBEs.js → exactSessionState-LWDUXydN.js} +10 -30
  184. package/dist/esm/sdk/{exactSigningLaneIdentity-DQeqPMST.js → exactSigningLaneIdentity-m6uTXV_A.js} +1 -1
  185. package/dist/esm/sdk/{export-viewer-host-ZqA2Yz3H.js → export-viewer-host-rWMSQQMP.js} +1 -1
  186. package/dist/{public/sdk/host-BWBbCAMu.js → esm/sdk/host-CnV8nAUe.js} +3 -3
  187. package/dist/{public/sdk/keyMaterialBrands-CX41hur6.js → esm/sdk/keyMaterialBrands-CogGAAZn.js} +1 -1
  188. package/dist/{public/sdk/localOnly-Bg8UuLZ5.js → esm/sdk/localOnly-DTpa2jD5.js} +2 -2
  189. package/dist/esm/sdk/{nearEd25519YaoMaterialActivation-DPb0s3hQ.js → nearEd25519YaoMaterialActivation-B5GecIvq.js} +38 -28
  190. package/dist/esm/sdk/{nearEd25519YaoSigningPreparation-BeD-SmbK.js → nearEd25519YaoSigningPreparation-CdOT5RuC.js} +3 -3
  191. package/dist/esm/sdk/{passkey-custody-Bk1jAknm.js → passkey-custody-UUHbC0pk.js} +1 -1
  192. package/dist/esm/sdk/{pendingWalletRecoveryCodeBackup-DLzBb3WQ.js → pendingWalletRecoveryCodeBackup-BWluQMbt.js} +1 -1
  193. package/dist/esm/sdk/{recovery-entrypoint-DW2tGyMs.js → recovery-entrypoint-C3fydnRC.js} +10 -10
  194. package/dist/esm/sdk/{registration-BZDzDv91.js → registration-Ct_7LdGf.js} +30 -42
  195. package/dist/esm/sdk/{registration-BzVHODuD.js → registration-DHERU8R_.js} +1 -1
  196. package/dist/esm/sdk/{registrationAccounts-CKku_Sgy.js → registrationAccounts-DmWPzf3T.js} +2 -2
  197. package/dist/esm/sdk/{registrationIntent-D0PxwEY4.js → registrationIntent-4zwk16zQ.js} +3 -9
  198. package/dist/esm/sdk/{registrationPreparationPreload-CIAuRlxI.js → registrationPreparationPreload-D6zpWp4O.js} +2 -2
  199. package/dist/esm/sdk/{registrationSignerPlan-CAikVZZQ.js → registrationSignerPlan-DhV8VAob.js} +2 -5
  200. package/dist/{public/sdk/router-C5lF_J_u.js → esm/sdk/router-B4ZWFy9E.js} +7 -7
  201. package/dist/{public/sdk/routerAbNormalSigning-fhvpDtmY.js → esm/sdk/routerAbNormalSigning-CVFEOZ2m.js} +1 -1
  202. package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  203. package/dist/esm/sdk/{runtime-auth-DFTqwj3u.js → runtime-auth-DdfynDKt.js} +126 -273
  204. package/dist/esm/sdk/{runtime-device-link-C1Oub8Lw.js → runtime-device-link-HJ2ptFux.js} +12 -12
  205. package/dist/esm/sdk/{runtime-ecdsa-tempo-rkWwolw1.js → runtime-ecdsa-tempo-BGLsTAWR.js} +13 -13
  206. package/dist/{public/sdk/runtime-email-otp-vuUG5LYl.js → esm/sdk/runtime-email-otp-CpX88VZJ.js} +12 -12
  207. package/dist/{public/sdk/runtime-export-FZWj0HxJ.js → esm/sdk/runtime-export-DIVY473L.js} +13 -13
  208. package/dist/esm/sdk/{runtime-near-B9cjurVD.js → runtime-near-CxtQi4b2.js} +12 -12
  209. package/dist/esm/sdk/{runtime-preferences-Dq0bfyS5.js → runtime-preferences-vnJc5Svg.js} +12 -12
  210. package/dist/esm/sdk/{runtime-recovery-codes-bTm3fLV4.js → runtime-recovery-codes-BSCLVHQj.js} +6 -6
  211. package/dist/{public/sdk/runtime-recovery-C-vfFKF3.js → esm/sdk/runtime-recovery-i08vCJST.js} +12 -12
  212. package/dist/esm/sdk/{runtimeContext-iLXnxVlZ.js → runtimeContext-D3TBExQ6.js} +346 -305
  213. package/dist/esm/sdk/{runtimeLoader-hod6T2-m.js → runtimeLoader-DQVEFVaW.js} +11 -11
  214. package/dist/{public/sdk/secp256k1-el9aE4Sv.js → esm/sdk/secp256k1-D-I6Gh4D.js} +36 -25
  215. package/dist/esm/sdk/{sessionPolicy-CHiilOAB.js → sessionPolicy-DO-MkL65.js} +8 -1
  216. package/dist/{public/sdk/signEvmFamily-e4IWWsZs.js → esm/sdk/signEvmFamily-C3C97Th-.js} +43 -102
  217. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-Cu9qdk8M.js → signEvmFamilyWithUiConfirmForTempo-BI9DSTIS.js} +2 -2
  218. package/dist/{public/sdk/signEvmWithUiConfirm-C61TCBnh.js → esm/sdk/signEvmWithUiConfirm-Bmcim5-g.js} +1 -1
  219. package/dist/esm/sdk/{signNear-Bblwn2kT.js → signNear-Bmb2fj_a.js} +19 -55
  220. package/dist/{public/sdk/signerLoader-D7Aey0FD.js → esm/sdk/signerLoader-B7orgq5Z.js} +3 -3
  221. package/dist/{public/sdk/signingFlow-rZfPegH9.js → esm/sdk/signingFlow-SZ8t_lxv.js} +9 -10
  222. package/dist/esm/sdk/{trace-rHe0wz7q.js → trace-DKLQZvec.js} +0 -1
  223. package/dist/esm/sdk/{transactionState-DP9O8F6f.js → transactionState-CJ4U8pcl.js} +50 -41
  224. package/dist/esm/sdk/tx-confirm-ui.js +11 -46
  225. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  226. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  227. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  228. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  229. package/dist/{public/sdk/wallet-recovery-Bz9qKgaL.js → esm/sdk/wallet-recovery-BX61-79p.js} +3 -6
  230. package/dist/esm/sdk/wallet-ui.css +41 -301
  231. package/dist/{public/sdk/walletAuthority-BQBxgUBn.js → esm/sdk/walletAuthority-DD9T25F6.js} +1 -5
  232. package/dist/esm/sdk/{walletCustodyEcdsaContinuity-Hn4ORIbf.js → walletCustodyEcdsaContinuity-CF4bv9OI.js} +166 -296
  233. package/dist/esm/sdk/{walletRecoveryCommit-sjGNTHUj.js → walletRecoveryCommit-AI1AtIRP.js} +81 -139
  234. package/dist/esm/shared-ts/src/authorization/walletSessionIssuance.js +5 -8
  235. package/dist/esm/shared-ts/src/authorization/walletSignerActivationEquality.js +12 -0
  236. package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +2 -5
  237. package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +1 -5
  238. package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +11 -15
  239. package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +5 -8
  240. package/dist/esm/shared-ts/src/passkey-custody/primitives.js +5 -1
  241. package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +3 -7
  242. package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +12 -16
  243. package/dist/esm/shared-ts/src/threshold/signingRootScope.js +4 -1
  244. package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +2 -4
  245. package/dist/esm/shared-ts/src/utils/ecdsaServerTiming.js +0 -1
  246. package/dist/esm/shared-ts/src/utils/exactKeys.js +17 -0
  247. package/dist/esm/shared-ts/src/utils/registrationIntent.js +2 -8
  248. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +2 -5
  249. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +1 -1
  250. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +1 -1
  251. package/dist/esm/shared-ts/src/utils/thresholdEcdsaChainTarget.js +9 -0
  252. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +1 -4
  253. package/dist/esm/utils/menuItemBlink.js +24 -0
  254. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.d.ts +1 -1
  255. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  256. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
  257. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
  258. package/dist/public/headers.manifest.json +1 -1
  259. package/dist/public/sdk/{accountLifecycle-BAGG_rbk.js → accountLifecycle-zthG08aC.js} +1 -1
  260. package/dist/public/sdk/{adapters-B4JeK1nJ.js → adapters-Dli9XAZp.js} +20 -48
  261. package/dist/{esm/sdk/canonicalSignerErrorCode-CRoJMVpp.js → public/sdk/canonicalSignerErrorCode-BBIk365e.js} +1 -15
  262. package/dist/public/sdk/{challengeDelivery-Dd0586fo.js → challengeDelivery-DZtopOAG.js} +1 -1
  263. package/dist/{esm/sdk/configHelpers-vAQCzUD0.js → public/sdk/configHelpers-D1EqxVxg.js} +1 -1
  264. package/dist/{esm/sdk/defaultConfigs-B3c16M_8.js → public/sdk/defaultConfigs-D_33pPT9.js} +3 -3
  265. package/dist/public/sdk/{display-KdIL0ff7.js → display-P4nQF-yc.js} +1 -1
  266. package/dist/public/sdk/{ecdsaCapabilityManifest-kzO_fW09.js → ecdsaCapabilityManifest-DuMs0VtU.js} +6 -18
  267. package/dist/{esm/sdk/ecdsaPresignLifecycle-BFOTNYCK.js → public/sdk/ecdsaPresignLifecycle-Bfx2AQKb.js} +2 -2
  268. package/dist/public/sdk/{ecdsaWalletRecords-Cz4m6bIz.js → ecdsaWalletRecords-D42rtA9z.js} +2 -2
  269. package/dist/{esm/sdk/evmFamilyEcdsaIdentity-Co5XDcEA.js → public/sdk/evmFamilyEcdsaIdentity-CqGafQsI.js} +20 -34
  270. package/dist/public/sdk/{exactSessionState-CiD5fBEs.js → exactSessionState-LWDUXydN.js} +10 -30
  271. package/dist/public/sdk/{exactSigningLaneIdentity-DQeqPMST.js → exactSigningLaneIdentity-m6uTXV_A.js} +1 -1
  272. package/dist/public/sdk/{export-viewer-host-ZqA2Yz3H.js → export-viewer-host-rWMSQQMP.js} +1 -1
  273. package/dist/{esm/sdk/host-BWBbCAMu.js → public/sdk/host-CnV8nAUe.js} +3 -3
  274. package/dist/{esm/sdk/keyMaterialBrands-CX41hur6.js → public/sdk/keyMaterialBrands-CogGAAZn.js} +1 -1
  275. package/dist/{esm/sdk/localOnly-Bg8UuLZ5.js → public/sdk/localOnly-DTpa2jD5.js} +2 -2
  276. package/dist/public/sdk/{nearEd25519YaoMaterialActivation-DPb0s3hQ.js → nearEd25519YaoMaterialActivation-B5GecIvq.js} +38 -28
  277. package/dist/public/sdk/{nearEd25519YaoSigningPreparation-BeD-SmbK.js → nearEd25519YaoSigningPreparation-CdOT5RuC.js} +3 -3
  278. package/dist/public/sdk/{passkey-custody-Bk1jAknm.js → passkey-custody-UUHbC0pk.js} +1 -1
  279. package/dist/public/sdk/{pendingWalletRecoveryCodeBackup-DLzBb3WQ.js → pendingWalletRecoveryCodeBackup-BWluQMbt.js} +1 -1
  280. package/dist/public/sdk/{recovery-entrypoint-DW2tGyMs.js → recovery-entrypoint-C3fydnRC.js} +10 -10
  281. package/dist/public/sdk/{registration-BZDzDv91.js → registration-Ct_7LdGf.js} +30 -42
  282. package/dist/public/sdk/{registration-BzVHODuD.js → registration-DHERU8R_.js} +1 -1
  283. package/dist/public/sdk/{registrationAccounts-CKku_Sgy.js → registrationAccounts-DmWPzf3T.js} +2 -2
  284. package/dist/public/sdk/{registrationIntent-D0PxwEY4.js → registrationIntent-4zwk16zQ.js} +3 -9
  285. package/dist/public/sdk/{registrationPreparationPreload-CIAuRlxI.js → registrationPreparationPreload-D6zpWp4O.js} +2 -2
  286. package/dist/public/sdk/{registrationSignerPlan-CAikVZZQ.js → registrationSignerPlan-DhV8VAob.js} +2 -5
  287. package/dist/{esm/sdk/router-C5lF_J_u.js → public/sdk/router-B4ZWFy9E.js} +7 -7
  288. package/dist/{esm/sdk/routerAbNormalSigning-fhvpDtmY.js → public/sdk/routerAbNormalSigning-CVFEOZ2m.js} +1 -1
  289. package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  290. package/dist/public/sdk/{runtime-auth-DFTqwj3u.js → runtime-auth-DdfynDKt.js} +126 -273
  291. package/dist/public/sdk/{runtime-device-link-C1Oub8Lw.js → runtime-device-link-HJ2ptFux.js} +12 -12
  292. package/dist/public/sdk/{runtime-ecdsa-tempo-rkWwolw1.js → runtime-ecdsa-tempo-BGLsTAWR.js} +13 -13
  293. package/dist/{esm/sdk/runtime-email-otp-vuUG5LYl.js → public/sdk/runtime-email-otp-CpX88VZJ.js} +12 -12
  294. package/dist/{esm/sdk/runtime-export-FZWj0HxJ.js → public/sdk/runtime-export-DIVY473L.js} +13 -13
  295. package/dist/public/sdk/{runtime-near-B9cjurVD.js → runtime-near-CxtQi4b2.js} +12 -12
  296. package/dist/public/sdk/{runtime-preferences-Dq0bfyS5.js → runtime-preferences-vnJc5Svg.js} +12 -12
  297. package/dist/public/sdk/{runtime-recovery-codes-bTm3fLV4.js → runtime-recovery-codes-BSCLVHQj.js} +6 -6
  298. package/dist/{esm/sdk/runtime-recovery-C-vfFKF3.js → public/sdk/runtime-recovery-i08vCJST.js} +12 -12
  299. package/dist/public/sdk/{runtimeContext-iLXnxVlZ.js → runtimeContext-D3TBExQ6.js} +346 -305
  300. package/dist/public/sdk/{runtimeLoader-hod6T2-m.js → runtimeLoader-DQVEFVaW.js} +11 -11
  301. package/dist/{esm/sdk/secp256k1-el9aE4Sv.js → public/sdk/secp256k1-D-I6Gh4D.js} +36 -25
  302. package/dist/public/sdk/{sessionPolicy-CHiilOAB.js → sessionPolicy-DO-MkL65.js} +8 -1
  303. package/dist/{esm/sdk/signEvmFamily-e4IWWsZs.js → public/sdk/signEvmFamily-C3C97Th-.js} +43 -102
  304. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-Cu9qdk8M.js → signEvmFamilyWithUiConfirmForTempo-BI9DSTIS.js} +2 -2
  305. package/dist/{esm/sdk/signEvmWithUiConfirm-C61TCBnh.js → public/sdk/signEvmWithUiConfirm-Bmcim5-g.js} +1 -1
  306. package/dist/public/sdk/{signNear-Bblwn2kT.js → signNear-Bmb2fj_a.js} +19 -55
  307. package/dist/{esm/sdk/signerLoader-D7Aey0FD.js → public/sdk/signerLoader-B7orgq5Z.js} +3 -3
  308. package/dist/{esm/sdk/signingFlow-rZfPegH9.js → public/sdk/signingFlow-SZ8t_lxv.js} +9 -10
  309. package/dist/public/sdk/{trace-rHe0wz7q.js → trace-DKLQZvec.js} +0 -1
  310. package/dist/public/sdk/{transactionState-DP9O8F6f.js → transactionState-CJ4U8pcl.js} +50 -41
  311. package/dist/public/sdk/tx-confirm-ui.js +11 -46
  312. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  313. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  314. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  315. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  316. package/dist/{esm/sdk/wallet-recovery-Bz9qKgaL.js → public/sdk/wallet-recovery-BX61-79p.js} +3 -6
  317. package/dist/public/sdk/wallet-ui.css +41 -301
  318. package/dist/{esm/sdk/walletAuthority-BQBxgUBn.js → public/sdk/walletAuthority-DD9T25F6.js} +1 -5
  319. package/dist/public/sdk/{walletCustodyEcdsaContinuity-Hn4ORIbf.js → walletCustodyEcdsaContinuity-CF4bv9OI.js} +166 -296
  320. package/dist/public/sdk/{walletRecoveryCommit-sjGNTHUj.js → walletRecoveryCommit-AI1AtIRP.js} +81 -139
  321. package/dist/public/sdk/workers/device-linking-key.worker.js +106 -105
  322. package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +15 -24
  323. package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +58 -73
  324. package/dist/public/sdk/workers/email-otp.worker.js +13 -16
  325. package/dist/public/sdk/workers/evm_crypto.wasm +0 -0
  326. package/dist/public/sdk/workers/evm_crypto_bg.wasm +0 -0
  327. package/dist/public/sdk/workers/near_signer.wasm +0 -0
  328. package/dist/public/sdk/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  329. package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  330. package/dist/public/sdk/workers/tempo_signer.wasm +0 -0
  331. package/dist/public/sdk/workers/tempo_signer_bg.wasm +0 -0
  332. package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +7 -7
  333. package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
  334. package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
  335. package/dist/public/wallet-assets.manifest.json +112 -112
  336. package/dist/public/wallet-service/index.html +4 -4
  337. package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +2 -1
  338. package/dist/types/shared-ts/src/authorization/walletSessionIssuance.d.ts +9 -2
  339. package/dist/types/shared-ts/src/authorization/walletSignerActivationEquality.d.ts +4 -0
  340. package/dist/types/shared-ts/src/device-linking/committedSignerPackages.d.ts +3 -4
  341. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +5 -63
  342. package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +2 -0
  343. package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +5 -12
  344. package/dist/types/shared-ts/src/passkey-custody/primitives.d.ts +9 -0
  345. package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +11 -1
  346. package/dist/types/shared-ts/src/signing-lanes/ids.d.ts +1 -10
  347. package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +3 -5
  348. package/dist/types/shared-ts/src/tenant-root/tenantRootIdentifier.d.ts +3 -0
  349. package/dist/types/shared-ts/src/tenant-root/tenantRootOperationRecord.d.ts +2 -1
  350. package/dist/types/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.d.ts +6 -0
  351. package/dist/types/shared-ts/src/threshold/signingRootScope.d.ts +1 -0
  352. package/dist/types/shared-ts/src/utils/ecdsaKeyFactsInventory.d.ts +2 -11
  353. package/dist/types/shared-ts/src/utils/eip1559TxWasmJson.d.ts +16 -0
  354. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +2 -0
  355. package/dist/types/shared-ts/src/utils/exactKeys.d.ts +11 -0
  356. package/dist/types/shared-ts/src/utils/failure.d.ts +12 -0
  357. package/dist/types/shared-ts/src/utils/jsonRpc.d.ts +3 -4
  358. package/dist/types/shared-ts/src/utils/nearRpcResults.d.ts +1 -0
  359. package/dist/types/shared-ts/src/utils/registrationAuthMethodInput.d.ts +3 -8
  360. package/dist/types/shared-ts/src/utils/registrationSignerPlan.d.ts +7 -19
  361. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +3 -1
  362. package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +1 -0
  363. package/dist/types/shared-ts/src/utils/routerAbEd25519YaoDigests.d.ts +3 -4
  364. package/dist/types/shared-ts/src/utils/routerAbNormalSigningIdentity.d.ts +30 -8
  365. package/dist/types/shared-ts/src/utils/routerApiKeyAuth.d.ts +2 -0
  366. package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +10 -11
  367. package/dist/types/shared-ts/src/utils/thresholdEcdsaChainTarget.d.ts +25 -0
  368. package/dist/types/shared-ts/src/utils/variant.d.ts +18 -0
  369. package/dist/types/shared-ts/src/utils/walletAuthMethodRecord.d.ts +3 -6
  370. package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +4 -2
  371. package/dist/types/shared-ts/src/wallet-recovery/recoveryEnvelopes.d.ts +3 -16
  372. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryPreparation.d.ts +15 -0
  373. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryTarget.d.ts +3 -4
  374. package/dist/types/wallet/build-paths.d.ts +1 -2
  375. package/dist/types/wallet/src/SeamsWeb/SeamsWeb.d.ts +2 -0
  376. package/dist/types/wallet/src/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.d.ts +11 -0
  377. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletAuth.d.ts +2 -1
  378. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletUnlockSubject.d.ts +3 -17
  379. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/walletActivation.d.ts +3 -4
  380. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.d.ts +2 -10
  381. package/dist/types/wallet/src/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.d.ts +1 -1
  382. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +7 -16
  383. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.d.ts +2 -1
  384. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +1 -2
  385. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +5 -15
  386. package/dist/types/wallet/src/core/accountData/near/keyMaterial.d.ts +3 -5
  387. package/dist/types/wallet/src/core/indexedDB/passkeyClientDB.types.d.ts +2 -8
  388. package/dist/types/wallet/src/core/indexedDB/pendingWalletRegistrationCommit.d.ts +3 -4
  389. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.d.ts +7 -12
  390. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.d.ts +3 -6
  391. package/dist/types/wallet/src/core/platform/ecdsaRoleLocalRecords.d.ts +9 -38
  392. package/dist/types/wallet/src/core/platform/http.d.ts +3 -5
  393. package/dist/types/wallet/src/core/platform/ports.d.ts +3 -7
  394. package/dist/types/wallet/src/core/rpcClients/near/NearRpcError.d.ts +1 -2
  395. package/dist/types/wallet/src/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.d.ts +2 -11
  396. package/dist/types/wallet/src/core/rpcClients/relayer/thresholdEcdsa.d.ts +2 -8
  397. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryPrepare.d.ts +2 -14
  398. package/dist/types/wallet/src/core/signingEngine/chains/near/payloads.d.ts +2 -10
  399. package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaDerivationExport.d.ts +3 -4
  400. package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaExportFlow.d.ts +4 -8
  401. package/dist/types/wallet/src/core/signingEngine/flows/recovery/keyExportFlow.d.ts +7 -6
  402. package/dist/types/wallet/src/core/signingEngine/flows/registration/accountLifecycle.d.ts +1 -10
  403. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.d.ts +1 -1
  404. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/freshAuthRetryPolicy.d.ts +3 -4
  405. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/nonceResolution.d.ts +3 -4
  406. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.d.ts +5 -8
  407. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.d.ts +1 -0
  408. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.d.ts +10 -5
  409. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoCapabilityResolution.d.ts +3 -10
  410. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/operationStepUpPreparation.d.ts +3 -5
  411. package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNep413.d.ts +3 -7
  412. package/dist/types/wallet/src/core/signingEngine/interfaces/near.d.ts +3 -4
  413. package/dist/types/wallet/src/core/signingEngine/interfaces/operationDeps.d.ts +3 -5
  414. package/dist/types/wallet/src/core/signingEngine/interfaces/operationStepUpPreparation.d.ts +3 -5
  415. package/dist/types/wallet/src/core/signingEngine/nonce/nearTransactionReadiness.d.ts +3 -5
  416. package/dist/types/wallet/src/core/signingEngine/nonce/nonceTypes.d.ts +2 -2
  417. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/clientCeremony.d.ts +5 -22
  418. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.d.ts +3 -14
  419. package/dist/types/wallet/src/core/signingEngine/session/availability/persistedAvailableSigningLanes.d.ts +1 -1
  420. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.d.ts +37 -14
  421. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaPublication.d.ts +3 -5
  422. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ed25519ExportContext.d.ts +2 -6
  423. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/walletUnlock.d.ts +6 -15
  424. package/dist/types/wallet/src/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.d.ts +3 -5
  425. package/dist/types/wallet/src/core/signingEngine/session/identity/exactWalletSessionCredential.d.ts +3 -4
  426. package/dist/types/wallet/src/core/signingEngine/session/identity/exactWalletSessionReader.d.ts +3 -6
  427. package/dist/types/wallet/src/core/signingEngine/session/identity/laneIdentity.d.ts +5 -8
  428. package/dist/types/wallet/src/core/signingEngine/session/identity/signingLaneAuthBinding.d.ts +3 -5
  429. package/dist/types/wallet/src/core/signingEngine/session/material/activeEcdsaCapabilityRuntime.d.ts +5 -10
  430. package/dist/types/wallet/src/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.d.ts +3 -6
  431. package/dist/types/wallet/src/core/signingEngine/session/material/capabilityPreparationResult.d.ts +3 -22
  432. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaCapabilityHydration.d.ts +3 -4
  433. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSealedRuntime.d.ts +3 -4
  434. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSigningCapability.d.ts +5 -0
  435. package/dist/types/wallet/src/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.d.ts +5 -10
  436. package/dist/types/wallet/src/core/signingEngine/session/operationState/authorizationAdmission.d.ts +3 -8
  437. package/dist/types/wallet/src/core/signingEngine/session/operationState/types.d.ts +3 -5
  438. package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaBootstrap.d.ts +3 -4
  439. package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaSessionProvision.d.ts +3 -4
  440. package/dist/types/wallet/src/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.d.ts +7 -25
  441. package/dist/types/wallet/src/core/signingEngine/session/sealedRecovery/sealedRecovery.types.d.ts +3 -4
  442. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReaderCore.d.ts +3 -16
  443. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.d.ts +6 -26
  444. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/persistencePorts.d.ts +3 -4
  445. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmTypes.d.ts +11 -36
  446. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.d.ts +5 -8
  447. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.d.ts +3 -5
  448. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.d.ts +3 -8
  449. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/types.d.ts +7 -22
  450. package/dist/types/wallet/src/core/signingEngine/threshold/commitQueueShared.d.ts +10 -10
  451. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.d.ts +1 -1
  452. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/bootstrapSession.d.ts +3 -4
  453. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/signingQueue.d.ts +1 -7
  454. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/commitQueue.d.ts +1 -6
  455. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/walletSession.d.ts +6 -36
  456. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.d.ts +3 -4
  457. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.d.ts +5 -9
  458. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignLifecycle.d.ts +5 -16
  459. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +3 -0
  460. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/crypto.d.ts +2 -11
  461. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/custodyRestore.d.ts +0 -2
  462. package/dist/types/wallet/src/core/types/linkDevice.d.ts +3 -18
  463. package/dist/types/wallet/src/core/types/sdkPublicResults.d.ts +5 -18
  464. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +4 -21
  465. package/dist/types/wallet/src/core/types/seams.d.ts +17 -71
  466. package/dist/types/wallet/src/externalEvm/types.d.ts +5 -12
  467. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/GlobeIcon.d.ts +1 -4
  468. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/KeyIcon.d.ts +1 -4
  469. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LaptopIcon.d.ts +1 -4
  470. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LinkIcon.d.ts +1 -4
  471. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockIcon.d.ts +1 -4
  472. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MailIcon.d.ts +1 -4
  473. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/RecoveryCodesIcon.d.ts +1 -4
  474. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/ScanIcon.d.ts +1 -4
  475. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SlidersIcon.d.ts +1 -4
  476. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SmartphoneIcon.d.ts +1 -4
  477. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/lucideIcon.d.ts +5 -0
  478. package/dist/types/wallet/src/react/hooks/useAccountInput.d.ts +1 -22
  479. package/dist/types/wallet/src/react/transactionReview/controller.d.ts +3 -10
  480. package/dist/types/wallet/src/utils/menuItemBlink.d.ts +9 -0
  481. package/dist/workers/device-linking-key.worker.js +106 -105
  482. package/dist/workers/ecdsa-derivation-client.worker.js +15 -24
  483. package/dist/workers/ecdsa-presign-client.worker.js +58 -73
  484. package/dist/workers/email-otp.worker.js +13 -16
  485. package/dist/workers/evm_crypto.wasm +0 -0
  486. package/dist/workers/evm_crypto_bg.wasm +0 -0
  487. package/dist/workers/near_signer.wasm +0 -0
  488. package/dist/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  489. package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  490. package/dist/workers/tempo_signer.wasm +0 -0
  491. package/dist/workers/tempo_signer_bg.wasm +0 -0
  492. package/dist/workers/wallet-custody-ceremony.worker.js +7 -7
  493. package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
  494. package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
  495. package/package.json +1 -1
  496. package/dist/esm/components/AccountMenuButton/HaloBorder/HaloBorder.css +0 -101
  497. package/dist/esm/core/signingEngine/session/emailOtp/coordinatorRuntime.js +0 -131
  498. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/renderers/evm.js +0 -12
  499. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/renderers/near.js +0 -12
  500. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/renderers/tempo.js +0 -12
  501. package/dist/esm/react/components/AccountMenuButton/HaloBorder/HaloBorder.css +0 -101
  502. package/dist/esm/react/core/signingEngine/session/emailOtp/coordinatorRuntime.js +0 -131
  503. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/renderers/evm.js +0 -12
  504. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/renderers/near.js +0 -12
  505. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/renderers/tempo.js +0 -12
  506. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/coordinatorRuntime.d.ts +0 -43
  507. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/evm.d.ts +0 -5
  508. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/near.d.ts +0 -5
  509. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/tempo.d.ts +0 -5
@@ -6,20 +6,11 @@ import type { LoadedWalletCustodyEd25519MaterialV1 } from '../../walletCustody/e
6
6
  import type { RouterAbEd25519YaoActiveClientMetadataV1 } from '../../threshold/ed25519/yaoClient';
7
7
  import type { EmailOtpRoutePlan } from '../../stepUpConfirmation/otpPrompt/authLane';
8
8
  import type { ThresholdRuntimePolicyScope } from '../../threshold/sessionPolicy';
9
- import type { EmailOtpVerifiedAuthorityProjection } from './publicTypes';
9
+ import type { EmailOtpBootstrapRecovery } from '../../stepUpConfirmation/otpPrompt/bootstrapRecovery';
10
10
  import type { RouterAbEcdsaCredentialFreeSessionActivationResponseV1, RouterAbEcdsaPostRegistrationSessionActivationPolicyV1, RouterAbEcdsaPostRegistrationSessionActivationResponseV1 } from '../../../../../../shared-ts/src/utils/routerAbEcdsaDerivation';
11
- type EmailOtpWalletUnlockRecovery = {
12
- challengeId: string;
13
- enrollmentSealKeyVersion: string;
14
- unlockChallengeId: string;
15
- unlockChallengeB64u: string;
16
- clientUnlockPublicKeyB64u: string;
17
- unlockSignatureB64u: string;
18
- verifiedAuthorityProjection: EmailOtpVerifiedAuthorityProjection;
19
- };
20
11
  export type EmailOtpWalletUnlockResult = {
21
12
  kind: 'ecdsa';
22
- recovery: EmailOtpWalletUnlockRecovery;
13
+ recovery: EmailOtpBootstrapRecovery;
23
14
  emailOtpSessionHandle: EmailOtpEcdsaSessionBootstrapHandlePayload;
24
15
  } & ({
25
16
  operation: 'wallet_unlock';
@@ -31,11 +22,11 @@ export type EmailOtpWalletUnlockResult = {
31
22
  });
32
23
  export type EmailOtpEd25519YaoUnlockResult = {
33
24
  kind: 'wallet_custody_cache_absent';
34
- recovery: EmailOtpWalletUnlockRecovery;
25
+ recovery: EmailOtpBootstrapRecovery;
35
26
  ed25519YaoRecovery: EmailOtpEd25519YaoRecoveryBootstrapV1;
36
27
  } | {
37
28
  kind: 'ed25519_yao_capability';
38
- recovery: EmailOtpWalletUnlockRecovery;
29
+ recovery: EmailOtpBootstrapRecovery;
39
30
  activeClientHandle: string;
40
31
  metadata: RouterAbEd25519YaoActiveClientMetadataV1;
41
32
  ed25519YaoCapability: EmailOtpEd25519YaoRecoveryBootstrapV1;
@@ -47,7 +38,7 @@ export type EmailOtpEd25519YaoUnlockResult = {
47
38
  };
48
39
  export type EmailOtpWalletUnlockCapabilityResults = {
49
40
  kind: 'wallet_unlock_capabilities';
50
- recovery: EmailOtpWalletUnlockRecovery;
41
+ recovery: EmailOtpBootstrapRecovery;
51
42
  walletSessionAuthorization: ExactWalletSessionAuthorization;
52
43
  ed25519ExportRootCustody: Extract<EmailOtpWalletUnlockMaterialResult, {
53
44
  kind: 'wallet_unlock_capabilities';
@@ -55,7 +46,7 @@ export type EmailOtpWalletUnlockCapabilityResults = {
55
46
  ecdsa: {
56
47
  kind: 'ecdsa';
57
48
  operation: 'wallet_unlock';
58
- recovery: EmailOtpWalletUnlockRecovery;
49
+ recovery: EmailOtpBootstrapRecovery;
59
50
  emailOtpSessionHandle: EmailOtpEcdsaSessionBootstrapHandlePayload;
60
51
  ecdsaSession: RouterAbEcdsaCredentialFreeSessionActivationResponseV1;
61
52
  ecdsaCustody: EmailOtpEcdsaCustodyRestoreV1;
@@ -10,6 +10,7 @@ import { type ThresholdEcdsaChainTarget, type WalletId } from '../../interfaces/
10
10
  import { type ThresholdEcdsaSessionId } from '../operationState/types';
11
11
  import { type EcdsaRoleLocalPersistedMaterialRef, type EcdsaRoleLocalWorkerHandle } from '../keyMaterialBrands';
12
12
  import type { ThresholdRuntimePolicyScope } from '../../threshold/sessionPolicy';
13
+ import type { ExclusiveUnion } from '../../../../../../shared-ts/src/utils/variant';
13
14
  export type { EcdsaThresholdKeyId, EmailOtpAuthSubjectId, RpId, SigningRootId, SigningRootVersion, WalletId, ThresholdEcdsaSessionId, EvmFamilySigningKeySlotId, };
14
15
  export type ParticipantId = number & {
15
16
  readonly __brand: 'ParticipantId';
@@ -114,17 +115,14 @@ export type ResolvedEvmFamilyEcdsaKey<TAuthBinding extends EvmFamilyEcdsaAuthBin
114
115
  subjectId?: never;
115
116
  rpId?: never;
116
117
  };
117
- type ThresholdEcdsaRoleLocalWorkerMaterial = {
118
+ type ThresholdEcdsaRoleLocalWorkerMaterial = ExclusiveUnion<{
118
119
  kind: 'worker_loaded';
119
120
  materialRef: EcdsaRoleLocalPersistedMaterialRef;
120
- stateBlob?: never;
121
- ecdsaRoleLocalReadyRecord?: never;
122
121
  } | {
123
122
  kind: 'ready_state_blob';
124
123
  stateBlob: EcdsaRoleLocalReadyStateBlob;
125
124
  ecdsaRoleLocalReadyRecord: EcdsaRoleLocalReadyRecord;
126
- materialRef?: never;
127
- };
125
+ }>;
128
126
  export type ThresholdEcdsaRoleLocalWorkerShare = {
129
127
  kind: 'role_local_worker_share';
130
128
  handle: EcdsaRoleLocalWorkerHandle;
@@ -24,6 +24,7 @@ import type { SignerAuthMethod } from '../../../../../../shared-ts/src/utils/sig
24
24
  import type { WalletId } from '../../interfaces/ecdsaChainTarget';
25
25
  import { type ExactSigningLaneIdentity } from './exactSigningLaneIdentity';
26
26
  import type { ActiveWalletAuthMethodRecordV2 } from '../../../../../../shared-ts/src/utils/walletAuthMethodRecord';
27
+ import type { ReadonlyExclusiveUnion } from '../../../../../../shared-ts/src/utils/variant';
27
28
  /** The signer material one operation needs the exact session to authorize. */
28
29
  type RequiredExactWalletSessionSigningSubject = {
29
30
  readonly keyFamily: 'ed25519';
@@ -49,15 +50,13 @@ type ResolvedExactWalletSessionCredential = {
49
50
  readonly walletSessionId: WalletSessionId;
50
51
  readonly materialActivation: MpcMaterialActivationRef;
51
52
  };
52
- type ExactWalletSessionCredentialResolution = {
53
+ type ExactWalletSessionCredentialResolution = ReadonlyExclusiveUnion<{
53
54
  readonly kind: 'resolved';
54
55
  readonly resolved: ResolvedExactWalletSessionCredential;
55
- readonly reason?: never;
56
56
  } | {
57
57
  readonly kind: 'unavailable';
58
58
  readonly reason: ExactWalletSessionCredentialUnavailableReason;
59
- readonly resolved?: never;
60
- };
59
+ }>;
61
60
  type ResolveExactWalletSessionCredentialInput = {
62
61
  readonly walletId: WalletId;
63
62
  readonly authMethod: SignerAuthMethod;
@@ -3,7 +3,8 @@ import { type WalletSessionAuthorizationExactOperationCredentialReadResult } fro
3
3
  import type { WalletAuthMethodId } from '../../../../../../shared-ts/src/utils/domainIds';
4
4
  import type { WalletId } from '../../interfaces/ecdsaChainTarget';
5
5
  import type { ExactWalletSessionReadPorts } from './exactWalletSessionCredential';
6
- export type ExactWalletSessionAuthenticationReadResult = {
6
+ import type { ReadonlyExclusiveUnion } from '../../../../../../shared-ts/src/utils/variant';
7
+ export type ExactWalletSessionAuthenticationReadResult = ReadonlyExclusiveUnion<{
7
8
  readonly kind: 'authenticated';
8
9
  readonly state: Extract<WalletAuthenticationState, {
9
10
  readonly kind: 'authenticated';
@@ -13,13 +14,9 @@ export type ExactWalletSessionAuthenticationReadResult = {
13
14
  readonly walletAuthMethodId: WalletAuthMethodId;
14
15
  } | {
15
16
  readonly kind: 'missing';
16
- readonly state?: never;
17
- readonly walletAuthMethodId?: never;
18
17
  } | {
19
18
  readonly kind: 'upgrade_required';
20
- readonly state?: never;
21
- readonly walletAuthMethodId?: never;
22
- };
19
+ }>;
23
20
  export declare function readExactWalletSessionAuthentication(args: {
24
21
  readonly walletId: WalletId;
25
22
  readonly ports: ExactWalletSessionReadPorts;
@@ -14,6 +14,7 @@ import type { ExactEvmFamilyWalletSessionAuthorization } from '../material/ecdsa
14
14
  import type { ActiveWalletAuthorityEcdsaRuntimeV1 } from '../material/activeWalletAuthorityEcdsaRuntime';
15
15
  import type { ExactNearEd25519WalletSessionAuthorization } from '../material/nearEd25519YaoSigningPreparation';
16
16
  import type { NearEd25519SigningKeyId } from '../../../../../../shared-ts/src/utils/registrationIds';
17
+ import type { ExclusiveUnion } from '../../../../../../shared-ts/src/utils/variant';
17
18
  export type { SigningCurve };
18
19
  export type { EcdsaThresholdKeyId };
19
20
  export type SigningRootId = string & {
@@ -89,27 +90,23 @@ type BuildEmailOtpAuthContextForWalletAuthMethodArgs = {
89
90
  emailHashHex: unknown;
90
91
  provider: EmailOtpProvider;
91
92
  providerUserId: unknown;
92
- } & ({
93
+ } & ExclusiveUnion<{
93
94
  retention: 'session';
94
95
  reason: 'login' | 'sign';
95
- consumedAtMs?: never;
96
96
  } | {
97
97
  retention: 'single_use';
98
- reason?: never;
99
98
  consumedAtMs?: number;
100
- });
99
+ }>;
101
100
  type BuildEmailOtpAuthContextFromExactAuthorityArgs = {
102
101
  policy: EmailOtpAuthPolicy;
103
102
  authority: EmailOtpWalletAuthAuthority;
104
- } & ({
103
+ } & ExclusiveUnion<{
105
104
  retention: 'session';
106
105
  reason: 'login' | 'sign';
107
- consumedAtMs?: never;
108
106
  } | {
109
107
  retention: 'single_use';
110
- reason?: never;
111
108
  consumedAtMs?: number;
112
- });
109
+ }>;
113
110
  export declare function buildEmailOtpAuthContext(args: BuildEmailOtpSessionAuthContextArgs): ThresholdEcdsaEmailOtpSessionAuthContext;
114
111
  export declare function buildEmailOtpAuthContext(args: BuildEmailOtpPendingSingleUseAuthContextArgs): ThresholdEcdsaEmailOtpPendingSingleUseAuthContext;
115
112
  export declare function buildEmailOtpAuthContext(args: BuildEmailOtpConsumedSingleUseAuthContextArgs): ThresholdEcdsaEmailOtpConsumedSingleUseAuthContext;
@@ -3,17 +3,15 @@ import { SIGNER_AUTH_METHODS, type SignerAuthMethod } from '../../../../../../sh
3
3
  import type { DigestB64u } from '../../../../../../shared-ts/src/utils/canonicalPrimitives';
4
4
  import type { LinkedDeviceEnrollmentId, LinkedDeviceId } from '../../../../../../shared-ts/src/signing-lanes/ids';
5
5
  import type { WalletAuthMethodId, WalletAuthorityBindingDigest } from '../../../../../../shared-ts/src/utils/domainIds';
6
- export type SigningLaneAuthBinding = {
6
+ import type { ExclusiveUnion } from '../../../../../../shared-ts/src/utils/variant';
7
+ export type SigningLaneAuthBinding = ExclusiveUnion<{
7
8
  kind: typeof SIGNER_AUTH_METHODS.passkey;
8
9
  rpId: RpId;
9
10
  credentialIdB64u: string;
10
- providerSubjectId?: never;
11
11
  } | {
12
12
  kind: typeof SIGNER_AUTH_METHODS.emailOtp;
13
13
  providerSubjectId: string;
14
- rpId?: never;
15
- credentialIdB64u?: never;
16
- };
14
+ }>;
17
15
  /**
18
16
  * Identity that distinguishes one linked Email OTP owner from the wallet-wide
19
17
  * factor and from another enrollment using that factor. It is separate from
@@ -3,30 +3,25 @@ import { type ThresholdEcdsaChainTarget, type WalletId } from '../../interfaces/
3
3
  import { type ExactEcdsaCapabilityRuntime, type ExactEcdsaSealedRuntime, type ExactEcdsaSealedRuntimeResolution } from './ecdsaSealedRuntime';
4
4
  import type { ActiveEcdsaCapabilityManifest } from './ecdsaCapabilityManifest';
5
5
  import type { ExactWalletSessionReadPorts } from '../identity/exactWalletSessionCredential';
6
- export type ActiveEcdsaCapabilityRuntimeResolution = {
6
+ import type { ReadonlyExclusiveUnion } from '../../../../../../shared-ts/src/utils/variant';
7
+ export type ActiveEcdsaCapabilityRuntimeResolution = ReadonlyExclusiveUnion<{
7
8
  readonly kind: 'resolved';
8
9
  readonly manifest: ActiveEcdsaCapabilityManifest;
9
10
  readonly runtime: ExactEcdsaSealedRuntime;
10
- readonly reason?: never;
11
11
  } | {
12
12
  readonly kind: 'blocked';
13
13
  readonly reason: Extract<ExactEcdsaSealedRuntimeResolution, {
14
14
  kind: 'blocked';
15
15
  }>['reason'] | 'missing_capability';
16
- readonly manifest?: never;
17
- readonly runtime?: never;
18
- };
19
- type ExactEcdsaCapabilityRuntimeResolution = {
16
+ }>;
17
+ type ExactEcdsaCapabilityRuntimeResolution = ReadonlyExclusiveUnion<{
20
18
  readonly kind: 'resolved';
21
19
  readonly manifest: ActiveEcdsaCapabilityManifest;
22
20
  readonly runtime: ExactEcdsaCapabilityRuntime;
23
- readonly reason?: never;
24
21
  } | {
25
22
  readonly kind: 'blocked';
26
23
  readonly reason: 'chain_mismatch' | 'corrupt';
27
- readonly manifest?: never;
28
- readonly runtime?: never;
29
- };
24
+ }>;
30
25
  export type ActiveEcdsaCapabilityRuntimeReadPorts = Pick<ExactWalletSessionReadPorts, 'resolveSelectedWalletAuthority'> & {
31
26
  readonly listActiveEcdsaCapabilityManifestsForWallet: (walletId: WalletId) => Promise<readonly ActiveEcdsaCapabilityManifest[]>;
32
27
  readonly listExactSealedSessionsForWallet: typeof listExactSealedSessionsForWallet;
@@ -10,6 +10,7 @@ import type { SigningLaneAuthBinding } from '../identity/signingLaneAuthBinding'
10
10
  import { type LinkedEcdsaHolderRuntimeV1 } from './linkedEcdsaHolderRuntime';
11
11
  import type { ExactWalletSessionReadPorts } from '../identity/exactWalletSessionCredential';
12
12
  import type { ActiveWalletAuthMethodRecordV2 } from '../../../../../../shared-ts/src/utils/walletAuthMethodRecord';
13
+ import type { ReadonlyExclusiveUnion } from '../../../../../../shared-ts/src/utils/variant';
13
14
  type ActiveWalletAuthorityEcdsaAuth = {
14
15
  readonly auth: Extract<SigningLaneAuthBinding, {
15
16
  readonly kind: 'passkey';
@@ -84,19 +85,15 @@ export type ActiveWalletAuthorityEcdsaLaneProjectionV1 = ActiveWalletAuthorityEc
84
85
  readonly authorizationState: 'authorization_required';
85
86
  };
86
87
  type ActiveWalletAuthorityEcdsaRuntimeBlockReason = 'missing_selected_authority' | 'invalid_selected_authority' | 'wallet_locked' | 'auth_method_inactive' | 'authority_inactive' | 'authority_identity_mismatch' | 'missing_wallet_session' | 'upgrade_required' | 'wallet_session_inactive' | 'wallet_session_expired' | 'wallet_session_identity_mismatch' | 'wallet_session_capability_mismatch' | 'missing_ecdsa_signer' | 'missing_holder_runtime' | 'holder_runtime_identity_mismatch' | 'normal_signing_identity_mismatch' | 'invalid_public_facts' | 'persistence_unavailable';
87
- type ActiveWalletAuthorityEcdsaRuntimeResolution = {
88
+ type ActiveWalletAuthorityEcdsaRuntimeResolution = ReadonlyExclusiveUnion<{
88
89
  readonly kind: 'resolved';
89
90
  readonly runtime: ActiveWalletAuthorityEcdsaRuntimeV1;
90
91
  readonly lane: ActiveWalletAuthorityEcdsaLaneProjectionV1 | null;
91
- readonly reason?: never;
92
- readonly message?: never;
93
92
  } | {
94
93
  readonly kind: 'blocked';
95
94
  readonly reason: ActiveWalletAuthorityEcdsaRuntimeBlockReason;
96
95
  readonly message?: string;
97
- readonly runtime?: never;
98
- readonly lane?: never;
99
- };
96
+ }>;
100
97
  type ResolveActiveWalletAuthorityEcdsaRuntimeV1Input = {
101
98
  readonly walletId: WalletId | string;
102
99
  readonly chainTarget?: ThresholdEcdsaChainTarget;
@@ -1,37 +1,18 @@
1
- export type CapabilityPreparationResult<Ready, Resume, Requirement, Replacement, Failure> = {
1
+ import type { ExclusiveUnion } from '../../../../../../shared-ts/src/utils/variant';
2
+ export type CapabilityPreparationResult<Ready, Resume, Requirement, Replacement, Failure> = ExclusiveUnion<{
2
3
  kind: 'ready';
3
4
  value: Ready;
4
- resume?: never;
5
- requirement?: never;
6
- replacement?: never;
7
- failure?: never;
8
5
  } | {
9
6
  kind: 'pending';
10
7
  resume: Resume;
11
- value?: never;
12
- requirement?: never;
13
- replacement?: never;
14
- failure?: never;
15
8
  } | {
16
9
  kind: 'authorization_required';
17
10
  requirement: Requirement;
18
- value?: never;
19
- resume?: never;
20
- replacement?: never;
21
- failure?: never;
22
11
  } | {
23
12
  kind: 'superseded';
24
13
  replacement: Replacement;
25
- value?: never;
26
- resume?: never;
27
- requirement?: never;
28
- failure?: never;
29
14
  } | {
30
15
  kind: 'failed';
31
16
  failure: Failure;
32
- value?: never;
33
- resume?: never;
34
- requirement?: never;
35
- replacement?: never;
36
- };
17
+ }>;
37
18
  //# sourceMappingURL=capabilityPreparationResult.d.ts.map
@@ -1,16 +1,15 @@
1
1
  import { type MpcCapabilityRuntimeRef, type MpcMaterialActivationRef } from '../../../../../../shared-ts/src/utils/domainIds';
2
2
  import type { EcdsaCapabilityManifestLookup, EcdsaCapabilityMaterialRefLookup } from '../../../indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups';
3
3
  import { type MpcCapabilityHydrationPlan, type RestorableMpcMaterialRef } from './mpcCapabilityHydration';
4
+ import type { ReadonlyExclusiveUnion } from '../../../../../../shared-ts/src/utils/variant';
4
5
  export declare function buildRestorableMpcMaterialRefForHydration(durableMaterialRef: string): RestorableMpcMaterialRef;
5
- export type EcdsaCapabilityRuntimeObservation = {
6
+ export type EcdsaCapabilityRuntimeObservation = ReadonlyExclusiveUnion<{
6
7
  readonly kind: 'live';
7
8
  readonly runtime: MpcCapabilityRuntimeRef;
8
9
  readonly materialActivation: MpcMaterialActivationRef;
9
10
  } | {
10
11
  readonly kind: 'absent';
11
- readonly runtime?: never;
12
- readonly materialActivation?: never;
13
- };
12
+ }>;
14
13
  type EcdsaCapabilityHydrationLookup = EcdsaCapabilityManifestLookup | EcdsaCapabilityMaterialRefLookup;
15
14
  export type EcdsaCapabilityHydrationInput = {
16
15
  readonly lookup: EcdsaCapabilityHydrationLookup;
@@ -8,6 +8,7 @@ import type { MpcCapabilityHydrationBlockedReason } from './mpcCapabilityHydrati
8
8
  import { type ActiveEcdsaCapabilityManifest } from './ecdsaCapabilityManifest';
9
9
  import type { EmailOtpWalletAuthAuthority } from '../../../../../../shared-ts/src/utils/walletAuthAuthority';
10
10
  import type { SigningSessionSealAuthMethod } from '../../../../../../shared-ts/src/utils/signingSessionSeal';
11
+ import type { ReadonlyExclusiveUnion } from '../../../../../../shared-ts/src/utils/variant';
11
12
  export type ExactEcdsaSealedRuntimeAuthBinding = {
12
13
  readonly kind: 'passkey';
13
14
  readonly rpId: string;
@@ -71,15 +72,13 @@ export type ExactEcdsaDirectCapabilityRuntime = ExactEcdsaMaterialRuntime & {
71
72
  readonly sealedRecord?: never;
72
73
  };
73
74
  export type ExactEcdsaWalletSessionRuntime = ExactEcdsaDirectCapabilityRuntime | ExactEcdsaSealedRuntime;
74
- export type ExactEcdsaSealedRuntimeResolution = {
75
+ export type ExactEcdsaSealedRuntimeResolution = ReadonlyExclusiveUnion<{
75
76
  readonly kind: 'resolved';
76
77
  readonly runtime: ExactEcdsaSealedRuntime;
77
- readonly reason?: never;
78
78
  } | {
79
79
  readonly kind: 'blocked';
80
80
  readonly reason: Extract<MpcCapabilityHydrationBlockedReason, 'missing_material' | 'binding_mismatch' | 'exact_record_conflict' | 'corrupt'>;
81
- readonly runtime?: never;
82
- };
81
+ }>;
83
82
  export declare function resolveExactEcdsaSealedRuntime(input: {
84
83
  readonly manifest: ActiveEcdsaCapabilityManifest;
85
84
  readonly walletId: WalletId;
@@ -78,6 +78,11 @@ export type BuildExactEvmFamilyWalletSessionAuthorizationInput = {
78
78
  readonly runtime: ExactEcdsaWalletSessionRuntime;
79
79
  readonly nowMs: number;
80
80
  };
81
+ export declare function exactAuthorizationMatchesCapability(args: {
82
+ readonly capability: CanonicalEvmFamilyEcdsaSigningCapability;
83
+ readonly authorization: ExactEvmFamilyWalletSessionAuthorization | AuthorizedEcdsaPreprocessingCapability['authorization'];
84
+ readonly nowMs: number;
85
+ }): boolean;
81
86
  export declare function buildExactEcdsaDirectCapabilityRuntime(args: {
82
87
  readonly runtime: ExactEcdsaCapabilityRuntime;
83
88
  readonly authority: WalletAuthAuthority;
@@ -6,6 +6,7 @@ import type { SigningLaneAuthBinding } from '../identity/signingLaneAuthBinding'
6
6
  import type { MpcCapabilityHydrationPlan } from './mpcCapabilityHydration';
7
7
  import type { WalletAuthAuthority } from '../../../../../../shared-ts/src/utils/walletAuthAuthority';
8
8
  import type { ActiveWalletAuthMethodRecordV2 } from '../../../../../../shared-ts/src/utils/walletAuthMethodRecord';
9
+ import type { ReadonlyExclusiveUnion } from '../../../../../../shared-ts/src/utils/variant';
9
10
  export type ActiveNearEd25519WalletSessionStatus = Extract<ExactWalletSessionStatus, {
10
11
  readonly status: 'active';
11
12
  }>;
@@ -31,33 +32,27 @@ export type NearEd25519WalletSessionAuthorizationReadResult = {
31
32
  readonly authorization?: never;
32
33
  };
33
34
  export type NearEd25519WalletSessionFullLoginReason = 'missing' | 'corrupt' | 'upgrade_required' | 'superseded' | 'authority_unavailable' | 'method_unavailable' | 'capability_unavailable' | 'unavailable';
34
- export type NearEd25519WalletSessionAuthorizationDisposition = {
35
+ export type NearEd25519WalletSessionAuthorizationDisposition = ReadonlyExclusiveUnion<{
35
36
  readonly kind: 'authorized';
36
37
  readonly authorization: ExactNearEd25519WalletSessionAuthorization;
37
- readonly reason?: never;
38
38
  } | {
39
39
  readonly kind: 'operation_step_up';
40
40
  readonly reason: 'expired' | 'exhausted';
41
- readonly authorization?: never;
42
41
  } | {
43
42
  readonly kind: 'full_login_required';
44
43
  readonly reason: NearEd25519WalletSessionFullLoginReason;
45
- readonly authorization?: never;
46
44
  } | {
47
45
  readonly kind: 'temporarily_unavailable';
48
46
  readonly reason: 'persistence_unavailable';
49
- readonly authorization?: never;
50
- };
47
+ }>;
51
48
  export declare function classifyNearEd25519WalletSessionAuthorization(result: NearEd25519WalletSessionAuthorizationReadResult): NearEd25519WalletSessionAuthorizationDisposition;
52
- type NearEd25519OperationAuthorizationState = {
49
+ type NearEd25519OperationAuthorizationState = ReadonlyExclusiveUnion<{
53
50
  readonly kind: 'authorized';
54
51
  readonly authorization: ExactNearEd25519WalletSessionAuthorization;
55
- readonly requirement?: never;
56
52
  } | {
57
53
  readonly kind: 'authorization_required';
58
54
  readonly requirement: SigningLaneAuthBinding;
59
- readonly authorization?: never;
60
- };
55
+ }>;
61
56
  export type NearEd25519YaoSigningPreparation = {
62
57
  readonly kind: 'near_ed25519_yao_signing_preparation';
63
58
  readonly hydration: MpcCapabilityHydrationPlan;
@@ -1,30 +1,25 @@
1
1
  import type { RouterAbOwnerOperationAuthorizationDecisionV1Wire as RouterAbEcdsaOwnerOperationAuthorizationDecisionV1Wire } from '../../../../../../shared-ts/src/utils/routerAbEcdsaDerivation';
2
2
  import type { RouterAbEd25519OwnerOperationAuthorizationDecisionV1Wire } from '../../../../../../shared-ts/src/utils/routerAbNormalSigningIdentity';
3
+ import type { ExclusiveUnion } from '../../../../../../shared-ts/src/utils/variant';
3
4
  export type RouterAbOwnerOperationAuthorizationDecisionV1Wire = RouterAbEcdsaOwnerOperationAuthorizationDecisionV1Wire | RouterAbEd25519OwnerOperationAuthorizationDecisionV1Wire;
4
5
  type WalletSessionQuotaAdmissionFailureSource = 'local_projection' | 'server_prepare' | 'trusted_status';
5
6
  type WalletSessionQuotaAdmissionRetryReason = 'exhausted' | 'stale_projection';
6
- type WalletSessionQuotaAdmissionFailure = {
7
+ type WalletSessionQuotaAdmissionFailure = ExclusiveUnion<{
7
8
  kind: 'exhausted';
8
9
  source: WalletSessionQuotaAdmissionFailureSource;
9
10
  detail: string;
10
- retryAfterMs?: never;
11
- localProjectionVersion?: never;
12
- serverProjectionVersion?: never;
13
11
  } | {
14
12
  kind: 'in_flight';
15
13
  source: WalletSessionQuotaAdmissionFailureSource;
16
14
  detail: string;
17
15
  retryAfterMs: number;
18
- localProjectionVersion?: never;
19
- serverProjectionVersion?: never;
20
16
  } | {
21
17
  kind: 'stale_projection';
22
18
  source: WalletSessionQuotaAdmissionFailureSource;
23
19
  detail: string;
24
20
  localProjectionVersion: string;
25
21
  serverProjectionVersion: string;
26
- retryAfterMs?: never;
27
- };
22
+ }>;
28
23
  export type WalletSessionQuotaAdmissionDecision = {
29
24
  kind: 'request_fresh_step_up';
30
25
  reason: WalletSessionQuotaAdmissionRetryReason;
@@ -11,6 +11,7 @@ import { type MpcWalletSigningQuotaId, type WalletSessionId } from '../../../../
11
11
  import type { MpcMaterialActivationRef } from '../../../../../../shared-ts/src/utils/domainIds';
12
12
  import type { ExactEvmFamilyWalletSessionAuthorization } from '../material/ecdsaSigningCapability';
13
13
  import type { NearEd25519SignerBinding } from '../../../../../../shared-ts/src/utils/walletCapabilityBindings';
14
+ import type { ExclusiveUnion } from '../../../../../../shared-ts/src/utils/variant';
14
15
  export type { EmailOtpChallengeId, ThresholdEcdsaSessionId, ThresholdEd25519SessionId, ThresholdSessionId, } from '../../../../../../shared-ts/src/utils/domainIds';
15
16
  export type Brand<TValue, TBrand extends string> = TValue & {
16
17
  readonly __brand: TBrand;
@@ -157,19 +158,16 @@ type EmailOtpChallengePlan = {
157
158
  chainFamily: SigningChainFamily;
158
159
  lane: SelectedSigningSessionPlanningLane;
159
160
  };
160
- type PasskeyReconnectPlan = {
161
+ type PasskeyReconnectPlan = ExclusiveUnion<{
161
162
  lane: SelectedEd25519SigningSessionPlanningLane;
162
163
  curve: 'ed25519';
163
164
  thresholdSessionId: ThresholdEd25519SessionId;
164
- materialActivation?: never;
165
- authorization?: never;
166
165
  } | {
167
166
  lane: SelectedEcdsaSigningSessionPlanningLane;
168
167
  curve: 'ecdsa';
169
168
  materialActivation: MpcMaterialActivationRef;
170
169
  authorization: ExactEvmFamilyWalletSessionAuthorization;
171
- thresholdSessionId?: never;
172
- };
170
+ }>;
173
171
  export type SigningSessionNotReadyReason = 'missing_session' | 'expired' | 'exhausted' | 'status_unknown' | 'auth_unavailable' | 'status_unavailable' | 'policy_blocked';
174
172
  export declare const SigningSessionPlanKind: {
175
173
  readonly WarmSession: "warm_session";
@@ -16,6 +16,7 @@ import type { PersistedEcdsaRoleLocalMaterial } from '../material/ecdsaRoleLocal
16
16
  import { type EcdsaPreauthorizedSessionActivation } from '../../threshold/ecdsa/postRegistrationSessionActivation';
17
17
  import { type ExactWalletSessionAuthorityIdentity } from '../persistence/walletSessionAuthorizationProjection';
18
18
  import type { WalletAuthAuthorityRef } from '../../../../../../shared-ts/src/utils/walletAuthAuthority';
19
+ import type { ExclusiveUnion } from '../../../../../../shared-ts/src/utils/variant';
19
20
  type ExistingEcdsaBootstrapKeyIntent = {
20
21
  kind: 'existing_ecdsa_key';
21
22
  ecdsaThresholdKeyId: string;
@@ -122,13 +123,11 @@ type EmailOtpEcdsaBootstrapRequestBase = EcdsaBootstrapExactRequestBase & {
122
123
  passkeyPrfFirstB64u?: never;
123
124
  webauthnAuthentication?: never;
124
125
  };
125
- export type EmailOtpEcdsaBootstrapRequest = EmailOtpEcdsaBootstrapRequestBase & ({
126
+ export type EmailOtpEcdsaBootstrapRequest = EmailOtpEcdsaBootstrapRequestBase & ExclusiveUnion<{
126
127
  routeAuth?: WalletSessionOperationCredentialV1;
127
- sessionActivation?: never;
128
128
  } | {
129
129
  sessionActivation: EcdsaPreauthorizedSessionActivation;
130
- routeAuth?: never;
131
- });
130
+ }>;
132
131
  export type EmailOtpEcdsaExplicitExportBootstrapRequest = EcdsaExplicitExportBootstrapRequestBase & {
133
132
  kind: 'email_otp_ecdsa_export_bootstrap';
134
133
  purpose: 'explicit_key_export';
@@ -11,6 +11,7 @@ import type { ThresholdRuntimePolicyScope } from '../../threshold/sessionPolicy'
11
11
  import type { RouterAbEcdsaDerivationPublicCapabilityV1 } from '../../../../../../shared-ts/src/utils/routerAbEcdsaDerivation';
12
12
  import type { WalletSessionOperationCredentialV1 } from '../../../../../../shared-ts/src/device-linking';
13
13
  import type { EcdsaPreauthorizedSessionActivation } from '../../threshold/ecdsa/postRegistrationSessionActivation';
14
+ import type { ExclusiveUnion } from '../../../../../../shared-ts/src/utils/variant';
14
15
  export type ProvisionThresholdEcdsaSessionDeps = {
15
16
  queueByWallet: Map<string, Promise<void>>;
16
17
  activationDeps: WalletSessionActivationDeps;
@@ -85,13 +86,11 @@ type ThresholdEcdsaEmailOtpActivationRequestBase = ThresholdEcdsaActivationReque
85
86
  passkeyPrfFirstB64u?: never;
86
87
  webauthnAuthentication?: never;
87
88
  };
88
- export type ThresholdEcdsaEmailOtpActivationRequest = ThresholdEcdsaEmailOtpActivationRequestBase & ({
89
+ export type ThresholdEcdsaEmailOtpActivationRequest = ThresholdEcdsaEmailOtpActivationRequestBase & ExclusiveUnion<{
89
90
  walletSessionRouteAuth: WalletSessionOperationCredentialV1;
90
- preauthorizedSessionActivation?: never;
91
91
  } | {
92
92
  preauthorizedSessionActivation: EcdsaPreauthorizedSessionActivation;
93
- walletSessionRouteAuth?: never;
94
- });
93
+ }>;
95
94
  export type ThresholdEcdsaEmailOtpExportActivationRequest = ThresholdEcdsaExplicitExportActivationRequestBase & {
96
95
  readonly kind: 'email_otp_ecdsa_export_activation';
97
96
  };
@@ -5,19 +5,18 @@ import { type EvmFamilyEcdsaKeyIdentity, type EvmFamilyEcdsaWalletKey } from '..
5
5
  import { type EcdsaPublicCapabilityState } from './ecdsaKeyFactsInventory';
6
6
  import type { ThresholdRuntimePolicyScope } from '../../threshold/sessionPolicy';
7
7
  import { type RouterAbEcdsaDerivationPublicCapabilityV1 } from '../../../../../../shared-ts/src/utils/routerAbEcdsaDerivation';
8
- export type WalletUnlockSelection = {
8
+ import type { ExclusiveUnion } from '../../../../../../shared-ts/src/utils/variant';
9
+ export type WalletUnlockSelection = ExclusiveUnion<{
9
10
  mode: 'ed25519_only';
10
11
  ed25519: true;
11
- ecdsa?: never;
12
12
  } | {
13
13
  mode: 'ecdsa_only';
14
14
  ecdsa: true;
15
- ed25519?: never;
16
15
  } | {
17
16
  mode: 'ed25519_and_ecdsa';
18
17
  ed25519: true;
19
18
  ecdsa: true;
20
- };
19
+ }>;
21
20
  type EcdsaUnlockBlockedReason = 'missing_key_handle' | 'invalid_key_handle' | 'duplicate_key_handles' | 'missing_chain_target' | 'missing_key_facts' | 'invalid_signer_record';
22
21
  export type ActiveEcdsaSignerRecord = {
23
22
  kind: 'active_ecdsa_signer_record';
@@ -70,31 +69,22 @@ export type CanonicalThresholdEcdsaWarmSessionContext = {
70
69
  ecdsaKeys: ConfiguredTargetThresholdEcdsaWarmKey[];
71
70
  runtimePolicyScope?: ThresholdRuntimePolicyScope;
72
71
  };
73
- export type ConfiguredTargetKeyCompletion = {
72
+ export type ConfiguredTargetKeyCompletion = ExclusiveUnion<{
74
73
  kind: 'complete_configured_target_keys';
75
74
  context: CanonicalThresholdEcdsaWarmSessionContext;
76
- missingTargets?: never;
77
75
  } | {
78
76
  kind: 'missing_configured_target_keys';
79
77
  missingTargets: string[];
80
- context?: never;
81
- };
78
+ }>;
82
79
  type EcdsaUnlockRuntimeConfig = {
83
80
  allowAuthenticatedKeyFactsInventory: boolean;
84
81
  explicitKeyFactsInventoryMode: boolean;
85
82
  };
86
- export type EcdsaWarmupPlannerResult = {
83
+ export type EcdsaWarmupPlannerResult = ExclusiveUnion<{
87
84
  kind: 'no_configured_ecdsa_targets';
88
- readyTargets?: never;
89
- keyTargets?: never;
90
- keyFactsInventoryRequiredRecords?: never;
91
- blockedRecords?: never;
92
85
  } | {
93
86
  kind: 'ready';
94
87
  readyTargets: EcdsaWarmupReadyTarget[];
95
- keyTargets?: never;
96
- keyFactsInventoryRequiredRecords?: never;
97
- blockedRecords?: never;
98
88
  } | {
99
89
  kind: 'awaiting_authenticated_key_facts_inventory';
100
90
  keyTargets: {
@@ -102,21 +92,13 @@ export type EcdsaWarmupPlannerResult = {
102
92
  chainTarget: ThresholdEcdsaChainTarget;
103
93
  }[];
104
94
  keyFactsInventoryRequiredRecords: KeyFactsInventoryRequiredEcdsaSignerRecord[];
105
- readyTargets?: never;
106
- blockedRecords?: never;
107
95
  } | {
108
96
  kind: 'key_facts_inventory_required';
109
97
  keyFactsInventoryRequiredRecords: KeyFactsInventoryRequiredEcdsaSignerRecord[];
110
- readyTargets?: never;
111
- keyTargets?: never;
112
- blockedRecords?: never;
113
98
  } | {
114
99
  kind: 'blocked';
115
100
  blockedRecords: BlockedEcdsaSignerRecord[];
116
- readyTargets?: never;
117
- keyTargets?: never;
118
- keyFactsInventoryRequiredRecords?: never;
119
- };
101
+ }>;
120
102
  export declare function parseActiveEcdsaSignerRecordForUnlock(args: {
121
103
  walletId: WalletId;
122
104
  configuredTargets: readonly ThresholdEcdsaChainTarget[];
@@ -3,6 +3,7 @@ import type { ExactEcdsaSigningLaneIdentity } from '../identity/exactSigningLane
3
3
  import type { EcdsaThresholdKeyId } from '../keyMaterialBrands';
4
4
  import type { MpcMaterialActivationRef } from '../../../../../../shared-ts/src/utils/domainIds';
5
5
  import type { RawSigningSessionSealedStoreRecord, RejectedSealedRecoveryRecord, SealedRecoveryRecord } from './recoveryRecord';
6
+ import type { ExclusiveUnion } from '../../../../../../shared-ts/src/utils/variant';
6
7
  type RestoreSealedSessionListInput = {
7
8
  walletId: string;
8
9
  authMethod: 'email_otp' | 'passkey';
@@ -26,13 +27,11 @@ export type RestorePersistedSessionForSigningInput = RestorePersistedSessionForS
26
27
  ecdsaThresholdKeyId: EcdsaThresholdKeyId;
27
28
  };
28
29
  };
29
- export type RestorePersistedSessionForSigningResult = {
30
+ export type RestorePersistedSessionForSigningResult = ExclusiveUnion<{
30
31
  kind: 'completed';
31
32
  attempted: number;
32
33
  restored: number;
33
34
  deferred: number;
34
- duplicateCount?: never;
35
- duplicateRecordSummaries?: never;
36
35
  } | {
37
36
  kind: 'duplicate_records';
38
37
  attempted: 0;
@@ -40,7 +39,7 @@ export type RestorePersistedSessionForSigningResult = {
40
39
  deferred: 0;
41
40
  duplicateCount: number;
42
41
  duplicateRecordSummaries: readonly Record<string, unknown>[];
43
- };
42
+ }>;
44
43
  export type RestorePersistedSessionPurpose = {
45
44
  walletId: string;
46
45
  authMethod: 'email_otp' | 'passkey';