@seams/wallet 0.15.4 → 0.17.0

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 (510) hide show
  1. package/README.md +47 -19
  2. package/THIRD_PARTY_NOTICES.md +102 -1
  3. package/dist/.build-inputs.sha256 +1 -1
  4. package/dist/esm/SeamsWeb/SeamsWeb.js +20 -1
  5. package/dist/esm/SeamsWeb/operations/registration/registrationSignerSet.js +73 -0
  6. package/dist/esm/SeamsWeb/operations/session/thresholdEcdsaProvisioning.js +22 -0
  7. package/dist/esm/SeamsWeb/publicApi/capabilitySelection.js +2 -1
  8. package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +26 -1
  9. package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-controller.js +71 -69
  10. package/dist/esm/SeamsWeb/walletIframe/client/preferenceState.js +6 -8
  11. package/dist/esm/SeamsWeb/walletIframe/client/preferences.js +7 -5
  12. package/dist/esm/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +2 -1
  13. package/dist/esm/SeamsWeb/walletIframe/client/router.js +116 -108
  14. package/dist/esm/SeamsWeb/walletIframe/client/surface/transactionSurfaceQueue.js +11 -7
  15. package/dist/esm/SeamsWeb/walletIframe/client/transactionReviewReservation.js +3 -2
  16. package/dist/esm/SeamsWeb/walletIframe/client/transport/IframeTransport.js +53 -49
  17. package/dist/esm/SeamsWeb/walletIframe/client/transport/iframe-transport-handshake.js +6 -2
  18. package/dist/esm/SeamsWeb/walletIframe/coordinator.js +18 -13
  19. package/dist/esm/SeamsWeb/walletIframe/host/auth-menu/domain.js +13 -1
  20. package/dist/esm/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +14 -13
  21. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.js +1 -4
  22. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +306 -301
  23. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +9 -6
  24. package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +1 -0
  25. package/dist/esm/core/config/configBuilder.js +1 -1
  26. package/dist/esm/core/config/defaultConfigs.js +1 -0
  27. package/dist/esm/core/indexedDB/accountSignerLifecycle.js +2 -0
  28. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +1 -0
  29. package/dist/esm/core/indexedDB/seamsWalletDB/manager.js +6 -5
  30. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +2 -0
  31. package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +2 -2
  32. package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +6 -3
  33. package/dist/esm/core/rpcClients/near/NearRpcError.js +7 -0
  34. package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +3 -0
  35. package/dist/esm/core/rpcClients/relayer/walletRegistration.js +6 -2
  36. package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +5 -4
  37. package/dist/esm/core/signingEngine/chains/evm/evmAdapter.js +2 -1
  38. package/dist/esm/core/signingEngine/chains/tempo/tempoAdapter.js +2 -1
  39. package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +1 -1
  40. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +5 -1
  41. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/webauthnP256.js +1 -1
  42. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +3 -2
  43. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignatureRefillProgress.js +5 -7
  44. package/dist/esm/core/signingEngine/session/lifecycle/walletSessionFailure.js +2 -0
  45. package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +68 -10
  46. package/dist/esm/core/signingEngine/session/material/walletSigningStateFailure.js +2 -2
  47. package/dist/esm/core/signingEngine/session/operationState/authorizationAdmission.js +2 -0
  48. package/dist/esm/core/signingEngine/stepUpConfirmation/methodSelection.js +2 -0
  49. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.js +29 -28
  50. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.js +3 -6
  51. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +20 -23
  52. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.js +134 -137
  53. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +17 -20
  54. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpContent.js +41 -39
  55. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.js +14 -17
  56. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/HaloBorder.js +21 -24
  57. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.js +6 -9
  58. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +100 -103
  59. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +70 -73
  60. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +23 -26
  61. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +19 -22
  62. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionTree.js +114 -117
  63. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/email-otp-session.js +81 -80
  64. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +41 -37
  65. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +13 -9
  66. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +4 -21
  67. package/dist/esm/core/types/actionBuilders.js +16 -2
  68. package/dist/esm/core/types/amounts.js +83 -0
  69. package/dist/esm/core/types/linkDevice.js +1 -1
  70. package/dist/esm/externalEvm/controller.js +49 -48
  71. package/dist/esm/index.js +2 -1
  72. package/dist/esm/react/boundWallet.js +56 -0
  73. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +13 -2
  74. package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +90 -93
  75. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +55 -58
  76. package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +17 -6
  77. package/dist/esm/react/components/ShowQRCode.css +13 -2
  78. package/dist/esm/react/context/index.js +30 -3
  79. package/dist/esm/react/context/useSeamsWithSdkFlow.js +1 -1
  80. package/dist/esm/react/externalEvm.js +22 -25
  81. package/dist/esm/react/index.js +4 -4
  82. package/dist/esm/react/styles/styles.css +13 -2
  83. package/dist/esm/react/transactionReview/TransactionReviewHost.js +3 -6
  84. package/dist/esm/react/transactionReview/boundCalls.js +1 -1
  85. package/dist/esm/react/transactionReview/controller.js +121 -119
  86. package/dist/esm/sdk/ConfirmationDrawer-CXVNmfTy.js +1 -0
  87. package/dist/esm/sdk/NonceCoordinator-DuDKN-B8.js +1 -0
  88. package/dist/{public/sdk/accountLifecycle-CBOkr0vU.js → esm/sdk/accountLifecycle-D61FIpFS.js} +1 -1
  89. package/dist/esm/sdk/{activeWalletSession-WdZkhtBB.js → activeWalletSession-Ba6X4CUN.js} +1 -1
  90. package/dist/esm/sdk/adapters-CTlDBRJy.js +2 -0
  91. package/dist/esm/sdk/authorizationAdmission-Dd23mTx7.js +1 -0
  92. package/dist/esm/sdk/{canonicalPrimitives-Dsbsxgxc.js → canonicalPrimitives-BOzRXzfv.js} +1 -1
  93. package/dist/esm/sdk/{capabilityKinds-N8xo_IEh.js → capabilityKinds-D0Yrp9uf.js} +1 -1
  94. package/dist/esm/sdk/{chains-C_X_fNuS.js → chains-CPmd4s9f.js} +1 -1
  95. package/dist/esm/sdk/challengeDelivery-FD9GHK1T.js +1 -0
  96. package/dist/esm/sdk/{clientSessionPersistenceState-CBylL1Ul.js → clientSessionPersistenceState-BHRUSWMt.js} +1 -1
  97. package/dist/esm/sdk/{commitQueue-DYEgzoLA.js → commitQueue-DOIaR0Hr.js} +1 -1
  98. package/dist/esm/sdk/{configHelpers-B-hs0mTO.js → configHelpers-BXdl5Mxs.js} +1 -1
  99. package/dist/esm/sdk/{digestEncoding-BX3VW9eF.js → digestEncoding-CbEFYvlJ.js} +1 -1
  100. package/dist/esm/sdk/{display-DsfJkAra.js → display-CY_aJEn6.js} +1 -1
  101. package/dist/esm/sdk/domainIds-C3fUa33Q.js +1 -0
  102. package/dist/esm/sdk/ecdsaCapabilityManifest-DzA996y9.js +1 -0
  103. package/dist/esm/sdk/{ecdsaChainTarget-Bfatk3oP.js → ecdsaChainTarget-DkOrgv4y.js} +1 -1
  104. package/dist/esm/sdk/ecdsaDerivationClientWasm-DQlajPpE.js +1 -0
  105. package/dist/{public/sdk/ecdsaDerivationExport-DOGzq0qC.js → esm/sdk/ecdsaDerivationExport-DyugdheE.js} +1 -1
  106. package/dist/esm/sdk/{ecdsaWalletRecords-CHfrYvKr.js → ecdsaWalletRecords-C_v74n5X.js} +1 -1
  107. package/dist/{public/sdk/emailOtpEcdsaDerivationIdentity-Bik0N8v9.js → esm/sdk/emailOtpEcdsaDerivationIdentity-BDVjvnmO.js} +1 -1
  108. package/dist/esm/sdk/{errors-DIWY1KR9.js → errors-ADOZT8oV.js} +1 -1
  109. package/dist/esm/sdk/export-viewer-host-DsRaS0UH.js +1 -0
  110. package/dist/{public/sdk/exportKeypairOperation-DzbjKbnk.js → esm/sdk/exportKeypairOperation-SJPysnE1.js} +1 -1
  111. package/dist/esm/sdk/{helpers-B9fpZNAP.js → helpers-D3CUEdHI.js} +1 -1
  112. package/dist/esm/sdk/{host-z-JJRWQe.js → host-GPb_mSAQ.js} +1 -1
  113. package/dist/esm/sdk/{intentDigest-P_-CM7lS.js → intentDigest-CGLrsMgj.js} +1 -1
  114. package/dist/esm/sdk/{lanes-5kcTFbPx.js → lanes-DJKIHJBm.js} +1 -1
  115. package/dist/esm/sdk/{localOnly-C5mSXb_D.js → localOnly-CPmpw381.js} +1 -1
  116. package/dist/esm/sdk/mountExportPrivateKeySurface-C8_tpDHF.js +1 -0
  117. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-BtNFtmSj.js +2 -0
  118. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-J6EHFScV.js +1 -0
  119. package/dist/{public/sdk/nearEd25519YaoSigningPreparation-RIfkYN0d.js → esm/sdk/nearEd25519YaoSigningPreparation-CqBNMG87.js} +1 -1
  120. package/dist/esm/sdk/{nonceLaneKeys-BCYfl1wv.js → nonceLaneKeys-D18nlLjh.js} +1 -1
  121. package/dist/esm/sdk/{normalization-n503J-BI.js → normalization-Ct9-AY13.js} +1 -1
  122. package/dist/esm/sdk/{operationFingerprint-BHNYryLY.js → operationFingerprint-Boa9DQ51.js} +1 -1
  123. package/dist/esm/sdk/{passkey-custody-DpTM-eNJ.js → passkey-custody-CBSal3E9.js} +1 -1
  124. package/dist/esm/sdk/{pendingWalletRecoveryCodeBackup-C60sZMj5.js → pendingWalletRecoveryCodeBackup-CvsrXbzn.js} +1 -1
  125. package/dist/esm/sdk/presignaturePool-CQNt13kE.js +1 -0
  126. package/dist/esm/sdk/{primitives-CqrjmIAH.js → primitives-cC0a9GRC.js} +1 -1
  127. package/dist/{public/sdk/recovery-entrypoint-BULjaFBM.js → esm/sdk/recovery-entrypoint-nj7Zo3CR.js} +1 -1
  128. package/dist/esm/sdk/{registration-CyF7nOXs.js → registration-49OGU_GZ.js} +1 -1
  129. package/dist/esm/sdk/registration-C7tywPXF.js +1 -0
  130. package/dist/esm/sdk/{registrationAccounts-BQMUusdD.js → registrationAccounts-9GFI0Ger.js} +1 -1
  131. package/dist/esm/sdk/{registrationAuthMethodInput-RbSR7R1G.js → registrationAuthMethodInput-B23_HRil.js} +1 -1
  132. package/dist/esm/sdk/{registrationIds-BaK3jUS6.js → registrationIds-Br-zI4_5.js} +1 -1
  133. package/dist/esm/sdk/{registrationIntent-090Zj7Iu.js → registrationIntent-PqmcTEE3.js} +1 -1
  134. package/dist/esm/sdk/{registrationSignerPlan-CPzHavPM.js → registrationSignerPlan-BHkqlian.js} +1 -1
  135. package/dist/{public/sdk/requireStepUpAuth-BCY5ZStI.js → esm/sdk/requireStepUpAuth-C4PGTly-.js} +1 -1
  136. package/dist/esm/sdk/routerAbNormalSigning-xxATTIh5.js +1 -0
  137. package/dist/esm/sdk/runtime-auth-CpjGW90U.js +1 -0
  138. package/dist/esm/sdk/{runtime-device-link-Dq8g_UNb.js → runtime-device-link-CKgfGi7D.js} +1 -1
  139. package/dist/esm/sdk/{runtime-ecdsa-tempo-AGjT7Xpa.js → runtime-ecdsa-tempo-5VV9xSEh.js} +1 -1
  140. package/dist/esm/sdk/{runtime-email-otp-BpBOuSsT.js → runtime-email-otp-D1hYZNn6.js} +1 -1
  141. package/dist/esm/sdk/{runtime-export-CBsacCPY.js → runtime-export-B92wQD25.js} +1 -1
  142. package/dist/esm/sdk/{runtime-near-J3hKjC7G.js → runtime-near-CUuKg38M.js} +1 -1
  143. package/dist/esm/sdk/runtime-preferences-EdL3G_MO.js +1 -0
  144. package/dist/esm/sdk/{runtime-recovery-codes-GOytzExh.js → runtime-recovery-codes-LR4mg7-k.js} +1 -1
  145. package/dist/esm/sdk/runtime-recovery-uyw8sywI.js +1 -0
  146. package/dist/esm/sdk/{sdkSentEvents-D4KtK7_I.js → sdkSentEvents-DujYAPEM.js} +1 -1
  147. package/dist/esm/sdk/secp256k1-BldUPNQI.js +1 -0
  148. package/dist/{public/sdk/sessionObservationRevision-CnEOLDbl.js → esm/sdk/sessionObservationRevision-DmmNV25w.js} +1 -1
  149. package/dist/esm/sdk/shared-ha31XIdc.js +6 -0
  150. package/dist/{public/sdk/signEvmFamily-Cpm3e6Zs.js → esm/sdk/signEvmFamily-C_RvEnDB.js} +1 -1
  151. package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-CUKdq5dE.js +1 -0
  152. package/dist/esm/sdk/{signEvmWithUiConfirm-BRmdLgmm.js → signEvmWithUiConfirm-CxXzcvj2.js} +1 -1
  153. package/dist/esm/sdk/signNear-Dno7NsP_.js +1 -0
  154. package/dist/esm/sdk/signatureUses-B_nN17i7.js +1 -0
  155. package/dist/esm/sdk/{signerDomain-Dp7BhfmZ.js → signerDomain-BFqRQ0Jl.js} +1 -1
  156. package/dist/{public/sdk/signingFlow-VAnM8L5C.js → esm/sdk/signingFlow-DtugI_2z.js} +2 -2
  157. package/dist/esm/sdk/{signingQueue-D_Ebmzcn.js → signingQueue-C1Pb07gm.js} +1 -1
  158. package/dist/{public/sdk/singletons-BXhnsqeY.js → esm/sdk/singletons-DxIyVhNb.js} +1 -1
  159. package/dist/esm/sdk/surface-measurement-reporter-BJhfiPw6.js +1 -0
  160. package/dist/{public/sdk/thresholdEcdsa-CneSKcRt.js → esm/sdk/thresholdEcdsa-murTq-xz.js} +1 -1
  161. package/dist/esm/sdk/{trace-BBux0jtr.js → trace-CsRMlSh1.js} +1 -1
  162. package/dist/{public/sdk/transaction-activity-Cccvec2J.js → esm/sdk/transaction-activity-C0nCSW6c.js} +1 -1
  163. package/dist/esm/sdk/transactionReviewAdmission-CNNho8IG.js +1 -0
  164. package/dist/{public/sdk/transactionState-Day-1x7Y.js → esm/sdk/transactionState-XbZm9Zon.js} +1 -1
  165. package/dist/esm/sdk/tx-confirm-ui.js +709 -744
  166. package/dist/esm/sdk/{types-hKLqDUhR.js → types-CQTWmtqu.js} +1 -1
  167. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  168. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  169. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  170. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  171. package/dist/{public/sdk/wallet-recovery-Bfhfk52N.js → esm/sdk/wallet-recovery-CVUalZ3p.js} +1 -1
  172. package/dist/esm/sdk/wallet-ui.css +1 -1
  173. package/dist/{public/sdk/walletAuthMethodRecord-LniOQQmj.js → esm/sdk/walletAuthMethodRecord-Bv68Vq-g.js} +1 -1
  174. package/dist/esm/sdk/{walletAuthority-CAiGuWW2.js → walletAuthority-v5wvv3IB.js} +1 -1
  175. package/dist/esm/sdk/walletCustodyEcdsaContinuity-rRHExT_R.js +1 -0
  176. package/dist/esm/sdk/{walletDbName-DtRewci9.js → walletDbName-DRzPv5Ir.js} +1 -1
  177. package/dist/esm/sdk/{walletOwnershipGeneration-B6HyR2rE.js → walletOwnershipGeneration-pMmmJ6XA.js} +1 -1
  178. package/dist/esm/sdk/{walletRecoveryCommit-C6HF84_U.js → walletRecoveryCommit-DvC6WlGz.js} +1 -1
  179. package/dist/esm/sdk/{walletRecoveryRotate-BN3H8byw.js → walletRecoveryRotate-Dd3prJpr.js} +1 -1
  180. package/dist/esm/sdk/walletRegistrationSetupPrewarm-DcbhVNMQ.js +1 -0
  181. package/dist/esm/sdk/walletSessionAuthorizationStatus-DVV3xkAx.js +1 -0
  182. package/dist/esm/sdk/walletSessionAuthorizationStore-D-MhJ0PC.js +1 -0
  183. package/dist/esm/sdk/walletSessionFailure-C6TAQTZn.js +1 -0
  184. package/dist/esm/sdk/webauthnP256-XgYu-Y6E.js +1 -0
  185. package/dist/esm/sdk/webauthnPromptCoordinator-D5sP8Q7e.js +1 -0
  186. package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +1 -1
  187. package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +6 -0
  188. package/dist/esm/shared-ts/src/near/nearClient.js +6 -0
  189. package/dist/esm/shared-ts/src/threshold/participants.js +2 -1
  190. package/dist/esm/shared-ts/src/threshold/secp256k1.js +6 -0
  191. package/dist/esm/shared-ts/src/utils/domainIds.js +7 -0
  192. package/dist/esm/shared-ts/src/utils/index.js +1 -1
  193. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +14 -1
  194. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +5 -4
  195. package/dist/esm/utils/qrScanner.js +10 -8
  196. package/dist/public/headers.manifest.json +1 -1
  197. package/dist/public/sdk/ConfirmationDrawer-CXVNmfTy.js +1 -0
  198. package/dist/public/sdk/NonceCoordinator-DuDKN-B8.js +1 -0
  199. package/dist/{esm/sdk/accountLifecycle-CBOkr0vU.js → public/sdk/accountLifecycle-D61FIpFS.js} +1 -1
  200. package/dist/public/sdk/{activeWalletSession-WdZkhtBB.js → activeWalletSession-Ba6X4CUN.js} +1 -1
  201. package/dist/public/sdk/adapters-CTlDBRJy.js +2 -0
  202. package/dist/public/sdk/authorizationAdmission-Dd23mTx7.js +1 -0
  203. package/dist/public/sdk/{canonicalPrimitives-Dsbsxgxc.js → canonicalPrimitives-BOzRXzfv.js} +1 -1
  204. package/dist/public/sdk/{capabilityKinds-N8xo_IEh.js → capabilityKinds-D0Yrp9uf.js} +1 -1
  205. package/dist/public/sdk/{chains-C_X_fNuS.js → chains-CPmd4s9f.js} +1 -1
  206. package/dist/public/sdk/challengeDelivery-FD9GHK1T.js +1 -0
  207. package/dist/public/sdk/{clientSessionPersistenceState-CBylL1Ul.js → clientSessionPersistenceState-BHRUSWMt.js} +1 -1
  208. package/dist/public/sdk/{commitQueue-DYEgzoLA.js → commitQueue-DOIaR0Hr.js} +1 -1
  209. package/dist/public/sdk/{configHelpers-B-hs0mTO.js → configHelpers-BXdl5Mxs.js} +1 -1
  210. package/dist/public/sdk/{digestEncoding-BX3VW9eF.js → digestEncoding-CbEFYvlJ.js} +1 -1
  211. package/dist/public/sdk/{display-DsfJkAra.js → display-CY_aJEn6.js} +1 -1
  212. package/dist/public/sdk/domainIds-C3fUa33Q.js +1 -0
  213. package/dist/public/sdk/ecdsaCapabilityManifest-DzA996y9.js +1 -0
  214. package/dist/public/sdk/{ecdsaChainTarget-Bfatk3oP.js → ecdsaChainTarget-DkOrgv4y.js} +1 -1
  215. package/dist/public/sdk/ecdsaDerivationClientWasm-DQlajPpE.js +1 -0
  216. package/dist/{esm/sdk/ecdsaDerivationExport-DOGzq0qC.js → public/sdk/ecdsaDerivationExport-DyugdheE.js} +1 -1
  217. package/dist/public/sdk/{ecdsaWalletRecords-CHfrYvKr.js → ecdsaWalletRecords-C_v74n5X.js} +1 -1
  218. package/dist/{esm/sdk/emailOtpEcdsaDerivationIdentity-Bik0N8v9.js → public/sdk/emailOtpEcdsaDerivationIdentity-BDVjvnmO.js} +1 -1
  219. package/dist/public/sdk/{errors-DIWY1KR9.js → errors-ADOZT8oV.js} +1 -1
  220. package/dist/public/sdk/export-viewer-host-DsRaS0UH.js +1 -0
  221. package/dist/{esm/sdk/exportKeypairOperation-DzbjKbnk.js → public/sdk/exportKeypairOperation-SJPysnE1.js} +1 -1
  222. package/dist/public/sdk/{helpers-B9fpZNAP.js → helpers-D3CUEdHI.js} +1 -1
  223. package/dist/public/sdk/{host-z-JJRWQe.js → host-GPb_mSAQ.js} +1 -1
  224. package/dist/public/sdk/{intentDigest-P_-CM7lS.js → intentDigest-CGLrsMgj.js} +1 -1
  225. package/dist/public/sdk/{lanes-5kcTFbPx.js → lanes-DJKIHJBm.js} +1 -1
  226. package/dist/public/sdk/{localOnly-C5mSXb_D.js → localOnly-CPmpw381.js} +1 -1
  227. package/dist/public/sdk/mountExportPrivateKeySurface-C8_tpDHF.js +1 -0
  228. package/dist/public/sdk/mountRecoveryCodeBackupSurface-BtNFtmSj.js +2 -0
  229. package/dist/public/sdk/nearEd25519YaoMaterialActivation-J6EHFScV.js +1 -0
  230. package/dist/{esm/sdk/nearEd25519YaoSigningPreparation-RIfkYN0d.js → public/sdk/nearEd25519YaoSigningPreparation-CqBNMG87.js} +1 -1
  231. package/dist/public/sdk/{nonceLaneKeys-BCYfl1wv.js → nonceLaneKeys-D18nlLjh.js} +1 -1
  232. package/dist/public/sdk/{normalization-n503J-BI.js → normalization-Ct9-AY13.js} +1 -1
  233. package/dist/public/sdk/{operationFingerprint-BHNYryLY.js → operationFingerprint-Boa9DQ51.js} +1 -1
  234. package/dist/public/sdk/{passkey-custody-DpTM-eNJ.js → passkey-custody-CBSal3E9.js} +1 -1
  235. package/dist/public/sdk/{pendingWalletRecoveryCodeBackup-C60sZMj5.js → pendingWalletRecoveryCodeBackup-CvsrXbzn.js} +1 -1
  236. package/dist/public/sdk/presignaturePool-CQNt13kE.js +1 -0
  237. package/dist/public/sdk/{primitives-CqrjmIAH.js → primitives-cC0a9GRC.js} +1 -1
  238. package/dist/{esm/sdk/recovery-entrypoint-BULjaFBM.js → public/sdk/recovery-entrypoint-nj7Zo3CR.js} +1 -1
  239. package/dist/public/sdk/{registration-CyF7nOXs.js → registration-49OGU_GZ.js} +1 -1
  240. package/dist/public/sdk/registration-C7tywPXF.js +1 -0
  241. package/dist/public/sdk/{registrationAccounts-BQMUusdD.js → registrationAccounts-9GFI0Ger.js} +1 -1
  242. package/dist/public/sdk/{registrationAuthMethodInput-RbSR7R1G.js → registrationAuthMethodInput-B23_HRil.js} +1 -1
  243. package/dist/public/sdk/{registrationIds-BaK3jUS6.js → registrationIds-Br-zI4_5.js} +1 -1
  244. package/dist/public/sdk/{registrationIntent-090Zj7Iu.js → registrationIntent-PqmcTEE3.js} +1 -1
  245. package/dist/public/sdk/{registrationSignerPlan-CPzHavPM.js → registrationSignerPlan-BHkqlian.js} +1 -1
  246. package/dist/{esm/sdk/requireStepUpAuth-BCY5ZStI.js → public/sdk/requireStepUpAuth-C4PGTly-.js} +1 -1
  247. package/dist/public/sdk/routerAbNormalSigning-xxATTIh5.js +1 -0
  248. package/dist/public/sdk/runtime-auth-CpjGW90U.js +1 -0
  249. package/dist/public/sdk/{runtime-device-link-Dq8g_UNb.js → runtime-device-link-CKgfGi7D.js} +1 -1
  250. package/dist/public/sdk/{runtime-ecdsa-tempo-AGjT7Xpa.js → runtime-ecdsa-tempo-5VV9xSEh.js} +1 -1
  251. package/dist/public/sdk/{runtime-email-otp-BpBOuSsT.js → runtime-email-otp-D1hYZNn6.js} +1 -1
  252. package/dist/public/sdk/{runtime-export-CBsacCPY.js → runtime-export-B92wQD25.js} +1 -1
  253. package/dist/public/sdk/{runtime-near-J3hKjC7G.js → runtime-near-CUuKg38M.js} +1 -1
  254. package/dist/public/sdk/runtime-preferences-EdL3G_MO.js +1 -0
  255. package/dist/public/sdk/{runtime-recovery-codes-GOytzExh.js → runtime-recovery-codes-LR4mg7-k.js} +1 -1
  256. package/dist/public/sdk/runtime-recovery-uyw8sywI.js +1 -0
  257. package/dist/public/sdk/{sdkSentEvents-D4KtK7_I.js → sdkSentEvents-DujYAPEM.js} +1 -1
  258. package/dist/public/sdk/secp256k1-BldUPNQI.js +1 -0
  259. package/dist/{esm/sdk/sessionObservationRevision-CnEOLDbl.js → public/sdk/sessionObservationRevision-DmmNV25w.js} +1 -1
  260. package/dist/public/sdk/shared-ha31XIdc.js +6 -0
  261. package/dist/{esm/sdk/signEvmFamily-Cpm3e6Zs.js → public/sdk/signEvmFamily-C_RvEnDB.js} +1 -1
  262. package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-CUKdq5dE.js +1 -0
  263. package/dist/public/sdk/{signEvmWithUiConfirm-BRmdLgmm.js → signEvmWithUiConfirm-CxXzcvj2.js} +1 -1
  264. package/dist/public/sdk/signNear-Dno7NsP_.js +1 -0
  265. package/dist/public/sdk/signatureUses-B_nN17i7.js +1 -0
  266. package/dist/public/sdk/{signerDomain-Dp7BhfmZ.js → signerDomain-BFqRQ0Jl.js} +1 -1
  267. package/dist/{esm/sdk/signingFlow-VAnM8L5C.js → public/sdk/signingFlow-DtugI_2z.js} +2 -2
  268. package/dist/public/sdk/{signingQueue-D_Ebmzcn.js → signingQueue-C1Pb07gm.js} +1 -1
  269. package/dist/{esm/sdk/singletons-BXhnsqeY.js → public/sdk/singletons-DxIyVhNb.js} +1 -1
  270. package/dist/public/sdk/surface-measurement-reporter-BJhfiPw6.js +1 -0
  271. package/dist/{esm/sdk/thresholdEcdsa-CneSKcRt.js → public/sdk/thresholdEcdsa-murTq-xz.js} +1 -1
  272. package/dist/public/sdk/{trace-BBux0jtr.js → trace-CsRMlSh1.js} +1 -1
  273. package/dist/{esm/sdk/transaction-activity-Cccvec2J.js → public/sdk/transaction-activity-C0nCSW6c.js} +1 -1
  274. package/dist/public/sdk/transactionReviewAdmission-CNNho8IG.js +1 -0
  275. package/dist/{esm/sdk/transactionState-Day-1x7Y.js → public/sdk/transactionState-XbZm9Zon.js} +1 -1
  276. package/dist/public/sdk/tx-confirm-ui.js +709 -744
  277. package/dist/public/sdk/{types-hKLqDUhR.js → types-CQTWmtqu.js} +1 -1
  278. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  279. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  280. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  281. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  282. package/dist/{esm/sdk/wallet-recovery-Bfhfk52N.js → public/sdk/wallet-recovery-CVUalZ3p.js} +1 -1
  283. package/dist/public/sdk/wallet-ui.css +1 -1
  284. package/dist/{esm/sdk/walletAuthMethodRecord-LniOQQmj.js → public/sdk/walletAuthMethodRecord-Bv68Vq-g.js} +1 -1
  285. package/dist/public/sdk/{walletAuthority-CAiGuWW2.js → walletAuthority-v5wvv3IB.js} +1 -1
  286. package/dist/public/sdk/walletCustodyEcdsaContinuity-rRHExT_R.js +1 -0
  287. package/dist/public/sdk/{walletDbName-DtRewci9.js → walletDbName-DRzPv5Ir.js} +1 -1
  288. package/dist/public/sdk/{walletOwnershipGeneration-B6HyR2rE.js → walletOwnershipGeneration-pMmmJ6XA.js} +1 -1
  289. package/dist/public/sdk/{walletRecoveryCommit-C6HF84_U.js → walletRecoveryCommit-DvC6WlGz.js} +1 -1
  290. package/dist/public/sdk/{walletRecoveryRotate-BN3H8byw.js → walletRecoveryRotate-Dd3prJpr.js} +1 -1
  291. package/dist/public/sdk/walletRegistrationSetupPrewarm-DcbhVNMQ.js +1 -0
  292. package/dist/public/sdk/walletSessionAuthorizationStatus-DVV3xkAx.js +1 -0
  293. package/dist/public/sdk/walletSessionAuthorizationStore-D-MhJ0PC.js +1 -0
  294. package/dist/public/sdk/walletSessionFailure-C6TAQTZn.js +1 -0
  295. package/dist/public/sdk/webauthnP256-XgYu-Y6E.js +1 -0
  296. package/dist/public/sdk/webauthnPromptCoordinator-D5sP8Q7e.js +1 -0
  297. package/dist/public/sdk/workers/device-linking-key.worker.js +12 -11
  298. package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +146 -48
  299. package/dist/public/sdk/workers/ecdsa-online-client.worker.js +7 -6
  300. package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +7 -6
  301. package/dist/public/sdk/workers/email-otp.worker.js +24 -4
  302. package/dist/public/sdk/workers/passkey-mpc-export.worker.js +17 -1
  303. package/dist/public/sdk/workers/passkey-mpc-session.worker.js +2 -1
  304. package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +2 -0
  305. package/dist/public/wallet-assets.manifest.json +190 -190
  306. package/dist/public/wallet-service/index.html +4 -4
  307. package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +14 -14
  308. package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +1 -1
  309. package/dist/types/shared-ts/src/device-linking/ed25519ExportRoot.d.ts +1 -1
  310. package/dist/types/shared-ts/src/device-linking/requestProof.d.ts +1 -1
  311. package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +5 -5
  312. package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +3 -3
  313. package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +1 -1
  314. package/dist/types/shared-ts/src/tenant-root/tenantRootIdentity.d.ts +1 -1
  315. package/dist/types/shared-ts/src/tenant-root/tenantRootOperationRecord.d.ts +2 -2
  316. package/dist/types/shared-ts/src/utils/base64.d.ts +2 -2
  317. package/dist/types/shared-ts/src/utils/digestEncoding.d.ts +1 -1
  318. package/dist/types/shared-ts/src/utils/digests.d.ts +2 -2
  319. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +16 -16
  320. package/dist/types/shared-ts/src/utils/emailOtpRecoveryKey.d.ts +1 -1
  321. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +10 -10
  322. package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +12 -11
  323. package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +3 -3
  324. package/dist/types/shared-ts/src/utils/routerAbTraceContext.d.ts +1 -1
  325. package/dist/types/shared-ts/src/utils/signerDomain.d.ts +15 -15
  326. package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +11 -11
  327. package/dist/types/shared-ts/src/utils/walletSessionFailure.d.ts +8 -8
  328. package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +2 -2
  329. package/dist/types/shared-ts/src/utils/wireSchema.d.ts +1 -1
  330. package/dist/types/shared-ts/src/wallet-recovery/recoveryKeyId.d.ts +1 -1
  331. package/dist/types/wallet/build-paths.d.ts +73 -73
  332. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.d.ts +3 -2
  333. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingResume.d.ts +2 -2
  334. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceTargetActivation.d.ts +1 -1
  335. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +3 -3
  336. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationEd25519Yao.d.ts +4 -3
  337. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationSignerSet.d.ts +5 -0
  338. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTiming.d.ts +2 -2
  339. package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +10 -1
  340. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +4 -2
  341. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +1 -0
  342. package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +1 -0
  343. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +2 -1
  344. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +15 -2
  345. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEmailOtpCommands.d.ts +3 -2
  346. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +3 -3
  347. package/dist/types/wallet/src/config.d.ts +8 -8
  348. package/dist/types/wallet/src/core/browser/walletIframe/events.d.ts +1 -1
  349. package/dist/types/wallet/src/core/indexedDB/linkedAuthoritySignerMaterial.d.ts +3 -3
  350. package/dist/types/wallet/src/core/indexedDB/pendingWalletRecoveryCommit.d.ts +1 -1
  351. package/dist/types/wallet/src/core/indexedDB/schemaNames.d.ts +181 -181
  352. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.d.ts +8 -8
  353. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.d.ts +4 -4
  354. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.d.ts +1 -1
  355. package/dist/types/wallet/src/core/indexedDB/walletCustodyEd25519MaterialRecord.d.ts +2 -2
  356. package/dist/types/wallet/src/core/indexedDB/walletDbName.d.ts +1 -1
  357. package/dist/types/wallet/src/core/signingEngine/chains/evm/evmAdapter.d.ts +1 -1
  358. package/dist/types/wallet/src/core/signingEngine/chains/evm/evmSigning.types.d.ts +1 -0
  359. package/dist/types/wallet/src/core/signingEngine/chains/tempo/tempoAdapter.d.ts +1 -1
  360. package/dist/types/wallet/src/core/signingEngine/flows/shared/signingStateMachine.d.ts +27 -27
  361. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/secp256k1.d.ts +1 -1
  362. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/webauthnP256.d.ts +1 -1
  363. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.d.ts +17 -17
  364. package/dist/types/wallet/src/core/signingEngine/nonce/nonceTypes.d.ts +40 -40
  365. package/dist/types/wallet/src/core/signingEngine/session/material/walletSigningStateFailure.d.ts +4 -4
  366. package/dist/types/wallet/src/core/signingEngine/session/operationState/types.d.ts +8 -8
  367. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.d.ts +1 -1
  368. package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionRecords.d.ts +1 -1
  369. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmCommon.d.ts +3 -3
  370. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/types.d.ts +4 -4
  371. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +1 -1
  372. package/dist/types/wallet/src/core/signingEngine/threshold/sessionPolicy.d.ts +1 -1
  373. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.d.ts +1 -1
  374. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.d.ts +2 -2
  375. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/CopyStatusIcon.d.ts +1 -1
  376. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PadlockIcon.d.ts +1 -1
  377. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyHaloLoading.d.ts +1 -1
  378. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.d.ts +1 -1
  379. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/SeamsWordmark.d.ts +1 -1
  380. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/credentials/helpers.d.ts +2 -2
  381. package/dist/types/wallet/src/core/signingEngine/workerManager/SignerWorkerManager.d.ts +1 -0
  382. package/dist/types/wallet/src/core/signingEngine/workerManager/deviceLinkingPorts.d.ts +1 -1
  383. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaClientWorkerChannels.d.ts +3 -3
  384. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.d.ts +1 -1
  385. package/dist/types/wallet/src/core/signingEngine/workerManager/validation.d.ts +1 -1
  386. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTransport.d.ts +1 -0
  387. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +1 -1
  388. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ecdsaTargetShareHpke.d.ts +3 -3
  389. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ordinaryMaterialState.d.ts +1 -1
  390. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/crypto.d.ts +3 -3
  391. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/materialParsing.d.ts +1 -1
  392. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/payloadParsing.d.ts +2 -2
  393. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/unlock.d.ts +1 -1
  394. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/workerErrorPayload.d.ts +2 -2
  395. package/dist/types/wallet/src/core/types/actionBuilders.d.ts +16 -2
  396. package/dist/types/wallet/src/core/types/amounts.d.ts +75 -0
  397. package/dist/types/wallet/src/core/types/amounts.typecheck.d.ts +2 -0
  398. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +5 -5
  399. package/dist/types/wallet/src/core/types/secure-confirm-worker.d.ts +1 -1
  400. package/dist/types/wallet/src/core/types/signer-worker.d.ts +7 -7
  401. package/dist/types/wallet/src/externalEvm/types.d.ts +1 -0
  402. package/dist/types/wallet/src/index.d.ts +2 -0
  403. package/dist/types/wallet/src/react/{hooks/useWallet.d.ts → boundWallet.d.ts} +8 -48
  404. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonView.d.ts +0 -1
  405. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountsSection.d.ts +0 -1
  406. package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodsModal.d.ts +0 -1
  407. package/dist/types/wallet/src/react/components/AccountMenuButton/ExportKeysSection.d.ts +0 -1
  408. package/dist/types/wallet/src/react/components/AccountMenuButton/LinkedDevicesModal.d.ts +0 -1
  409. package/dist/types/wallet/src/react/components/AccountMenuButton/ProfileDropdown.d.ts +0 -1
  410. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +0 -1
  411. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/GlobeIcon.d.ts +1 -1
  412. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/HoverArrowIcon.d.ts +0 -1
  413. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/KeyIcon.d.ts +1 -1
  414. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LaptopIcon.d.ts +1 -1
  415. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LinkIcon.d.ts +1 -1
  416. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockIcon.d.ts +1 -1
  417. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockKeyholeIcon.d.ts +1 -1
  418. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MailIcon.d.ts +1 -1
  419. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/PlusIcon.d.ts +1 -1
  420. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/RecoveryCodesIcon.d.ts +1 -1
  421. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/ScanIcon.d.ts +1 -1
  422. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SlidersIcon.d.ts +1 -1
  423. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SmartphoneIcon.d.ts +1 -1
  424. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/TouchIcon.d.ts +0 -1
  425. package/dist/types/wallet/src/react/components/AccountMenuButton/index.d.ts +0 -1
  426. package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +8 -8
  427. package/dist/types/wallet/src/react/components/ShowQRCode.d.ts +0 -1
  428. package/dist/types/wallet/src/react/components/VoiceAssistantCard.d.ts +0 -1
  429. package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +1 -0
  430. package/dist/types/wallet/src/react/context/index.d.ts +2 -1
  431. package/dist/types/wallet/src/react/context/useSeamsContextValue.d.ts +2 -2
  432. package/dist/types/wallet/src/react/index.d.ts +3 -2
  433. package/dist/types/wallet/src/react/styles.d.ts +2 -0
  434. package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +57 -57
  435. package/dist/types/wallet/src/react/types.d.ts +14 -1
  436. package/dist/types/wallet/src/theme/base-styles.d.ts +4 -4
  437. package/dist/workers/device-linking-key.worker.js +12 -11
  438. package/dist/workers/ecdsa-derivation-client.worker.js +146 -48
  439. package/dist/workers/ecdsa-online-client.worker.js +7 -6
  440. package/dist/workers/ecdsa-presign-client.worker.js +7 -6
  441. package/dist/workers/email-otp.worker.js +24 -4
  442. package/dist/workers/passkey-mpc-export.worker.js +17 -1
  443. package/dist/workers/passkey-mpc-session.worker.js +2 -1
  444. package/dist/workers/wallet-custody-ceremony.worker.js +2 -0
  445. package/package.json +8 -6
  446. package/dist/esm/react/hooks/useWallet.js +0 -108
  447. package/dist/esm/sdk/ConfirmationDrawer-BFzQjd1P.js +0 -1
  448. package/dist/esm/sdk/NonceCoordinator-CDGnEgfI.js +0 -1
  449. package/dist/esm/sdk/adapters-DsAaBNNY.js +0 -2
  450. package/dist/esm/sdk/authorizationAdmission-CGinGhXH.js +0 -1
  451. package/dist/esm/sdk/challengeDelivery-CATQ4u6P.js +0 -1
  452. package/dist/esm/sdk/domainIds-BzkGsRqO.js +0 -1
  453. package/dist/esm/sdk/ecdsaCapabilityManifest-DX6TflEz.js +0 -1
  454. package/dist/esm/sdk/ecdsaDerivationClientWasm-CpjnN4aK.js +0 -1
  455. package/dist/esm/sdk/export-viewer-host-CV-lSsQF.js +0 -1
  456. package/dist/esm/sdk/mountExportPrivateKeySurface-CatAhYoG.js +0 -1
  457. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-DlEb3uD7.js +0 -2
  458. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-Bo3IOTS-.js +0 -1
  459. package/dist/esm/sdk/presignaturePool-V10fZpG3.js +0 -1
  460. package/dist/esm/sdk/registration-DEGZR8kA.js +0 -1
  461. package/dist/esm/sdk/routerAbNormalSigning-C4P2tDU-.js +0 -1
  462. package/dist/esm/sdk/runtime-auth-ZcxkQ-XF.js +0 -1
  463. package/dist/esm/sdk/runtime-preferences-CVt5sLvm.js +0 -1
  464. package/dist/esm/sdk/runtime-recovery-BzewdcoT.js +0 -1
  465. package/dist/esm/sdk/secp256k1-CKq7_HD-.js +0 -1
  466. package/dist/esm/sdk/shared-BywEqTsd.js +0 -6
  467. package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-DGWmm9n7.js +0 -1
  468. package/dist/esm/sdk/signNear-XGZBxc_g.js +0 -1
  469. package/dist/esm/sdk/signatureUses-BKAoDbQd.js +0 -1
  470. package/dist/esm/sdk/surface-measurement-reporter-DvVHPu_O.js +0 -1
  471. package/dist/esm/sdk/transactionReviewAdmission-CIvR4W5_.js +0 -1
  472. package/dist/esm/sdk/walletCustodyEcdsaContinuity-B4fTDL10.js +0 -1
  473. package/dist/esm/sdk/walletRegistrationSetupPrewarm-B9kpnrbK.js +0 -1
  474. package/dist/esm/sdk/walletSessionAuthorizationStatus-BL7j2TeM.js +0 -1
  475. package/dist/esm/sdk/walletSessionAuthorizationStore-DmYe-cDR.js +0 -1
  476. package/dist/esm/sdk/walletSessionFailure-YuhraC3P.js +0 -1
  477. package/dist/esm/sdk/webauthnP256-BwgxtG5N.js +0 -1
  478. package/dist/esm/sdk/webauthnPromptCoordinator-CwJeKiYq.js +0 -1
  479. package/dist/public/sdk/ConfirmationDrawer-BFzQjd1P.js +0 -1
  480. package/dist/public/sdk/NonceCoordinator-CDGnEgfI.js +0 -1
  481. package/dist/public/sdk/adapters-DsAaBNNY.js +0 -2
  482. package/dist/public/sdk/authorizationAdmission-CGinGhXH.js +0 -1
  483. package/dist/public/sdk/challengeDelivery-CATQ4u6P.js +0 -1
  484. package/dist/public/sdk/domainIds-BzkGsRqO.js +0 -1
  485. package/dist/public/sdk/ecdsaCapabilityManifest-DX6TflEz.js +0 -1
  486. package/dist/public/sdk/ecdsaDerivationClientWasm-CpjnN4aK.js +0 -1
  487. package/dist/public/sdk/export-viewer-host-CV-lSsQF.js +0 -1
  488. package/dist/public/sdk/mountExportPrivateKeySurface-CatAhYoG.js +0 -1
  489. package/dist/public/sdk/mountRecoveryCodeBackupSurface-DlEb3uD7.js +0 -2
  490. package/dist/public/sdk/nearEd25519YaoMaterialActivation-Bo3IOTS-.js +0 -1
  491. package/dist/public/sdk/presignaturePool-V10fZpG3.js +0 -1
  492. package/dist/public/sdk/registration-DEGZR8kA.js +0 -1
  493. package/dist/public/sdk/routerAbNormalSigning-C4P2tDU-.js +0 -1
  494. package/dist/public/sdk/runtime-auth-ZcxkQ-XF.js +0 -1
  495. package/dist/public/sdk/runtime-preferences-CVt5sLvm.js +0 -1
  496. package/dist/public/sdk/runtime-recovery-BzewdcoT.js +0 -1
  497. package/dist/public/sdk/secp256k1-CKq7_HD-.js +0 -1
  498. package/dist/public/sdk/shared-BywEqTsd.js +0 -6
  499. package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-DGWmm9n7.js +0 -1
  500. package/dist/public/sdk/signNear-XGZBxc_g.js +0 -1
  501. package/dist/public/sdk/signatureUses-BKAoDbQd.js +0 -1
  502. package/dist/public/sdk/surface-measurement-reporter-DvVHPu_O.js +0 -1
  503. package/dist/public/sdk/transactionReviewAdmission-CIvR4W5_.js +0 -1
  504. package/dist/public/sdk/walletCustodyEcdsaContinuity-B4fTDL10.js +0 -1
  505. package/dist/public/sdk/walletRegistrationSetupPrewarm-B9kpnrbK.js +0 -1
  506. package/dist/public/sdk/walletSessionAuthorizationStatus-BL7j2TeM.js +0 -1
  507. package/dist/public/sdk/walletSessionAuthorizationStore-DmYe-cDR.js +0 -1
  508. package/dist/public/sdk/walletSessionFailure-YuhraC3P.js +0 -1
  509. package/dist/public/sdk/webauthnP256-BwgxtG5N.js +0 -1
  510. package/dist/public/sdk/webauthnPromptCoordinator-CwJeKiYq.js +0 -1
