@seams/wallet 0.15.6 → 0.18.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 (605) hide show
  1. package/README.md +15 -8
  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/surface-measurement-reporter.js +14 -13
  20. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.js +6 -8
  21. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +387 -535
  22. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +13 -8
  23. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.js +116 -0
  24. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/recovery-code-input.js +60 -0
  25. package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +1 -0
  26. package/dist/esm/SeamsWeb/walletIframe/shared/facadeBoundary.js +2 -0
  27. package/dist/esm/core/config/configBuilder.js +3 -1
  28. package/dist/esm/core/config/defaultConfigs.js +1 -0
  29. package/dist/esm/core/indexedDB/accountSignerLifecycle.js +2 -0
  30. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +1 -0
  31. package/dist/esm/core/indexedDB/seamsWalletDB/manager.js +6 -5
  32. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +2 -0
  33. package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +2 -2
  34. package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +6 -3
  35. package/dist/esm/core/rpcClients/near/NearRpcError.js +7 -0
  36. package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +3 -0
  37. package/dist/esm/core/rpcClients/relayer/walletRegistration.js +6 -2
  38. package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +5 -4
  39. package/dist/esm/core/signingEngine/chains/evm/evmAdapter.js +2 -1
  40. package/dist/esm/core/signingEngine/chains/tempo/tempoAdapter.js +2 -1
  41. package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +1 -1
  42. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +5 -1
  43. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/webauthnP256.js +1 -1
  44. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +3 -2
  45. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignatureRefillProgress.js +5 -7
  46. package/dist/esm/core/signingEngine/session/lifecycle/walletSessionFailure.js +2 -0
  47. package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +68 -10
  48. package/dist/esm/core/signingEngine/session/material/walletSigningStateFailure.js +2 -2
  49. package/dist/esm/core/signingEngine/session/operationState/authorizationAdmission.js +2 -0
  50. package/dist/esm/core/signingEngine/stepUpConfirmation/methodSelection.js +2 -0
  51. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.js +36 -32
  52. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.js +10 -6
  53. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.js +12 -12
  54. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +29 -29
  55. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.js +141 -141
  56. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +21 -21
  57. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpContent.js +45 -40
  58. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.js +19 -21
  59. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/HaloBorder.js +21 -24
  60. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.js +16 -16
  61. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.js +9 -5
  62. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +128 -125
  63. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +72 -74
  64. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +51 -26
  65. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +65 -53
  66. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +44 -40
  67. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionTree.js +122 -122
  68. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/WalletLocale.js +24 -0
  69. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/email-otp-session.js +81 -80
  70. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +47 -41
  71. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +17 -11
  72. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +4 -21
  73. package/dist/esm/core/types/actionBuilders.js +16 -2
  74. package/dist/esm/core/types/amounts.js +83 -0
  75. package/dist/esm/core/types/linkDevice.js +1 -1
  76. package/dist/esm/core/ui/locale.js +10 -0
  77. package/dist/esm/core/ui/messages.js +694 -0
  78. package/dist/esm/externalEvm/controller.js +49 -48
  79. package/dist/esm/index.js +3 -1
  80. package/dist/esm/react/boundWallet.js +56 -0
  81. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonMock.js +7 -3
  82. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +6 -3
  83. package/dist/esm/react/components/AccountMenuButton/AccountMenuDeviceDetails.js +4 -3
  84. package/dist/esm/react/components/AccountMenuButton/AccountMenuDialog.js +5 -2
  85. package/dist/esm/react/components/AccountMenuButton/AccountMenuMockScreens.js +31 -27
  86. package/dist/esm/react/components/AccountMenuButton/AccountMenuScreen.js +6 -3
  87. package/dist/esm/react/components/AccountMenuButton/AccountsSection.js +6 -3
  88. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodRow.js +5 -4
  89. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +33 -27
  90. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsView.js +5 -2
  91. package/dist/esm/react/components/AccountMenuButton/ExportKeysScreen.js +5 -3
  92. package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.js +4 -3
  93. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +13 -2
  94. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +50 -41
  95. package/dist/esm/react/components/AccountMenuButton/LockMenuItem.js +2 -1
  96. package/dist/esm/react/components/AccountMenuButton/MenuItem.js +3 -2
  97. package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.js +8 -4
  98. package/dist/esm/react/components/AccountMenuButton/RecoveryCodeAcknowledgement.js +3 -2
  99. package/dist/esm/react/components/AccountMenuButton/RecoveryCodeActions.js +4 -3
  100. package/dist/esm/react/components/AccountMenuButton/SegmentedControl.js +2 -1
  101. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +11 -10
  102. package/dist/esm/react/components/AccountMenuButton/UserAccountButton.js +8 -4
  103. package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +112 -108
  104. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +74 -73
  105. package/dist/esm/react/components/AccountMenuButton/index.js +18 -15
  106. package/dist/esm/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.js +30 -26
  107. package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +17 -6
  108. package/dist/esm/react/components/QRCodeScanner.js +28 -23
  109. package/dist/esm/react/components/ShowQRCode.css +13 -2
  110. package/dist/esm/react/components/ShowQRCode.js +39 -31
  111. package/dist/esm/react/components/theme/ThemeProvider.js +3 -0
  112. package/dist/esm/react/context/WalletLocale.js +15 -0
  113. package/dist/esm/react/context/index.js +38 -6
  114. package/dist/esm/react/context/useSeamsWithSdkFlow.js +1 -1
  115. package/dist/esm/react/externalEvm.js +22 -25
  116. package/dist/esm/react/index.js +4 -4
  117. package/dist/esm/react/styles/styles.css +13 -2
  118. package/dist/esm/react/transactionReview/TransactionReviewHost.js +3 -6
  119. package/dist/esm/react/transactionReview/boundCalls.js +1 -1
  120. package/dist/esm/react/transactionReview/controller.js +121 -119
  121. package/dist/esm/sdk/ConfirmationDrawer-mu3iThxX.js +1 -0
  122. package/dist/esm/sdk/NonceCoordinator-Dq-FZpBz.js +1 -0
  123. package/dist/{public/sdk/accountLifecycle-CBOkr0vU.js → esm/sdk/accountLifecycle-fLNUdjct.js} +1 -1
  124. package/dist/esm/sdk/{activeWalletSession-WdZkhtBB.js → activeWalletSession-BpbnpU9s.js} +1 -1
  125. package/dist/esm/sdk/adapters-u7LVXthY.js +2 -0
  126. package/dist/esm/sdk/appearance-token-vars-CzBVbO39.js +2 -0
  127. package/dist/esm/sdk/authorizationAdmission-Dd23mTx7.js +1 -0
  128. package/dist/esm/sdk/{canonicalPrimitives-Dsbsxgxc.js → canonicalPrimitives-BMP5yILS.js} +1 -1
  129. package/dist/esm/sdk/{capabilityKinds-N8xo_IEh.js → capabilityKinds-D0Yrp9uf.js} +1 -1
  130. package/dist/esm/sdk/{chains-C_X_fNuS.js → chains-CPmd4s9f.js} +1 -1
  131. package/dist/esm/sdk/challengeDelivery-CG2J5Qxs.js +1 -0
  132. package/dist/esm/sdk/{clientSessionPersistenceState-CBylL1Ul.js → clientSessionPersistenceState-BgO4P6CZ.js} +1 -1
  133. package/dist/esm/sdk/{commitQueue-DYEgzoLA.js → commitQueue-BW7BpYyA.js} +1 -1
  134. package/dist/esm/sdk/configBuilder-BMNShuOu.js +1 -0
  135. package/dist/esm/sdk/{configHelpers-B-hs0mTO.js → configHelpers-D50F_Txb.js} +1 -1
  136. package/dist/esm/sdk/{digestEncoding-BX3VW9eF.js → digestEncoding-aC4dSf_x.js} +1 -1
  137. package/dist/esm/sdk/{display-DsfJkAra.js → display-WtILOPQR.js} +1 -1
  138. package/dist/esm/sdk/domainIds-C3fUa33Q.js +1 -0
  139. package/dist/esm/sdk/ecdsaCapabilityManifest-DRc423SV.js +1 -0
  140. package/dist/esm/sdk/{ecdsaChainTarget-Bfatk3oP.js → ecdsaChainTarget-DkOrgv4y.js} +1 -1
  141. package/dist/esm/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js +1 -0
  142. package/dist/{public/sdk/ecdsaDerivationExport-DOGzq0qC.js → esm/sdk/ecdsaDerivationExport-DX89rq_u.js} +1 -1
  143. package/dist/esm/sdk/{ecdsaWalletRecords-CHfrYvKr.js → ecdsaWalletRecords-CxxUt3fS.js} +1 -1
  144. package/dist/{public/sdk/emailOtpEcdsaDerivationIdentity-Bik0N8v9.js → esm/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js} +1 -1
  145. package/dist/esm/sdk/{errors-DIWY1KR9.js → errors-ADOZT8oV.js} +1 -1
  146. package/dist/esm/sdk/export-viewer-host-ivf9LlBo.js +1 -0
  147. package/dist/{public/sdk/exportKeypairOperation-DzbjKbnk.js → esm/sdk/exportKeypairOperation-Gw7L5Htj.js} +1 -1
  148. package/dist/esm/sdk/{helpers-B9fpZNAP.js → helpers-DS0bksx9.js} +1 -1
  149. package/dist/esm/sdk/{host-DfWylEiw.js → host-B-2QXolt.js} +1 -1
  150. package/dist/esm/sdk/{intentDigest-P_-CM7lS.js → intentDigest-Rh5Mg8X7.js} +1 -1
  151. package/dist/esm/sdk/{lanes-5kcTFbPx.js → lanes-BzU7cv2T.js} +1 -1
  152. package/dist/esm/sdk/localOnly-BKpUHtHa.js +1 -0
  153. package/dist/esm/sdk/mountExportPrivateKeySurface-C8pUK6PQ.js +1 -0
  154. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-DUudF89t.js +2 -0
  155. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js +1 -0
  156. package/dist/{public/sdk/nearEd25519YaoSigningPreparation-RIfkYN0d.js → esm/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js} +1 -1
  157. package/dist/esm/sdk/{nonceLaneKeys-BCYfl1wv.js → nonceLaneKeys-BzMBVxMU.js} +1 -1
  158. package/dist/esm/sdk/{normalization-n503J-BI.js → normalization-Ct9-AY13.js} +1 -1
  159. package/dist/esm/sdk/{operationFingerprint-BHNYryLY.js → operationFingerprint-C4VX-0NI.js} +1 -1
  160. package/dist/esm/sdk/{passkey-custody-DpTM-eNJ.js → passkey-custody-Ba-NQ_4C.js} +1 -1
  161. package/dist/esm/sdk/{pendingWalletRecoveryCodeBackup-C60sZMj5.js → pendingWalletRecoveryCodeBackup-7tBjuSe7.js} +1 -1
  162. package/dist/esm/sdk/presignaturePool-BHoxnbOA.js +1 -0
  163. package/dist/esm/sdk/{prfCache-DJ93rtDv.js → prfCache-BAFh1skJ.js} +1 -1
  164. package/dist/esm/sdk/{primitives-CqrjmIAH.js → primitives-CTmDwMNc.js} +1 -1
  165. package/dist/{public/sdk/recovery-entrypoint-BULjaFBM.js → esm/sdk/recovery-entrypoint-DWghFZrZ.js} +1 -1
  166. package/dist/esm/sdk/{registration-CyF7nOXs.js → registration-CWpOVwhj.js} +1 -1
  167. package/dist/esm/sdk/registration-D2OEgY7O.js +1 -0
  168. package/dist/esm/sdk/{registrationAccounts-BQMUusdD.js → registrationAccounts-CD1u1ZqZ.js} +1 -1
  169. package/dist/esm/sdk/{registrationAuthMethodInput-RbSR7R1G.js → registrationAuthMethodInput-B23_HRil.js} +1 -1
  170. package/dist/esm/sdk/{registrationIds-BaK3jUS6.js → registrationIds-B1OpqRAt.js} +1 -1
  171. package/dist/esm/sdk/{registrationIntent-090Zj7Iu.js → registrationIntent-D4YDjf2U.js} +1 -1
  172. package/dist/{public/sdk/registrationSignerPlan-CPzHavPM.js → esm/sdk/registrationSignerPlan-BHkqlian.js} +1 -1
  173. package/dist/{public/sdk/requireStepUpAuth-BCY5ZStI.js → esm/sdk/requireStepUpAuth-CnSCFSOZ.js} +1 -1
  174. package/dist/esm/sdk/routerAbNormalSigning-BV1t27aB.js +1 -0
  175. package/dist/esm/sdk/runtime-auth-jtyQAuxZ.js +1 -0
  176. package/dist/esm/sdk/runtime-device-link-vhRhB-wS.js +1 -0
  177. package/dist/esm/sdk/runtime-ecdsa-tempo-BXWgFVBa.js +1 -0
  178. package/dist/esm/sdk/runtime-email-otp-BlAaSKtk.js +1 -0
  179. package/dist/esm/sdk/runtime-export-B4FuHhcH.js +1 -0
  180. package/dist/esm/sdk/runtime-near-BnWOpEpA.js +1 -0
  181. package/dist/esm/sdk/runtime-preferences-COm-LTiu.js +1 -0
  182. package/dist/esm/sdk/runtime-recovery-BJTo5Idi.js +1 -0
  183. package/dist/esm/sdk/{runtime-recovery-codes-GOytzExh.js → runtime-recovery-codes-CEOjdUHV.js} +1 -1
  184. package/dist/esm/sdk/{sdkSentEvents-D4KtK7_I.js → sdkSentEvents-DujYAPEM.js} +1 -1
  185. package/dist/esm/sdk/secp256k1-wOOHtPcK.js +1 -0
  186. package/dist/esm/sdk/{secureRandomId-LwBFx84B.js → secureRandomId-8LSc91aN.js} +1 -1
  187. package/dist/esm/sdk/sessionObservationRevision-C7v-wN8_.js +1 -0
  188. package/dist/esm/sdk/shared-BKPGtAps.js +6 -0
  189. package/dist/{public/sdk/signEvmFamily-Cpm3e6Zs.js → esm/sdk/signEvmFamily-DT34Vtpa.js} +1 -1
  190. package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js +1 -0
  191. package/dist/esm/sdk/{signEvmWithUiConfirm-BRmdLgmm.js → signEvmWithUiConfirm-D6nmJr_L.js} +1 -1
  192. package/dist/esm/sdk/signNear-B000QxBd.js +1 -0
  193. package/dist/esm/sdk/signatureUses-B_nN17i7.js +1 -0
  194. package/dist/esm/sdk/{signerDomain-Dp7BhfmZ.js → signerDomain-BFqRQ0Jl.js} +1 -1
  195. package/dist/esm/sdk/{signingFlow-VAnM8L5C.js → signingFlow-gl85GOW4.js} +2 -2
  196. package/dist/esm/sdk/{signingQueue-D_Ebmzcn.js → signingQueue-gW7wmOuL.js} +1 -1
  197. package/dist/{public/sdk/singletons-BXhnsqeY.js → esm/sdk/singletons-CAsc9LvA.js} +1 -1
  198. package/dist/esm/sdk/surface-measurement-reporter-BJhfiPw6.js +1 -0
  199. package/dist/{public/sdk/thresholdEcdsa-CneSKcRt.js → esm/sdk/thresholdEcdsa-Ci7yz395.js} +1 -1
  200. package/dist/esm/sdk/{trace-BBux0jtr.js → trace-CsRMlSh1.js} +1 -1
  201. package/dist/{public/sdk/transaction-activity-Cccvec2J.js → esm/sdk/transaction-activity-C0nCSW6c.js} +1 -1
  202. package/dist/esm/sdk/transactionReviewAdmission-CNNho8IG.js +1 -0
  203. package/dist/{public/sdk/transactionState-Day-1x7Y.js → esm/sdk/transactionState-lB2qpkOm.js} +1 -1
  204. package/dist/esm/sdk/tx-confirm-ui.js +2502 -1174
  205. package/dist/esm/sdk/{types-hKLqDUhR.js → types-CQTWmtqu.js} +1 -1
  206. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  207. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  208. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  209. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  210. package/dist/{public/sdk/wallet-recovery-Bfhfk52N.js → esm/sdk/wallet-recovery-DFaS3geI.js} +1 -1
  211. package/dist/esm/sdk/wallet-ui.css +1 -1
  212. package/dist/{public/sdk/walletAuthMethodRecord-LniOQQmj.js → esm/sdk/walletAuthMethodRecord-CWdqdY_s.js} +1 -1
  213. package/dist/{public/sdk/walletAuthority-CAiGuWW2.js → esm/sdk/walletAuthority-BY3kyKQ-.js} +1 -1
  214. package/dist/esm/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js +1 -0
  215. package/dist/esm/sdk/{walletDbName-DtRewci9.js → walletDbName-BxWApBQF.js} +1 -1
  216. package/dist/esm/sdk/{walletOwnershipGeneration-B6HyR2rE.js → walletOwnershipGeneration-DSGfjuV2.js} +1 -1
  217. package/dist/esm/sdk/{walletRecoveryCommit-C6HF84_U.js → walletRecoveryCommit-DQA_wveK.js} +1 -1
  218. package/dist/esm/sdk/{walletRecoveryRotate-BN3H8byw.js → walletRecoveryRotate-zvQThn37.js} +1 -1
  219. package/dist/esm/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +1 -0
  220. package/dist/esm/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js +1 -0
  221. package/dist/esm/sdk/walletSessionAuthorizationStore-DnUMtkev.js +1 -0
  222. package/dist/esm/sdk/walletSessionFailure-C6TAQTZn.js +1 -0
  223. package/dist/esm/sdk/warmSessionHydration-D8Vdro9n.js +1 -0
  224. package/dist/esm/sdk/webauthnP256-_ajaNl90.js +1 -0
  225. package/dist/esm/sdk/webauthnPromptCoordinator-9bVeHcTZ.js +1 -0
  226. package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +1 -1
  227. package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +6 -0
  228. package/dist/esm/shared-ts/src/near/nearClient.js +6 -0
  229. package/dist/esm/shared-ts/src/threshold/participants.js +2 -1
  230. package/dist/esm/shared-ts/src/threshold/secp256k1.js +6 -0
  231. package/dist/esm/shared-ts/src/utils/domainIds.js +7 -0
  232. package/dist/esm/shared-ts/src/utils/index.js +1 -1
  233. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +14 -1
  234. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +5 -4
  235. package/dist/esm/utils/qrScanner.js +10 -8
  236. package/dist/public/headers.manifest.json +1 -1
  237. package/dist/public/sdk/ConfirmationDrawer-mu3iThxX.js +1 -0
  238. package/dist/public/sdk/NonceCoordinator-Dq-FZpBz.js +1 -0
  239. package/dist/{esm/sdk/accountLifecycle-CBOkr0vU.js → public/sdk/accountLifecycle-fLNUdjct.js} +1 -1
  240. package/dist/public/sdk/{activeWalletSession-WdZkhtBB.js → activeWalletSession-BpbnpU9s.js} +1 -1
  241. package/dist/public/sdk/adapters-u7LVXthY.js +2 -0
  242. package/dist/public/sdk/appearance-token-vars-CzBVbO39.js +2 -0
  243. package/dist/public/sdk/authorizationAdmission-Dd23mTx7.js +1 -0
  244. package/dist/public/sdk/{canonicalPrimitives-Dsbsxgxc.js → canonicalPrimitives-BMP5yILS.js} +1 -1
  245. package/dist/public/sdk/{capabilityKinds-N8xo_IEh.js → capabilityKinds-D0Yrp9uf.js} +1 -1
  246. package/dist/public/sdk/{chains-C_X_fNuS.js → chains-CPmd4s9f.js} +1 -1
  247. package/dist/public/sdk/challengeDelivery-CG2J5Qxs.js +1 -0
  248. package/dist/public/sdk/{clientSessionPersistenceState-CBylL1Ul.js → clientSessionPersistenceState-BgO4P6CZ.js} +1 -1
  249. package/dist/public/sdk/{commitQueue-DYEgzoLA.js → commitQueue-BW7BpYyA.js} +1 -1
  250. package/dist/public/sdk/configBuilder-BMNShuOu.js +1 -0
  251. package/dist/public/sdk/{configHelpers-B-hs0mTO.js → configHelpers-D50F_Txb.js} +1 -1
  252. package/dist/public/sdk/{digestEncoding-BX3VW9eF.js → digestEncoding-aC4dSf_x.js} +1 -1
  253. package/dist/public/sdk/{display-DsfJkAra.js → display-WtILOPQR.js} +1 -1
  254. package/dist/public/sdk/domainIds-C3fUa33Q.js +1 -0
  255. package/dist/public/sdk/ecdsaCapabilityManifest-DRc423SV.js +1 -0
  256. package/dist/public/sdk/{ecdsaChainTarget-Bfatk3oP.js → ecdsaChainTarget-DkOrgv4y.js} +1 -1
  257. package/dist/public/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js +1 -0
  258. package/dist/{esm/sdk/ecdsaDerivationExport-DOGzq0qC.js → public/sdk/ecdsaDerivationExport-DX89rq_u.js} +1 -1
  259. package/dist/public/sdk/{ecdsaWalletRecords-CHfrYvKr.js → ecdsaWalletRecords-CxxUt3fS.js} +1 -1
  260. package/dist/{esm/sdk/emailOtpEcdsaDerivationIdentity-Bik0N8v9.js → public/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js} +1 -1
  261. package/dist/public/sdk/{errors-DIWY1KR9.js → errors-ADOZT8oV.js} +1 -1
  262. package/dist/public/sdk/export-viewer-host-ivf9LlBo.js +1 -0
  263. package/dist/{esm/sdk/exportKeypairOperation-DzbjKbnk.js → public/sdk/exportKeypairOperation-Gw7L5Htj.js} +1 -1
  264. package/dist/public/sdk/{helpers-B9fpZNAP.js → helpers-DS0bksx9.js} +1 -1
  265. package/dist/public/sdk/{host-DfWylEiw.js → host-B-2QXolt.js} +1 -1
  266. package/dist/public/sdk/{intentDigest-P_-CM7lS.js → intentDigest-Rh5Mg8X7.js} +1 -1
  267. package/dist/public/sdk/{lanes-5kcTFbPx.js → lanes-BzU7cv2T.js} +1 -1
  268. package/dist/public/sdk/localOnly-BKpUHtHa.js +1 -0
  269. package/dist/public/sdk/mountExportPrivateKeySurface-C8pUK6PQ.js +1 -0
  270. package/dist/public/sdk/mountRecoveryCodeBackupSurface-DUudF89t.js +2 -0
  271. package/dist/public/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js +1 -0
  272. package/dist/{esm/sdk/nearEd25519YaoSigningPreparation-RIfkYN0d.js → public/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js} +1 -1
  273. package/dist/public/sdk/{nonceLaneKeys-BCYfl1wv.js → nonceLaneKeys-BzMBVxMU.js} +1 -1
  274. package/dist/public/sdk/{normalization-n503J-BI.js → normalization-Ct9-AY13.js} +1 -1
  275. package/dist/public/sdk/{operationFingerprint-BHNYryLY.js → operationFingerprint-C4VX-0NI.js} +1 -1
  276. package/dist/public/sdk/{passkey-custody-DpTM-eNJ.js → passkey-custody-Ba-NQ_4C.js} +1 -1
  277. package/dist/public/sdk/{pendingWalletRecoveryCodeBackup-C60sZMj5.js → pendingWalletRecoveryCodeBackup-7tBjuSe7.js} +1 -1
  278. package/dist/public/sdk/presignaturePool-BHoxnbOA.js +1 -0
  279. package/dist/public/sdk/{prfCache-DJ93rtDv.js → prfCache-BAFh1skJ.js} +1 -1
  280. package/dist/public/sdk/{primitives-CqrjmIAH.js → primitives-CTmDwMNc.js} +1 -1
  281. package/dist/{esm/sdk/recovery-entrypoint-BULjaFBM.js → public/sdk/recovery-entrypoint-DWghFZrZ.js} +1 -1
  282. package/dist/public/sdk/{registration-CyF7nOXs.js → registration-CWpOVwhj.js} +1 -1
  283. package/dist/public/sdk/registration-D2OEgY7O.js +1 -0
  284. package/dist/public/sdk/{registrationAccounts-BQMUusdD.js → registrationAccounts-CD1u1ZqZ.js} +1 -1
  285. package/dist/public/sdk/{registrationAuthMethodInput-RbSR7R1G.js → registrationAuthMethodInput-B23_HRil.js} +1 -1
  286. package/dist/public/sdk/{registrationIds-BaK3jUS6.js → registrationIds-B1OpqRAt.js} +1 -1
  287. package/dist/public/sdk/{registrationIntent-090Zj7Iu.js → registrationIntent-D4YDjf2U.js} +1 -1
  288. package/dist/{esm/sdk/registrationSignerPlan-CPzHavPM.js → public/sdk/registrationSignerPlan-BHkqlian.js} +1 -1
  289. package/dist/{esm/sdk/requireStepUpAuth-BCY5ZStI.js → public/sdk/requireStepUpAuth-CnSCFSOZ.js} +1 -1
  290. package/dist/public/sdk/routerAbNormalSigning-BV1t27aB.js +1 -0
  291. package/dist/public/sdk/runtime-auth-jtyQAuxZ.js +1 -0
  292. package/dist/public/sdk/runtime-device-link-vhRhB-wS.js +1 -0
  293. package/dist/public/sdk/runtime-ecdsa-tempo-BXWgFVBa.js +1 -0
  294. package/dist/public/sdk/runtime-email-otp-BlAaSKtk.js +1 -0
  295. package/dist/public/sdk/runtime-export-B4FuHhcH.js +1 -0
  296. package/dist/public/sdk/runtime-near-BnWOpEpA.js +1 -0
  297. package/dist/public/sdk/runtime-preferences-COm-LTiu.js +1 -0
  298. package/dist/public/sdk/runtime-recovery-BJTo5Idi.js +1 -0
  299. package/dist/public/sdk/{runtime-recovery-codes-GOytzExh.js → runtime-recovery-codes-CEOjdUHV.js} +1 -1
  300. package/dist/public/sdk/{sdkSentEvents-D4KtK7_I.js → sdkSentEvents-DujYAPEM.js} +1 -1
  301. package/dist/public/sdk/secp256k1-wOOHtPcK.js +1 -0
  302. package/dist/public/sdk/{secureRandomId-LwBFx84B.js → secureRandomId-8LSc91aN.js} +1 -1
  303. package/dist/public/sdk/sessionObservationRevision-C7v-wN8_.js +1 -0
  304. package/dist/public/sdk/shared-BKPGtAps.js +6 -0
  305. package/dist/{esm/sdk/signEvmFamily-Cpm3e6Zs.js → public/sdk/signEvmFamily-DT34Vtpa.js} +1 -1
  306. package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js +1 -0
  307. package/dist/public/sdk/{signEvmWithUiConfirm-BRmdLgmm.js → signEvmWithUiConfirm-D6nmJr_L.js} +1 -1
  308. package/dist/public/sdk/signNear-B000QxBd.js +1 -0
  309. package/dist/public/sdk/signatureUses-B_nN17i7.js +1 -0
  310. package/dist/public/sdk/{signerDomain-Dp7BhfmZ.js → signerDomain-BFqRQ0Jl.js} +1 -1
  311. package/dist/public/sdk/{signingFlow-VAnM8L5C.js → signingFlow-gl85GOW4.js} +2 -2
  312. package/dist/public/sdk/{signingQueue-D_Ebmzcn.js → signingQueue-gW7wmOuL.js} +1 -1
  313. package/dist/{esm/sdk/singletons-BXhnsqeY.js → public/sdk/singletons-CAsc9LvA.js} +1 -1
  314. package/dist/public/sdk/surface-measurement-reporter-BJhfiPw6.js +1 -0
  315. package/dist/{esm/sdk/thresholdEcdsa-CneSKcRt.js → public/sdk/thresholdEcdsa-Ci7yz395.js} +1 -1
  316. package/dist/public/sdk/{trace-BBux0jtr.js → trace-CsRMlSh1.js} +1 -1
  317. package/dist/{esm/sdk/transaction-activity-Cccvec2J.js → public/sdk/transaction-activity-C0nCSW6c.js} +1 -1
  318. package/dist/public/sdk/transactionReviewAdmission-CNNho8IG.js +1 -0
  319. package/dist/{esm/sdk/transactionState-Day-1x7Y.js → public/sdk/transactionState-lB2qpkOm.js} +1 -1
  320. package/dist/public/sdk/tx-confirm-ui.js +2502 -1174
  321. package/dist/public/sdk/{types-hKLqDUhR.js → types-CQTWmtqu.js} +1 -1
  322. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  323. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  324. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  325. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  326. package/dist/{esm/sdk/wallet-recovery-Bfhfk52N.js → public/sdk/wallet-recovery-DFaS3geI.js} +1 -1
  327. package/dist/public/sdk/wallet-ui.css +1 -1
  328. package/dist/{esm/sdk/walletAuthMethodRecord-LniOQQmj.js → public/sdk/walletAuthMethodRecord-CWdqdY_s.js} +1 -1
  329. package/dist/{esm/sdk/walletAuthority-CAiGuWW2.js → public/sdk/walletAuthority-BY3kyKQ-.js} +1 -1
  330. package/dist/public/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js +1 -0
  331. package/dist/public/sdk/{walletDbName-DtRewci9.js → walletDbName-BxWApBQF.js} +1 -1
  332. package/dist/public/sdk/{walletOwnershipGeneration-B6HyR2rE.js → walletOwnershipGeneration-DSGfjuV2.js} +1 -1
  333. package/dist/public/sdk/{walletRecoveryCommit-C6HF84_U.js → walletRecoveryCommit-DQA_wveK.js} +1 -1
  334. package/dist/public/sdk/{walletRecoveryRotate-BN3H8byw.js → walletRecoveryRotate-zvQThn37.js} +1 -1
  335. package/dist/public/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +1 -0
  336. package/dist/public/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js +1 -0
  337. package/dist/public/sdk/walletSessionAuthorizationStore-DnUMtkev.js +1 -0
  338. package/dist/public/sdk/walletSessionFailure-C6TAQTZn.js +1 -0
  339. package/dist/public/sdk/warmSessionHydration-D8Vdro9n.js +1 -0
  340. package/dist/public/sdk/webauthnP256-_ajaNl90.js +1 -0
  341. package/dist/public/sdk/webauthnPromptCoordinator-9bVeHcTZ.js +1 -0
  342. package/dist/public/sdk/workers/device-linking-key.worker.js +12 -11
  343. package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +146 -48
  344. package/dist/public/sdk/workers/ecdsa-online-client.worker.js +7 -6
  345. package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +7 -6
  346. package/dist/public/sdk/workers/email-otp.worker.js +17 -3
  347. package/dist/public/sdk/workers/passkey-mpc-export.worker.js +10 -0
  348. package/dist/public/sdk/workers/passkey-mpc-session.worker.js +2 -1
  349. package/dist/public/wallet-assets.manifest.json +228 -228
  350. package/dist/public/wallet-service/index.html +4 -4
  351. package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +14 -14
  352. package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +1 -1
  353. package/dist/types/shared-ts/src/device-linking/ed25519ExportRoot.d.ts +1 -1
  354. package/dist/types/shared-ts/src/device-linking/requestProof.d.ts +1 -1
  355. package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +5 -5
  356. package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +3 -3
  357. package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +1 -1
  358. package/dist/types/shared-ts/src/tenant-root/tenantRootIdentity.d.ts +1 -1
  359. package/dist/types/shared-ts/src/tenant-root/tenantRootOperationRecord.d.ts +2 -2
  360. package/dist/types/shared-ts/src/utils/base64.d.ts +2 -2
  361. package/dist/types/shared-ts/src/utils/digestEncoding.d.ts +1 -1
  362. package/dist/types/shared-ts/src/utils/digests.d.ts +2 -2
  363. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +16 -16
  364. package/dist/types/shared-ts/src/utils/emailOtpRecoveryKey.d.ts +1 -1
  365. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +10 -10
  366. package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +12 -11
  367. package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +3 -3
  368. package/dist/types/shared-ts/src/utils/routerAbTraceContext.d.ts +1 -1
  369. package/dist/types/shared-ts/src/utils/signerDomain.d.ts +15 -15
  370. package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +11 -11
  371. package/dist/types/shared-ts/src/utils/walletSessionFailure.d.ts +8 -8
  372. package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +2 -2
  373. package/dist/types/shared-ts/src/utils/wireSchema.d.ts +1 -1
  374. package/dist/types/shared-ts/src/wallet-recovery/recoveryKeyId.d.ts +1 -1
  375. package/dist/types/wallet/build-paths.d.ts +73 -73
  376. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.d.ts +3 -2
  377. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingResume.d.ts +2 -2
  378. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceTargetActivation.d.ts +1 -1
  379. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +3 -3
  380. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationEd25519Yao.d.ts +4 -3
  381. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationSignerSet.d.ts +5 -0
  382. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTiming.d.ts +2 -2
  383. package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +10 -1
  384. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +4 -2
  385. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +1 -0
  386. package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +1 -0
  387. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +2 -1
  388. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +4 -4
  389. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEmailOtpCommands.d.ts +3 -2
  390. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.d.ts +0 -1
  391. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +4 -6
  392. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.d.ts +35 -0
  393. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/recovery-code-input.d.ts +17 -0
  394. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +3 -3
  395. package/dist/types/wallet/src/config.d.ts +8 -8
  396. package/dist/types/wallet/src/core/browser/walletIframe/events.d.ts +1 -1
  397. package/dist/types/wallet/src/core/indexedDB/linkedAuthoritySignerMaterial.d.ts +3 -3
  398. package/dist/types/wallet/src/core/indexedDB/pendingWalletRecoveryCommit.d.ts +1 -1
  399. package/dist/types/wallet/src/core/indexedDB/schemaNames.d.ts +181 -181
  400. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.d.ts +8 -8
  401. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.d.ts +4 -4
  402. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.d.ts +1 -1
  403. package/dist/types/wallet/src/core/indexedDB/walletCustodyEd25519MaterialRecord.d.ts +2 -2
  404. package/dist/types/wallet/src/core/indexedDB/walletDbName.d.ts +1 -1
  405. package/dist/types/wallet/src/core/signingEngine/chains/evm/evmAdapter.d.ts +1 -1
  406. package/dist/types/wallet/src/core/signingEngine/chains/evm/evmSigning.types.d.ts +1 -0
  407. package/dist/types/wallet/src/core/signingEngine/chains/tempo/tempoAdapter.d.ts +1 -1
  408. package/dist/types/wallet/src/core/signingEngine/flows/shared/signingStateMachine.d.ts +27 -27
  409. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/secp256k1.d.ts +1 -1
  410. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/webauthnP256.d.ts +1 -1
  411. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.d.ts +17 -17
  412. package/dist/types/wallet/src/core/signingEngine/nonce/nonceTypes.d.ts +40 -40
  413. package/dist/types/wallet/src/core/signingEngine/session/material/walletSigningStateFailure.d.ts +4 -4
  414. package/dist/types/wallet/src/core/signingEngine/session/operationState/types.d.ts +8 -8
  415. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.d.ts +1 -1
  416. package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionRecords.d.ts +1 -1
  417. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmCommon.d.ts +3 -3
  418. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/types.d.ts +4 -4
  419. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +1 -1
  420. package/dist/types/wallet/src/core/signingEngine/threshold/sessionPolicy.d.ts +1 -1
  421. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.d.ts +1 -1
  422. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.d.ts +3 -1
  423. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.d.ts +2 -3
  424. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.d.ts +3 -1
  425. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.d.ts +3 -1
  426. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.d.ts +0 -1
  427. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.d.ts +0 -1
  428. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/CopyStatusIcon.d.ts +1 -1
  429. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.d.ts +0 -1
  430. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.d.ts +1 -1
  431. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PadlockIcon.d.ts +1 -1
  432. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyHaloLoading.d.ts +1 -1
  433. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.d.ts +3 -1
  434. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.d.ts +1 -2
  435. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.d.ts +3 -1
  436. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.d.ts +0 -1
  437. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/SeamsWordmark.d.ts +1 -1
  438. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.d.ts +0 -1
  439. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.d.ts +3 -1
  440. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReview.d.ts +3 -1
  441. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionTree.d.ts +0 -1
  442. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/WalletLocale.d.ts +18 -0
  443. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/credentials/helpers.d.ts +2 -2
  444. package/dist/types/wallet/src/core/signingEngine/workerManager/SignerWorkerManager.d.ts +1 -0
  445. package/dist/types/wallet/src/core/signingEngine/workerManager/deviceLinkingPorts.d.ts +1 -1
  446. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaClientWorkerChannels.d.ts +3 -3
  447. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.d.ts +1 -1
  448. package/dist/types/wallet/src/core/signingEngine/workerManager/validation.d.ts +1 -1
  449. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTransport.d.ts +1 -0
  450. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +1 -1
  451. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ecdsaTargetShareHpke.d.ts +3 -3
  452. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ordinaryMaterialState.d.ts +1 -1
  453. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/crypto.d.ts +3 -3
  454. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/materialParsing.d.ts +1 -1
  455. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/payloadParsing.d.ts +2 -2
  456. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/unlock.d.ts +1 -1
  457. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/workerErrorPayload.d.ts +2 -2
  458. package/dist/types/wallet/src/core/types/actionBuilders.d.ts +16 -2
  459. package/dist/types/wallet/src/core/types/amounts.d.ts +75 -0
  460. package/dist/types/wallet/src/core/types/amounts.typecheck.d.ts +2 -0
  461. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +5 -5
  462. package/dist/types/wallet/src/core/types/seams.d.ts +3 -0
  463. package/dist/types/wallet/src/core/types/secure-confirm-worker.d.ts +1 -1
  464. package/dist/types/wallet/src/core/types/signer-worker.d.ts +7 -7
  465. package/dist/types/wallet/src/core/ui/locale.d.ts +5 -0
  466. package/dist/types/wallet/src/core/ui/messages.d.ts +8 -0
  467. package/dist/types/wallet/src/externalEvm/types.d.ts +1 -0
  468. package/dist/types/wallet/src/index.d.ts +5 -1
  469. package/dist/types/wallet/src/react/{hooks/useWallet.d.ts → boundWallet.d.ts} +8 -48
  470. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonMock.d.ts +1 -0
  471. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonView.d.ts +0 -1
  472. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountsSection.d.ts +0 -1
  473. package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodsModal.d.ts +0 -1
  474. package/dist/types/wallet/src/react/components/AccountMenuButton/ExportKeysSection.d.ts +0 -1
  475. package/dist/types/wallet/src/react/components/AccountMenuButton/LinkedDevicesModal.d.ts +0 -1
  476. package/dist/types/wallet/src/react/components/AccountMenuButton/ProfileDropdown.d.ts +0 -1
  477. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletRegionSection.d.ts +3 -0
  478. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +4 -2
  479. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/GlobeIcon.d.ts +1 -1
  480. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/HoverArrowIcon.d.ts +0 -1
  481. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/KeyIcon.d.ts +1 -1
  482. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LaptopIcon.d.ts +1 -1
  483. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LinkIcon.d.ts +1 -1
  484. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockIcon.d.ts +1 -1
  485. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockKeyholeIcon.d.ts +1 -1
  486. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MailIcon.d.ts +1 -1
  487. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/PlusIcon.d.ts +1 -1
  488. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/RecoveryCodesIcon.d.ts +1 -1
  489. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/ScanIcon.d.ts +1 -1
  490. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SlidersIcon.d.ts +1 -1
  491. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SmartphoneIcon.d.ts +1 -1
  492. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/TouchIcon.d.ts +0 -1
  493. package/dist/types/wallet/src/react/components/AccountMenuButton/index.d.ts +0 -1
  494. package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +8 -8
  495. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.d.ts +2 -1
  496. package/dist/types/wallet/src/react/components/ShowQRCode.d.ts +0 -1
  497. package/dist/types/wallet/src/react/components/VoiceAssistantCard.d.ts +0 -1
  498. package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +1 -0
  499. package/dist/types/wallet/src/react/context/WalletLocale.d.ts +16 -0
  500. package/dist/types/wallet/src/react/context/index.d.ts +2 -1
  501. package/dist/types/wallet/src/react/context/useSeamsContextValue.d.ts +2 -2
  502. package/dist/types/wallet/src/react/index.d.ts +3 -2
  503. package/dist/types/wallet/src/react/styles.d.ts +2 -0
  504. package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +57 -57
  505. package/dist/types/wallet/src/react/types.d.ts +14 -1
  506. package/dist/types/wallet/src/theme/base-styles.d.ts +4 -4
  507. package/dist/workers/device-linking-key.worker.js +12 -11
  508. package/dist/workers/ecdsa-derivation-client.worker.js +146 -48
  509. package/dist/workers/ecdsa-online-client.worker.js +7 -6
  510. package/dist/workers/ecdsa-presign-client.worker.js +7 -6
  511. package/dist/workers/email-otp.worker.js +17 -3
  512. package/dist/workers/passkey-mpc-export.worker.js +10 -0
  513. package/dist/workers/passkey-mpc-session.worker.js +2 -1
  514. package/package.json +8 -6
  515. package/dist/esm/react/hooks/useWallet.js +0 -108
  516. package/dist/esm/sdk/ConfirmationDrawer-BFzQjd1P.js +0 -1
  517. package/dist/esm/sdk/NonceCoordinator-CDGnEgfI.js +0 -1
  518. package/dist/esm/sdk/adapters-DsAaBNNY.js +0 -2
  519. package/dist/esm/sdk/authorizationAdmission-CGinGhXH.js +0 -1
  520. package/dist/esm/sdk/challengeDelivery-CATQ4u6P.js +0 -1
  521. package/dist/esm/sdk/configBuilder-BMawmNpz.js +0 -1
  522. package/dist/esm/sdk/domainIds-BzkGsRqO.js +0 -1
  523. package/dist/esm/sdk/ecdsaCapabilityManifest-DX6TflEz.js +0 -1
  524. package/dist/esm/sdk/ecdsaDerivationClientWasm-CpjnN4aK.js +0 -1
  525. package/dist/esm/sdk/export-viewer-host-CV-lSsQF.js +0 -1
  526. package/dist/esm/sdk/jsxRuntime.module-DKsgiFjd.js +0 -2
  527. package/dist/esm/sdk/localOnly-C5mSXb_D.js +0 -1
  528. package/dist/esm/sdk/mountExportPrivateKeySurface-CatAhYoG.js +0 -1
  529. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-DlEb3uD7.js +0 -2
  530. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-Bo3IOTS-.js +0 -1
  531. package/dist/esm/sdk/presignaturePool-V10fZpG3.js +0 -1
  532. package/dist/esm/sdk/registration-yoF0o52H.js +0 -1
  533. package/dist/esm/sdk/routerAbNormalSigning-C4P2tDU-.js +0 -1
  534. package/dist/esm/sdk/runtime-auth--i_j8PP7.js +0 -1
  535. package/dist/esm/sdk/runtime-device-link-fpvaxYyR.js +0 -1
  536. package/dist/esm/sdk/runtime-ecdsa-tempo-AE5QTaXu.js +0 -1
  537. package/dist/esm/sdk/runtime-email-otp-Dl03QI-O.js +0 -1
  538. package/dist/esm/sdk/runtime-export-F9s12UcT.js +0 -1
  539. package/dist/esm/sdk/runtime-near-Bjrz1KYf.js +0 -1
  540. package/dist/esm/sdk/runtime-preferences-oLRSEqmz.js +0 -1
  541. package/dist/esm/sdk/runtime-recovery-DBBKvIIg.js +0 -1
  542. package/dist/esm/sdk/secp256k1-CKq7_HD-.js +0 -1
  543. package/dist/esm/sdk/sessionObservationRevision-CnEOLDbl.js +0 -1
  544. package/dist/esm/sdk/shared-D893jckQ.js +0 -6
  545. package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-DGWmm9n7.js +0 -1
  546. package/dist/esm/sdk/signNear-XGZBxc_g.js +0 -1
  547. package/dist/esm/sdk/signatureUses-BKAoDbQd.js +0 -1
  548. package/dist/esm/sdk/surface-measurement-reporter-DvVHPu_O.js +0 -1
  549. package/dist/esm/sdk/transactionReviewAdmission-CIvR4W5_.js +0 -1
  550. package/dist/esm/sdk/walletCustodyEcdsaContinuity-B4fTDL10.js +0 -1
  551. package/dist/esm/sdk/walletRegistrationSetupPrewarm-B9kpnrbK.js +0 -1
  552. package/dist/esm/sdk/walletSessionAuthorizationStatus-BL7j2TeM.js +0 -1
  553. package/dist/esm/sdk/walletSessionAuthorizationStore-DmYe-cDR.js +0 -1
  554. package/dist/esm/sdk/walletSessionFailure-YuhraC3P.js +0 -1
  555. package/dist/esm/sdk/warmSessionHydration-CsQpQVuy.js +0 -1
  556. package/dist/esm/sdk/webauthnP256-BwgxtG5N.js +0 -1
  557. package/dist/esm/sdk/webauthnPromptCoordinator-CwJeKiYq.js +0 -1
  558. package/dist/public/sdk/ConfirmationDrawer-BFzQjd1P.js +0 -1
  559. package/dist/public/sdk/NonceCoordinator-CDGnEgfI.js +0 -1
  560. package/dist/public/sdk/adapters-DsAaBNNY.js +0 -2
  561. package/dist/public/sdk/authorizationAdmission-CGinGhXH.js +0 -1
  562. package/dist/public/sdk/challengeDelivery-CATQ4u6P.js +0 -1
  563. package/dist/public/sdk/configBuilder-BMawmNpz.js +0 -1
  564. package/dist/public/sdk/domainIds-BzkGsRqO.js +0 -1
  565. package/dist/public/sdk/ecdsaCapabilityManifest-DX6TflEz.js +0 -1
  566. package/dist/public/sdk/ecdsaDerivationClientWasm-CpjnN4aK.js +0 -1
  567. package/dist/public/sdk/export-viewer-host-CV-lSsQF.js +0 -1
  568. package/dist/public/sdk/jsxRuntime.module-DKsgiFjd.js +0 -2
  569. package/dist/public/sdk/localOnly-C5mSXb_D.js +0 -1
  570. package/dist/public/sdk/mountExportPrivateKeySurface-CatAhYoG.js +0 -1
  571. package/dist/public/sdk/mountRecoveryCodeBackupSurface-DlEb3uD7.js +0 -2
  572. package/dist/public/sdk/nearEd25519YaoMaterialActivation-Bo3IOTS-.js +0 -1
  573. package/dist/public/sdk/presignaturePool-V10fZpG3.js +0 -1
  574. package/dist/public/sdk/registration-yoF0o52H.js +0 -1
  575. package/dist/public/sdk/routerAbNormalSigning-C4P2tDU-.js +0 -1
  576. package/dist/public/sdk/runtime-auth--i_j8PP7.js +0 -1
  577. package/dist/public/sdk/runtime-device-link-fpvaxYyR.js +0 -1
  578. package/dist/public/sdk/runtime-ecdsa-tempo-AE5QTaXu.js +0 -1
  579. package/dist/public/sdk/runtime-email-otp-Dl03QI-O.js +0 -1
  580. package/dist/public/sdk/runtime-export-F9s12UcT.js +0 -1
  581. package/dist/public/sdk/runtime-near-Bjrz1KYf.js +0 -1
  582. package/dist/public/sdk/runtime-preferences-oLRSEqmz.js +0 -1
  583. package/dist/public/sdk/runtime-recovery-DBBKvIIg.js +0 -1
  584. package/dist/public/sdk/secp256k1-CKq7_HD-.js +0 -1
  585. package/dist/public/sdk/sessionObservationRevision-CnEOLDbl.js +0 -1
  586. package/dist/public/sdk/shared-D893jckQ.js +0 -6
  587. package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-DGWmm9n7.js +0 -1
  588. package/dist/public/sdk/signNear-XGZBxc_g.js +0 -1
  589. package/dist/public/sdk/signatureUses-BKAoDbQd.js +0 -1
  590. package/dist/public/sdk/surface-measurement-reporter-DvVHPu_O.js +0 -1
  591. package/dist/public/sdk/transactionReviewAdmission-CIvR4W5_.js +0 -1
  592. package/dist/public/sdk/walletCustodyEcdsaContinuity-B4fTDL10.js +0 -1
  593. package/dist/public/sdk/walletRegistrationSetupPrewarm-B9kpnrbK.js +0 -1
  594. package/dist/public/sdk/walletSessionAuthorizationStatus-BL7j2TeM.js +0 -1
  595. package/dist/public/sdk/walletSessionAuthorizationStore-DmYe-cDR.js +0 -1
  596. package/dist/public/sdk/walletSessionFailure-YuhraC3P.js +0 -1
  597. package/dist/public/sdk/warmSessionHydration-CsQpQVuy.js +0 -1
  598. package/dist/public/sdk/webauthnP256-BwgxtG5N.js +0 -1
  599. package/dist/public/sdk/webauthnPromptCoordinator-CwJeKiYq.js +0 -1
  600. /package/dist/esm/sdk/{base64-DW79QA0h.js → base64-BmKR3UqU.js} +0 -0
  601. /package/dist/esm/sdk/{signingSessionSeal-DX41aXUL.js → signingSessionSeal-DqbjG8c8.js} +0 -0
  602. /package/dist/esm/sdk/{theme-BKaFqCAj.js → theme-os0Salmo.js} +0 -0
  603. /package/dist/public/sdk/{base64-DW79QA0h.js → base64-BmKR3UqU.js} +0 -0
  604. /package/dist/public/sdk/{signingSessionSeal-DX41aXUL.js → signingSessionSeal-DqbjG8c8.js} +0 -0
  605. /package/dist/public/sdk/{theme-BKaFqCAj.js → theme-os0Salmo.js} +0 -0
