@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
@@ -21,55 +21,3 @@
21
21
  .seams-profile-button-morphable:hover {
22
22
  border-color: var(--seams-colors-borderHover);
23
23
  }
24
-
25
- .seams-profile-button-icon {
26
- flex-shrink: 0;
27
- }
28
-
29
- .seams-profile-button-icon svg {
30
- overflow: visible;
31
- }
32
-
33
- .seams-profile-button-username {
34
- white-space: nowrap;
35
- overflow: hidden;
36
- display: inline-block;
37
- }
38
-
39
- .seams-profile-button-icon {
40
- color: var(--seams-colors-textSecondary);
41
- }
42
-
43
- .seams-profile-button-username {
44
- display: block;
45
- color: var(--seams-colors-textSecondary);
46
- }
47
-
48
- .seams-profile-button-username.hidden {
49
- display: none;
50
- }
51
-
52
- .seams-user-account--toggle-content {
53
- display: flex;
54
- flex-direction: column;
55
- align-items: flex-start;
56
- justify-content: space-between;
57
- transition: opacity 0.15s ease-in-out;
58
- }
59
-
60
- .seams-user-account--toggle-text {
61
- flex: 1;
62
- }
63
-
64
- .seams-user-account--toggle-title {
65
- font-weight: 500;
66
- color: var(--seams-colors-textPrimary);
67
- font-size: 14px;
68
- margin: 0;
69
- }
70
-
71
- .seams-user-account--toggle-description {
72
- font-size: 14px;
73
- color: var(--seams-colors-textMuted);
74
- margin: 0;
75
- }
@@ -394,13 +394,6 @@
394
394
  max-width: 220px;
395
395
  }
396
396
 
397
- .qr-scanner-mode-controls {
398
- margin-top: 20px;
399
- display: flex;
400
- gap: 10px;
401
- justify-content: center;
402
- }
403
-
404
397
  .qr-scanner-close {
405
398
  position: absolute;
406
399
  top: 20px;
@@ -436,14 +429,6 @@
436
429
  outline-offset: 3px;
437
430
  }
438
431
 
