@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,3 +1,5 @@
1
+ import { walletDisplayText } from "../../../../ui/messages.js";
2
+ import { WalletLocaleContext, WalletText } from "./WalletLocale.js";
1
3
  import { announceClampedSurfaceResize } from "../confirm-surface-resize.js";
2
4
  import { TransactionLabel, transactionLabelTitle } from "./TransactionLabel.js";
3
5
  import { copySurfaceText } from "./clipboard.js";
@@ -55,123 +57,20 @@ function TransactionTree(props) {
55
57
  });
56
58
  }
57
59
  var TransactionNode = class extends Component {
58
- constructor(..._args) {
59
- super(..._args);
60
- this.state = {
61
- mode: this.props.node.contentVariants?.defaultMode === "raw" ? "raw" : "decoded",
62
- copied: false
63
- };
64
- this.id = `seams-tree-node-${++nextNodeId}`;
65
- this.details = createRef();
66
- this.shell = createRef();
67
- this.disposed = false;
68
- this.copiedTimer = null;
69
- this.frame = null;
70
- this.motionTimer = null;
71
- this.motion = null;
72
- this.modeHeight = null;
73
- this.setHeight = (height) => {
74
- if (this.disposed) return;
75
- this.props.styles.setDynamicDeclarations(this.id, `#${this.id}`, { "--seams-tree__anim-target": `${height}px` });
76
- };
77
- this.releaseHeight = () => {
78
- this.props.styles.deleteDynamicRule(this.id);
79
- };
80
- this.clearCopied = () => {
81
- this.copiedTimer = null;
82
- if (!this.disposed) this.setState({ copied: false });
83
- };
84
- this.copy = async (event) => {
85
- event.preventDefault();
86
- event.stopPropagation();
87
- const value = this.props.node.copyValue;
88
- if (!value) return;
89
- const root = event.currentTarget.closest(".seams-tx-tree");
90
- if (!root) return;
91
- try {
92
- if (!await copySurfaceText(root, value)) return;
93
- if (this.disposed) return;
94
- if (this.copiedTimer !== null) clearTimeout(this.copiedTimer);
95
- this.setState({ copied: true });
96
- this.copiedTimer = setTimeout(this.clearCopied, 2e3);
97
- this.props.onCopy?.(value);
98
- } catch {}
99
- };
100
- this.toggleMode = (event) => {
101
- event.preventDefault();
102
- event.stopPropagation();
103
- if (!hasContentVariants(this.props.node)) return;
104
- if (this.shell.current) {
105
- this.modeHeight = this.shell.current.getBoundingClientRect().height;
106
- this.setHeight(this.modeHeight);
107
- this.shell.current.classList.add(...drivenClasses);
108
- }
109
- this.setState({ mode: this.state.mode === "decoded" ? "raw" : "decoded" });
110
- };
111
- this.toggle = (event) => {
112
- if (event.target.closest("a, button")) {
113
- event.stopPropagation();
114
- return;
115
- }
116
- event.preventDefault();
117
- event.stopPropagation();
118
- const details = this.details.current;
119
- if (!details || this.motion) return;
120
- const body = details.querySelector(":scope > .folder-children");
121
- const open = !details.open;
122
- const reduced = details.ownerDocument.defaultView.matchMedia("(prefers-reduced-motion: reduce)").matches;
123
- if (!body || reduced) {
124
- details.open = open;
125
- this.props.onToggle?.(this.props.node.id, open);
126
- return;
127
- }
128
- this.motion = {
129
- body,
130
- open
131
- };
132
- const height = open ? 0 : body.getBoundingClientRect().height;
133
- this.setHeight(height);
134
- body.classList.add("anim-h", "anim-h-active", "anim-h-hold");
135
- details.open = true;
136
- body.offsetHeight;
137
- this.frame = details.ownerDocument.defaultView.requestAnimationFrame(this.startMotion);
138
- };
139
- this.startMotion = () => {
140
- this.frame = null;
141
- if (!this.motion || this.disposed) return;
142
- const { body, open } = this.motion;
143
- const fromCssPx = body.getBoundingClientRect().height;
144
- const toCssPx = open ? body.scrollHeight : 0;
145
- if (announceClampedSurfaceResize({
146
- reason: this.props.node.id,
147
- element: body,
148
- drivenClasses,
149
- fromCssPx,
150
- toCssPx,
151
- setHeightCssPx: this.setHeight,
152
- onSettled: this.finishMotion
153
- })) return;
154
- body.addEventListener("transitionend", this.onTransitionEnd);
155
- body.classList.remove("anim-h-hold");
156
- this.setHeight(toCssPx);
157
- this.motionTimer = setTimeout(this.finishMotion, open ? 200 : 250);
158
- };
159
- this.onTransitionEnd = (event) => {
160
- if (event.target === this.motion?.body && event.propertyName === "height") this.finishMotion();
161
- };
162
- this.finishMotion = () => {
163
- if (this.disposed || !this.motion) return;
164
- const { body, open } = this.motion;
165
- this.motion = null;
166
- if (this.motionTimer !== null) clearTimeout(this.motionTimer);
167
- this.motionTimer = null;
168
- body.removeEventListener("transitionend", this.onTransitionEnd);
169
- body.classList.remove(...motionClasses);
170
- if (this.details.current) this.details.current.open = open;
171
- this.releaseHeight();
172
- this.props.onToggle?.(this.props.node.id, open);
173
- };
174
- }
60
+ static contextType = WalletLocaleContext;
61
+ state = {
62
+ mode: this.props.node.contentVariants?.defaultMode === "raw" ? "raw" : "decoded",
63
+ copied: false
64
+ };
65
+ id = `seams-tree-node-${++nextNodeId}`;
66
+ details = createRef();
67
+ shell = createRef();
68
+ disposed = false;
69
+ copiedTimer = null;
70
+ frame = null;
71
+ motionTimer = null;
72
+ motion = null;
73
+ modeHeight = null;
175
74
  componentDidUpdate(previous) {
176
75
  if (previous.styles !== this.props.styles) previous.styles.deleteDynamicRule(this.id);
177
76
  if (this.modeHeight !== null && this.shell.current) {
@@ -204,6 +103,107 @@ var TransactionNode = class extends Component {
204
103
  this.motion = null;
205
104
  this.releaseHeight();
206
105
  }
106
+ setHeight = (height) => {
107
+ if (this.disposed) return;
108
+ this.props.styles.setDynamicDeclarations(this.id, `#${this.id}`, { "--seams-tree__anim-target": `${height}px` });
109
+ };
110
+ releaseHeight = () => {
111
+ this.props.styles.deleteDynamicRule(this.id);
112
+ };
113
+ clearCopied = () => {
114
+ this.copiedTimer = null;
115
+ if (!this.disposed) this.setState({ copied: false });
116
+ };
117
+ copy = async (event) => {
118
+ event.preventDefault();
119
+ event.stopPropagation();
120
+ const value = this.props.node.copyValue;
121
+ if (!value) return;
122
+ const root = event.currentTarget.closest(".seams-tx-tree");
123
+ if (!root) return;
124
+ try {
125
+ if (!await copySurfaceText(root, value)) return;
126
+ if (this.disposed) return;
127
+ if (this.copiedTimer !== null) clearTimeout(this.copiedTimer);
128
+ this.setState({ copied: true });
129
+ this.copiedTimer = setTimeout(this.clearCopied, 2e3);
130
+ this.props.onCopy?.(value);
131
+ } catch {}
132
+ };
133
+ toggleMode = (event) => {
134
+ event.preventDefault();
135
+ event.stopPropagation();
136
+ if (!hasContentVariants(this.props.node)) return;
137
+ if (this.shell.current) {
138
+ this.modeHeight = this.shell.current.getBoundingClientRect().height;
139
+ this.setHeight(this.modeHeight);
140
+ this.shell.current.classList.add(...drivenClasses);
141
+ }
142
+ this.setState({ mode: this.state.mode === "decoded" ? "raw" : "decoded" });
143
+ };
144
+ toggle = (event) => {
145
+ if (event.target.closest("a, button")) {
146
+ event.stopPropagation();
147
+ return;
148
+ }
149
+ event.preventDefault();
150
+ event.stopPropagation();
151
+ const details = this.details.current;
152
+ if (!details || this.motion) return;
153
+ const body = details.querySelector(":scope > .folder-children");
154
+ const open = !details.open;
155
+ const reduced = details.ownerDocument.defaultView.matchMedia("(prefers-reduced-motion: reduce)").matches;
156
+ if (!body || reduced) {
157
+ details.open = open;
158
+ this.props.onToggle?.(this.props.node.id, open);
159
+ return;
160
+ }
161
+ this.motion = {
162
+ body,
163
+ open
164
+ };
165
+ const height = open ? 0 : body.getBoundingClientRect().height;
166
+ this.setHeight(height);
167
+ body.classList.add("anim-h", "anim-h-active", "anim-h-hold");
168
+ details.open = true;
169
+ body.offsetHeight;
170
+ this.frame = details.ownerDocument.defaultView.requestAnimationFrame(this.startMotion);
171
+ };
172
+ startMotion = () => {
173
+ this.frame = null;
174
+ if (!this.motion || this.disposed) return;
175
+ const { body, open } = this.motion;
176
+ const fromCssPx = body.getBoundingClientRect().height;
177
+ const toCssPx = open ? body.scrollHeight : 0;
178
+ if (announceClampedSurfaceResize({
179
+ reason: this.props.node.id,
180
+ element: body,
181
+ drivenClasses,
182
+ fromCssPx,
183
+ toCssPx,
184
+ setHeightCssPx: this.setHeight,
185
+ onSettled: this.finishMotion
186
+ })) return;
187
+ body.addEventListener("transitionend", this.onTransitionEnd);
188
+ body.classList.remove("anim-h-hold");
189
+ this.setHeight(toCssPx);
190
+ this.motionTimer = setTimeout(this.finishMotion, open ? 200 : 250);
191
+ };
192
+ onTransitionEnd = (event) => {
193
+ if (event.target === this.motion?.body && event.propertyName === "height") this.finishMotion();
194
+ };
195
+ finishMotion = () => {
196
+ if (this.disposed || !this.motion) return;
197
+ const { body, open } = this.motion;
198
+ this.motion = null;
199
+ if (this.motionTimer !== null) clearTimeout(this.motionTimer);
200
+ this.motionTimer = null;
201
+ body.removeEventListener("transitionend", this.onTransitionEnd);
202
+ body.classList.remove(...motionClasses);
203
+ if (this.details.current) this.details.current.open = open;
204
+ this.releaseHeight();
205
+ this.props.onToggle?.(this.props.node.id, open);
206
+ };
207
207
  label(chevron) {
208
208
  const node = this.props.node;
209
209
  return /* @__PURE__ */ jsxs("span", {
@@ -213,7 +213,7 @@ var TransactionNode = class extends Component {
213
213
  chevron && !node.hideChevron && /* @__PURE__ */ jsx(Chevron, {}),
214
214
  /* @__PURE__ */ jsx("span", {
215
215
  class: "label-text",
216
- title: transactionLabelTitle(node),
216
+ title: walletDisplayText(this.context, transactionLabelTitle(node)),
217
217
  children: /* @__PURE__ */ jsx(TransactionLabel, {
218
218
  node,
219
219
  explorers: this.props.explorers
@@ -224,7 +224,7 @@ var TransactionNode = class extends Component {
224
224
  class: "copy-badge",
225
225
  "data-copied": String(this.state.copied),
226
226
  onClick: this.copy,
227
- title: this.state.copied ? "Copied" : "Copy",
227
+ title: walletDisplayText(this.context, this.state.copied ? "Copied" : "Copy"),
228
228
  children: this.state.copied ? "copied" : "copy"
229
229
  })
230
230
  ]
@@ -261,10 +261,10 @@ var TransactionNode = class extends Component {
261
261
  children: [variants && /* @__PURE__ */ jsx("button", {
262
262
  type: "button",
263
263
  class: "file-content-mode-toggle",
264
- title: `Show ${toggleLabel}`,
265
- "aria-label": `Show ${toggleLabel}`,
264
+ title: walletDisplayText(this.context, `Show ${toggleLabel}`),
265
+ "aria-label": walletDisplayText(this.context, `Show ${toggleLabel}`),
266
266
  onClick: this.toggleMode,
267
- children: toggleLabel
267
+ children: /* @__PURE__ */ jsx(WalletText, { copy: toggleLabel })
268
268
  }), /* @__PURE__ */ jsx("div", {
269
269
  class: "file-content",
270
270
  children: content
@@ -0,0 +1,24 @@
1
+ import { walletDisplayText, walletText } from "../../../../ui/messages.js";
2
+ import { createContext } from "preact";
3
+ import { useContext } from "preact/hooks";
4
+ import { jsx } from "preact/jsx-runtime";
5
+ //#region src/core/signingEngine/uiConfirm/ui/preact/WalletLocale.tsx
6
+ /** @jsxImportSource preact */
7
+ const WalletLocaleContext = createContext("en");
8
+ function useWalletLocale() {
9
+ return useContext(WalletLocaleContext);
10
+ }
11
+ function withWalletLocale(locale, children) {
12
+ return /* @__PURE__ */ jsx(WalletLocaleContext.Provider, {
13
+ value: locale,
14
+ children
15
+ });
16
+ }
17
+ function WalletText(props) {
18
+ const locale = useWalletLocale();
19
+ return props.message === void 0 ? walletDisplayText(locale, props.copy) : walletText(locale, props.message, props.values);
20
+ }
21
+ //#endregion
22
+ export { WalletLocaleContext, WalletText, useWalletLocale, withWalletLocale };
23
+
24
+ //# sourceMappingURL=WalletLocale.js.map
@@ -1,89 +1,30 @@
1
1
  //#region src/core/signingEngine/uiConfirm/ui/preact/email-otp-session.ts
2
2
  var EmailOtpSession = class {
3
+ codeState = {
4
+ kind: "editing",
5
+ code: ""
6
+ };
7
+ resendState = {
8
+ kind: "available",
9
+ label: "Resend code"
10
+ };
11
+ error = "";
12
+ countdown = null;
13
+ options;
3
14
  constructor(options) {
15
+ this.options = options;
16
+ }
17
+ input = (rawValue) => {
18
+ if (this.codeState.kind !== "editing") return;
19
+ const code = rawValue.replace(/\D/g, "").slice(0, 6);
20
+ this.error = "";
4
21
  this.codeState = {
5
22
  kind: "editing",
6
- code: ""
7
- };
8
- this.resendState = {
9
- kind: "available",
10
- label: "Resend code"
11
- };
12
- this.error = "";
13
- this.countdown = null;
14
- this.input = (rawValue) => {
15
- if (this.codeState.kind !== "editing") return;
16
- const code = rawValue.replace(/\D/g, "").slice(0, 6);
17
- this.error = "";
18
- this.codeState = {
19
- kind: "editing",
20
- code
21
- };
22
- if (code.length === 6) this.confirm();
23
- else this.publish();
24
- };
25
- this.submit = () => {
26
- if (this.codeState.kind !== "fading") return;
27
- const code = this.codeState.code;
28
- this.codeState = {
29
- kind: "submitting",
30
- code
31
- };
32
- this.publish();
33
- if (!this.isDisposed()) this.options.onSubmit(code);
34
- };
35
- this.resend = async () => {
36
- if (this.codeState.kind !== "editing" || this.resendState.kind !== "available") return;
37
- const action = this.options.resend;
38
- if (!action) return;
39
- const until = Date.now() + action.cooldownMs;
40
- const pending = {
41
- kind: "sending",
42
- until
43
- };
44
- this.resendState = pending;
45
- this.error = "";
46
- this.publish();
47
- if (this.isDisposed()) return;
48
- let result;
49
- try {
50
- result = await action.send();
51
- } catch {
52
- result = {
53
- kind: "failed",
54
- message: "Could not send code."
55
- };
56
- }
57
- if (this.isDisposed() || this.resendState !== pending) return;
58
- const label = result.kind === "sent" ? "Code sent" : "Resend code";
59
- if (result.kind === "failed") this.error = result.message;
60
- if (Date.now() >= until) this.resendState = {
61
- kind: "available",
62
- label
63
- };
64
- else {
65
- this.resendState = {
66
- kind: "cooldown",
67
- until,
68
- label
69
- };
70
- this.countdown = setInterval(this.tick, 250);
71
- }
72
- this.publish();
73
- };
74
- this.tick = () => {
75
- if (this.resendState.kind !== "cooldown") return;
76
- if (Date.now() >= this.resendState.until) {
77
- this.resendState = {
78
- kind: "available",
79
- label: this.resendState.label
80
- };
81
- this.clearCountdown();
82
- }
83
- this.publish();
23
+ code
84
24
  };
85
- this.options = options;
86
- }
25
+ if (code.length === 6) this.confirm();
26
+ else this.publish();
27
+ };
87
28
  confirm() {
88
29
  if (this.codeState.kind !== "editing") return "ignored";
89
30
  const code = this.codeState.code;
@@ -101,6 +42,16 @@ var EmailOtpSession = class {
101
42
  this.publish();
102
43
  return "accepted";
103
44
  }
45
+ submit = () => {
46
+ if (this.codeState.kind !== "fading") return;
47
+ const code = this.codeState.code;
48
+ this.codeState = {
49
+ kind: "submitting",
50
+ code
51
+ };
52
+ this.publish();
53
+ if (!this.isDisposed()) this.options.onSubmit(code);
54
+ };
104
55
  retry(message) {
105
56
  if (this.codeState.kind === "disposed") return;
106
57
  this.cancelFade();
@@ -130,6 +81,56 @@ var EmailOtpSession = class {
130
81
  return;
131
82
  }
132
83
  }
84
+ resend = async () => {
85
+ if (this.codeState.kind !== "editing" || this.resendState.kind !== "available") return;
86
+ const action = this.options.resend;
87
+ if (!action) return;
88
+ const until = Date.now() + action.cooldownMs;
89
+ const pending = {
90
+ kind: "sending",
91
+ until
92
+ };
93
+ this.resendState = pending;
94
+ this.error = "";
95
+ this.publish();
96
+ if (this.isDisposed()) return;
97
+ let result;
98
+ try {
99
+ result = await action.send();
100
+ } catch {
101
+ result = {
102
+ kind: "failed",
103
+ message: "Could not send code."
104
+ };
105
+ }
106
+ if (this.isDisposed() || this.resendState !== pending) return;
107
+ const label = result.kind === "sent" ? "Code sent" : "Resend code";
108
+ if (result.kind === "failed") this.error = result.message;
109
+ if (Date.now() >= until) this.resendState = {
110
+ kind: "available",
111
+ label
112
+ };
113
+ else {
114
+ this.resendState = {
115
+ kind: "cooldown",
116
+ until,
117
+ label
118
+ };
119
+ this.countdown = setInterval(this.tick, 250);
120
+ }
121
+ this.publish();
122
+ };
123
+ tick = () => {
124
+ if (this.resendState.kind !== "cooldown") return;
125
+ if (Date.now() >= this.resendState.until) {
126
+ this.resendState = {
127
+ kind: "available",
128
+ label: this.resendState.label
129
+ };
130
+ this.clearCountdown();
131
+ }
132
+ this.publish();
133
+ };
133
134
  isDisposed() {
134
135
  return this.codeState.kind === "disposed";
135
136
  }
@@ -1,4 +1,5 @@
1
1
  import { appearanceTokenCssRule } from "../appearance-token-vars.js";
2
+ import { withWalletLocale } from "./WalletLocale.js";
2
3
  import { PadlockIcon } from "./PadlockIcon.js";
3
4
  import { confirmationDocumentStyles } from "./confirmation-styles.js";
4
5
  import { ConfirmationContent } from "./ConfirmationContent.js";
@@ -34,45 +35,21 @@ function captureReceiptAnchors(surface) {
34
35
  }
35
36
  let nextSurfaceId = 0;
36
37
  var MountedConfirmationSurface = class {
37
- constructor(input) {
38
- this.receipt = null;
38
+ element;
39
+ styles;
40
+ presentation;
41
+ state;
42
+ receipt = null;
43
+ receiptMotion = [];
44
+ receiptShell = null;
45
+ clearReceiptMotion = () => {
46
+ for (const animation of this.receiptMotion) animation.cancel();
39
47
  this.receiptMotion = [];
48
+ this.receiptShell?.remove();
40
49
  this.receiptShell = null;
41
- this.clearReceiptMotion = () => {
42
- for (const animation of this.receiptMotion) animation.cancel();
43
- this.receiptMotion = [];
44
- this.receiptShell?.remove();
45
- this.receiptShell = null;
46
- this.element.removeAttribute("data-receipt-morphing");
47
- };
48
- this.dispose = () => {
49
- if (this.state.kind === "disposed") return;
50
- const onClosed = this.state.onClosed;
51
- this.remove();
52
- onClosed();
53
- };
54
- this.cancel = () => {
55
- if (this.state.kind !== "mounted") return;
56
- if (this.receipt) {
57
- if (receiptIsPending(this.receipt.state)) this.receipt.onView("toast");
58
- else this.receipt.onDismiss();
59
- return;
60
- }
61
- const content = this.state.model.content;
62
- if (content.kind === "registration") content.registration.onCancel();
63
- else content.transaction.onCancel();
64
- };
65
- this.confirm = () => {
66
- if (this.state.kind !== "mounted") return;
67
- const content = this.state.model.content;
68
- const decision = content.kind === "registration" ? content.registration.decision : content.transaction.decision;
69
- if (decision.kind === "ready") decision.onConfirm();
70
- };
71
- this.submitOtp = (code, challengeId) => {
72
- if (this.state.kind !== "mounted") return;
73
- const content = this.state.model.content;
74
- if (content.kind === "transaction" && content.prompt.kind === "email") content.prompt.email.onSubmit(code, challengeId);
75
- };
50
+ this.element.removeAttribute("data-receipt-morphing");
51
+ };
52
+ constructor(input) {
76
53
  const document = input.parent.ownerDocument;
77
54
  this.styles = confirmationDocumentStyles(document);
78
55
  this.presentation = {
@@ -103,6 +80,7 @@ var MountedConfirmationSurface = class {
103
80
  this.state.model = model;
104
81
  this.element.dataset.confirmationKind = model.content.kind;
105
82
  this.element.dataset.seamsConfirmReady = String(model.content.kind === "transaction" && model.content.transaction.decision.kind === "ready");
83
+ this.element.lang = model.appearance.locale ?? "en";
106
84
  this.element.dataset.theme = model.appearance.theme.mode;
107
85
  this.styles.setDynamicRule(this.element.id, appearanceTokenCssRule(this.element.id, model.appearance));
108
86
  this.renderSurface();
@@ -196,6 +174,12 @@ var MountedConfirmationSurface = class {
196
174
  morph.onfinish = this.clearReceiptMotion;
197
175
  }
198
176
  }
177
+ dispose = () => {
178
+ if (this.state.kind === "disposed") return;
179
+ const onClosed = this.state.onClosed;
180
+ this.remove();
181
+ onClosed();
182
+ };
199
183
  remove() {
200
184
  this.clearReceiptMotion();
201
185
  this.state = { kind: "disposed" };
@@ -204,6 +188,28 @@ var MountedConfirmationSurface = class {
204
188
  this.styles.deleteDynamicRule(this.element.id);
205
189
  this.element.remove();
206
190
  }
191
+ cancel = () => {
192
+ if (this.state.kind !== "mounted") return;
193
+ if (this.receipt) {
194
+ if (receiptIsPending(this.receipt.state)) this.receipt.onView("toast");
195
+ else this.receipt.onDismiss();
196
+ return;
197
+ }
198
+ const content = this.state.model.content;
199
+ if (content.kind === "registration") content.registration.onCancel();
200
+ else content.transaction.onCancel();
201
+ };
202
+ confirm = () => {
203
+ if (this.state.kind !== "mounted") return;
204
+ const content = this.state.model.content;
205
+ const decision = content.kind === "registration" ? content.registration.decision : content.transaction.decision;
206
+ if (decision.kind === "ready") decision.onConfirm();
207
+ };
208
+ submitOtp = (code, challengeId) => {
209
+ if (this.state.kind !== "mounted") return;
210
+ const content = this.state.model.content;
211
+ if (content.kind === "transaction" && content.prompt.kind === "email") content.prompt.email.onSubmit(code, challengeId);
212
+ };
207
213
  renderSurface() {
208
214
  const state = this.state;
209
215
  if (state.kind === "disposed") return;
@@ -220,16 +226,16 @@ var MountedConfirmationSurface = class {
220
226
  });
221
227
  const label = source.kind === "registration" ? source.registration.heading : source.header.heading;
222
228
  if (this.receipt || this.presentation.variant === "modal") {
223
- render(/* @__PURE__ */ jsx(ConfirmationModal, {
229
+ render(withWalletLocale(state.model.appearance.locale ?? "en", /* @__PURE__ */ jsx(ConfirmationModal, {
224
230
  context: this.receipt ? "wallet-iframe" : this.presentation.context,
225
231
  label,
226
232
  onCancel: this.cancel,
227
233
  children: content
228
- }), this.element);
234
+ })), this.element);
229
235
  return;
230
236
  }
231
237
  const decision = source.kind === "registration" ? source.registration.decision : source.transaction.decision;
232
- render(/* @__PURE__ */ jsx(ConfirmationDrawer, {
238
+ render(withWalletLocale(state.model.appearance.locale ?? "en", /* @__PURE__ */ jsx(ConfirmationDrawer, {
233
239
  context: this.presentation.context,
234
240
  label,
235
241
  origin: source.kind === "transaction" && source.header.website.kind === "ready" ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(PadlockIcon, {}), source.header.website.text] }) : void 0,
@@ -244,7 +250,7 @@ var MountedConfirmationSurface = class {
244
250
  },
245
251
  onCancel: this.cancel,
246
252
  children: content
247
- }), this.element);
253
+ })), this.element);
248
254
  }
249
255
  contentModel(source, closing) {
250
256
  switch (source.kind) {
@@ -1,4 +1,5 @@
1
1
  import { appearanceTokenCssRule } from "../appearance-token-vars.js";
2
+ import { withWalletLocale } from "./WalletLocale.js";
2
3
  import { confirmationDocumentStyles } from "./confirmation-styles.js";
3
4
  import { RecoveryCodeBackupSurface } from "./RecoveryCodeBackupSurface.js";
4
5
  import { render } from "preact";
@@ -7,21 +8,18 @@ import { jsx } from "preact/jsx-runtime";
7
8
  /** @jsxImportSource preact */
8
9
  let nextRecoverySurfaceId = 0;
9
10
  var MountedRecoveryCodeBackupSurface = class {
11
+ element;
12
+ dialog;
13
+ document;
14
+ input;
15
+ state = "mounted";
10
16
  constructor(input) {
11
- this.state = "mounted";
12
- this.handleCancel = (event) => {
13
- event.preventDefault();
14
- this.input.onCancel();
15
- };
16
- this.handleStageChange = (stage) => {
17
- if (this.state === "disposed") return;
18
- this.dialog.dataset.seamsRecoveryStage = stage;
19
- };
20
17
  this.input = input;
21
18
  this.document = input.parent.ownerDocument;
22
19
  this.element = this.document.createElement("div");
23
20
  this.element.id = `seams-recovery-surface-${++nextRecoverySurfaceId}`;
24
21
  this.element.className = "seams-wallet-ui seams-recovery-code-backup-host";
22
+ this.element.lang = input.appearance?.locale ?? "en";
25
23
  this.element.dataset.seamsRecoverySurface = input.surface;
26
24
  if (input.appearance) {
27
25
  this.element.dataset.theme = input.appearance.theme.mode;
@@ -63,12 +61,20 @@ var MountedRecoveryCodeBackupSurface = class {
63
61
  render(experience) {
64
62
  if (this.state === "disposed") return;
65
63
  this.element.dataset.seamsRecoveryEntry = experience.kind;
66
- render(/* @__PURE__ */ jsx(RecoveryCodeBackupSurface, {
64
+ render(withWalletLocale(this.input.appearance?.locale ?? "en", /* @__PURE__ */ jsx(RecoveryCodeBackupSurface, {
67
65
  experience,
68
66
  onClose: this.input.onClose,
69
67
  onStageChange: this.handleStageChange
70
- }), this.dialog);
68
+ })), this.dialog);
71
69
  }
70
+ handleCancel = (event) => {
71
+ event.preventDefault();
72
+ this.input.onCancel();
73
+ };
74
+ handleStageChange = (stage) => {
75
+ if (this.state === "disposed") return;
76
+ this.dialog.dataset.seamsRecoveryStage = stage;
77
+ };
72
78
  focusTitle() {
73
79
  this.dialog.querySelector(".recovery-backup-title")?.focus();
74
80
  }