@@ -1 +1 @@
1
- import{M as e,o as t}from"./domainIds-BzkGsRqO.js";import{d as n,l as r}from"./chains-C_X_fNuS.js";import"./primitives-CqrjmIAH.js";import{i}from"./base64-DW79QA0h.js";import{r as a}from"./secureRandomId-LwBFx84B.js";import"./walletDbName-DtRewci9.js";import"./signingSessionSeal-DX41aXUL.js";import"./activeWalletSession-WdZkhtBB.js";import"./capabilityKinds-N8xo_IEh.js";import"./errors-DIWY1KR9.js";import"./accountIds-Cpvlkvbe.js";import"./registrationSignerPlan-CPzHavPM.js";import"./signerDomain-Dp7BhfmZ.js";import"./registrationIntent-090Zj7Iu.js";import"./singletons-BXhnsqeY.js";import"./walletAuthority-CAiGuWW2.js";import"./emailOtpEcdsaDerivationIdentity-Bik0N8v9.js";import"./challengeDelivery-CATQ4u6P.js";import"./digestEncoding-BX3VW9eF.js";import"./registrationIds-BaK3jUS6.js";import{a as o,c as s}from"./passkey-custody-DpTM-eNJ.js";import{u as c}from"./walletCustodyEcdsaContinuity-B4fTDL10.js";import"./keccak-mS0Mejjx.js";import{f as l,h as u}from"./wallet-recovery-Bfhfk52N.js";import{a as d,c as f,d as p,l as m,n as h,o as g,r as _,s as v,t as y,u as b}from"./walletRecoveryCommit-C6HF84_U.js";function x(e){throw Error(`Unhandled wallet recovery branch: ${String(e)}`)}function S(e){return e.target.kind===`google_email_otp`}function C(e,t){if(!e||e.stage===`prepared`||e.stage===`google_verified`||e.walletId!==t.walletId||e.target.kind!==t.target.kind)return null;switch(e.target.kind){case`passkey`:return t.kind===`credential_created`&&t.target.kind===`passkey`&&e.target.rpId===t.target.rpId?e:null;case`google_email_otp`:return t.kind===`email_otp_verified`&&t.target.kind===`google_email_otp`&&e.target.googleProvider===t.target.googleProvider?e:null}}function w(){return l(a(`wallet-recovery-reservation`,32,`wallet recovery operation reservations`))}function T(e){return e}const E=`seams:recovery:consumed-code-digests`;function D(){try{let e=JSON.parse(sessionStorage.getItem(E)??`[]`);return Array.isArray(e)?new Set(e.filter(e=>typeof e==`string`)):new Set}catch{return new Set}}function O(e,t){e.add(t);try{sessionStorage.setItem(E,JSON.stringify([...e].slice(-32)))}catch{}}function k(e){e&&e.byteLength>0&&new Uint8Array(e).fill(0)}function A(e){switch(e.recoveryCodeBytes.fill(0),e.stage){case`prepared`:case`google_verified`:return;case`credential_created`:k(e.replacement.factorSecret);return;case`email_otp_verified`:case`manifest_recovered`:k(e.replacement.kind===`passkey`?e.replacement.factorSecret:e.replacement.factor.factorSecret);return}}function j(){return{kind:`refused`}}function M(e){if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`name`);return t===`NotAllowedError`||t===`AbortError`}function N(e,t){if(e.target.kind!==`passkey`||!e.prepared.registration)throw Error(`passkey recovery registration is unavailable`);return{stage:`credential_created`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,relayUrl:e.relayUrl,target:e.target,prepared:e.prepared,custodyJson:e.custodyJson,recoveryCodeBytes:e.recoveryCodeBytes,replacement:{kind:`passkey`,registration:t.registration,credentialIdB64u:t.credentialIdB64u,factorSecret:t.factorSecret}}}function P(e,t){return{stage:`email_otp_verified`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,relayUrl:e.relayUrl,target:e.target,prepared:e.prepared,custodyJson:e.custodyJson,recoveryCodeBytes:e.recoveryCodeBytes,replacement:t}}function F(e){let t=e.prepared.registration;if(!t)throw Error(`passkey recovery registration is unavailable`);return{replacementId:t.replacementId,walletAuthMethodId:t.walletAuthMethodId,factor:s({rpId:t.rpId,credentialIdB64u:e.replacement.credentialIdB64u}),factorSecret:e.replacement.factorSecret}}function I(e){let t=e.prepared.registration;if(!t)throw Error(`passkey recovery registration is unavailable`);return t.challengeId}function L(e,t){return{stage:`manifest_recovered`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,relayUrl:e.relayUrl,target:e.target,prepared:e.prepared,custodyJson:e.custodyJson,recoveryCodeBytes:e.recoveryCodeBytes,replacement:e.replacement,recovered:t}}function R(e,t){return{stage:`manifest_recovered`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,relayUrl:e.relayUrl,target:e.target,prepared:e.prepared,custodyJson:e.custodyJson,recoveryCodeBytes:e.recoveryCodeBytes,replacement:e.replacement,recovered:t}}function z(e,t){switch(e.stage){case`credential_created`:return L(e,t);case`email_otp_verified`:return R(e,t);default:return x(e)}}function B(e){return e.authMethod.kind===`passkey`}function V(e){return e.target.kind===`passkey`&&e.replacement.kind===`passkey`}function H(e){return e.target.kind===`google_email_otp`&&e.replacement.kind===`email_otp`}async function U(e){return await e.context.signingEngine.getSignerWorkerContext().requestWorkerOperation({kind:`emailOtp`,request:{type:`releaseWalletRecoveryEmailOtpFactor`,payload:{relayUrl:e.relayUrl,walletId:String(e.walletId),recoveryOperationId:e.recoveryOperationId,reservationId:e.reservationId}}})}async function W(e){let t=e.prepared.registration;if(!t)throw Error(`passkey recovery registration is unavailable`);return await m({relayUrl:e.relayUrl,walletId:e.walletId,reservationId:e.prepared.reservationId,recoveryOperationId:e.prepared.recoveryOperationId,targetDeviceId:e.prepared.targetDeviceId,targetAuthorityId:e.prepared.targetAuthorityId,targetWalletAuthMethodId:e.prepared.targetWalletAuthMethodId,challengeId:t.challengeId,replacementId:t.replacementId,webauthnRegistration:e.replacement.registration,replacementEnvelope:e.recovered.replacementEnvelope,ecdsaMaterialPossessionProofs:e.recovered.ecdsaKeySets.map(e=>({keySetId:e.entry.keySetId,proof:e.activation.possessionProof}))})}var G=class{constructor(e=null){this.rpc=e}#e=new Map;#t=new Map;#n=new Map;#r=new Map;#i=new Map;#a=D();async prepareWithCode(t){if(this.#c(),t.signal.aborted)return j();if(t.target.kind===`passkey`){let n=e(t.context.signingEngine.getRpId());if(!n.ok||n.value!==t.target.rpId)return j()}let n=null;try{n=u(t.recoveryCode);let e=i(await r(n));if(this.#a.has(e))return{kind:`consumed`};let o=T(e),s=this.#r.get(o),c=s?.expiresAtMs&&s.expiresAtMs>Date.now()?s.reservationId:w(),l=await p({relayUrl:t.relayUrl,target:t.target,recoveryCodeB64u:i(n),reservationId:c});if(l.kind!==`prepared`)return l.kind===`retryable_conflict`||l.kind===`transport_uncertain`?this.#r.set(o,{reservationId:c,expiresAtMs:Date.now()+3e5}):this.#r.delete(o),l;if(this.#r.delete(o),t.signal.aborted)return this.#r.set(o,{reservationId:l.reservationId,expiresAtMs:l.reservationExpiresAtMs}),j();let d=a(`wallet-recovery-operation`,24,`wallet recovery client operation handles`);return this.#e.set(d,{stage:`prepared`,recoveryOperationId:d,walletId:l.walletId,relayUrl:t.relayUrl,target:t.target,prepared:l,custodyJson:b({walletId:l.walletId,prepared:l}),recoveryCodeBytes:n}),this.#i.set(d,o),n=null,{kind:`prepared`,recoveryOperationId:d,walletId:l.walletId,target:t.target}}catch{return j()}finally{n?.fill(0)}}createPasskey(e){this.#c();let t=this.#e.get(e.operation.recoveryOperationId);if(!t||t.stage!==`prepared`||t.walletId!==e.operation.walletId||t.target.kind!==`passkey`||e.operation.target.kind!==`passkey`||t.target.rpId!==e.operation.target.rpId||this.#n.has(t.recoveryOperationId)||!t.prepared.registration)return Promise.resolve({kind:`refused`});let n=new AbortController;this.#n.set(t.recoveryOperationId,n);let r;try{r=e.context.signingEngine.createWalletRecoveryReplacementCredential({walletId:t.walletId,registration:t.prepared.registration,cancellation:{kind:`abort_signal`,signal:n.signal}})}catch{return this.cancel(t.recoveryOperationId),Promise.resolve({kind:`refused`})}return this.#s({current:t,credentialPromise:r,promptController:n})}async verifyGoogle(e){this.#c();let t=this.#e.get(e.operation.recoveryOperationId);if(!this.rpc||!t||t.stage!==`prepared`||t.target.kind!==`google_email_otp`||e.operation.target.kind!==`google_email_otp`||t.walletId!==e.operation.walletId||t.target.googleProvider!==e.operation.target.googleProvider||t.relayUrl!==e.relayUrl)return j();let n=t.prepared;if(!S(n))return j();try{let r=await this.rpc.verifyGoogle({relayUrl:t.relayUrl,recoveryOperationId:n.recoveryOperationId,reservationId:n.reservationId,idToken:e.idToken});if(r.kind!==`verified`)return r;if(r.recoveryOperationId!==n.recoveryOperationId)return{kind:`transport_uncertain`};let i={kind:`google_verified`,recoveryOperationId:t.recoveryOperationId,walletId:t.walletId,target:t.target,challengeId:r.challengeId,delivery:r.delivery,expiresAtMs:r.expiresAtMs},a={stage:`google_verified`,recoveryOperationId:t.recoveryOperationId,walletId:t.walletId,relayUrl:t.relayUrl,target:t.target,prepared:n,custodyJson:t.custodyJson,recoveryCodeBytes:t.recoveryCodeBytes,verification:i};return this.#e.set(a.recoveryOperationId,a),i}catch{return{kind:`transport_uncertain`}}}async verifyEmailOtp(e){this.#c();let n=this.#e.get(e.operation.recoveryOperationId);if(!this.rpc||!n||n.stage!==`google_verified`||n.walletId!==e.operation.walletId||n.target.kind!==`google_email_otp`||e.operation.target.kind!==`google_email_otp`||n.verification.challengeId!==e.operation.challengeId||e.challengeId!==e.operation.challengeId)return j();let r=t(e.challengeId);if(!r.ok)return j();try{let t=await this.rpc.verifyEmailOtp({relayUrl:n.relayUrl,recoveryOperationId:n.prepared.recoveryOperationId,reservationId:n.prepared.reservationId,challengeId:r.value,otpCode:e.otpCode});if(t.kind!==`verified`)return t;if(t.recoveryOperationId!==n.prepared.recoveryOperationId||t.challengeId!==e.challengeId)return{kind:`transport_uncertain`};let i=await U({context:e.context,relayUrl:n.relayUrl,walletId:n.walletId,recoveryOperationId:n.prepared.recoveryOperationId,reservationId:String(n.prepared.reservationId)});if(i.kind===`existing`){if(i.recoveryOperationId!==String(n.prepared.recoveryOperationId)||i.reservationId!==String(n.prepared.reservationId)||i.factorSecret32.byteLength!==32)return k(i.factorSecret32),{kind:`transport_uncertain`};let t=P(n,{kind:`email_otp`,factor:{replacementId:String(n.prepared.recoveryOperationId),walletAuthMethodId:n.prepared.targetWalletAuthMethodId,factor:o({enrollmentId:i.enrollmentId,enrollmentSealKeyVersion:i.enrollmentSealKeyVersion}),factorSecret:i.factorSecret32},enrollment:{kind:`existing`,enrollmentId:i.enrollmentId,enrollmentSealKeyVersion:i.enrollmentSealKeyVersion},providerSubject:i.providerSubject,verifiedEmail:i.verifiedEmail,registrationAuthorityId:e.challengeId});return this.#e.set(t.recoveryOperationId,t),{kind:`email_otp_verified`,recoveryOperationId:t.recoveryOperationId,walletId:t.walletId,target:t.target,challengeId:e.challengeId}}if(i.kind!==`create`)return i;if(i.recoveryOperationId!==String(n.prepared.recoveryOperationId)||i.reservationId!==String(n.prepared.reservationId))return{kind:`transport_uncertain`};let a=crypto.getRandomValues(new Uint8Array(32)),s=null;try{let t=await e.context.signingEngine.prepareEmailOtpRegistrationEnrollmentMaterialInternal({relayUrl:n.relayUrl,walletId:n.walletId,userId:i.providerSubject,clientSecret32:a});s=a.slice().buffer;let r=P(n,{kind:`email_otp`,factor:{replacementId:String(n.prepared.recoveryOperationId),walletAuthMethodId:n.prepared.targetWalletAuthMethodId,factor:o({enrollmentId:t.enrollmentId,enrollmentSealKeyVersion:t.enrollmentSealKeyVersion}),factorSecret:s},enrollment:{kind:`create`,enrollmentId:t.enrollmentId,providerSubject:i.providerSubject,verifiedEmail:i.verifiedEmail,material:t.emailOtpEnrollment},providerSubject:i.providerSubject,verifiedEmail:i.verifiedEmail,registrationAuthorityId:e.challengeId});return this.#e.set(r.recoveryOperationId,r),s=null,{kind:`email_otp_verified`,recoveryOperationId:r.recoveryOperationId,walletId:r.walletId,target:r.target,challengeId:e.challengeId}}finally{a.fill(0),s&&k(s)}}catch{return{kind:`refused`}}}async finalize(e){let t=String(e.operation.recoveryOperationId),n=this.#t.get(t);if(n)return n;let r=this.#o(e).finally(()=>{this.#t.delete(t)});return this.#t.set(t,r),r}async#o(e){this.#c();let t=C(this.#e.get(e.operation.recoveryOperationId),e.operation);if(!t)return j();try{if(t.stage===`credential_created`||t.stage===`email_otp_verified`){let n=t.stage===`credential_created`?F(t):t.replacement.factor,r=await e.context.signingEngine.recoverWalletCustodyManifest({walletId:t.walletId,prepared:t.prepared,custodyJson:t.custodyJson,recoveryCodeBytes:t.recoveryCodeBytes,replacementFactor:n,recoveryChallengeId:t.stage===`credential_created`?I(t):String(t.prepared.recoveryOperationId),relayUrl:t.relayUrl});if(this.#e.get(t.recoveryOperationId)!==t)return A(t),j();if(t.prepared.reservationExpiresAtMs<=Date.now())return this.cancel(t.recoveryOperationId),j();t.recoveryCodeBytes.fill(0),k(t.stage===`credential_created`?t.replacement.factorSecret:t.replacement.factor.factorSecret),t=z(t,r),this.#e.set(t.recoveryOperationId,t)}if(t.stage===`manifest_recovered`){if(!V(t)&&!H(t))return{kind:`transport_uncertain`};if(t.target.kind===`google_email_otp`&&!this.rpc)return{kind:`refused`};let e=await y({operation:t});if(this.#e.get(t.recoveryOperationId)!==t)return{kind:`transport_uncertain`};await c.putPendingWalletRecoveryCommit(e.pending);let r=V(t)?await W(t):this.rpc?await this.rpc.finalizeEmailOtp({relayUrl:t.relayUrl,walletId:t.walletId,recoveryOperationId:t.prepared.recoveryOperationId,reservationId:t.prepared.reservationId,targetDeviceId:t.prepared.targetDeviceId,targetAuthorityId:t.prepared.targetAuthorityId,targetWalletAuthMethodId:t.prepared.targetWalletAuthMethodId,expectedProviderSubject:t.replacement.providerSubject,expectedEmailHashHex:await n(t.replacement.verifiedEmail),expectedRegistrationAuthorityId:t.replacement.registrationAuthorityId,replacementEnvelope:t.recovered.replacementEnvelope,ecdsaMaterialPossessionProofs:t.recovered.ecdsaKeySets.map(e=>({keySetId:e.entry.keySetId,proof:e.activation.possessionProof})),emailOtpEnrollment:t.replacement.enrollment.kind===`create`?{kind:`create`,material:t.replacement.enrollment.material}:null}):{kind:`refused`};if(r.kind===`refused`)return await c.deletePendingWalletRecoveryCommit(t.prepared.recoveryOperationId),this.#e.get(t.recoveryOperationId)===t&&this.cancel(t.recoveryOperationId),r;if(this.#e.get(t.recoveryOperationId)!==t)return r.kind===`promoted`?{kind:`transport_uncertain`}:r;if(r.kind!==`promoted`)return r;if(t.replacement.kind===`passkey`&&r.authMethod.credentialIdB64u!==t.replacement.credentialIdB64u)return{kind:`transport_uncertain`};let i;if(f(e.payload)){if(!B(r))return{kind:`transport_uncertain`};i={kind:`passkey`,payload:e.payload,promotion:r}}else{if(B(r))return{kind:`transport_uncertain`};i={kind:`google_email_otp`,payload:e.payload,promotion:r}}await _({pending:await h({awaiting:e.pending,promotion:i}),payload:i.payload})}let r=this.#i.get(t.recoveryOperationId);return r&&O(this.#a,r),this.#e.delete(t.recoveryOperationId),this.#i.delete(t.recoveryOperationId),A(t),{kind:`ready_for_sign_in`,walletId:t.walletId}}catch{return{kind:`transport_uncertain`}}}async#s(e){try{let t=await e.credentialPromise;if(this.#e.get(e.current.recoveryOperationId)!==e.current||e.promptController.signal.aborted)return k(t.factorSecret),{kind:`dismissed`};if(e.current.prepared.reservationExpiresAtMs<=Date.now())return k(t.factorSecret),this.cancel(e.current.recoveryOperationId),{kind:`refused`};let n=N(e.current,t);return this.#e.set(n.recoveryOperationId,n),{kind:`credential_created`,recoveryOperationId:n.recoveryOperationId,walletId:n.walletId,target:n.target}}catch(t){return e.promptController.signal.aborted||M(t)?{kind:`dismissed`}:{kind:`transport_uncertain`}}finally{this.#n.get(e.current.recoveryOperationId)===e.promptController&&this.#n.delete(e.current.recoveryOperationId)}}cancel(e){this.#n.get(e)?.abort(),this.#n.delete(e);let t=this.#e.get(e);if(!t)return;let n=this.#i.get(e);this.#i.delete(e),n&&t.prepared.reservationExpiresAtMs>Date.now()&&this.#r.set(n,{reservationId:t.prepared.reservationId,expiresAtMs:t.prepared.reservationExpiresAtMs}),this.#e.delete(e),A(t)}#c(){let e=Date.now();for(let[t,n]of this.#r)n.expiresAtMs<=e&&this.#r.delete(t);for(let[t,n]of this.#e)n.prepared.reservationExpiresAtMs>e||(this.#n.get(t)?.abort(),this.#n.delete(t),this.#e.delete(t),this.#i.delete(t),A(n))}},K=class{#e=new G({verifyGoogle:v,verifyEmailOtp:g,finalizeEmailOtp:d});constructor(t,n){this.context=t,this.relayUrl=n;let r=e(t.signingEngine.getRpId());if(!r.ok)throw Error(`wallet recovery RP ID ${r.error.message}`);this.#t=r.value}#t;targetFor(e){switch(e){case`passkey`:return{kind:e,rpId:this.#t};case`google_email_otp`:return{kind:e,googleProvider:`google`}}}async prepare(e){let t=await this.#e.prepareWithCode({context:this.context,relayUrl:this.relayUrl,recoveryCode:e.recoveryCode,target:e.target,signal:e.signal});return t.kind===`prepared`?(t.target.kind,{kind:`hosted_recovery_prepared`,recoveryOperationId:t.recoveryOperationId,walletId:t.walletId,target:t.target}):t}createPasskey(e){return this.#n({kind:`prepared`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,target:e.target})}async verifyGoogle(e,t){let n=await this.#e.verifyGoogle({relayUrl:this.relayUrl,operation:{kind:`prepared`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,target:e.target},idToken:t});return n.kind===`google_verified`?{kind:`hosted_recovery_google_verified`,recoveryOperationId:n.recoveryOperationId,walletId:n.walletId,target:n.target,challengeId:n.challengeId,delivery:n.delivery,expiresAtMs:n.expiresAtMs}:n}async verifyEmailOtp(e,t){let n=await this.#e.verifyEmailOtp({context:this.context,operation:{kind:`google_verified`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,target:e.target,challengeId:e.challengeId,delivery:e.delivery,expiresAtMs:e.expiresAtMs},challengeId:t.challengeId,otpCode:t.otpCode});return n.kind===`email_otp_verified`?{kind:`hosted_recovery_email_otp_verified`,recoveryOperationId:n.recoveryOperationId,walletId:n.walletId,target:n.target,challengeId:n.challengeId}:n}async finalize(e){return e.kind===`hosted_recovery_credential_created`?await this.#e.finalize({context:this.context,operation:{kind:`credential_created`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,target:e.target}}):await this.#e.finalize({context:this.context,operation:{kind:`email_otp_verified`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,target:e.target,challengeId:e.challengeId}})}async cancel(e){this.#e.cancel(e.recoveryOperationId)}async#n(e){let t=await this.#e.createPasskey({context:this.context,operation:e});return t.kind===`credential_created`?this.#r(t):t}#r(e){return{kind:`hosted_recovery_credential_created`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,target:e.target}}};function q(e){return new K(e.context,e.relayUrl)}export{q as createHostedRecoveryPort};
1
+ import{M as e,o as t}from"./domainIds-C3fUa33Q.js";import{d as n,l as r}from"./chains-CPmd4s9f.js";import"./primitives-CTmDwMNc.js";import{i}from"./base64-BmKR3UqU.js";import{r as a}from"./secureRandomId-8LSc91aN.js";import"./walletDbName-BxWApBQF.js";import"./signingSessionSeal-DqbjG8c8.js";import"./activeWalletSession-BpbnpU9s.js";import"./capabilityKinds-D0Yrp9uf.js";import"./errors-ADOZT8oV.js";import"./accountIds-Cpvlkvbe.js";import"./registrationSignerPlan-BHkqlian.js";import"./signerDomain-BFqRQ0Jl.js";import"./registrationIntent-D4YDjf2U.js";import"./singletons-CAsc9LvA.js";import"./walletAuthority-BY3kyKQ-.js";import"./emailOtpEcdsaDerivationIdentity-CupWCKNg.js";import"./challengeDelivery-CG2J5Qxs.js";import"./digestEncoding-aC4dSf_x.js";import"./registrationIds-B1OpqRAt.js";import{a as o,c as s}from"./passkey-custody-Ba-NQ_4C.js";import{u as c}from"./walletCustodyEcdsaContinuity-mGh1Ysko.js";import"./keccak-mS0Mejjx.js";import{f as l,h as u}from"./wallet-recovery-DFaS3geI.js";import{a as d,c as f,d as p,l as m,n as h,o as g,r as _,s as v,t as y,u as b}from"./walletRecoveryCommit-DQA_wveK.js";function x(e){throw Error(`Unhandled wallet recovery branch: ${String(e)}`)}function S(e){return e.target.kind===`google_email_otp`}function C(e,t){if(!e||e.stage===`prepared`||e.stage===`google_verified`||e.walletId!==t.walletId||e.target.kind!==t.target.kind)return null;switch(e.target.kind){case`passkey`:return t.kind===`credential_created`&&t.target.kind===`passkey`&&e.target.rpId===t.target.rpId?e:null;case`google_email_otp`:return t.kind===`email_otp_verified`&&t.target.kind===`google_email_otp`&&e.target.googleProvider===t.target.googleProvider?e:null}}function w(){return l(a(`wallet-recovery-reservation`,32,`wallet recovery operation reservations`))}function T(e){return e}const E=`seams:recovery:consumed-code-digests`;function D(){try{let e=JSON.parse(sessionStorage.getItem(E)??`[]`);return Array.isArray(e)?new Set(e.filter(e=>typeof e==`string`)):new Set}catch{return new Set}}function O(e,t){e.add(t);try{sessionStorage.setItem(E,JSON.stringify([...e].slice(-32)))}catch{}}function k(e){e&&e.byteLength>0&&new Uint8Array(e).fill(0)}function A(e){switch(e.recoveryCodeBytes.fill(0),e.stage){case`prepared`:case`google_verified`:return;case`credential_created`:k(e.replacement.factorSecret);return;case`email_otp_verified`:case`manifest_recovered`:k(e.replacement.kind===`passkey`?e.replacement.factorSecret:e.replacement.factor.factorSecret);return}}function j(){return{kind:`refused`}}function M(e){if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`name`);return t===`NotAllowedError`||t===`AbortError`}function N(e,t){if(e.target.kind!==`passkey`||!e.prepared.registration)throw Error(`passkey recovery registration is unavailable`);return{stage:`credential_created`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,relayUrl:e.relayUrl,target:e.target,prepared:e.prepared,custodyJson:e.custodyJson,recoveryCodeBytes:e.recoveryCodeBytes,replacement:{kind:`passkey`,registration:t.registration,credentialIdB64u:t.credentialIdB64u,factorSecret:t.factorSecret}}}function P(e,t){return{stage:`email_otp_verified`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,relayUrl:e.relayUrl,target:e.target,prepared:e.prepared,custodyJson:e.custodyJson,recoveryCodeBytes:e.recoveryCodeBytes,replacement:t}}function F(e){let t=e.prepared.registration;if(!t)throw Error(`passkey recovery registration is unavailable`);return{replacementId:t.replacementId,walletAuthMethodId:t.walletAuthMethodId,factor:s({rpId:t.rpId,credentialIdB64u:e.replacement.credentialIdB64u}),factorSecret:e.replacement.factorSecret}}function I(e){let t=e.prepared.registration;if(!t)throw Error(`passkey recovery registration is unavailable`);return t.challengeId}function L(e,t){return{stage:`manifest_recovered`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,relayUrl:e.relayUrl,target:e.target,prepared:e.prepared,custodyJson:e.custodyJson,recoveryCodeBytes:e.recoveryCodeBytes,replacement:e.replacement,recovered:t}}function R(e,t){return{stage:`manifest_recovered`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,relayUrl:e.relayUrl,target:e.target,prepared:e.prepared,custodyJson:e.custodyJson,recoveryCodeBytes:e.recoveryCodeBytes,replacement:e.replacement,recovered:t}}function z(e,t){switch(e.stage){case`credential_created`:return L(e,t);case`email_otp_verified`:return R(e,t);default:return x(e)}}function B(e){return e.authMethod.kind===`passkey`}function V(e){return e.target.kind===`passkey`&&e.replacement.kind===`passkey`}function H(e){return e.target.kind===`google_email_otp`&&e.replacement.kind===`email_otp`}async function U(e){return await e.context.signingEngine.getSignerWorkerContext().requestWorkerOperation({kind:`emailOtp`,request:{type:`releaseWalletRecoveryEmailOtpFactor`,payload:{relayUrl:e.relayUrl,walletId:String(e.walletId),recoveryOperationId:e.recoveryOperationId,reservationId:e.reservationId}}})}async function W(e){let t=e.prepared.registration;if(!t)throw Error(`passkey recovery registration is unavailable`);return await m({relayUrl:e.relayUrl,walletId:e.walletId,reservationId:e.prepared.reservationId,recoveryOperationId:e.prepared.recoveryOperationId,targetDeviceId:e.prepared.targetDeviceId,targetAuthorityId:e.prepared.targetAuthorityId,targetWalletAuthMethodId:e.prepared.targetWalletAuthMethodId,challengeId:t.challengeId,replacementId:t.replacementId,webauthnRegistration:e.replacement.registration,replacementEnvelope:e.recovered.replacementEnvelope,ecdsaMaterialPossessionProofs:e.recovered.ecdsaKeySets.map(e=>({keySetId:e.entry.keySetId,proof:e.activation.possessionProof}))})}var G=class{constructor(e=null){this.rpc=e}#e=new Map;#t=new Map;#n=new Map;#r=new Map;#i=new Map;#a=D();async prepareWithCode(t){if(this.#c(),t.signal.aborted)return j();if(t.target.kind===`passkey`){let n=e(t.context.signingEngine.getRpId());if(!n.ok||n.value!==t.target.rpId)return j()}let n=null;try{n=u(t.recoveryCode);let e=i(await r(n));if(this.#a.has(e))return{kind:`consumed`};let o=T(e),s=this.#r.get(o),c=s?.expiresAtMs&&s.expiresAtMs>Date.now()?s.reservationId:w(),l=await p({relayUrl:t.relayUrl,target:t.target,recoveryCodeB64u:i(n),reservationId:c});if(l.kind!==`prepared`)return l.kind===`retryable_conflict`||l.kind===`transport_uncertain`?this.#r.set(o,{reservationId:c,expiresAtMs:Date.now()+3e5}):this.#r.delete(o),l;if(this.#r.delete(o),t.signal.aborted)return this.#r.set(o,{reservationId:l.reservationId,expiresAtMs:l.reservationExpiresAtMs}),j();let d=a(`wallet-recovery-operation`,24,`wallet recovery client operation handles`);return this.#e.set(d,{stage:`prepared`,recoveryOperationId:d,walletId:l.walletId,relayUrl:t.relayUrl,target:t.target,prepared:l,custodyJson:b({walletId:l.walletId,prepared:l}),recoveryCodeBytes:n}),this.#i.set(d,o),n=null,{kind:`prepared`,recoveryOperationId:d,walletId:l.walletId,target:t.target}}catch{return j()}finally{n?.fill(0)}}createPasskey(e){this.#c();let t=this.#e.get(e.operation.recoveryOperationId);if(!t||t.stage!==`prepared`||t.walletId!==e.operation.walletId||t.target.kind!==`passkey`||e.operation.target.kind!==`passkey`||t.target.rpId!==e.operation.target.rpId||this.#n.has(t.recoveryOperationId)||!t.prepared.registration)return Promise.resolve({kind:`refused`});let n=new AbortController;this.#n.set(t.recoveryOperationId,n);let r;try{r=e.context.signingEngine.createWalletRecoveryReplacementCredential({walletId:t.walletId,registration:t.prepared.registration,cancellation:{kind:`abort_signal`,signal:n.signal}})}catch{return this.cancel(t.recoveryOperationId),Promise.resolve({kind:`refused`})}return this.#s({current:t,credentialPromise:r,promptController:n})}async verifyGoogle(e){this.#c();let t=this.#e.get(e.operation.recoveryOperationId);if(!this.rpc||!t||t.stage!==`prepared`||t.target.kind!==`google_email_otp`||e.operation.target.kind!==`google_email_otp`||t.walletId!==e.operation.walletId||t.target.googleProvider!==e.operation.target.googleProvider||t.relayUrl!==e.relayUrl)return j();let n=t.prepared;if(!S(n))return j();try{let r=await this.rpc.verifyGoogle({relayUrl:t.relayUrl,recoveryOperationId:n.recoveryOperationId,reservationId:n.reservationId,idToken:e.idToken});if(r.kind!==`verified`)return r;if(r.recoveryOperationId!==n.recoveryOperationId)return{kind:`transport_uncertain`};let i={kind:`google_verified`,recoveryOperationId:t.recoveryOperationId,walletId:t.walletId,target:t.target,challengeId:r.challengeId,delivery:r.delivery,expiresAtMs:r.expiresAtMs},a={stage:`google_verified`,recoveryOperationId:t.recoveryOperationId,walletId:t.walletId,relayUrl:t.relayUrl,target:t.target,prepared:n,custodyJson:t.custodyJson,recoveryCodeBytes:t.recoveryCodeBytes,verification:i};return this.#e.set(a.recoveryOperationId,a),i}catch{return{kind:`transport_uncertain`}}}async verifyEmailOtp(e){this.#c();let n=this.#e.get(e.operation.recoveryOperationId);if(!this.rpc||!n||n.stage!==`google_verified`||n.walletId!==e.operation.walletId||n.target.kind!==`google_email_otp`||e.operation.target.kind!==`google_email_otp`||n.verification.challengeId!==e.operation.challengeId||e.challengeId!==e.operation.challengeId)return j();let r=t(e.challengeId);if(!r.ok)return j();try{let t=await this.rpc.verifyEmailOtp({relayUrl:n.relayUrl,recoveryOperationId:n.prepared.recoveryOperationId,reservationId:n.prepared.reservationId,challengeId:r.value,otpCode:e.otpCode});if(t.kind!==`verified`)return t;if(t.recoveryOperationId!==n.prepared.recoveryOperationId||t.challengeId!==e.challengeId)return{kind:`transport_uncertain`};let i=await U({context:e.context,relayUrl:n.relayUrl,walletId:n.walletId,recoveryOperationId:n.prepared.recoveryOperationId,reservationId:String(n.prepared.reservationId)});if(i.kind===`existing`){if(i.recoveryOperationId!==String(n.prepared.recoveryOperationId)||i.reservationId!==String(n.prepared.reservationId)||i.factorSecret32.byteLength!==32)return k(i.factorSecret32),{kind:`transport_uncertain`};let t=P(n,{kind:`email_otp`,factor:{replacementId:String(n.prepared.recoveryOperationId),walletAuthMethodId:n.prepared.targetWalletAuthMethodId,factor:o({enrollmentId:i.enrollmentId,enrollmentSealKeyVersion:i.enrollmentSealKeyVersion}),factorSecret:i.factorSecret32},enrollment:{kind:`existing`,enrollmentId:i.enrollmentId,enrollmentSealKeyVersion:i.enrollmentSealKeyVersion},providerSubject:i.providerSubject,verifiedEmail:i.verifiedEmail,registrationAuthorityId:e.challengeId});return this.#e.set(t.recoveryOperationId,t),{kind:`email_otp_verified`,recoveryOperationId:t.recoveryOperationId,walletId:t.walletId,target:t.target,challengeId:e.challengeId}}if(i.kind!==`create`)return i;if(i.recoveryOperationId!==String(n.prepared.recoveryOperationId)||i.reservationId!==String(n.prepared.reservationId))return{kind:`transport_uncertain`};let a=crypto.getRandomValues(new Uint8Array(32)),s=null;try{let t=await e.context.signingEngine.prepareEmailOtpRegistrationEnrollmentMaterialInternal({relayUrl:n.relayUrl,walletId:n.walletId,userId:i.providerSubject,clientSecret32:a});s=a.slice().buffer;let r=P(n,{kind:`email_otp`,factor:{replacementId:String(n.prepared.recoveryOperationId),walletAuthMethodId:n.prepared.targetWalletAuthMethodId,factor:o({enrollmentId:t.enrollmentId,enrollmentSealKeyVersion:t.enrollmentSealKeyVersion}),factorSecret:s},enrollment:{kind:`create`,enrollmentId:t.enrollmentId,providerSubject:i.providerSubject,verifiedEmail:i.verifiedEmail,material:t.emailOtpEnrollment},providerSubject:i.providerSubject,verifiedEmail:i.verifiedEmail,registrationAuthorityId:e.challengeId});return this.#e.set(r.recoveryOperationId,r),s=null,{kind:`email_otp_verified`,recoveryOperationId:r.recoveryOperationId,walletId:r.walletId,target:r.target,challengeId:e.challengeId}}finally{a.fill(0),s&&k(s)}}catch{return{kind:`refused`}}}async finalize(e){let t=String(e.operation.recoveryOperationId),n=this.#t.get(t);if(n)return n;let r=this.#o(e).finally(()=>{this.#t.delete(t)});return this.#t.set(t,r),r}async#o(e){this.#c();let t=C(this.#e.get(e.operation.recoveryOperationId),e.operation);if(!t)return j();try{if(t.stage===`credential_created`||t.stage===`email_otp_verified`){let n=t.stage===`credential_created`?F(t):t.replacement.factor,r=await e.context.signingEngine.recoverWalletCustodyManifest({walletId:t.walletId,prepared:t.prepared,custodyJson:t.custodyJson,recoveryCodeBytes:t.recoveryCodeBytes,replacementFactor:n,recoveryChallengeId:t.stage===`credential_created`?I(t):String(t.prepared.recoveryOperationId),relayUrl:t.relayUrl});if(this.#e.get(t.recoveryOperationId)!==t)return A(t),j();if(t.prepared.reservationExpiresAtMs<=Date.now())return this.cancel(t.recoveryOperationId),j();t.recoveryCodeBytes.fill(0),k(t.stage===`credential_created`?t.replacement.factorSecret:t.replacement.factor.factorSecret),t=z(t,r),this.#e.set(t.recoveryOperationId,t)}if(t.stage===`manifest_recovered`){if(!V(t)&&!H(t))return{kind:`transport_uncertain`};if(t.target.kind===`google_email_otp`&&!this.rpc)return{kind:`refused`};let e=await y({operation:t});if(this.#e.get(t.recoveryOperationId)!==t)return{kind:`transport_uncertain`};await c.putPendingWalletRecoveryCommit(e.pending);let r=V(t)?await W(t):this.rpc?await this.rpc.finalizeEmailOtp({relayUrl:t.relayUrl,walletId:t.walletId,recoveryOperationId:t.prepared.recoveryOperationId,reservationId:t.prepared.reservationId,targetDeviceId:t.prepared.targetDeviceId,targetAuthorityId:t.prepared.targetAuthorityId,targetWalletAuthMethodId:t.prepared.targetWalletAuthMethodId,expectedProviderSubject:t.replacement.providerSubject,expectedEmailHashHex:await n(t.replacement.verifiedEmail),expectedRegistrationAuthorityId:t.replacement.registrationAuthorityId,replacementEnvelope:t.recovered.replacementEnvelope,ecdsaMaterialPossessionProofs:t.recovered.ecdsaKeySets.map(e=>({keySetId:e.entry.keySetId,proof:e.activation.possessionProof})),emailOtpEnrollment:t.replacement.enrollment.kind===`create`?{kind:`create`,material:t.replacement.enrollment.material}:null}):{kind:`refused`};if(r.kind===`refused`)return await c.deletePendingWalletRecoveryCommit(t.prepared.recoveryOperationId),this.#e.get(t.recoveryOperationId)===t&&this.cancel(t.recoveryOperationId),r;if(this.#e.get(t.recoveryOperationId)!==t)return r.kind===`promoted`?{kind:`transport_uncertain`}:r;if(r.kind!==`promoted`)return r;if(t.replacement.kind===`passkey`&&r.authMethod.credentialIdB64u!==t.replacement.credentialIdB64u)return{kind:`transport_uncertain`};let i;if(f(e.payload)){if(!B(r))return{kind:`transport_uncertain`};i={kind:`passkey`,payload:e.payload,promotion:r}}else{if(B(r))return{kind:`transport_uncertain`};i={kind:`google_email_otp`,payload:e.payload,promotion:r}}await _({pending:await h({awaiting:e.pending,promotion:i}),payload:i.payload})}let r=this.#i.get(t.recoveryOperationId);return r&&O(this.#a,r),this.#e.delete(t.recoveryOperationId),this.#i.delete(t.recoveryOperationId),A(t),{kind:`ready_for_sign_in`,walletId:t.walletId}}catch{return{kind:`transport_uncertain`}}}async#s(e){try{let t=await e.credentialPromise;if(this.#e.get(e.current.recoveryOperationId)!==e.current||e.promptController.signal.aborted)return k(t.factorSecret),{kind:`dismissed`};if(e.current.prepared.reservationExpiresAtMs<=Date.now())return k(t.factorSecret),this.cancel(e.current.recoveryOperationId),{kind:`refused`};let n=N(e.current,t);return this.#e.set(n.recoveryOperationId,n),{kind:`credential_created`,recoveryOperationId:n.recoveryOperationId,walletId:n.walletId,target:n.target}}catch(t){return e.promptController.signal.aborted||M(t)?{kind:`dismissed`}:{kind:`transport_uncertain`}}finally{this.#n.get(e.current.recoveryOperationId)===e.promptController&&this.#n.delete(e.current.recoveryOperationId)}}cancel(e){this.#n.get(e)?.abort(),this.#n.delete(e);let t=this.#e.get(e);if(!t)return;let n=this.#i.get(e);this.#i.delete(e),n&&t.prepared.reservationExpiresAtMs>Date.now()&&this.#r.set(n,{reservationId:t.prepared.reservationId,expiresAtMs:t.prepared.reservationExpiresAtMs}),this.#e.delete(e),A(t)}#c(){let e=Date.now();for(let[t,n]of this.#r)n.expiresAtMs<=e&&this.#r.delete(t);for(let[t,n]of this.#e)n.prepared.reservationExpiresAtMs>e||(this.#n.get(t)?.abort(),this.#n.delete(t),this.#e.delete(t),this.#i.delete(t),A(n))}},K=class{#e=new G({verifyGoogle:v,verifyEmailOtp:g,finalizeEmailOtp:d});constructor(t,n){this.context=t,this.relayUrl=n;let r=e(t.signingEngine.getRpId());if(!r.ok)throw Error(`wallet recovery RP ID ${r.error.message}`);this.#t=r.value}#t;targetFor(e){switch(e){case`passkey`:return{kind:e,rpId:this.#t};case`google_email_otp`:return{kind:e,googleProvider:`google`}}}async prepare(e){let t=await this.#e.prepareWithCode({context:this.context,relayUrl:this.relayUrl,recoveryCode:e.recoveryCode,target:e.target,signal:e.signal});return t.kind===`prepared`?(t.target.kind,{kind:`hosted_recovery_prepared`,recoveryOperationId:t.recoveryOperationId,walletId:t.walletId,target:t.target}):t}createPasskey(e){return this.#n({kind:`prepared`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,target:e.target})}async verifyGoogle(e,t){let n=await this.#e.verifyGoogle({relayUrl:this.relayUrl,operation:{kind:`prepared`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,target:e.target},idToken:t});return n.kind===`google_verified`?{kind:`hosted_recovery_google_verified`,recoveryOperationId:n.recoveryOperationId,walletId:n.walletId,target:n.target,challengeId:n.challengeId,delivery:n.delivery,expiresAtMs:n.expiresAtMs}:n}async verifyEmailOtp(e,t){let n=await this.#e.verifyEmailOtp({context:this.context,operation:{kind:`google_verified`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,target:e.target,challengeId:e.challengeId,delivery:e.delivery,expiresAtMs:e.expiresAtMs},challengeId:t.challengeId,otpCode:t.otpCode});return n.kind===`email_otp_verified`?{kind:`hosted_recovery_email_otp_verified`,recoveryOperationId:n.recoveryOperationId,walletId:n.walletId,target:n.target,challengeId:n.challengeId}:n}async finalize(e){return e.kind===`hosted_recovery_credential_created`?await this.#e.finalize({context:this.context,operation:{kind:`credential_created`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,target:e.target}}):await this.#e.finalize({context:this.context,operation:{kind:`email_otp_verified`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,target:e.target,challengeId:e.challengeId}})}async cancel(e){this.#e.cancel(e.recoveryOperationId)}async#n(e){let t=await this.#e.createPasskey({context:this.context,operation:e});return t.kind===`credential_created`?this.#r(t):t}#r(e){return{kind:`hosted_recovery_credential_created`,recoveryOperationId:e.recoveryOperationId,walletId:e.walletId,target:e.target}}};function q(e){return new K(e.context,e.relayUrl)}export{q as createHostedRecoveryPort};
@@ -1 +1 @@
1
- import{n as e}from"./chunk-dVx5-UGu.js";import{o as t}from"./errors-DIWY1KR9.js";import{c as n,r}from"./helpers-B9fpZNAP.js";import{t as i}from"./webauthnPromptCoordinator-CwJeKiYq.js";import{a}from"./intentDigest-P_-CM7lS.js";import{T as o,b as s,f as c,n as l,t as u,u as d,y as f}from"./adapters-DsAaBNNY.js";var p=e({handleRegistrationFlow:()=>_});function m(e){return Math.max(0,Math.round(performance.now()-e))}function h(e){return{kind:`passkey_registration_confirm_display_v1`,intendedUserName:e.walletId,accountId:e.walletId,rpId:e.rpId,signerSlot:e.signerSlot}}function g(e){let t={walletId:e.walletId,intendedUserName:e.walletId,prompt:e.prompt};return e.recoveryRegistration?{...t,kind:`wallet_recovery`,recoveryRegistration:e.recoveryRegistration}:e.addAuthMethodRegistration?{...t,kind:`wallet_add_auth_method`,registration:e.addAuthMethodRegistration}:{...t,kind:`wallet_registration`,challengeB64u:e.challengeB64u,signerSlot:e.signerSlot}}async function _(e,p,_,v){let{confirmationConfig:y,transactionSummary:b,theme:x,surface:S}=v,C=performance.now(),w=0,T=0,E=0,D=0,O=0,k=0,A=0,j=0,M=0,N=0,P=0,F=0,I=null,L=()=>({kind:`registration_confirmation_diagnostics_v1`,workerReadyMs:0,workerRequestRoundTripMs:0,workerResponseValidationMs:0,requestSetupMs:w,promptUserMs:T,promptElementDefineMs:E,promptMountMs:D,promptHostFirstUpdateMs:O,promptHostInteractiveMs:k,promptConfirmEventMs:A,promptDecisionWaitMs:j,credentialCreateStartMs:M,credentialCreateMs:N,credentialSerializeMs:P,duplicateRetryCount:F,mainThreadTotalMs:m(C)}),R=l(e),z=u({adapters:R,worker:_,request:p,confirmationConfig:y,transactionSummary:b,theme:x,surface:S}),B=o(p),V=s(p);try{let e=performance.now(),o=p.payload.walletRecoveryRegistration,s=p.payload.walletAddAuthMethodRegistration,c=p.payload.webauthnChallenge,l=o?o.challengeB64u:s?s.challengeB64u:c?.kind===`intent_digest`?String(c.challengeB64u||``).trim():``,u=async()=>{if(l)return l;let e=f(p);if(!e)throw Error(`Missing intentDigest for registration flow`);return a(e)},d=o?.rpId??s?.rpId??R.security.getRpId();if(!d)throw Error(`Missing rpId for registration challenge`);let _=p.payload?.signerSlot??1,v=await u(),y={rpId:d,passkeyRegistration:h({walletId:B,nearAccountId:V,rpId:d,signerSlot:_})};w=m(e);let b={kind:`registration_modal`,requestId:p.requestId};I=await i.reserveRegistrationPrompt({owner:b,expiresAtMs:Date.now()+300*1e3,cancellation:{kind:`none`}});let x=performance.now(),{confirmed:S,error:H,diagnostics:U}=await z.promptUser({securityContext:y});if(T=m(x),E=U.elementDefineMs,D=U.mountMs,O=U.hostFirstUpdateMs,k=U.hostInteractiveMs,A=U.confirmEventMs,j=U.decisionWaitMs,!S)return z.confirmAndCloseModal({requestId:p.requestId,intentDigest:f(p),confirmed:!1,registrationDiagnostics:L(),error:H});let W,G=p.payload?.signerSlot??1;M=m(C);let K=performance.now();try{try{let e={kind:`reserved`,reservation:I,owner:b,cancellation:{kind:`none`}};W=await R.webauthn.createRegistrationCredential(g(o?{walletId:B,recoveryRegistration:o,prompt:e}:s?{walletId:B,addAuthMethodRegistration:s,prompt:e}:{walletId:B,challengeB64u:v,signerSlot:G,prompt:e}))}catch(e){let n=t(e),r=String(n?.name||``),i=String(n?.message||``);if(r===`InvalidStateError`||/excluded|already\s*registered/i.test(i)){if(F+=1,l)throw Error(`Registration credential already exists for this wallet registration intent; create a fresh intent before retrying`);if(p.payload.walletRecoveryRegistration||s)throw Error(`Server-issued registration requires a fresh ceremony`);let e=G!==void 0&&Number.isFinite(G)?G+1:2;G=e,p.payload.signerSlot=e,p.intentDigest=p.type===`registerAccount`?`register:${B}:${e}`:`device2-register:${B}:${e}`,v=await u(),W=await R.webauthn.createRegistrationCredential(g({walletId:B,challengeB64u:v,signerSlot:e,prompt:{kind:`immediate`,requestId:p.requestId,cancellation:{kind:`none`}}}))}else throw console.error(`[RegistrationFlow] credentials.create failed (non-duplicate)`,{name:r,msg:i}),n}}finally{N=m(K)}let q=performance.now(),J=r(W)?W:n({credential:W,firstPrfOutput:!0,secondPrfOutput:!0});P=m(q),z.confirmAndCloseModal({requestId:p.requestId,intentDigest:f(p),confirmed:!0,credential:J,registrationDiagnostics:L()})}catch(e){let n=c(e),r=String(t(e)?.message||e||``);n&&window.parent?.postMessage({type:`WALLET_UI_CLOSED`},`*`);let i=/WebAuthn PRF output is missing from navigator\.credentials\.create\(\)/i.test(r)||/does not fully support the WebAuthn PRF extension during registration/i.test(r)||/roaming hardware authenticators .* not supported in this flow/i.test(r);return z.confirmAndCloseModal({requestId:p.requestId,intentDigest:f(p),confirmed:!1,registrationDiagnostics:L(),error:n?d.cancelled:i?r:r||d.collectCredentialsFailed})}finally{I&&i.releaseReservation(I)}}export{p as n,_ as t};
1
+ import{n as e}from"./chunk-dVx5-UGu.js";import{o as t}from"./errors-ADOZT8oV.js";import{c as n,r}from"./helpers-DS0bksx9.js";import{t as i}from"./webauthnPromptCoordinator-9bVeHcTZ.js";import{a}from"./intentDigest-Rh5Mg8X7.js";import{T as o,b as s,f as c,n as l,t as u,u as d,y as f}from"./adapters-u7LVXthY.js";var p=e({handleRegistrationFlow:()=>_});function m(e){return Math.max(0,Math.round(performance.now()-e))}function h(e){return{kind:`passkey_registration_confirm_display_v1`,intendedUserName:e.walletId,accountId:e.walletId,rpId:e.rpId,signerSlot:e.signerSlot}}function g(e){let t={walletId:e.walletId,intendedUserName:e.walletId,prompt:e.prompt};return e.recoveryRegistration?{...t,kind:`wallet_recovery`,recoveryRegistration:e.recoveryRegistration}:e.addAuthMethodRegistration?{...t,kind:`wallet_add_auth_method`,registration:e.addAuthMethodRegistration}:{...t,kind:`wallet_registration`,challengeB64u:e.challengeB64u,signerSlot:e.signerSlot}}async function _(e,p,_,v){let{confirmationConfig:y,transactionSummary:b,theme:x,surface:S}=v,C=performance.now(),w=0,T=0,E=0,D=0,O=0,k=0,A=0,j=0,M=0,N=0,P=0,F=0,I=null,L=()=>({kind:`registration_confirmation_diagnostics_v1`,workerReadyMs:0,workerRequestRoundTripMs:0,workerResponseValidationMs:0,requestSetupMs:w,promptUserMs:T,promptElementDefineMs:E,promptMountMs:D,promptHostFirstUpdateMs:O,promptHostInteractiveMs:k,promptConfirmEventMs:A,promptDecisionWaitMs:j,credentialCreateStartMs:M,credentialCreateMs:N,credentialSerializeMs:P,duplicateRetryCount:F,mainThreadTotalMs:m(C)}),R=l(e),z=u({adapters:R,worker:_,request:p,confirmationConfig:y,transactionSummary:b,theme:x,surface:S}),B=o(p),V=s(p);try{let e=performance.now(),o=p.payload.walletRecoveryRegistration,s=p.payload.walletAddAuthMethodRegistration,c=p.payload.webauthnChallenge,l=o?o.challengeB64u:s?s.challengeB64u:c?.kind===`intent_digest`?String(c.challengeB64u||``).trim():``,u=async()=>{if(l)return l;let e=f(p);if(!e)throw Error(`Missing intentDigest for registration flow`);return a(e)},d=o?.rpId??s?.rpId??R.security.getRpId();if(!d)throw Error(`Missing rpId for registration challenge`);let _=p.payload?.signerSlot??1,v=await u(),y={rpId:d,passkeyRegistration:h({walletId:B,nearAccountId:V,rpId:d,signerSlot:_})};w=m(e);let b={kind:`registration_modal`,requestId:p.requestId};I=await i.reserveRegistrationPrompt({owner:b,expiresAtMs:Date.now()+300*1e3,cancellation:{kind:`none`}});let x=performance.now(),{confirmed:S,error:H,diagnostics:U}=await z.promptUser({securityContext:y});if(T=m(x),E=U.elementDefineMs,D=U.mountMs,O=U.hostFirstUpdateMs,k=U.hostInteractiveMs,A=U.confirmEventMs,j=U.decisionWaitMs,!S)return z.confirmAndCloseModal({requestId:p.requestId,intentDigest:f(p),confirmed:!1,registrationDiagnostics:L(),error:H});let W,G=p.payload?.signerSlot??1;M=m(C);let K=performance.now();try{try{let e={kind:`reserved`,reservation:I,owner:b,cancellation:{kind:`none`}};W=await R.webauthn.createRegistrationCredential(g(o?{walletId:B,recoveryRegistration:o,prompt:e}:s?{walletId:B,addAuthMethodRegistration:s,prompt:e}:{walletId:B,challengeB64u:v,signerSlot:G,prompt:e}))}catch(e){let n=t(e),r=String(n?.name||``),i=String(n?.message||``);if(r===`InvalidStateError`||/excluded|already\s*registered/i.test(i)){if(F+=1,l)throw Error(`Registration credential already exists for this wallet registration intent; create a fresh intent before retrying`);if(p.payload.walletRecoveryRegistration||s)throw Error(`Server-issued registration requires a fresh ceremony`);let e=G!==void 0&&Number.isFinite(G)?G+1:2;G=e,p.payload.signerSlot=e,p.intentDigest=p.type===`registerAccount`?`register:${B}:${e}`:`device2-register:${B}:${e}`,v=await u(),W=await R.webauthn.createRegistrationCredential(g({walletId:B,challengeB64u:v,signerSlot:e,prompt:{kind:`immediate`,requestId:p.requestId,cancellation:{kind:`none`}}}))}else throw console.error(`[RegistrationFlow] credentials.create failed (non-duplicate)`,{name:r,msg:i}),n}}finally{N=m(K)}let q=performance.now(),J=r(W)?W:n({credential:W,firstPrfOutput:!0,secondPrfOutput:!0});P=m(q),z.confirmAndCloseModal({requestId:p.requestId,intentDigest:f(p),confirmed:!0,credential:J,registrationDiagnostics:L()})}catch(e){let n=c(e),r=String(t(e)?.message||e||``);n&&window.parent?.postMessage({type:`WALLET_UI_CLOSED`},`*`);let i=/WebAuthn PRF output is missing from navigator\.credentials\.create\(\)/i.test(r)||/does not fully support the WebAuthn PRF extension during registration/i.test(r)||/roaming hardware authenticators .* not supported in this flow/i.test(r);return z.confirmAndCloseModal({requestId:p.requestId,intentDigest:f(p),confirmed:!1,registrationDiagnostics:L(),error:n?d.cancelled:i?r:r||d.collectCredentialsFailed})}finally{I&&i.releaseReservation(I)}}export{p as n,_ as t};