439
- .qr-scanner-error-container {
440
- display: flex;
441
- align-items: center;
442
- justify-content: center;
443
- min-height: 300px;
444
- padding: 20px;
445
- }
446
-
447
432
  .qr-scanner-error-message {
448
433
  background-color: var(--seams-colors-error);
449
434
  color: var(--seams-colors-textButton);
@@ -329,17 +329,3 @@
329
329
  .seams-link-device-failure .seams-link-device-btn:focus-visible {
330
330
  background: var(--seams-colors-surface2, #f1f5f9);
331
331
  }
332
-
333
- /* Responsive Design */
334
- @media (max-width: 768px) {
335
- .qr-modal-content {
336
- margin: 1rem;
337
- max-width: calc(100vw - 2rem);
338
- }
339
-
340
- @supports (width: 1dvw) {
341
- .qr-modal-content {
342
- max-width: calc(100dvw - 2rem);
343
- }
344
- }
345
- }
@@ -1,8 +1,9 @@
1
- import { mpcMaterialActivationRefsEqual, parseEmailOtpProviderUserId, parseWalletAuthMethodId, parseWalletAuthorityId, parseWalletId, parseWalletRecoveryOperationId, parseWebAuthnCredentialIdB64u, parseWebAuthnRpId } from "../../shared-ts/src/utils/domainIds.js";
1
+ import { parseEmailOtpProviderUserId, parseWalletAuthMethodId, parseWalletAuthorityId, parseWalletId, parseWalletRecoveryOperationId, parseWebAuthnCredentialIdB64u, parseWebAuthnRpId } from "../../shared-ts/src/utils/domainIds.js";
2
2
  import { parseDeviceId } from "../../shared-ts/src/authorization/capabilityKinds.js";
3
3
  import { parseRecoveryCodeReservationId } from "../../shared-ts/src/wallet-recovery/recoveryCodeReservation.js";
4
4
  import { parseWalletAuthMethodRecordV2, sameWalletAuthMethodRecordV2 } from "../../shared-ts/src/utils/walletAuthMethodRecord.js";
5
5
  import { isActiveRecoveredWalletAuthorityV1, parseWalletAuthorityV1 } from "../../shared-ts/src/authorization/walletAuthority.js";
6
+ import { sameWalletEcdsaSignerActivationV1, sameWalletEd25519SignerActivationV1 } from "../../shared-ts/src/authorization/walletSignerActivationEquality.js";
6
7
  import { parseWalletRecoveryCommittedProjectionV1 } from "../../shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js";
7
8
  //#region src/core/indexedDB/pendingWalletRecoveryCommit.ts
8
9
  const RECORD_KIND = "pending_wallet_recovery_commit_v1";
@@ -405,19 +406,13 @@ function samePendingRecoverySignerActivationSetV1(left, right) {
405
406
  if (left.keyFamilies.length === 1) {
406
407
  const family = left.keyFamilies[0];
407
408
  switch (family) {
408
- case "ed25519": return right.keyFamilies[0] === "ed25519" && left.ed25519 !== void 0 && right.ed25519 !== void 0 && samePendingRecoveryEd25519SignerActivationV1(left.ed25519, right.ed25519);
409
- case "ecdsa_secp256k1": return right.keyFamilies[0] === "ecdsa_secp256k1" && left.ecdsa !== void 0 && right.ecdsa !== void 0 && samePendingRecoveryEcdsaSignerActivationV1(left.ecdsa, right.ecdsa);
409
+ case "ed25519": return right.keyFamilies[0] === "ed25519" && left.ed25519 !== void 0 && right.ed25519 !== void 0 && sameWalletEd25519SignerActivationV1(left.ed25519, right.ed25519);
410
+ case "ecdsa_secp256k1": return right.keyFamilies[0] === "ecdsa_secp256k1" && left.ecdsa !== void 0 && right.ecdsa !== void 0 && sameWalletEcdsaSignerActivationV1(left.ecdsa, right.ecdsa);
410
411
  default: return assertNeverPendingRecoverySignerFamily(family);
411
412
  }
412
413
  }
413
414
  if (left.keyFamilies.length !== 2 || left.keyFamilies[0] !== "ed25519" || left.keyFamilies[1] !== "ecdsa_secp256k1" || right.keyFamilies.length !== 2 || right.keyFamilies[0] !== "ed25519" || right.keyFamilies[1] !== "ecdsa_secp256k1" || left.ed25519 === void 0 || right.ed25519 === void 0 || left.ecdsa === void 0 || right.ecdsa === void 0) return false;
414
- return samePendingRecoveryEd25519SignerActivationV1(left.ed25519, right.ed25519) && samePendingRecoveryEcdsaSignerActivationV1(left.ecdsa, right.ecdsa);
415
- }
416
- function samePendingRecoveryEd25519SignerActivationV1(left, right) {
417
- return left.kind === right.kind && left.signer.kind === right.signer.kind && left.signer.keyFamily === right.signer.keyFamily && left.signer.walletId === right.signer.walletId && left.signer.walletKeyId === right.signer.walletKeyId && left.signer.registeredPublicKeyB64u === right.signer.registeredPublicKeyB64u && mpcMaterialActivationRefsEqual(left.materialActivation, right.materialActivation);
418
- }
419
- function samePendingRecoveryEcdsaSignerActivationV1(left, right) {
420
- return left.kind === right.kind && left.signer.kind === right.signer.kind && left.signer.keyFamily === right.signer.keyFamily && left.signer.walletId === right.signer.walletId && left.signer.walletKeyId === right.signer.walletKeyId && left.signer.thresholdPublicKey33B64u === right.signer.thresholdPublicKey33B64u && left.signer.evmAddress === right.signer.evmAddress && mpcMaterialActivationRefsEqual(left.materialActivation, right.materialActivation);
415
+ return sameWalletEd25519SignerActivationV1(left.ed25519, right.ed25519) && sameWalletEcdsaSignerActivationV1(left.ecdsa, right.ecdsa);
421
416
  }
422
417
  function assertNeverPendingRecoverySignerFamily(value) {
423
418
  throw new Error(`unsupported pending recovery signer family: ${String(value)}`);
@@ -1,4 +1,5 @@
1
1
  import { hasWhitespaceOrControlCharacters, parseEmailOtpChallengeId, parseEmailOtpProviderUserId, parseMpcMaterialActivationRef, parseVerifiedEmailAddress, parseWalletAuthMethodId, parseWalletId, parseWebAuthnCredentialIdB64u, parseWebAuthnRpId } from "../../shared-ts/src/utils/domainIds.js";
2
+ import { wireLiteral, wireObject, wireResult, wireUnion } from "../../shared-ts/src/utils/wireSchema.js";
2
3
  import { sha256HexUtf8 } from "../../shared-ts/src/utils/digests.js";
3
4
  import { parseCorrelationId, parseDigestB64u } from "../../shared-ts/src/utils/canonicalPrimitives.js";
4
5
  import { parseRouterAbEd25519YaoRegistrationActivationAdmissionReceiptV1, parseRouterAbEd25519YaoRegistrationActivationExecuteRequestV1, parseRouterAbEd25519YaoRegistrationAdmissionRequestV1, sameRouterAbEd25519YaoActivationBindingV1 } from "../../shared-ts/src/utils/routerAbEd25519Yao.js";
@@ -216,7 +217,7 @@ function parsePendingWalletRegistrationCommitV1(raw) {
216
217
  const signedSetup = parseCanonicalString(fields.get("signedSetup"));
217
218
  const walletId = parseWalletId(fields.get("walletId"));
218
219
  const walletAuthMethodId = parseWalletAuthMethodId(fields.get("walletAuthMethodId"));
219
- const auth = parsePendingAuth(fields.get("auth"));
220
+ const auth = readJournalRecord(pendingAuthV1(), fields.get("auth"));
220
221
  const localMaterial = parsePendingLocalMaterial(fields.get("localMaterial"));
221
222
  const createdAtMs = parsePositiveSafeInteger(fields.get("createdAtMs"));
222
223
  const updatedAtMs = parsePositiveSafeInteger(fields.get("updatedAtMs"));
@@ -382,47 +383,19 @@ function parsePendingOperation(value) {
382
383
  function parsePendingSignerPlanKind(value) {
383
384
  return value === "near_ed25519" || value === "evm_family_ecdsa" || value === "near_ed25519_and_evm_family_ecdsa" ? value : null;
384
385
  }
385
- function parsePendingAuth(raw) {
386
- const kind = readJournalField(raw, "kind");
387
- if (kind === "passkey") {
388
- const fields = decodeJournalObject(raw, [
389
- "kind",
390
- "rpId",
391
- "credentialIdB64u",
392
- "transports"
393
- ]);
394
- if (!fields) return null;
395
- const rpId = parseWebAuthnRpId(fields.get("rpId"));
396
- const credentialIdB64u = parseWebAuthnCredentialIdB64u(fields.get("credentialIdB64u"));
397
- const transports = parseCanonicalStringArray(fields.get("transports"));
398
- return rpId.ok && credentialIdB64u.ok && transports ? {
399
- kind: "passkey",
400
- rpId: rpId.value,
401
- credentialIdB64u: credentialIdB64u.value,
402
- transports
403
- } : null;
404
- }
405
- if (kind !== "email_otp") return null;
406
- const fields = decodeJournalObject(raw, [
407
- "kind",
408
- "email",
409
- "registrationAuthorityId",
410
- "providerSubject",
411
- "enrollment"
412
- ]);
413
- if (!fields) return null;
414
- const email = parseVerifiedEmailAddress(fields.get("email"));
415
- const registrationAuthorityId = parseEmailOtpChallengeId(fields.get("registrationAuthorityId"));
416
- const providerSubject = parseEmailOtpProviderUserId(fields.get("providerSubject"));
417
- const enrollment = parseEmailOtpEnrollmentMaterial(fields.get("enrollment"));
418
- if (!email.ok || !registrationAuthorityId.ok || !providerSubject.ok || !enrollment) return null;
419
- return {
420
- kind: "email_otp",
421
- email: email.value,
422
- registrationAuthorityId: registrationAuthorityId.value,
423
- providerSubject: providerSubject.value,
424
- enrollment
425
- };
386
+ function pendingAuthV1() {
387
+ return wireUnion("kind", [wireObject({
388
+ kind: wireLiteral("passkey"),
389
+ rpId: wireResult(parseWebAuthnRpId),
390
+ credentialIdB64u: wireResult(parseWebAuthnCredentialIdB64u),
391
+ transports: journalField(parseCanonicalStringArray)
392
+ }), wireObject({
393
+ kind: wireLiteral("email_otp"),
394
+ email: wireResult(parseVerifiedEmailAddress),
395
+ registrationAuthorityId: wireResult(parseEmailOtpChallengeId),
396
+ providerSubject: wireResult(parseEmailOtpProviderUserId),
397
+ enrollment: emailOtpEnrollmentMaterialV1()
398
+ })]);
426
399
  }
427
400
  function parseCanonicalStringArray(raw) {
428
401
  const valuesRaw = decodeJournalArray(raw);
@@ -437,25 +410,14 @@ function parseCanonicalStringArray(raw) {
437
410
  }
438
411
  return values;
439
412
  }
440
- function parseEmailOtpEnrollmentMaterial(raw) {
441
- const fields = decodeJournalObject(raw, [
442
- "enrollmentSealKeyVersion",
443
- "serverSealedFactorCiphertextB64u",
444
- "clientUnlockPublicKeyB64u",
445
- "unlockKeyVersion"
446
- ]);
447
- if (!fields) return null;
448
- const enrollmentSealKeyVersion = parseCanonicalString(fields.get("enrollmentSealKeyVersion"));
449
- const serverSealedFactorCiphertextB64u = parseCanonicalString(fields.get("serverSealedFactorCiphertextB64u"));
450
- const clientUnlockPublicKeyB64u = parseCanonicalString(fields.get("clientUnlockPublicKeyB64u"));
451
- const unlockKeyVersion = parseCanonicalString(fields.get("unlockKeyVersion"));
452
- if (!enrollmentSealKeyVersion || !serverSealedFactorCiphertextB64u || !clientUnlockPublicKeyB64u || !unlockKeyVersion) return null;
453
- return {
454
- enrollmentSealKeyVersion,
455
- serverSealedFactorCiphertextB64u,
456
- clientUnlockPublicKeyB64u,
457
- unlockKeyVersion
458
- };
413
+ function emailOtpEnrollmentMaterialV1() {
414
+ const text = journalField(parseCanonicalString);
415
+ return wireObject({
416
+ enrollmentSealKeyVersion: text,
417
+ serverSealedFactorCiphertextB64u: text,
418
+ clientUnlockPublicKeyB64u: text,
419
+ unlockKeyVersion: text
420
+ });
459
421
  }
460
422
  function parsePendingLocalMaterial(raw) {
461
423
  const keyFamilies = decodeJournalArray(readJournalField(raw, "keyFamilies"));
@@ -468,7 +430,7 @@ function parsePendingLocalMaterial(raw) {
468
430
  ]);
469
431
  if (!fields) return null;
470
432
  const custodyCommit = parseCustodyCommit(fields.get("custodyCommit"));
471
- const ecdsa = parseEcdsaLocalMaterial(fields.get("ecdsa"));
433
+ const ecdsa = readJournalRecord(ecdsaReplayV1(), fields.get("ecdsa"));
472
434
  return custodyCommit && isCustodyCommitForKeySet(custodyCommit, "evm_family_ecdsa_v1") && ecdsa ? {
473
435
  keyFamilies: ["ecdsa_secp256k1"],
474
436
  custodyCommit,
@@ -483,7 +445,7 @@ function parsePendingLocalMaterial(raw) {
483
445
  ]);
484
446
  if (!fields) return null;
485
447
  const custodyCommit = parseCustodyCommit(fields.get("custodyCommit"));
486
- const ed25519 = parseEd25519LocalMaterial(fields.get("ed25519"));
448
+ const ed25519 = readJournalRecord(ed25519LocalMaterialV1(), fields.get("ed25519"));
487
449
  return custodyCommit && isCustodyCommitForKeySet(custodyCommit, "near_ed25519_v1") && ed25519 ? {
488
450
  keyFamilies: ["ed25519"],
489
451
  custodyCommit,
@@ -499,8 +461,8 @@ function parsePendingLocalMaterial(raw) {
499
461
  ]);
500
462
  if (!fields) return null;
501
463
  const custodyCommit = parseCustodyCommit(fields.get("custodyCommit"));
502
- const ed25519 = parseMixedEd25519LocalMaterial(fields.get("ed25519"));
503
- const ecdsa = parseEcdsaLocalMaterial(fields.get("ecdsa"));
464
+ const ed25519 = readJournalRecord(mixedEd25519LocalMaterialV1(), fields.get("ed25519"));
465
+ const ecdsa = readJournalRecord(ecdsaReplayV1(), fields.get("ecdsa"));
504
466
  return custodyCommit && isCustodyCommitForKeySet(custodyCommit, "evm_family_ecdsa_v1") && ed25519 && ecdsa ? {
505
467
  keyFamilies: ["ed25519", "ecdsa_secp256k1"],
506
468
  custodyCommit,
@@ -519,158 +481,86 @@ function isEcdsaOnlyLocalMaterial(localMaterial) {
519
481
  function isMixedLocalMaterial(localMaterial) {
520
482
  return localMaterial.keyFamilies.length === 2 && localMaterial.keyFamilies[0] === "ed25519" && localMaterial.keyFamilies[1] === "ecdsa_secp256k1";
521
483
  }
522
- function parseEd25519LocalMaterial(raw) {
523
- const fields = decodeJournalObject(raw, [
524
- "activationReference",
525
- "localMaterial",
526
- "metadata"
527
- ]);
528
- return fields ? parseEd25519LocalMaterialValues(fields) : null;
529
- }
530
- function parseMixedEd25519LocalMaterial(raw) {
531
- const fields = decodeJournalObject(raw, [
532
- "custodyCommit",
533
- "activationReference",
534
- "localMaterial",
535
- "metadata"
536
- ]);
537
- if (!fields) return null;
538
- const custodyCommit = parseCustodyCommit(fields.get("custodyCommit"));
539
- if (!custodyCommit || !isCustodyCommitForKeySet(custodyCommit, "near_ed25519_v1")) return null;
540
- const ed25519 = parseEd25519LocalMaterialValues(fields);
541
- return ed25519 ? {
542
- activationReference: ed25519.activationReference,
543
- localMaterial: ed25519.localMaterial,
544
- metadata: ed25519.metadata,
545
- custodyCommit
546
- } : null;
547
- }
548
- function parseEd25519LocalMaterialValues(fields) {
549
- const activationReference = parseActivationReference(fields.get("activationReference"));
550
- const localMaterialFields = decodeJournalObject(fields.get("localMaterial"), [
551
- "b64u",
552
- "nonceB64u",
553
- "applicationBindingDigestB64u"
554
- ]);
555
- if (!localMaterialFields) return null;
556
- const b64u = parseCanonicalString(localMaterialFields.get("b64u"));
557
- const nonceB64u = parseCanonicalString(localMaterialFields.get("nonceB64u"));
558
- const applicationBindingDigestB64u = parseCanonicalString(localMaterialFields.get("applicationBindingDigestB64u"));
559
- const metadata = parseEd25519Metadata(fields.get("metadata"));
560
- return activationReference && b64u && nonceB64u && applicationBindingDigestB64u && metadata ? {
561
- activationReference,
562
- localMaterial: {
563
- b64u,
564
- nonceB64u,
565
- applicationBindingDigestB64u
566
- },
567
- metadata
568
- } : null;
569
- }
570
- function parseEd25519Metadata(raw) {
571
- const fields = decodeJournalObject(raw, [
572
- "materialActivation",
573
- "registeredPublicKeyB64u",
574
- "signingWorkerVerifyingShareB64u",
575
- "stateEpoch",
576
- "signingWorkerId",
577
- "participantIds",
578
- "nearEd25519SigningKeyId",
579
- "signerSlot"
580
- ]);
581
- if (!fields) return null;
582
- const materialActivation = parseMpcMaterialActivationRef(fields.get("materialActivation"));
583
- const registeredPublicKeyB64u = parseCanonicalString(fields.get("registeredPublicKeyB64u"));
584
- const signingWorkerVerifyingShareB64u = parseCanonicalString(fields.get("signingWorkerVerifyingShareB64u"));
585
- const stateEpoch = parseCanonicalStateEpoch(fields.get("stateEpoch"));
586
- const signingWorkerId = parseCanonicalString(fields.get("signingWorkerId"));
587
- const nearEd25519SigningKeyId = parseCanonicalString(fields.get("nearEd25519SigningKeyId"));
588
- const participantIds = decodeJournalArray(fields.get("participantIds"));
589
- const signerSlot = fields.get("signerSlot");
590
- if (!materialActivation.ok || !registeredPublicKeyB64u || !signingWorkerVerifyingShareB64u || !stateEpoch || !signingWorkerId || !nearEd25519SigningKeyId || !participantIds || participantIds.length !== 2 || participantIds.some((participantId) => typeof participantId !== "number" || !Number.isSafeInteger(participantId) || Number(participantId) < 1) || !Number.isSafeInteger(signerSlot) || Number(signerSlot) < 1) return null;
484
+ function ed25519LocalMaterialFields() {
485
+ const text = journalField(parseCanonicalString);
591
486
  return {
592
- materialActivation: materialActivation.value,
593
- registeredPublicKeyB64u,
594
- signingWorkerVerifyingShareB64u,
595
- stateEpoch,
596
- signingWorkerId,
597
- participantIds: [Number(participantIds[0]), Number(participantIds[1])],
598
- nearEd25519SigningKeyId,
599
- signerSlot: Number(signerSlot)
487
+ activationReference: activationReferenceV1(),
488
+ localMaterial: wireObject({
489
+ b64u: text,
490
+ nonceB64u: text,
491
+ applicationBindingDigestB64u: text
492
+ }),
493
+ metadata: ed25519MetadataV1()
600
494
  };
601
495
  }
602
- function parseEcdsaLocalMaterial(raw) {
603
- const fields = decodeJournalObject(raw, [
604
- "activationJournalId",
605
- "clientActivation",
606
- "activationRequestDigestB64u"
607
- ]);
608
- if (!fields) return null;
609
- const activationJournalId = parseCorrelationIdSafely(fields.get("activationJournalId"));
610
- const activationRequestDigestB64u = parseDigestB64uSafely(fields.get("activationRequestDigestB64u"));
611
- if (!activationJournalId || !activationRequestDigestB64u) return null;
612
- try {
613
- return {
614
- activationJournalId,
615
- clientActivation: parseRouterAbEcdsaVerifiedClientActivationFactsV1(fields.get("clientActivation")),
616
- activationRequestDigestB64u
617
- };
618
- } catch {
619
- return null;
620
- }
496
+ function ed25519LocalMaterialV1() {
497
+ return wireObject(ed25519LocalMaterialFields());
621
498
  }
622
- function parseEcdsaPublicFacts(raw) {
623
- const fields = decodeJournalObject(raw, [
624
- "contextBinding32B64u",
625
- "derivationClientSharePublicKey33B64u",
626
- "clientVerifyingShare33B64u",
627
- "relayerPublicKey33B64u",
628
- "groupPublicKey33B64u",
629
- "ethereumAddress",
630
- "clientShareRetryCounter",
631
- "relayerShareRetryCounter"
632
- ]);
633
- if (!fields) return null;
634
- const contextBinding32B64u = parseCanonicalString(fields.get("contextBinding32B64u"));
635
- const derivationClientSharePublicKey33B64u = parseCanonicalString(fields.get("derivationClientSharePublicKey33B64u"));
636
- const clientVerifyingShare33B64u = parseCanonicalString(fields.get("clientVerifyingShare33B64u"));
637
- const relayerPublicKey33B64u = parseCanonicalString(fields.get("relayerPublicKey33B64u"));
638
- const groupPublicKey33B64u = parseCanonicalString(fields.get("groupPublicKey33B64u"));
639
- const ethereumAddress = parseCanonicalString(fields.get("ethereumAddress"));
640
- const clientShareRetryCounter = fields.get("clientShareRetryCounter");
641
- const relayerShareRetryCounter = fields.get("relayerShareRetryCounter");
642
- if (!contextBinding32B64u || !derivationClientSharePublicKey33B64u || !clientVerifyingShare33B64u || !relayerPublicKey33B64u || !groupPublicKey33B64u || !ethereumAddress || !Number.isSafeInteger(clientShareRetryCounter) || Number(clientShareRetryCounter) < 0 || !Number.isSafeInteger(relayerShareRetryCounter) || Number(relayerShareRetryCounter) < 0) return null;
643
- return {
644
- contextBinding32B64u,
645
- derivationClientSharePublicKey33B64u,
646
- clientVerifyingShare33B64u,
647
- relayerPublicKey33B64u,
648
- groupPublicKey33B64u,
649
- ethereumAddress,
650
- clientShareRetryCounter: Number(clientShareRetryCounter),
651
- relayerShareRetryCounter: Number(relayerShareRetryCounter)
652
- };
499
+ function mixedEd25519LocalMaterialV1() {
500
+ return wireObject({
501
+ ...ed25519LocalMaterialFields(),
502
+ custodyCommit: journalField((raw) => {
503
+ const custodyCommit = parseCustodyCommit(raw);
504
+ return custodyCommit && isCustodyCommitForKeySet(custodyCommit, "near_ed25519_v1") ? custodyCommit : null;
505
+ })
506
+ });
653
507
  }
654
- function parseActivationReference(raw) {
655
- const fields = decodeJournalObject(raw, [
656
- "kind",
657
- "lifecycle_id",
658
- "session_id"
659
- ]);
660
- if (!fields || fields.get("kind") !== "router_ab_ed25519_yao_activation_reference_v1") return null;
661
- const lifecycleId = parseCanonicalString(fields.get("lifecycle_id"));
662
- const sessionIdValues = decodeJournalArray(fields.get("session_id"));
663
- if (!lifecycleId || !sessionIdValues || sessionIdValues.length !== 32) return null;
664
- const sessionId = [];
665
- for (const value of sessionIdValues) {
666
- if (typeof value !== "number" || !Number.isInteger(value) || value < 0 || value > 255) return null;
667
- sessionId.push(value);
668
- }
669
- return {
670
- kind: "router_ab_ed25519_yao_activation_reference_v1",
671
- lifecycle_id: lifecycleId,
672
- session_id: sessionId
508
+ function ed25519MetadataV1() {
509
+ const text = journalField(parseCanonicalString);
510
+ return wireObject({
511
+ materialActivation: wireResult(parseMpcMaterialActivationRef),
512
+ registeredPublicKeyB64u: text,
513
+ signingWorkerVerifyingShareB64u: text,
514
+ stateEpoch: journalField(parseCanonicalStateEpoch),
515
+ signingWorkerId: text,
516
+ participantIds: (raw, label) => {
517
+ const ids = decodeJournalArray(raw);
518
+ if (!ids || ids.length !== 2 || ids.some((id) => parsePositiveSafeInteger(id) === null)) throw new Error(`${label} is invalid`);
519
+ return [Number(ids[0]), Number(ids[1])];
520
+ },
521
+ nearEd25519SigningKeyId: text,
522
+ signerSlot: journalField(parsePositiveSafeInteger)
523
+ });
524
+ }
525
+ function ecdsaReplayV1() {
526
+ return wireObject({
527
+ activationJournalId: parseCorrelationId,
528
+ clientActivation: parseRouterAbEcdsaVerifiedClientActivationFactsV1,
529
+ activationRequestDigestB64u: parseDigestB64u
530
+ });
531
+ }
532
+ function ecdsaPublicFactsV1() {
533
+ const text = journalField(parseCanonicalString);
534
+ const retryCounter = (raw, label) => {
535
+ if (!Number.isSafeInteger(raw) || Number(raw) < 0) throw new Error(`${label} is invalid`);
536
+ return Number(raw);
673
537
  };
538
+ return wireObject({
539
+ contextBinding32B64u: text,
540
+ derivationClientSharePublicKey33B64u: text,
541
+ clientVerifyingShare33B64u: text,
542
+ relayerPublicKey33B64u: text,
543
+ groupPublicKey33B64u: text,
544
+ ethereumAddress: text,
545
+ clientShareRetryCounter: retryCounter,
546
+ relayerShareRetryCounter: retryCounter
547
+ });
548
+ }
549
+ function activationReferenceV1() {
550
+ return wireObject({
551
+ kind: wireLiteral("router_ab_ed25519_yao_activation_reference_v1"),
552
+ lifecycle_id: journalField(parseCanonicalString),
553
+ session_id: (raw, label) => {
554
+ const values = decodeJournalArray(raw);
555
+ if (!values || values.length !== 32) throw new Error(`${label} is invalid`);
556
+ const sessionId = [];
557
+ for (const value of values) {
558
+ if (typeof value !== "number" || !Number.isInteger(value) || value < 0 || value > 255) throw new Error(`${label} is invalid`);
559
+ sessionId.push(value);
560
+ }
561
+ return sessionId;
562
+ }
563
+ });
674
564
  }
675
565
  function parseCustodyCommit(raw) {
676
566
  const fields = decodeJournalObjectWithAllowedKeys(raw, [
@@ -695,7 +585,7 @@ function parseCustodyCommit(raw) {
695
585
  const establishedCustody = establishedCustodyRaw === void 0 ? void 0 : parseEstablishedCustody(establishedCustodyRaw);
696
586
  if (establishedCustodyRaw !== void 0 && !establishedCustody) return null;
697
587
  const recoveryReplacementEnvelopeRaw = fields.get("recoveryReplacementEnvelope");
698
- const recoveryReplacementEnvelope = recoveryReplacementEnvelopeRaw === void 0 ? void 0 : parseRecoveryReplacementEnvelope(recoveryReplacementEnvelopeRaw);
588
+ const recoveryReplacementEnvelope = recoveryReplacementEnvelopeRaw === void 0 ? void 0 : readJournalRecord(recoveryReplacementEnvelopeV1(), recoveryReplacementEnvelopeRaw);
699
589
  if (recoveryReplacementEnvelopeRaw !== void 0 && !recoveryReplacementEnvelope) return null;
700
590
  const registeredPublicKeyB64uRaw = fields.get("registeredPublicKeyB64u");
701
591
  const registeredPublicKeyB64u = registeredPublicKeyB64uRaw === void 0 ? void 0 : parseCanonicalString(registeredPublicKeyB64uRaw);
@@ -704,7 +594,7 @@ function parseCustodyCommit(raw) {
704
594
  const clientRootPublicKey33B64u = clientRootPublicKey33B64uRaw === void 0 ? void 0 : parseCanonicalString(clientRootPublicKey33B64uRaw);
705
595
  if (clientRootPublicKey33B64uRaw !== void 0 && !clientRootPublicKey33B64u) return null;
706
596
  const ecdsaPublicFactsRaw = fields.get("ecdsaPublicFacts");
707
- const ecdsaPublicFacts = ecdsaPublicFactsRaw === void 0 ? void 0 : parseEcdsaPublicFacts(ecdsaPublicFactsRaw);
597
+ const ecdsaPublicFacts = ecdsaPublicFactsRaw === void 0 ? void 0 : readJournalRecord(ecdsaPublicFactsV1(), ecdsaPublicFactsRaw);
708
598
  if (ecdsaPublicFactsRaw !== void 0 && !ecdsaPublicFacts) return null;
709
599
  return {
710
600
  walletId,
@@ -751,14 +641,14 @@ function parseEstablishedCustody(raw) {
751
641
  if (strings.some((value) => value === null)) return null;
752
642
  const recoveryManifestKekWrapValues = decodeJournalArray(fields.get("recoveryManifestKekWraps"));
753
643
  if (!recoveryManifestKekWrapValues) return null;
754
- const parsedRecoveryManifestKekWraps = recoveryManifestKekWrapValues.map(parseRecoveryWrap);
644
+ const parsedRecoveryManifestKekWraps = recoveryManifestKekWrapValues.map((value) => readJournalRecord(recoveryWrapV1(), value));
755
645
  if (parsedRecoveryManifestKekWraps.some((value) => value === null)) return null;
756
646
  const recoveryManifestKekWraps = parsedRecoveryManifestKekWraps.filter(isPresent);
757
647
  let recoveryCodeLocators;
758
648
  if (fields.has("recoveryCodeLocators")) {
759
649
  const recoveryCodeLocatorValues = decodeJournalArray(fields.get("recoveryCodeLocators"));
760
650
  if (!recoveryCodeLocatorValues) return null;
761
- const parsedRecoveryCodeLocators = recoveryCodeLocatorValues.map(parseRecoveryCodeLocator);
651
+ const parsedRecoveryCodeLocators = recoveryCodeLocatorValues.map((value) => readJournalRecord(recoveryCodeLocatorV1(), value));
762
652
  if (parsedRecoveryCodeLocators.some((value) => value === null)) return null;
763
653
  recoveryCodeLocators = parsedRecoveryCodeLocators.filter(isPresent);
764
654
  }
@@ -776,56 +666,32 @@ function parseEstablishedCustody(raw) {
776
666
  recoveryEntryAadHashB64u: strings[8]
777
667
  };
778
668
  }
779
- function parseRecoveryWrap(raw) {
780
- const fields = decodeJournalObject(raw, [
781
- "recoveryKeyId",
782
- "nonceB64u",
783
- "ciphertextB64u",
784
- "aadHashB64u"
785
- ]);
786
- if (!fields) return null;
787
- const recoveryKeyId = parseCanonicalString(fields.get("recoveryKeyId"));
788
- const nonceB64u = parseCanonicalString(fields.get("nonceB64u"));
789
- const ciphertextB64u = parseCanonicalString(fields.get("ciphertextB64u"));
790
- const aadHashB64u = parseCanonicalString(fields.get("aadHashB64u"));
791
- return recoveryKeyId && nonceB64u && ciphertextB64u && aadHashB64u ? {
792
- recoveryKeyId,
793
- nonceB64u,
794
- ciphertextB64u,
795
- aadHashB64u
796
- } : null;
797
- }
798
- function parseRecoveryCodeLocator(raw) {
799
- const fields = decodeJournalObject(raw, ["locatorB64u", "recoveryKeyId"]);
800
- if (!fields) return null;
801
- const locatorB64u = parseCanonicalString(fields.get("locatorB64u"));
802
- const recoveryKeyId = parseCanonicalString(fields.get("recoveryKeyId"));
803
- return locatorB64u && recoveryKeyId ? {
804
- locatorB64u,
805
- recoveryKeyId
806
- } : null;
807
- }
808
- function parseRecoveryReplacementEnvelope(raw) {
809
- const keys = [
810
- "envelopeId",
811
- "envelopeBindingJson",
812
- "envelopeNonceB64u",
813
- "sealedCustodySecretB64u",
814
- "envelopeAadHashB64u",
815
- "envelopeCiphertextDigestB64u"
816
- ];
817
- const fields = decodeJournalObject(raw, keys);
818
- if (!fields) return null;
819
- const values = keys.map((key) => parseCanonicalString(fields.get(key)));
820
- if (values.some((value) => value === null)) return null;
821
- return {
822
- envelopeId: values[0],
823
- envelopeBindingJson: values[1],
824
- envelopeNonceB64u: values[2],
825
- sealedCustodySecretB64u: values[3],
826
- envelopeAadHashB64u: values[4],
827
- envelopeCiphertextDigestB64u: values[5]
828
- };
669
+ function recoveryWrapV1() {
670
+ const text = journalField(parseCanonicalString);
671
+ return wireObject({
672
+ recoveryKeyId: text,
673
+ nonceB64u: text,
674
+ ciphertextB64u: text,
675
+ aadHashB64u: text
676
+ });
677
+ }
678
+ function recoveryCodeLocatorV1() {
679
+ const text = journalField(parseCanonicalString);
680
+ return wireObject({
681
+ locatorB64u: text,
682
+ recoveryKeyId: text
683
+ });
684
+ }
685
+ function recoveryReplacementEnvelopeV1() {
686
+ const text = journalField(parseCanonicalString);
687
+ return wireObject({
688
+ envelopeId: text,
689
+ envelopeBindingJson: text,
690
+ envelopeNonceB64u: text,
691
+ sealedCustodySecretB64u: text,
692
+ envelopeAadHashB64u: text,
693
+ envelopeCiphertextDigestB64u: text
694
+ });
829
695
  }
830
696
  function isPresent(value) {
831
697
  return value !== null;
@@ -840,19 +706,19 @@ function parseCanonicalStateEpoch(value) {
840
706
  function parsePositiveSafeInteger(value) {
841
707
  return Number.isSafeInteger(value) && Number(value) > 0 ? Number(value) : null;
842
708
  }
843
- function parseCorrelationIdSafely(value) {
709
+ function readJournalRecord(schema, raw) {
844
710
  try {
845
- return parseCorrelationId(value);
711
+ return schema(raw, "journal");
846
712
  } catch {
847
713
  return null;
848
714
  }
849
715
  }
850
- function parseDigestB64uSafely(value) {
851
- try {
852
- return parseDigestB64u(value);
853
- } catch {
854
- return null;
855
- }
716
+ function journalField(parse) {
717
+ return (raw, label) => {
718
+ const value = parse(raw);
719
+ if (value === null) throw new Error(`${label} is invalid`);
720
+ return value;
721
+ };
856
722
  }
857
723
  function decodeJournalObject(value, expectedKeys) {
858
724
  const fields = decodeJournalObjectWithAllowedKeys(value, expectedKeys);