@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
@@ -5,7 +5,7 @@ import { isPlainObject, requireRecord, requireTrimmedString } from "../../../../
5
5
  import { parseRouterAbEd25519NormalSigningState } from "../../../../shared-ts/src/utils/signingSessionSeal.js";
6
6
  import { toAccountId } from "../../../types/accountIds.js";
7
7
  import { walletIdFromString } from "../../../../shared-ts/src/utils/registrationIds.js";
8
- import { normalizeRuntimePolicyScope, signingRootScopeFromRuntimePolicyScope } from "../../../../shared-ts/src/threshold/signingRootScope.js";
8
+ import { normalizeRuntimePolicyScope, sameRuntimePolicyScope, signingRootScopeFromRuntimePolicyScope } from "../../../../shared-ts/src/threshold/signingRootScope.js";
9
9
  import { ROUTER_AB_ED25519_YAO_WARM_RECOVERY_BOOTSTRAP_PATH_V1, parseRouterAbEd25519YaoWarmRecoveryBootstrapRequestV1 } from "../../../../shared-ts/src/utils/routerAbEd25519Yao.js";
10
10
  import { ed25519DurableMaterialLocator } from "../sealedRecovery/materialActivationKey.js";
11
11
  import { parseEd25519YaoRecoveryCapabilityV1 } from "./ed25519YaoRecoveryCapability.js";
@@ -162,9 +162,6 @@ async function parseJsonResponseOrNull(response) {
162
162
  return null;
163
163
  }
164
164
  }