package/README.md CHANGED
@@ -1,24 +1,26 @@
1
1
  # Seams Wallet SDK
2
2
 
3
- `@seams/wallet` **0.14.0** provides browser wallet lifecycle, NEAR and EVM-family
3
+ `@seams/wallet` **0.15.4** provides browser wallet lifecycle, NEAR and EVM-family
4
4
  threshold signing, React components, and hosted wallet runtime assets.
5
5
 
6
6
  ## Install
7
7
 
8
8
  ```sh
9
- pnpm add @seams/wallet@0.14.0
9
+ pnpm add @seams/wallet@0.15.4
10
10
  ```
11
11
 
12
12
  React integrations support React 18 and 19. Import the provider and UI from
13
13
  `@seams/wallet/react` and its stylesheet from `@seams/wallet/react/styles`.
14
14
  Keep the application package, wallet-origin assets, and
15
- `@seams/wallet-server@0.14.0` on the matching release.
15
+ `@seams/wallet-server@0.15.4` on the matching release. The wallet iframe protocol
16
+ is `16.0.0`. A 0.13 application and a 0.14-or-later wallet host reject each other
17
+ with a protocol version mismatch.
16
18
 
17
- ## Next release migration (unreleased)
19
+ ## Current API
18
20
 
19
- The development API groups calls under `auth`, `connection`, `config`, `events`,
21
+ The public API groups calls under `auth`, `connection`, `config`, `events`,
20
22
  `registration`, and the chain namespaces. See the