165
- function sameRuntimePolicyScope(left, right) {
166
- return left.orgId === right.orgId && left.projectId === right.projectId && left.envId === right.envId && left.signingRootVersion === right.signingRootVersion;
167
- }
168
165
  async function parseWarmRecoveryDescriptor(args) {
169
166
  const record = args.record;
170
167
  const response = args.response;
@@ -46,24 +46,21 @@ function storagePayloadFromSealedStoreRow(value) {
46
46
  const obj = asRecord(value);
47
47
  return obj && SEALED_RECORD_PAYLOAD_FIELD in obj ? obj[SEALED_RECORD_PAYLOAD_FIELD] : value;
48
48
  }
49
- function optionalStringForIndex(value) {
50
- return normalizeOptionalNonEmptyString(value);
51
- }
52
49
  function durableLaneStorageRow(record) {
53
50
  const ecdsaChainTarget = record.ecdsaRestore?.chainTarget;
54
- const ecdsaThresholdSessionId = optionalStringForIndex(record.thresholdSessionIds.ecdsa);
55
- const ed25519ThresholdSessionId = optionalStringForIndex(record.thresholdSessionIds.ed25519);
51
+ const ecdsaThresholdSessionId = normalizeOptionalNonEmptyString(record.thresholdSessionIds.ecdsa);
52
+ const ed25519ThresholdSessionId = normalizeOptionalNonEmptyString(record.thresholdSessionIds.ed25519);
56
53
  return {
57
54
  store_key: record.storeKey,
58
55
  wallet_id: record.walletId,
59
56
  auth_method: record.authMethod,
60
57
  curve: record.curve,
61
- signing_root_id: optionalStringForIndex("signingRootId" in record ? record.signingRootId : void 0),
62
- signing_root_version: optionalStringForIndex("signingRootVersion" in record ? record.signingRootVersion : void 0),
58
+ signing_root_id: normalizeOptionalNonEmptyString("signingRootId" in record ? record.signingRootId : void 0),
59
+ signing_root_version: normalizeOptionalNonEmptyString("signingRootVersion" in record ? record.signingRootVersion : void 0),
63
60
  ed25519_threshold_session_id: ed25519ThresholdSessionId,
64
61
  ecdsa_threshold_session_id: ecdsaThresholdSessionId,
65
62
  threshold_session_id: ecdsaThresholdSessionId || ed25519ThresholdSessionId,
66
- key_handle: optionalStringForIndex(record.ecdsaRestore?.keyHandle),
63
+ key_handle: normalizeOptionalNonEmptyString(record.ecdsaRestore?.keyHandle),
67
64
  chain_target_key: ecdsaChainTarget ? thresholdEcdsaChainTargetKey(ecdsaChainTarget) : void 0,
68
65
  expires_at_ms: record.expiresAtMs,
69
66
  updated_at: record.updatedAtMs,
@@ -1,4 +1,4 @@
1
- import { thresholdEcdsaRoleLocalAdmitPresignatureWasm, thresholdEcdsaRoleLocalCommitPresignatureWasm, thresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandleWasm, thresholdEcdsaRoleLocalDestroyPresignatureWasm, thresholdEcdsaRoleLocalListAvailablePresignaturesWasm, thresholdEcdsaRoleLocalPresignSessionAbortWasm, thresholdEcdsaRoleLocalPresignSessionInitFromMaterialHandleWasm, thresholdEcdsaRoleLocalPresignSessionStepWasm, thresholdEcdsaRoleLocalReservePresignatureWasm } from "../../threshold/crypto/ecdsaDerivationClientWasm.js";
1
+ import { thresholdEcdsaListAvailablePresignaturesWasm, thresholdEcdsaRoleLocalAdmitPresignatureWasm, thresholdEcdsaRoleLocalCommitPresignatureWasm, thresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandleWasm, thresholdEcdsaRoleLocalDestroyPresignatureWasm, thresholdEcdsaRoleLocalPresignSessionAbortWasm, thresholdEcdsaRoleLocalPresignSessionInitFromMaterialHandleWasm, thresholdEcdsaRoleLocalPresignSessionStepWasm, thresholdEcdsaRoleLocalReservePresignatureWasm } from "../../threshold/crypto/ecdsaDerivationClientWasm.js";
2
2
  import { ecdsaRoleLocalPersistedMaterialSource, resolveEcdsaRoleLocalMaterial } from "../material/ecdsaRoleLocalMaterialResolver.js";
3
3
  //#region src/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefillSigningMaterialSource.ts
4
4
  function requireResolvedLoginPrefillMaterial(resolution) {
@@ -40,7 +40,7 @@ function createEcdsaLoginPrefillClientSigningMaterialSource(args) {
40
40
  destroyClientPresignature: thresholdEcdsaRoleLocalDestroyPresignatureWasm,
41
41
  reserveClientPresignature: thresholdEcdsaRoleLocalReservePresignatureWasm,
42
42
  commitClientPresignature: thresholdEcdsaRoleLocalCommitPresignatureWasm,
43
- listAvailableClientPresignatures: thresholdEcdsaRoleLocalListAvailablePresignaturesWasm,
43
+ listAvailableClientPresignatures: thresholdEcdsaListAvailablePresignaturesWasm.bind(void 0, "role_local_derivation_handle"),
44
44
  computeSignatureShareFromPresignatureHandle: thresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandleWasm
45
45
  };
46
46
  }
@@ -2,8 +2,8 @@ import { mpcMaterialActivationRefsEqual } from "../../../../shared-ts/src/utils/
2
2
  import { signingLaneAuthBindingKey } from "../identity/signingLaneAuthBinding.js";
3
3
  import { SigningSessionIds } from "../operationState/types.js";
4
4
  import { exactEd25519SigningLaneIdentity, exactSigningLaneIdentityKey, exactSigningLaneIdentityMatches, nearEd25519SignerBindingFromBoundaryFields } from "../identity/exactSigningLaneIdentity.js";
5
- import { isConcreteAvailableSigningLane } from "../availability/availableSigningLanes.js";
6
5
  import { materialActivationKey } from "../sealedRecovery/materialActivationKey.js";
6
+ import { isConcreteAvailableSigningLane } from "../availability/availableSigningLanes.js";
7
7
  //#region src/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.ts
8
8
  function exactEd25519LaneIdentityFromAvailableLane(lane) {
9
9
  if (!lane.authorization) throw new Error("Available Ed25519 lane requires Wallet Session authorization");
@@ -8,6 +8,11 @@ function normalizeQueueLimit(value, fallback) {
8
8
  min: 1
9
9
  });
10
10
  }
11
+ function thresholdCommitQueueError(code, message) {
12
+ const err = /* @__PURE__ */ new Error(`[SigningEngine] ${message}`);
13
+ err.code = code;
14
+ return err;
15
+ }
11
16
  function getOrCreateQueueState(queueByKey, queueKey) {
12
17
  const existing = queueByKey.get(queueKey);
13
18
  if (existing) return existing;
@@ -63,14 +68,23 @@ function clearThresholdCommitQueue(queueByKey) {
63
68
  }
64
69
  queueByKey.clear();
65
70
  }
71
+ function resolveThresholdCommitQueueKey(args) {
72
+ return [
73
+ "material",
74
+ encodeURIComponent(String(args.materialActivation.materialOwner)),
75
+ encodeURIComponent(String(args.materialActivation.capability)),
76
+ encodeURIComponent(String(args.materialActivation.activationId))
77
+ ].join(":");
78
+ }
66
79
  async function withThresholdCommitQueue(args) {
67
- if (!args.enabled) return await args.task();
80
+ const { labels, owner } = args;
68
81
  const queueKey = String(args.queueKey || "").trim();
69
- if (!queueKey) throw new Error("[SigningEngine] threshold commit queue requires non-empty queueKey");
82
+ if (!queueKey) throw new Error(`[SigningEngine] ${labels.queue} requires non-empty queueKey`);
83
+ if (!args.enabled) return await args.task();
70
84
  const maxQueueLength = normalizeQueueLimit(args.maxQueueLength, DEFAULT_MAX_QUEUE_LENGTH);
71
85
  const queueTimeoutMs = normalizeQueueLimit(args.queueTimeoutMs, DEFAULT_QUEUE_TIMEOUT_MS);
72
86
  const state = getOrCreateQueueState(args.queueByKey, queueKey);
73
- if (state.items.length + (state.running ? 1 : 0) >= maxQueueLength) throw args.errors.makeOverflowError(queueKey, maxQueueLength);
87
+ if (state.items.length + (state.running ? 1 : 0) >= maxQueueLength) throw thresholdCommitQueueError("commit_queue_overflow", `${labels.queue} overflow for ${owner} (queueKey=${queueKey}, max=${maxQueueLength})`);
74
88
  return await new Promise((resolve, reject) => {
75
89
  let timeoutHandle = null;
76
90
  let settled = false;
@@ -91,8 +105,8 @@ async function withThresholdCommitQueue(args) {
91
105
  clearTimeoutHandle();
92
106
  resolve(value);
93
107
  };
94
- const makeCancelledError = (reason) => args.errors.makeCancelledError(queueKey, reason);
95
- const makeTimeoutError = (timeoutMs) => args.errors.makeTimeoutError(queueKey, timeoutMs);
108
+ const makeCancelledError = (reason) => thresholdCommitQueueError("cancelled", `${labels.queuedOperation} cancelled for ${owner} (queueKey=${queueKey}${reason === "queue_cleared" ? ", queue_cleared" : ""})`);
109
+ const makeTimeoutError = (timeoutMs) => thresholdCommitQueueError("commit_queue_timeout", `${labels.queue} timeout for ${owner} (queueKey=${queueKey}, waited>${timeoutMs}ms before start)`);
96
110
  const item = {
97
111
  enqueuedAtMs: Date.now(),
98
112
  timeoutMs: queueTimeoutMs,
@@ -120,6 +134,6 @@ async function withThresholdCommitQueue(args) {
120
134
  });
121
135
  }
122
136
  //#endregion
123
- export { clearThresholdCommitQueue, withThresholdCommitQueue };
137
+ export { clearThresholdCommitQueue, resolveThresholdCommitQueueKey, withThresholdCommitQueue };
124
138
 
125
139
  //# sourceMappingURL=commitQueueShared.js.map
@@ -564,16 +564,19 @@ async function thresholdEcdsaRoleLocalCommitPresignatureWasm(input) {
564
564
  }
565
565
  })).type !== EcdsaPresignClientResponseType.CommitSuccess) throw new Error("ThresholdEcdsaRoleLocalCommitPresignature failed");