21
- [complete migration map](../../docs/refactor-171.md#complete-operation-migration-map).
23
+ [browser reference](https://wallet.seams.sh/docs/reference/core).
22
24
  Use `auth.lock()` to end the session while retaining valid durable presignatures.
23
25
 
24
26
  Custom email unlock uses a host-owned challenge:
@@ -42,9 +44,8 @@ For an existing local email method, request with
42
44
  `cancel()`. Use the replacement challenge returned by a successful resend.
43
45
  The SDK selects signers and completes pending activation internally.
44
46
 
45
- Release 0.9.0 contains these changes. Its wallet iframe protocol is `15.0.0`
46
- and rejects older protocol versions, so keep the client and the wallet-host
47
- assets on the matching release. The 0.8.0 release does not contain them.
47
+ Request email codes only after a user chooses that method. The wallet host owns
48
+ the challenge and its expiry. The application receives the typed challenge handle.
48
49
 
49
50
  ## React quick start
50
51
 
@@ -92,10 +93,18 @@ recovery material out of app configuration and logs.
92
93
 
93
94
  ## Signing and lifecycle
94
95
 
95
- `useSeams()` exposes the SDK client and authentication state. `useWallet()`
96
- provides `near`, `evm`, and `tempo` signers bound to the authenticated wallet.
97
- `near` is null until a NEAR account is ready. Check registration's pending
98
- branches and use `registration.awaitNearReady` before signing NEAR.
96
+ `useSeams()` exposes authentication actions, lifecycle state, and the current
97
+ `wallet`. The wallet is null while signed out. An authenticated wallet provides
98
+ `near`, `evm`, and `tempo` signers bound to its identity.
99
+ `wallet.near` is null until a NEAR account is ready. Check registration's pending
100
+ branches and use `registration.waitForNearAccount` before signing NEAR.
101
+
102
+ ```tsx
103
+ const { unlock, lock, wallet } = useSeams();
104
+ ```
105
+
106
+ Unlock updates the wallet in a subsequent React render. Use the authenticated
107
+ render's wallet in signing handlers. `wallet.walletId` identifies that wallet.
99
108
 
100
109
  The framework-neutral `SeamsWeb` client groups operations under `registration`,
101
110
  `auth`, `near`, `evm`, `tempo`, `recovery`, `devices`, and `keys`. Signing can
@@ -103,7 +112,7 @@ use fresh authorization for one operation; `unlock` provisions a bounded
103
112
  reusable Wallet Session. An EVM-family signing or export call requires a
104
113
  `chainTarget` naming a configured chain.
105
114
 
106
- `keys.exportKeypair` opens a wallet-origin viewer and returns an export outcome.
115
+ `keys.exportKey` opens a wallet-origin viewer and returns `{ kind: 'exported' }`.
107
116
  It does not return a private key to the application. `recovery.syncAccount`
108
117
  synchronizes a known wallet's account state; the hosted menu handles recovery
109
118
  codes and new-factor verification.
@@ -151,10 +160,29 @@ wallet use the same home. Travel does not change it. The owner can move a wallet
151
160
  to another region with the wallet region setting. Automatic region relocation is
152
161
  a future capability.
153
162
 
154
- When upgrading from 0.8.0, update application, wallet assets, and backend
155
- together. An older open client can receive an HTTP 409 upgrade-required message;
156
- show it and reload the current assets. See the
157
- [upgrade guide](https://wallet.seams.sh/docs/deploy-and-operate/hosted-integration#upgrading-to-0-9-0).
163
+ For APAC, registration and relocation request Southeast Asia placement through
164
+ `apac-se`. The hint does not guarantee a city or move existing objects. Operators
165
+ must verify the actual object locations and database primaries.
166
+
167
+ Follow the [upgrade guide](https://wallet.seams.sh/docs/deploy-and-operate/hosted-integration)
168
+ before changing the application, wallet assets, or backend. An incompatible open
169
+ client must reload matching assets before retrying.
170
+
171
+ ## Initial loading and registration
172
+
173
+ When the wallet origin stores no wallet, the host answers connection reads from
174
+ its boot code. It loads the runtime when an operation needs it. Call
175
+ `seams.authMenu.prepare()` on sign-in intent to download the sign-in code earlier.
176
+ Mounting `HostedSeamsAuthMenu` starts that download without an additional call.
177
+
178
+ Opening the hosted registration view prepares its wallet and passkey challenge.
179
+ `authMenu.prepare()` only downloads code. A direct `registerWallet()` call starts
180
+ registration setup within that call. See the
181
+ [compiled hosted-menu examples](https://wallet.seams.sh/docs/examples/wallet-setup-and-authentication).
182
+
183
+ Registration can sign before its completion appears in the Console directory.
184
+ The Gateway retries pending directory publications. Until acknowledgment, the
185
+ wallet can be absent from the Console list and unavailable for region moves.
158
186
 
159
187
  ## Public entrypoints
160
188
 
@@ -166,7 +194,7 @@ show it and reload the current assets. See the
166
194
  - `@seams/wallet/runtime` — explicit platform ports and custom signing runtime.
167
195
 
168
196
  Use the documented package exports. Agent-lane issuance and VoiceID
169
- authentication are planned and have no public 0.9.0 API.
197
+ authentication are planned and have no public API in this release.
170
198
 
171
199
  ## Develop from source
172
200
 
@@ -5,7 +5,7 @@ distributed Seams Wallet SDK, server runtime, Wasm, strict Workers, and CLI.
5
5
  Dependency license expressions come from their package metadata. Packaged
6
6
  license and notice wording is reproduced below with normalized whitespace.
7
7
 
8
- Inventory: 445 dependency records (41 npm, 404 Cargo).
8
+ Inventory: 450 dependency records (41 npm, 409 Cargo).
9
9
 
10
10
  ## Dependency inventory
11
11
 
@@ -204,6 +204,7 @@ Inventory: 445 dependency records (41 npm, 404 Cargo).
204
204
  | cargo | memchr | 2.8.2 | Unlicense OR MIT | Andrew Gallant <jamslam@gmail.com>; bluss |
205
205
  | cargo | memchr | 2.8.3 | Unlicense OR MIT | Andrew Gallant <jamslam@gmail.com>; bluss |
206
206
  | cargo | minicov | 0.3.8 | Apache-2.0/MIT | Amanieu d'Antras <amanieu@gmail.com> |
207
+ | cargo | mio | 1.2.4 | MIT | Carl Lerche <me@carllerche.com>; Thomas de Zeeuw <thomasdezeeuw@gmail.com>; Tokio Contributors <team@tokio.rs> |
207
208
  | cargo | nix | 0.31.3 | MIT | |
208
209
  | cargo | nu-ansi-term | 0.50.3 | MIT | Josh Triplett <josh@joshtriplett.org>; Ryan Scheel (Havvy) <ryan.havvy@gmail.com>; The Nushell Project Developers; ogham@bsago.me |
209
210
  | cargo | num-bigint | 0.4.6 | MIT OR Apache-2.0 | The Rust Project Developers |
@@ -293,6 +294,7 @@ Inventory: 445 dependency records (41 npm, 404 Cargo).
293
294
  | cargo | simdutf8 | 0.1.5 | MIT OR Apache-2.0 | Hans Kratz <hans@appfour.com> |
294
295
  | cargo | slab | 0.4.12 | MIT | Carl Lerche <me@carllerche.com> |
295
296
  | cargo | smallvec | 1.15.2 | MIT OR Apache-2.0 | The Servo Project Developers |
297
+ | cargo | socket2 | 0.6.5 | MIT OR Apache-2.0 | Alex Crichton <alex@alexcrichton.com>; Thomas de Zeeuw <thomasdezeeuw@gmail.com> |
296
298
  | cargo | spin | 0.9.8 | MIT | John Ericson <git@JohnEricson.me>; Joshua Barretto <joshua.s.barretto@gmail.com>; Mathijs van de Nes <git@mathijs.vd-nes.nl> |
297
299
  | cargo | spin | 0.9.9 | MIT | John Ericson <git@JohnEricson.me>; Joshua Barretto <joshua.s.barretto@gmail.com>; Mathijs van de Nes <git@mathijs.vd-nes.nl> |
298
300
  | cargo | spki | 0.7.3 | Apache-2.0 OR MIT | RustCrypto Developers |
@@ -307,6 +309,7 @@ Inventory: 445 dependency records (41 npm, 404 Cargo).
307
309
  | cargo | syn | 2.0.119 | MIT OR Apache-2.0 | David Tolnay <dtolnay@gmail.com> |
308
310
  | cargo | syn | 3.0.3 | MIT OR Apache-2.0 | David Tolnay <dtolnay@gmail.com> |
309
311
  | cargo | syn | 3.0.5 | MIT OR Apache-2.0 | David Tolnay <dtolnay@gmail.com> |
312
+ | cargo | syn | 3.0.9 | MIT OR Apache-2.0 | David Tolnay <dtolnay@gmail.com> |
310
313
  | cargo | termcolor | 1.4.1 | Unlicense OR MIT | Andrew Gallant <jamslam@gmail.com> |
311
314
  | cargo | thiserror-impl | 2.0.17 | MIT OR Apache-2.0 | David Tolnay <dtolnay@gmail.com> |
312
315
  | cargo | thiserror-impl | 2.0.18 | MIT OR Apache-2.0 | David Tolnay <dtolnay@gmail.com> |
@@ -321,6 +324,8 @@ Inventory: 445 dependency records (41 npm, 404 Cargo).
321
324
  | cargo | tinyvec | 1.12.0 | Zlib OR Apache-2.0 OR MIT | Lokathor <zefria@gmail.com> |
322
325
  | cargo | tinyvec | 1.13.2 | Zlib OR Apache-2.0 OR MIT | Lokathor <zefria@gmail.com> |
323
326
  | cargo | tinyvec | 1.9.0 | Zlib OR Apache-2.0 OR MIT | Lokathor <zefria@gmail.com> |
327
+ | cargo | tokio-macros | 2.7.2 | MIT | Tokio Contributors <team@tokio.rs> |
328
+ | cargo | tokio | 1.52.3 | MIT | Tokio Contributors <team@tokio.rs> |
324
329
  | cargo | toml_datetime | 0.6.11 | MIT OR Apache-2.0 | |
325
330
  | cargo | toml_datetime | 1.1.1+spec-1.1.0 | MIT OR Apache-2.0 | |
326
331
  | cargo | toml_edit | 0.22.27 | MIT OR Apache-2.0 | |
@@ -1279,6 +1284,35 @@ Applies to:
1279
1284
  limitations under the License.
1280
1285
 
1281
1286
 
1287
+ ### 07919255c7e04793
1288
+
1289
+ Packaged as: LICENSE
1290
+
1291
+ Applies to:
1292
+
1293
+ - cargo:mio@1.2.4
1294
+
1295
+ Copyright (c) 2014 Carl Lerche and other MIO contributors
1296
+
1297
+ Permission is hereby granted, free of charge, to any person obtaining a copy
1298
+ of this software and associated documentation files (the "Software"), to deal
1299
+ in the Software without restriction, including without limitation the rights
1300
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1301
+ copies of the Software, and to permit persons to whom the Software is
1302
+ furnished to do so, subject to the following conditions:
1303
+
1304
+ The above copyright notice and this permission notice shall be included in
1305
+ all copies or substantial portions of the Software.
1306
+
1307
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1308
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1309
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1310
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1311
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1312
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1313
+ THE SOFTWARE.
1314
+
1315
+
1282
1316
  ### 0816e154b159ba25
1283
1317
 
1284
1318
  Packaged as: LICENSE-MIT
@@ -1509,6 +1543,38 @@ Applies to:
1509
1543
  DEALINGS IN THE SOFTWARE.
1510
1544
 
1511
1545
 
1546
+ ### 0b83dc40cba89b99
1547
+
1548
+ Packaged as: LICENSE
1549
+
1550
+ Applies to:
1551
+
1552
+ - cargo:tokio-macros@2.7.2
1553
+
1554
+ MIT License
1555
+
1556
+ Copyright (c) 2019 Yoshua Wuyts
1557
+ Copyright (c) Tokio Contributors
1558
+
1559
+ Permission is hereby granted, free of charge, to any person obtaining a copy
1560
+ of this software and associated documentation files (the "Software"), to deal
1561
+ in the Software without restriction, including without limitation the rights
1562
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1563
+ copies of the Software, and to permit persons to whom the Software is
1564
+ furnished to do so, subject to the following conditions:
1565
+
1566
+ The above copyright notice and this permission notice shall be included in all
1567
+ copies or substantial portions of the Software.
1568
+
1569
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1570
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1571
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1572
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1573
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1574
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1575
+ SOFTWARE.
1576
+
1577
+
1512
1578
  ### 0c1240e29b4a2c52
1513
1579
 
1514
1580
  Packaged as: LICENSE-BSD-1
@@ -2752,6 +2818,7 @@ Applies to:
2752
2818
  - cargo:syn@2.0.119
2753
2819
  - cargo:syn@3.0.3
2754
2820
  - cargo:syn@3.0.5
2821
+ - cargo:syn@3.0.9
2755
2822
  - cargo:thiserror-impl@2.0.17
2756
2823
  - cargo:thiserror-impl@2.0.18
2757
2824
  - cargo:thiserror-impl@2.0.19
@@ -2899,6 +2966,37 @@ Applies to:
2899
2966
  DEALINGS IN THE SOFTWARE.
2900
2967
 
2901
2968
 
2969
+ ### 253cd04c6714889d
2970
+
2971
+ Packaged as: LICENSE
2972
+
2973
+ Applies to:
2974
+
2975
+ - cargo:tokio@1.52.3
2976
+
2977
+ MIT License
2978
+
2979
+ Copyright (c) Tokio Contributors
2980
+
2981
+ Permission is hereby granted, free of charge, to any person obtaining a copy
2982
+ of this software and associated documentation files (the "Software"), to deal
2983
+ in the Software without restriction, including without limitation the rights
2984
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
2985
+ copies of the Software, and to permit persons to whom the Software is
2986
+ furnished to do so, subject to the following conditions:
2987
+
2988
+ The above copyright notice and this permission notice shall be included in all
2989
+ copies or substantial portions of the Software.
2990
+
2991
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2992
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2993
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2994
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2995
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2996
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2997
+ SOFTWARE.
2998
+
2999
+
2902
3000
  ### 275c491d6d116055
2903
3001
 
2904
3002
  Packaged as: LICENSE-APACHE
@@ -3728,6 +3826,7 @@ Applies to:
3728
3826
  - cargo:js-sys@0.3.90
3729
3827
  - cargo:openssl-probe@0.2.1
3730
3828
  - cargo:pkg-config@0.3.34
3829
+ - cargo:socket2@0.6.5
3731
3830
  - cargo:wasm-bindgen-backend@0.2.100
3732
3831
  - cargo:wasm-bindgen-futures@0.4.73
3733
3832
  - cargo:wasm-bindgen-macro-support@0.2.100
@@ -5842,6 +5941,7 @@ Applies to:
5842
5941
  - cargo:syn@2.0.119
5843
5942
  - cargo:syn@3.0.3
5844
5943
  - cargo:syn@3.0.5
5944
+ - cargo:syn@3.0.9
5845
5945
  - cargo:thiserror-impl@2.0.17
5846
5946
  - cargo:thiserror-impl@2.0.18
5847
5947
  - cargo:thiserror-impl@2.0.19
@@ -9305,6 +9405,7 @@ Applies to:
9305
9405
  - cargo:security-framework@3.7.0
9306
9406
  - cargo:simd_cesu8@1.2.0
9307
9407
  - cargo:smallvec@1.15.2
9408
+ - cargo:socket2@0.6.5
9308
9409
  - cargo:stable_deref_trait@1.2.1
9309
9410
  - cargo:vcpkg@0.2.15
9310
9411
  - cargo:version_check@0.9.5
@@ -1 +1 @@
1
- 93b1ef116ecd8e93d9fe147324f06212aa3982133323ca33aa407d5e80a19d96
1
+ 4cdea319a3b81f51e0abec6abf496c487403c76dfe82717b04b6ea66997f021f
@@ -24,8 +24,27 @@ import { deliverNearProvisioningStateChanged, normalizeExportKeypairWithUIInput,
24
24
  * with flexible event-based callbacks for custom UX implementation
25
25
  */
26
26
  var SeamsWeb = class {
27
+ disposePreferences;
28
+ preferenceState = new ClientPreferenceState();
29
+ nearClient;
30
+ configs;
31
+ appearance;
32
+ config;
33
+ events;
34
+ connection;
35
+ authMenu;
36
+ walletIframe;
37
+ recovery;
38
+ devices;
39
+ keys;
40
+ preferences;
41
+ auth;
42
+ placement;
43
+ registration;
44
+ near;
45
+ tempo;
46
+ evm;
27
47
  constructor(configs, nearClient) {
28
- this.preferenceState = new ClientPreferenceState();
29
48
  this.configs = buildConfigsFromEnv(configs);
30
49
  this.nearClient = nearClient || new MinimalNearClient(resolvePrimaryNearRpcUrl(this.configs.network.chains));
31
50
  this.appearance = this.configs.ui.appearance;
@@ -0,0 +1,73 @@
1
+ import { isNearChainNetwork } from "../../../core/config/chains.js";
2
+ import { THRESHOLD_ED25519_2P_PARTICIPANT_IDS } from "../../../shared-ts/src/threshold/participants.js";
3
+ import { parseNamedNearAccountId } from "../../../shared-ts/src/utils/near.js";
4
+ import { THRESHOLD_SECP256K1_ECDSA_2P_PARTICIPANT_IDS_V1 } from "../../../shared-ts/src/threshold/secp256k1.js";
5
+ import { implicitNearAccountProvisioning, sponsoredNamedNearAccountProvisioning } from "../../../shared-ts/src/utils/registrationSignerPlan.js";
6
+ import { listThresholdEcdsaProvisionTargets } from "../session/thresholdEcdsaProvisioning.js";
7
+ //#region src/SeamsWeb/operations/registration/registrationSignerSet.ts
8
+ function buildConfiguredWalletRegistrationSignerSetSelection(args) {
9
+ let accountProvisioning = null;
10
+ for (const chain of args.configs.network.chains) if (isNearChainNetwork(chain.network)) {
11
+ accountProvisioning = resolvePasskeyRegistrationAccountProvisioning(args);
12
+ break;
13
+ }
14
+ return buildRegistrationSignerSetSelection(accountProvisioning, configuredEcdsaRegistrationTargets(args.configs, args.options));
15
+ }
16
+ function configuredEcdsaRegistrationTargets(configs, options) {
17
+ const targets = listThresholdEcdsaProvisionTargets({
18
+ signerOptions: options.signerOptions ?? configs.signing.thresholdEcdsa.provisioningDefaults,
19
+ chains: configs.network.chains
20
+ });
21
+ const chainTargets = [];
22
+ for (const target of targets) chainTargets.push(target.chainTarget);
23
+ return chainTargets;
24
+ }
25
+ function buildRegistrationSignerSetSelection(accountProvisioning, ecdsaChainTargets) {
26
+ const signers = [];
27
+ if (accountProvisioning) signers.push({
28
+ kind: "near_ed25519",
29
+ accountProvisioning,
30
+ signerSlot: 1,
31
+ participantIds: [...THRESHOLD_ED25519_2P_PARTICIPANT_IDS],
32
+ derivationVersion: 1
33
+ });
34
+ if (ecdsaChainTargets.length) signers.push({
35
+ kind: "evm_family_ecdsa",
36
+ chainTargets: [...ecdsaChainTargets],
37
+ participantIds: [...THRESHOLD_SECP256K1_ECDSA_2P_PARTICIPANT_IDS_V1]
38
+ });
39
+ if (!signers.length) throw new Error("Wallet registration requires at least one configured, enabled signer");
40
+ return {
41
+ kind: "signer_set",
42
+ signers
43
+ };
44
+ }
45
+ function sponsoredNamedRegistrationProvisioningFromAccountId(nearAccountId) {
46
+ const parsed = parseNamedNearAccountId(nearAccountId);
47
+ if (!parsed.ok) throw new Error(parsed.message);
48
+ return sponsoredNamedNearAccountProvisioning(parsed.value);
49
+ }
50
+ function relayerNamedSubaccountProvisioningFromWalletId(args) {
51
+ const walletId = String(args.walletId || "").trim();
52
+ const relayerAccountId = String(args.relayerAccountId || "").trim();
53
+ if (!walletId) throw new Error("Relayer named NEAR registration requires walletId");
54
+ if (!relayerAccountId) throw new Error("Relayer named NEAR registration requires relayer accountId");
55
+ return sponsoredNamedRegistrationProvisioningFromAccountId(`${walletId}.${relayerAccountId}`);
56
+ }
57
+ function resolvePasskeyRegistrationAccountProvisioning(args) {
58
+ const preference = args.preference ?? args.configs.registration.nearAccountProvisioning;
59
+ switch (preference.kind) {
60
+ case "implicit_account": return implicitNearAccountProvisioning();
61
+ case "relayer_named_subaccount":
62
+ if (args.wallet.kind !== "provided") throw new Error("Relayer named NEAR registration requires a provided walletId");
63
+ return relayerNamedSubaccountProvisioningFromWalletId({
64
+ walletId: args.wallet.walletId,
65
+ relayerAccountId: args.configs.network.relayer.accountId
66
+ });
67
+ default: return preference;
68
+ }
69
+ }
70
+ //#endregion
71
+ export { buildConfiguredWalletRegistrationSignerSetSelection };
72
+
73
+ //# sourceMappingURL=registrationSignerSet.js.map
@@ -0,0 +1,22 @@
1
+ import { chainFamilyFromNetwork } from "../../../core/config/chains.js";
2
+ import { thresholdEcdsaChainTargetFromConfig, thresholdEcdsaChainTargetKey } from "../../../core/signingEngine/interfaces/ecdsaChainTarget.js";
3
+ //#region src/SeamsWeb/operations/session/thresholdEcdsaProvisioning.ts
4
+ function listThresholdEcdsaProvisionTargets(args) {
5
+ const targets = [];
6
+ const seen = /* @__PURE__ */ new Set();
7
+ for (const chainConfig of args.chains) {
8
+ const family = chainFamilyFromNetwork(chainConfig.network);
9
+ if (family !== "evm" && family !== "tempo") continue;
10
+ if (!(family === "tempo" ? args.signerOptions.tempo : args.signerOptions.evm).enabled) continue;
11
+ const chainTarget = thresholdEcdsaChainTargetFromConfig(chainConfig);
12
+ const key = thresholdEcdsaChainTargetKey(chainTarget);
13
+ if (seen.has(key)) continue;
14
+ seen.add(key);
15
+ targets.push({ chainTarget });
16
+ }
17
+ return targets;
18
+ }
19
+ //#endregion
20
+ export { listThresholdEcdsaProvisionTargets };
21
+
22
+ //# sourceMappingURL=thresholdEcdsaProvisioning.js.map
@@ -2,9 +2,10 @@ import { CAPABILITY_KINDS, EVM_ECDSA_MPC_OPERATION_KINDS, NEAR_ED25519_MPC_OPERA
2
2
  import { configuredThresholdEcdsaChainTargets, thresholdEcdsaChainTargetsEqual } from "../../core/signingEngine/interfaces/ecdsaChainTarget.js";
3
3
  //#region src/SeamsWeb/publicApi/capabilitySelection.ts
4
4
  var BrowserCapabilityUnavailableError = class extends Error {
5
+ code = "browser_capability_unavailable";
6
+ selection;
5
7
  constructor(selection) {
6
8
  super(`Browser capability ${selection.operation.capabilityKind} is unavailable for ${selection.operation.operationKind}: ${selection.reason}`);
7
- this.code = "browser_capability_unavailable";
8
9
  this.name = "BrowserCapabilityUnavailableError";
9
10
  this.selection = selection;
10
11
  }
@@ -1,3 +1,4 @@
1
+ import { toError } from "../../shared-ts/src/utils/errors.js";
1
2
  import { waitForNearAccount } from "./waitForNearAccount.js";
2
3
  import { createCurrentWalletResolver } from "./currentWallet.js";
3
4
  import { createDevicesCapability } from "./devices.js";
@@ -5,6 +6,7 @@ import { createKeyExportCapability } from "./keyExport.js";
5
6
  import { createNearSignerCapability } from "./near.js";
6
7
  import { createEvmFamilyCapabilities } from "./tempo.js";
7
8
  import { registerTransactionReviewBridge } from "./transactionReview.js";
9
+ import { buildConfiguredWalletRegistrationSignerSetSelection } from "../operations/registration/registrationSignerSet.js";
8
10
  //#region src/SeamsWeb/publicApi/createPublicApi.ts
9
11
  function createPublicApi(deps) {
10
12
  const auth = deps.auth;
@@ -37,7 +39,7 @@ function createPublicApi(deps) {
37
39
  addPasskey: deps.registration.addPasskey,
38
40
  addEmail: deps.registration.addEmail,
39
41
  removeAuthMethod: deps.registration.removeAuthMethod,
40
- registerWallet: deps.registration.registerWallet
42
+ registerWallet: registerWallet.bind(null, deps.registration, deps.configs)
41
43
  },
42
44
  recovery: deps.recovery,
43
45
  devices,
@@ -51,6 +53,29 @@ function createPublicApi(deps) {
51
53
  evm: evmFamily.evm
52
54
  };
53
55
  }
56
+ async function registerWallet(commands, configs, args) {
57
+ let command;
58
+ try {
59
+ const wallet = args.wallet === void 0 ? { kind: "server_allocated" } : args.wallet;
60
+ const signerSelection = args.signerSelection === void 0 ? buildConfiguredWalletRegistrationSignerSetSelection({
61
+ configs,
62
+ wallet,
63
+ options: args.options ?? {}
64
+ }) : args.signerSelection;
65
+ command = {
66
+ authMethod: args.authMethod,
67
+ wallet,
68
+ signerSelection,
69
+ options: args.options
70
+ };
71
+ } catch (error) {
72
+ const normalized = toError(error);
73
+ await args.options?.onError?.(normalized);
74
+ await args.options?.afterCall?.(false, void 0, normalized);
75
+ throw normalized;
76
+ }
77
+ return commands.registerWallet(command);
78
+ }
54
79
  function createApplicationPublicApi(deps) {
55
80
  const api = createPublicApi(deps);
56
81
  const currentWallet = createCurrentWalletResolver({ getWalletSession: deps.auth.getSession });
@@ -69,76 +69,27 @@ function isOutsideRect(event, rect) {
69
69
  }
70
70
  function ignoreDismissFailure(error) {}
71
71
  var OverlayController = class {
72
+ ensureIframe;
73
+ dismissHandler;
74
+ dialog = null;
75
+ iframe = null;
76
+ reviewSlot = null;
77
+ mode = { kind: "hidden" };
78
+ visible = false;
79
+ generation = 0;
80
+ pointerCapture = null;
81
+ restoreFocus = null;
82
+ pendingProgrammaticCloseEvents = 0;
83
+ listenersInstalled = false;
84
+ lastAppliedGeometry = null;
85
+ authMenuVisualScale = 1;
86
+ lastAppliedAuthMenuVisualScale = 1;
87
+ dialogDisplayMode = null;
88
+ pendingRevealFrame = null;
89
+ reviewHandoff = { kind: "idle" };
90
+ surfaceResizeAnimation = null;
91
+ surfaceResizeTimer = null;
72
92
  constructor(opts) {
73
- this.dialog = null;
74
- this.iframe = null;
75
- this.reviewSlot = null;
76
- this.mode = { kind: "hidden" };
77
- this.visible = false;
78
- this.generation = 0;
79
- this.pointerCapture = null;
80
- this.restoreFocus = null;
81
- this.pendingProgrammaticCloseEvents = 0;
82
- this.listenersInstalled = false;
83
- this.lastAppliedGeometry = null;
84
- this.authMenuVisualScale = 1;
85
- this.lastAppliedAuthMenuVisualScale = 1;
86
- this.dialogDisplayMode = null;
87
- this.pendingRevealFrame = null;
88
- this.reviewHandoff = { kind: "idle" };
89
- this.surfaceResizeAnimation = null;
90
- this.surfaceResizeTimer = null;
91
- this.handleReviewHandoffFinished = (event) => {
92
- if (this.reviewHandoff.kind !== "animating" || event.currentTarget !== this.reviewHandoff.incoming) return;
93
- this.finishReviewHandoff();
94
- };
95
- this.revealMeasuredSurface = () => {
96
- this.pendingRevealFrame = null;
97
- const dialog = this.dialog;
98
- if (!dialog || !this.visible || this.mode.kind !== "compact_request_modal" || geometryKind(this.mode.geometry) === "provisional") return;
99
- dialog.classList.remove(OverlayStyleClasses.REVEAL_PENDING);
100
- };
101
- this.handleSurfaceResizeFinished = (event) => {
102
- if (event.currentTarget !== this.surfaceResizeAnimation) return;
103
- this.cancelSurfaceResize();
104
- };
105
- this.handleCancel = (event) => {
106
- event.preventDefault();
107
- this.requestDismiss("escape");
108
- };
109
- this.handleClose = () => {
110
- this.dialogDisplayMode = null;
111
- if (this.pendingProgrammaticCloseEvents > 0) {
112
- this.pendingProgrammaticCloseEvents -= 1;
113
- return;
114
- }
115
- if (this.visible) this.requestDismiss("escape");
116
- };
117
- this.handlePointerDown = (event) => {
118
- if (!this.visible || this.mode.kind === "hidden" || !this.dialog) return;
119
- const dialogRect = this.dialog.getBoundingClientRect();
120
- const iframeRect = this.ensureIframe().getBoundingClientRect();
121
- if (!isOutsideRect(event, dialogRect) || !isOutsideRect(event, iframeRect)) {
122
- this.pointerCapture = null;
123
- return;
124
- }
125
- this.pointerCapture = {
126
- pointerId: event.pointerId,
127
- generation: this.generation
128
- };
129
- };
130
- this.handlePointerUp = (event) => {
131
- const capture = this.pointerCapture;
132
- this.pointerCapture = null;
133
- if (!capture || capture.pointerId !== event.pointerId || capture.generation !== this.generation) return;
134
- if (!this.dialog || this.mode.kind === "hidden") return;
135
- const dialogRect = this.dialog.getBoundingClientRect();
136
- const iframeRect = this.ensureIframe().getBoundingClientRect();
137
- if (isOutsideRect(event, dialogRect) && isOutsideRect(event, iframeRect)) this.requestDismiss("backdrop");
138
- };
139
- this.handlePointerCancel = (event) => {
140
- if (this.pointerCapture?.pointerId === event.pointerId) this.pointerCapture = null;
141
- };
142
93
  this.ensureIframe = opts.ensureIframe;
143
94
  this.dismissHandler = opts.onDismiss;
144
95
  }
@@ -353,6 +304,10 @@ var OverlayController = class {
353
304
  };
354
305
  incoming.addEventListener("finish", this.handleReviewHandoffFinished, { once: true });
355
306
  }
307
+ handleReviewHandoffFinished = (event) => {
308
+ if (this.reviewHandoff.kind !== "animating" || event.currentTarget !== this.reviewHandoff.incoming) return;
309
+ this.finishReviewHandoff();
310
+ };
356
311
  finishReviewHandoff() {
357
312
  if (this.reviewHandoff.kind !== "animating") return;
358
313
  const onReady = this.reviewHandoff.onReady;
@@ -386,6 +341,12 @@ var OverlayController = class {
386
341
  this.cancelPendingReveal();
387
342
  this.pendingRevealFrame = window.requestAnimationFrame(this.revealMeasuredSurface);
388
343
  }
344
+ revealMeasuredSurface = () => {
345
+ this.pendingRevealFrame = null;
346
+ const dialog = this.dialog;
347
+ if (!dialog || !this.visible || this.mode.kind !== "compact_request_modal" || geometryKind(this.mode.geometry) === "provisional") return;
348
+ dialog.classList.remove(OverlayStyleClasses.REVEAL_PENDING);
349
+ };
389
350
  startSurfaceResize(origin, destination, duration) {
390
351
  const dialog = this.dialog;
391
352
  if (!dialog || window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
@@ -398,6 +359,10 @@ var OverlayController = class {
398
359
  this.surfaceResizeTimer = setTimeout(this.cancelSurfaceResize.bind(this), duration);
399
360
  animation.addEventListener("finish", this.handleSurfaceResizeFinished, { once: true });
400
361
  }
362
+ handleSurfaceResizeFinished = (event) => {
363
+ if (event.currentTarget !== this.surfaceResizeAnimation) return;
364
+ this.cancelSurfaceResize();
365
+ };
401
366
  cancelPendingReveal() {
402
367
  if (this.pendingRevealFrame === null) return;
403
368
  window.cancelAnimationFrame(this.pendingRevealFrame);
@@ -481,6 +446,43 @@ var OverlayController = class {
481
446
  if (!event || !this.dismissHandler) return;
482
447
  Promise.resolve(this.dismissHandler(event)).catch(ignoreDismissFailure);
483
448
  }
449
+ handleCancel = (event) => {
450
+ event.preventDefault();
451
+ this.requestDismiss("escape");
452
+ };
453
+ handleClose = () => {
454
+ this.dialogDisplayMode = null;
455
+ if (this.pendingProgrammaticCloseEvents > 0) {
456
+ this.pendingProgrammaticCloseEvents -= 1;
457
+ return;
458
+ }
459
+ if (this.visible) this.requestDismiss("escape");
460
+ };
461
+ handlePointerDown = (event) => {
462
+ if (!this.visible || this.mode.kind === "hidden" || !this.dialog) return;
463
+ const dialogRect = this.dialog.getBoundingClientRect();
464
+ const iframeRect = this.ensureIframe().getBoundingClientRect();
465
+ if (!isOutsideRect(event, dialogRect) || !isOutsideRect(event, iframeRect)) {
466
+ this.pointerCapture = null;
467
+ return;
468
+ }
469
+ this.pointerCapture = {
470
+ pointerId: event.pointerId,
471
+ generation: this.generation
472
+ };
473
+ };
474
+ handlePointerUp = (event) => {
475
+ const capture = this.pointerCapture;
476
+ this.pointerCapture = null;
477
+ if (!capture || capture.pointerId !== event.pointerId || capture.generation !== this.generation) return;
478
+ if (!this.dialog || this.mode.kind === "hidden") return;
479
+ const dialogRect = this.dialog.getBoundingClientRect();
480
+ const iframeRect = this.ensureIframe().getBoundingClientRect();
481
+ if (isOutsideRect(event, dialogRect) && isOutsideRect(event, iframeRect)) this.requestDismiss("backdrop");
482
+ };
483
+ handlePointerCancel = (event) => {
484
+ if (this.pointerCapture?.pointerId === event.pointerId) this.pointerCapture = null;
485
+ };
484
486
  getState() {
485
487
  return {
486
488
  visible: this.visible,