566
566
  }
567
- async function thresholdEcdsaRoleLocalListAvailablePresignaturesWasm(input) {
567
+ async function thresholdEcdsaListAvailablePresignaturesWasm(authorityKind, input) {
568
568
  const response = await requestEcdsaPresignOperation({
569
569
  workerCtx: input.workerCtx,
570
570
  request: {
571
571
  type: EcdsaPresignClientRequestType.ListAvailable,
572
572
  timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
573
- payload: { poolIdentity: input.poolIdentity }
573
+ payload: {
574
+ authority: { kind: authorityKind },
575
+ poolIdentity: input.poolIdentity
576
+ }
574
577
  }
575
578
  });
576
- if (response.type !== EcdsaPresignClientResponseType.ListAvailableSuccess) throw new Error("ThresholdEcdsaRoleLocalListAvailablePresignatures failed");
579
+ if (response.type !== EcdsaPresignClientResponseType.ListAvailableSuccess) throw new Error("ThresholdEcdsaListAvailablePresignatures failed");
577
580
  return response.payload.map(parseListedClientPresignature);
578
581
  }
579
582
  async function thresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandleWasm(input) {
@@ -611,6 +614,6 @@ async function thresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandl
611
614
  return new Uint8Array(response.payload);
612
615
  }
613
616
  //#endregion
614
- export { clearLinkedDeviceEcdsaHolderMaterialsWasm, closeRouterAbEcdsaPostRegistrationCeremonyWasm, closeRouterAbEcdsaRegistrationCeremonyWasm, createEcdsaHolderOrdinaryExportRequestWasm, createRouterAbEcdsaPostRegistrationCeremonyWasm, createRouterAbEcdsaRegistrationCeremonyWasm, destroyLinkedDeviceEcdsaHolderMaterialWasm, destroyLinkedDeviceEcdsaHolderMaterialsWasm, finalizeEcdsaClientBootstrapCommandWasm, finalizeEcdsaHolderOrdinaryExportWasm, finalizeRouterAbEcdsaExplicitExportWasm, finalizeRouterAbEcdsaRegistrationActivationWasm, openEcdsaRoleLocalSigningMaterialWasm, persistInitialCanonicalEcdsaActivationWasm, prepareEcdsaClientBootstrapCommandWasm, prepareLinkedDeviceEcdsaSourceContributionWasm, reconcileCanonicalEcdsaActivationWasm, signWalletRecoveryEcdsaMaterialPossessionProofWasm, storeEcdsaRoleLocalSigningMaterialWasm, storeLinkedDeviceEcdsaHolderMaterialWasm, thresholdEcdsaLinkedHolderPresignSessionInitWasm, thresholdEcdsaRoleLocalAdmitPresignatureWasm, thresholdEcdsaRoleLocalCommitPresignatureWasm, thresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandleWasm, thresholdEcdsaRoleLocalDestroyPresignatureWasm, thresholdEcdsaRoleLocalListAvailablePresignaturesWasm, thresholdEcdsaRoleLocalPresignSessionAbortWasm, thresholdEcdsaRoleLocalPresignSessionInitFromMaterialHandleWasm, thresholdEcdsaRoleLocalPresignSessionStepWasm, thresholdEcdsaRoleLocalReservePresignatureWasm, verifyRouterAbEcdsaRegistrationClientProofsWasm };
617
+ export { clearLinkedDeviceEcdsaHolderMaterialsWasm, closeRouterAbEcdsaPostRegistrationCeremonyWasm, closeRouterAbEcdsaRegistrationCeremonyWasm, createEcdsaHolderOrdinaryExportRequestWasm, createRouterAbEcdsaPostRegistrationCeremonyWasm, createRouterAbEcdsaRegistrationCeremonyWasm, destroyLinkedDeviceEcdsaHolderMaterialWasm, destroyLinkedDeviceEcdsaHolderMaterialsWasm, finalizeEcdsaClientBootstrapCommandWasm, finalizeEcdsaHolderOrdinaryExportWasm, finalizeRouterAbEcdsaExplicitExportWasm, finalizeRouterAbEcdsaRegistrationActivationWasm, openEcdsaRoleLocalSigningMaterialWasm, persistInitialCanonicalEcdsaActivationWasm, prepareEcdsaClientBootstrapCommandWasm, prepareLinkedDeviceEcdsaSourceContributionWasm, reconcileCanonicalEcdsaActivationWasm, signWalletRecoveryEcdsaMaterialPossessionProofWasm, storeEcdsaRoleLocalSigningMaterialWasm, storeLinkedDeviceEcdsaHolderMaterialWasm, thresholdEcdsaLinkedHolderPresignSessionInitWasm, thresholdEcdsaListAvailablePresignaturesWasm, thresholdEcdsaRoleLocalAdmitPresignatureWasm, thresholdEcdsaRoleLocalCommitPresignatureWasm, thresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandleWasm, thresholdEcdsaRoleLocalDestroyPresignatureWasm, thresholdEcdsaRoleLocalPresignSessionAbortWasm, thresholdEcdsaRoleLocalPresignSessionInitFromMaterialHandleWasm, thresholdEcdsaRoleLocalPresignSessionStepWasm, thresholdEcdsaRoleLocalReservePresignatureWasm, verifyRouterAbEcdsaRegistrationClientProofsWasm };
615
618
 
616
619
  //# sourceMappingURL=ecdsaDerivationClientWasm.js.map
@@ -1,58 +1,16 @@
1
- import { clearThresholdCommitQueue, withThresholdCommitQueue } from "../commitQueueShared.js";
1
+ import { withThresholdCommitQueue } from "../commitQueueShared.js";
2
2
  //#region src/core/signingEngine/threshold/ecdsa/signingQueue.ts
3
- function ecdsaSigningQueueWalletIdLabel(walletId) {
4
- return String(walletId).trim();
5
- }
6
- function createThresholdEcdsaSigningQueueOverflowError(walletId, queueKey, maxQueueLength) {
7
- const normalizedWalletId = ecdsaSigningQueueWalletIdLabel(walletId);
8
- const err = /* @__PURE__ */ new Error(`[SigningEngine] threshold ECDSA signing queue overflow for ${normalizedWalletId} (queueKey=${queueKey}, max=${maxQueueLength})`);
9
- err.code = "commit_queue_overflow";
10
- return err;
11
- }
12
- function createThresholdEcdsaSigningQueueTimeoutError(walletId, queueKey, timeoutMs) {
13
- const normalizedWalletId = ecdsaSigningQueueWalletIdLabel(walletId);
14
- const err = /* @__PURE__ */ new Error(`[SigningEngine] threshold ECDSA signing queue timeout for ${normalizedWalletId} (queueKey=${queueKey}, waited>${timeoutMs}ms before start)`);
15
- err.code = "commit_queue_timeout";
16
- return err;
17
- }
18
- function createThresholdEcdsaSigningQueueCancelledError(walletId, queueKey, reason = "cancelled") {
19
- const normalizedWalletId = ecdsaSigningQueueWalletIdLabel(walletId);
20
- const message = reason === "queue_cleared" ? `[SigningEngine] threshold ECDSA queued signing operation cancelled for ${normalizedWalletId} (queueKey=${queueKey}, queue_cleared)` : `[SigningEngine] threshold ECDSA queued signing operation cancelled for ${normalizedWalletId} (queueKey=${queueKey})`;
21
- const err = new Error(message);
22
- err.code = "cancelled";
23
- return err;
24
- }
25
- function resolveThresholdEcdsaSigningQueueKey(args) {
26
- return [
27
- "material",
28
- encodeURIComponent(String(args.materialActivation.materialOwner)),
29
- encodeURIComponent(String(args.materialActivation.capability)),
30
- encodeURIComponent(String(args.materialActivation.activationId))
31
- ].join(":");
32
- }
33
- function clearThresholdEcdsaSigningQueue(queueByKey) {
34
- clearThresholdCommitQueue(queueByKey);
35
- }
36
3
  async function withThresholdEcdsaSigningQueue(args) {
37
- const queueKey = String(args.queueKey || "").trim();
38
- if (!queueKey) throw new Error("[SigningEngine] threshold ECDSA signing queue requires non-empty queueKey");
39
- const walletKey = args.walletId;
40
4
  return await withThresholdCommitQueue({
41
- queueByKey: args.queueByKey,
42
- queueKey,
43
- enabled: args.enabled,
44
- shouldAbort: args.shouldAbort,
45
- maxQueueLength: args.maxQueueLength,
46
- queueTimeoutMs: args.queueTimeoutMs,
47
- task: args.task,
48
- errors: {
49
- makeOverflowError: (queueKey, maxQueueLength) => createThresholdEcdsaSigningQueueOverflowError(walletKey, queueKey, maxQueueLength),
50
- makeTimeoutError: (queueKey, timeoutMs) => createThresholdEcdsaSigningQueueTimeoutError(walletKey, queueKey, timeoutMs),
51
- makeCancelledError: (queueKey, reason) => createThresholdEcdsaSigningQueueCancelledError(walletKey, queueKey, reason)
52
- }
5
+ ...args,
6
+ labels: {
7
+ queue: "threshold ECDSA signing queue",
8
+ queuedOperation: "threshold ECDSA queued signing operation"
9
+ },
10
+ owner: String(args.walletId).trim()
53
11
  });
54
12
  }
55
13
  //#endregion
56
- export { clearThresholdEcdsaSigningQueue, resolveThresholdEcdsaSigningQueueKey, withThresholdEcdsaSigningQueue };
14
+ export { withThresholdEcdsaSigningQueue };
57
15
 
58
16
  //# sourceMappingURL=signingQueue.js.map
@@ -1,52 +1,16 @@
1
1
  import { withThresholdCommitQueue } from "../commitQueueShared.js";
2
2
  //#region src/core/signingEngine/threshold/ed25519/commitQueue.ts
3
- function createThresholdEd25519CommitQueueOverflowError(nearAccountId, queueKey, maxQueueLength) {
4
- const accountId = String(nearAccountId);
5
- const err = /* @__PURE__ */ new Error(`[SigningEngine] threshold Ed25519 commit queue overflow for ${accountId} (queueKey=${queueKey}, max=${maxQueueLength})`);
6
- err.code = "commit_queue_overflow";
7
- return err;
8
- }
9
- function createThresholdEd25519CommitQueueTimeoutError(nearAccountId, queueKey, timeoutMs) {
10
- const accountId = String(nearAccountId);
11
- const err = /* @__PURE__ */ new Error(`[SigningEngine] threshold Ed25519 commit queue timeout for ${accountId} (queueKey=${queueKey}, waited>${timeoutMs}ms before start)`);
12
- err.code = "commit_queue_timeout";
13
- return err;
14
- }
15
- function createThresholdEd25519CommitQueueCancelledError(nearAccountId, queueKey, reason = "cancelled") {
16
- const accountId = String(nearAccountId);
17
- const message = reason === "queue_cleared" ? `[SigningEngine] threshold Ed25519 queued commit cancelled for ${accountId} (queueKey=${queueKey}, queue_cleared)` : `[SigningEngine] threshold Ed25519 queued commit cancelled for ${accountId} (queueKey=${queueKey})`;
18
- const err = new Error(message);
19
- err.code = "cancelled";
20
- return err;
21
- }
22
- function resolveThresholdEd25519CommitQueueKey(args) {
23
- return [
24
- "material",
25
- encodeURIComponent(String(args.materialActivation.materialOwner)),
26
- encodeURIComponent(String(args.materialActivation.capability)),
27
- encodeURIComponent(String(args.materialActivation.activationId))
28
- ].join(":");
29
- }
30
3
  async function withThresholdEd25519CommitQueue(args) {
31
- const queueKey = String(args.queueKey || "").trim();
32
- if (!queueKey) throw new Error("[SigningEngine] threshold Ed25519 commit queue requires non-empty queueKey");
33
- const accountKey = String(args.nearAccountId);
34
4
  return await withThresholdCommitQueue({
35
- queueByKey: args.queueByKey,
36
- queueKey,
37
- enabled: args.enabled,
38
- shouldAbort: args.shouldAbort,
39
- maxQueueLength: args.maxQueueLength,
40
- queueTimeoutMs: args.queueTimeoutMs,
41
- task: args.task,
42
- errors: {
43
- makeOverflowError: (queueKey, maxQueueLength) => createThresholdEd25519CommitQueueOverflowError(accountKey, queueKey, maxQueueLength),
44
- makeTimeoutError: (queueKey, timeoutMs) => createThresholdEd25519CommitQueueTimeoutError(accountKey, queueKey, timeoutMs),
45
- makeCancelledError: (queueKey, reason) => createThresholdEd25519CommitQueueCancelledError(accountKey, queueKey, reason)
46
- }
5
+ ...args,
6
+ labels: {
7
+ queue: "threshold Ed25519 commit queue",
8
+ queuedOperation: "threshold Ed25519 queued commit"
9
+ },
10
+ owner: String(args.nearAccountId)
47
11
  });
48
12
  }
49
13
  //#endregion
50
- export { resolveThresholdEd25519CommitQueueKey, withThresholdEd25519CommitQueue };
14
+ export { withThresholdEd25519CommitQueue };
51
15
 
52
16
  //# sourceMappingURL=commitQueue.js.map
@@ -4,10 +4,11 @@ import { parseSigningSessionSealKeyVersion } from "../../../shared-ts/src/thresh
4
4
  import { walletAuthAuthorityRef } from "../../../shared-ts/src/utils/walletAuthAuthority.js";
5
5
  import { walletSessionAuthorizations } from "../../indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js";
6
6
  import { IndexedDBManager } from "../../indexedDB/index.js";
7
+ import { resolveThresholdCommitQueueKey } from "../threshold/commitQueueShared.js";
7
8
  import { materialActivationKey } from "../session/sealedRecovery/materialActivationKey.js";
8
9
  import { createDeleteDurableSealedSessionCommand } from "../session/persistence/durableSealedSessionCommands.js";
9
10
  import { acquireSigningSessionRestoreLease, deleteDurableSealedSessionRecord, listExactSealedSessionsForWallet, releaseSigningSessionRestoreLease } from "../session/persistence/sealedSessionStore.js";
10
- import { resolveThresholdEcdsaSigningQueueKey, withThresholdEcdsaSigningQueue } from "../threshold/ecdsa/signingQueue.js";
11
+ import { withThresholdEcdsaSigningQueue } from "../threshold/ecdsa/signingQueue.js";
11
12
  import { parseUserConfirmWorkerResponse } from "../../types/secure-confirm-worker.js";
12
13
  import BUILD_PATHS from "../../../build-paths.js";
13
14
  import { resolveWorkerUrl } from "../../walletRuntimePaths/workers.js";
@@ -369,7 +370,7 @@ var PasskeyMpcSessionManagerImpl = class {
369
370
  if (inFlight) return requirePasskeyEcdsaRestoreOutcome(await inFlight, "ready");
370
371
  const task = withThresholdEcdsaSigningQueue({
371
372
  queueByKey: this.deps.thresholdEcdsaSigningQueueByKey,
372
- queueKey: resolveThresholdEcdsaSigningQueueKey({ materialActivation: record.roleLocalMaterialRef.materialActivation }),
373
+ queueKey: resolveThresholdCommitQueueKey({ materialActivation: record.roleLocalMaterialRef.materialActivation }),
373
374
  walletId: toWalletId(args.walletId),
374
375
  enabled: true,
375
376
  task: async () => await this.restorePasskeyEcdsaRecord({
@@ -51,6 +51,21 @@ var TransactionReceipt = class extends Component {
51
51
  if (row.ownerDocument.defaultView?.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
52
52
  const height = row.getBoundingClientRect().height;
53
53
  row.dataset.opening = "";
54
+ const showLink = () => {
55
+ this.releaseExplorerRow();
56
+ link.animate([{
57
+ opacity: 0,
58
+ filter: "blur(4px)",
59
+ transform: "translateY(6px)"
60
+ }, {
61
+ opacity: 1,
62
+ filter: "blur(0)",
63
+ transform: "translateY(0)"
64
+ }], {
65
+ duration: EXPLORER_REVEAL_MS,
66
+ easing: EXPLORER_REVEAL_EASING
67
+ });
68
+ };
54
69
  if (!announceClampedSurfaceResize({
55
70
  reason: "receipt-explorer",
56
71
  element: row,
@@ -58,28 +73,15 @@ var TransactionReceipt = class extends Component {
58
73
  toCssPx: height,
59
74
  drivenClasses: ["seams-receipt-explorer-driven"],
60
75
  setHeightCssPx: this.setExplorerRowHeight,
61
- onSettled: this.releaseExplorerRow
76
+ onSettled: showLink
62
77
  })) {
63
78
  const opening = row.animate([{ height: "0px" }, { height: `${height}px` }], {
64
79
  duration: EXPLORER_REVEAL_MS,
65
80
  easing: EXPLORER_REVEAL_EASING
66
81
  });
67
- opening.onfinish = opening.oncancel = this.releaseExplorerRow;
82
+ opening.onfinish = showLink;
83
+ opening.oncancel = this.releaseExplorerRow;
68
84
  }
69
- link.animate([{
70
- opacity: 0,
71
- filter: "blur(4px)",
72
- transform: "translateY(6px)"
73
- }, {
74
- opacity: 1,
75
- filter: "blur(0)",
76
- transform: "translateY(0)"
77
- }], {
78
- duration: EXPLORER_REVEAL_MS,
79
- delay: 60,
80
- easing: EXPLORER_REVEAL_EASING,
81
- fill: "backwards"
82
- });
83
85
  }
84
86
  render() {
85
87
  const { receipt, data } = this.props;
@@ -1,9 +1,6 @@
1
1
  import { isString } from "../../../../../shared-ts/src/utils/validation.js";
2
2
  import { formatArgs, formatCodeSize, shortenPubkey } from "./formatters.js";
3
3
  import { renderFallbackDisplayOperation } from "./renderers/fallback.js";
4
- import { isNearDisplayOperation, renderNearDisplayOperation } from "./renderers/near.js";
5
- import { isEvmDisplayOperation, renderEvmDisplayOperation } from "./renderers/evm.js";
6
- import { isTempoDisplayOperation, renderTempoDisplayOperation } from "./renderers/tempo.js";
7
4
  //#region src/core/signingEngine/uiConfirm/ui/transaction-display/tree.ts
8
5
  function toChainLabel(chain) {
9
6
  switch (chain) {
@@ -28,14 +25,8 @@ function buildWarningNodes(warnings) {
28
25
  }))
29
26
  }];
30
27
  }
31
- function selectOperationRenderer(operation) {
32
- if (isNearDisplayOperation(operation)) return renderNearDisplayOperation;
33
- if (isEvmDisplayOperation(operation)) return renderEvmDisplayOperation;
34
- if (isTempoDisplayOperation(operation)) return renderTempoDisplayOperation;
35
- return renderFallbackDisplayOperation;
36
- }
37
28
  function renderOperationNode(operation, depth, path) {
38
- return selectOperationRenderer(operation)({
29
+ return renderFallbackDisplayOperation({
39
30
  operation,
40
31
  depth,
41
32
  path,
@@ -7,6 +7,7 @@ import "../../../shared-ts/src/passkey-custody/index.js";
7
7
  import { parseLinkedDeviceOrdinaryMaterialSourceContributionPreparationV1 } from "../../../shared-ts/src/device-linking/sourceContribution.js";
8
8
  import { parseCommittedAuthorityPackagesV1 } from "../../../shared-ts/src/device-linking/committedSignerPackages.js";
9
9
  import { parseWalletAuthorityLinkedSignerMaterialRecordV1 } from "../../indexedDB/linkedAuthoritySignerMaterial.js";
10
+ import { hasExactKeys } from "../../../shared-ts/src/utils/exactKeys.js";
10
11
  //#region src/core/signingEngine/workerManager/deviceLinkingPorts.ts
11
12
  function targetFactorBindingV1(targetFactor) {
12
13
  const authMethod = parseWalletAuthMethodId(targetFactor.authMethod.walletAuthMethodId);
@@ -67,11 +68,15 @@ function createDeviceLinkingOrdinaryMaterialWorkerPortV1(send) {
67
68
  }
68
69
  function parseOrdinaryResealedExportRootRecordV1(value) {
69
70
  if (value === null) return null;
70
- if (!isOrdinaryResealedExportRootRecordV1(value)) throw new Error("ordinary material resealed export root has unsupported fields");
71
+ if (!hasExactKeys(value, ["envelope"])) throw new Error("ordinary material resealed export root has unsupported fields");
71
72
  return { envelope: parsePasskeyCustodyEnvelopeRecord(value.envelope) };
72
73
  }
73
74
  function parsePreparationResult(value) {
74
- if (!isOrdinaryMaterialPreparationResultRecordV1(value)) throw new Error("ordinary material preparation result has invalid fields");
75
+ if (!hasExactKeys(value, [
76
+ "kind",
77
+ "targetFactor",
78
+ "preparations"
79
+ ])) throw new Error("ordinary material preparation result has invalid fields");
75
80
  if (value.kind !== "device_linking_ordinary_signer_material_preparation_v1") throw new Error("ordinary material preparation result kind is invalid");
76
81
  return {
77
82
  kind: "device_linking_ordinary_signer_material_preparation_v1",
@@ -93,7 +98,11 @@ function parsePreparationTuple(value) {
93
98
  function parseRecipientRequirementTuple(value) {
94
99
  if (!Array.isArray(value) || value.length === 0 || value.length > 2) throw new Error("ordinary signer material recipient requirements must contain one or two entries");
95
100
  const requirements = value.map((entry, index) => {
96
- if (!isOrdinaryRecipientRequirementRecordV1(entry)) throw new Error(`ordinary recipient requirement ${index} has invalid fields`);
101
+ if (!hasExactKeys(entry, [
102
+ "kind",
103
+ "keyFamily",
104
+ "walletKeyId"
105
+ ])) throw new Error(`ordinary recipient requirement ${index} has invalid fields`);
97
106
  if (entry.kind !== "ordinary_signer_material_recipient_requirement_v1") throw new Error("ordinary recipient requirement kind is invalid");
98
107
  if (entry.keyFamily !== "ed25519" && entry.keyFamily !== "ecdsa_secp256k1") throw new Error("ordinary recipient requirement key family is invalid");
99
108
  const walletKeyId = parseWalletKey(entry.walletKeyId);
@@ -111,7 +120,12 @@ function parseRecipientRequirementTuple(value) {
111
120
  function parseRecipientRequestTuple(value) {
112
121
  if (!Array.isArray(value) || value.length === 0 || value.length > 2) throw new Error("ordinary signer material recipient requests must contain one or two entries");
113
122
  const requests = value.map((entry) => {
114
- if (isOrdinaryEd25519RecipientRequestRecordV1(entry)) {
123
+ if (hasExactKeys(entry, [
124
+ "kind",
125
+ "keyFamily",
126
+ "walletKeyId",
127
+ "recipientPublicKeyB64u"
128
+ ])) {
115
129
  if (entry.kind !== "ordinary_ed25519_signer_material_recipient_request_v1" || entry.keyFamily !== "ed25519") throw new Error("ordinary Ed25519 recipient request kind is invalid");
116
130
  return {
117
131
  kind: "ordinary_ed25519_signer_material_recipient_request_v1",
@@ -120,7 +134,12 @@ function parseRecipientRequestTuple(value) {
120
134
  recipientPublicKeyB64u: parseB64u(entry.recipientPublicKeyB64u, "Ed25519 recipient public key")
121
135
  };
122
136
  }
123
- if (isOrdinaryEcdsaRecipientRequestRecordV1(entry)) {
137
+ if (hasExactKeys(entry, [
138
+ "kind",
139
+ "keyFamily",
140
+ "walletKeyId",
141
+ "clientEphemeralPublicKey"
142
+ ])) {
124
143
  if (entry.kind !== "ordinary_ecdsa_signer_material_recipient_request_v1" || entry.keyFamily !== "ecdsa_secp256k1") throw new Error("ordinary ECDSA recipient request kind is invalid");
125
144
  return {
126
145
  kind: "ordinary_ecdsa_signer_material_recipient_request_v1",
@@ -137,7 +156,11 @@ function parseRecipientRequestTuple(value) {
137
156
  return [first, ...requests.slice(1)];
138
157
  }
139
158
  function parseRecipientPreparationResult(value) {
140
- if (!isOrdinaryRecipientPreparationResultRecordV1(value)) throw new Error("ordinary recipient preparation result has invalid fields");
159
+ if (!hasExactKeys(value, [
160
+ "kind",
161
+ "recipientRequests",
162
+ "recipientInputs"
163
+ ])) throw new Error("ordinary recipient preparation result has invalid fields");
141
164
  if (value.kind !== "device_linking_ordinary_signer_material_recipient_preparation_v1") throw new Error("ordinary recipient preparation result kind is invalid");
142
165
  const recipientRequests = parseRecipientRequestTuple(value.recipientRequests);
143
166
  const recipientInputs = parseRecipientInputTuple(value.recipientInputs);
@@ -150,7 +173,12 @@ function parseRecipientPreparationResult(value) {
150
173
  function parseRecipientInputTuple(value) {
151
174
  if (!Array.isArray(value) || value.length === 0 || value.length > 2) throw new Error("ordinary signer material recipient inputs must contain one or two entries");
152
175
  const inputs = value.map((entry) => {
153
- if (isOrdinaryEd25519RecipientInputRecordV1(entry)) {
176
+ if (hasExactKeys(entry, [
177
+ "kind",
178
+ "keyFamily",
179
+ "walletKeyId",
180
+ "recipientPrivateKey"
181
+ ])) {
154
182
  if (entry.kind !== "ordinary_ed25519_signer_material_recipient_input_v1" || entry.keyFamily !== "ed25519") throw new Error("ordinary Ed25519 recipient input kind is invalid");
155
183
  return {
156
184
  kind: "ordinary_ed25519_signer_material_recipient_input_v1",
@@ -159,7 +187,12 @@ function parseRecipientInputTuple(value) {
159
187
  recipientPrivateKey: parsePrivateKeyBuffer(entry.recipientPrivateKey, "Ed25519 recipient private key")
160
188
  };
161
189
  }
162
- if (isOrdinaryEcdsaRecipientInputRecordV1(entry)) {
190
+ if (hasExactKeys(entry, [
191
+ "kind",
192
+ "keyFamily",
193
+ "walletKeyId",
194
+ "clientEphemeralPrivateKey"
195
+ ])) {
163
196
  if (entry.kind !== "ordinary_ecdsa_signer_material_recipient_input_v1" || entry.keyFamily !== "ecdsa_secp256k1") throw new Error("ordinary ECDSA recipient input kind is invalid");
164
197
  return {
165
198
  kind: "ordinary_ecdsa_signer_material_recipient_input_v1",
@@ -207,7 +240,13 @@ function parsePreparation(value) {
207
240
  return parseLinkedDeviceOrdinaryMaterialSourceContributionPreparationV1(value);
208
241
  }
209
242
  function parseTargetFactorBindingV1(value) {
210
- if (isOrdinaryPasskeyTargetFactorRecordV1(value)) {
243
+ if (hasExactKeys(value, [
244
+ "kind",
245
+ "walletAuthMethodId",
246
+ "verificationDigestB64u",
247
+ "rpId",
248
+ "credentialIdB64u"
249
+ ])) {
211
250
  if (value.kind !== "passkey") throw new Error("ordinary material target factor kind is unsupported");
212
251
  const authMethod = parseWalletAuthMethodId(value.walletAuthMethodId);
213
252
  if (!authMethod.ok) throw new Error(authMethod.error.message);
@@ -220,7 +259,13 @@ function parseTargetFactorBindingV1(value) {
220
259
  credentialIdB64u: parseB64u(value.credentialIdB64u, "ordinary target factor credentialIdB64u")
221
260
  };
222
261
  }
223
- if (isOrdinaryEmailOtpTargetFactorRecordV1(value)) {
262
+ if (hasExactKeys(value, [
263
+ "kind",
264
+ "walletAuthMethodId",
265
+ "verificationDigestB64u",
266
+ "emailHashHex",
267
+ "registrationAuthorityId"
268
+ ])) {
224
269
  if (value.kind !== "email_otp") throw new Error("ordinary material target factor kind is unsupported");
225
270
  const authMethod = parseWalletAuthMethodId(value.walletAuthMethodId);
226
271
  if (!authMethod.ok) throw new Error(authMethod.error.message);
@@ -238,7 +283,13 @@ function parseTargetFactorBindingV1(value) {
238
283
  throw new Error("ordinary material target factor kind is unsupported");
239
284
  }
240
285
  function parseWalletAuthorityExportRootRecordV1(value) {
241
- if (!isWalletAuthorityExportRootRecordV1(value)) throw new Error("ordinary material export-root record has invalid fields");
286
+ if (!hasExactKeys(value, [
287
+ "kind",
288
+ "authorityId",
289
+ "walletAuthMethodId",
290
+ "walletKeyId",
291
+ "envelope"
292
+ ])) throw new Error("ordinary material export-root record has invalid fields");
242
293
  if (value.kind !== "wallet_authority_export_root_v1") throw new Error("ordinary material export-root record kind is invalid");
243
294
  const authorityId = parseWalletAuthorityId(value.authorityId);
244
295
  if (!authorityId.ok) throw new Error(authorityId.error.message);
@@ -255,7 +306,11 @@ function parseWalletAuthorityExportRootRecordV1(value) {
255
306
  };
256
307
  }
257
308
  function parseSealedLocalAuthorityMaterialSetV1(value) {
258
- if (!isSealedLocalAuthorityMaterialSetRecordV1(value)) throw new Error("ordinary material worker returned an invalid sealed record set");
309
+ if (!hasExactKeys(value, [
310
+ "signerMaterials",
311
+ "exportRoot",
312
+ "installedRecordSetDigestB64u"
313
+ ])) throw new Error("ordinary material worker returned an invalid sealed record set");
259
314
  if (!Array.isArray(value.signerMaterials) || value.signerMaterials.length === 0) throw new Error("ordinary material worker returned an invalid sealed record set");
260
315
  const signerMaterials = value.signerMaterials.map((entry) => parseWalletAuthorityLinkedSignerMaterialRecordV1(entry));
261
316
  const firstSignerMaterial = signerMaterials[0];
@@ -281,42 +336,6 @@ function parseB64u(value, label) {
281
336
  decoded.fill(0);
282
337
  return encoded;
283
338
  }
284
- function isOrdinaryResealedExportRootRecordV1(value) {
285
- return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "envelope";
286
- }
287
- function isOrdinaryMaterialPreparationResultRecordV1(value) {
288
- return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "kind|preparations|targetFactor";
289
- }
290
- function isOrdinaryRecipientRequirementRecordV1(value) {
291
- return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "keyFamily|kind|walletKeyId";
292
- }
293
- function isOrdinaryEd25519RecipientRequestRecordV1(value) {
294
- return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "keyFamily|kind|recipientPublicKeyB64u|walletKeyId";
295
- }
296
- function isOrdinaryEcdsaRecipientRequestRecordV1(value) {
297
- return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "clientEphemeralPublicKey|keyFamily|kind|walletKeyId";
298
- }
299
- function isOrdinaryRecipientPreparationResultRecordV1(value) {
300
- return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "kind|recipientInputs|recipientRequests";
301
- }
302
- function isOrdinaryEd25519RecipientInputRecordV1(value) {
303
- return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "keyFamily|kind|recipientPrivateKey|walletKeyId";
304
- }
305
- function isOrdinaryEcdsaRecipientInputRecordV1(value) {
306
- return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "clientEphemeralPrivateKey|keyFamily|kind|walletKeyId";
307
- }
308
- function isOrdinaryPasskeyTargetFactorRecordV1(value) {
309
- return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "credentialIdB64u|kind|rpId|verificationDigestB64u|walletAuthMethodId";
310
- }
311
- function isOrdinaryEmailOtpTargetFactorRecordV1(value) {
312
- return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "emailHashHex|kind|registrationAuthorityId|verificationDigestB64u|walletAuthMethodId";
313
- }
314
- function isWalletAuthorityExportRootRecordV1(value) {
315
- return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "authorityId|envelope|kind|walletAuthMethodId|walletKeyId";
316
- }
317
- function isSealedLocalAuthorityMaterialSetRecordV1(value) {
318
- return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "exportRoot|installedRecordSetDigestB64u|signerMaterials";
319
- }
320
339
  //#endregion
321
340
  export { createDeviceLinkingOrdinaryMaterialWorkerPortV1 };
322
341
 
@@ -384,11 +384,7 @@ var WorkerTransport = class {
384
384
  return worker;
385
385
  }
386
386
  connectPresignAuthorityChannel(request) {
387
- if (request.type === EcdsaPresignClientRequestType.ListAvailable && this.presignAuthorityKind === null) {
388
- this.connectDerivationPresignChannel(this.getOrCreateWorker("ecdsaPresignClient"), "role_local_derivation_handle");
389
- return;
390
- }
391
- if (request.type !== EcdsaPresignClientRequestType.SessionInit) return;
387
+ if (request.type !== EcdsaPresignClientRequestType.ListAvailable && request.type !== EcdsaPresignClientRequestType.SessionInit) return;
392
388
  const presignWorker = this.getOrCreateWorker("ecdsaPresignClient");
393
389
  const authorityKind = this.parsePresignAuthorityKind(request.payload);
394
390
  switch (authorityKind) {