@seams/wallet 0.15.4 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/README.md +47 -19
  2. package/THIRD_PARTY_NOTICES.md +102 -1
  3. package/dist/.build-inputs.sha256 +1 -1
  4. package/dist/esm/SeamsWeb/SeamsWeb.js +20 -1
  5. package/dist/esm/SeamsWeb/operations/registration/registrationSignerSet.js +73 -0
  6. package/dist/esm/SeamsWeb/operations/session/thresholdEcdsaProvisioning.js +22 -0
  7. package/dist/esm/SeamsWeb/publicApi/capabilitySelection.js +2 -1
  8. package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +26 -1
  9. package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-controller.js +71 -69
  10. package/dist/esm/SeamsWeb/walletIframe/client/preferenceState.js +6 -8
  11. package/dist/esm/SeamsWeb/walletIframe/client/preferences.js +7 -5
  12. package/dist/esm/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +2 -1
  13. package/dist/esm/SeamsWeb/walletIframe/client/router.js +116 -108
  14. package/dist/esm/SeamsWeb/walletIframe/client/surface/transactionSurfaceQueue.js +11 -7
  15. package/dist/esm/SeamsWeb/walletIframe/client/transactionReviewReservation.js +3 -2
  16. package/dist/esm/SeamsWeb/walletIframe/client/transport/IframeTransport.js +53 -49
  17. package/dist/esm/SeamsWeb/walletIframe/client/transport/iframe-transport-handshake.js +6 -2
  18. package/dist/esm/SeamsWeb/walletIframe/coordinator.js +18 -13
  19. package/dist/esm/SeamsWeb/walletIframe/host/auth-menu/domain.js +13 -1
  20. package/dist/esm/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +14 -13
  21. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.js +1 -4
  22. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +306 -301
  23. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +9 -6
  24. package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +1 -0
  25. package/dist/esm/core/config/configBuilder.js +1 -1
  26. package/dist/esm/core/config/defaultConfigs.js +1 -0
  27. package/dist/esm/core/indexedDB/accountSignerLifecycle.js +2 -0
  28. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +1 -0
  29. package/dist/esm/core/indexedDB/seamsWalletDB/manager.js +6 -5
  30. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +2 -0
  31. package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +2 -2
  32. package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +6 -3
  33. package/dist/esm/core/rpcClients/near/NearRpcError.js +7 -0
  34. package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +3 -0
  35. package/dist/esm/core/rpcClients/relayer/walletRegistration.js +6 -2
  36. package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +5 -4
  37. package/dist/esm/core/signingEngine/chains/evm/evmAdapter.js +2 -1
  38. package/dist/esm/core/signingEngine/chains/tempo/tempoAdapter.js +2 -1
  39. package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +1 -1
  40. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +5 -1
  41. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/webauthnP256.js +1 -1
  42. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +3 -2
  43. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignatureRefillProgress.js +5 -7
  44. package/dist/esm/core/signingEngine/session/lifecycle/walletSessionFailure.js +2 -0
  45. package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +68 -10
  46. package/dist/esm/core/signingEngine/session/material/walletSigningStateFailure.js +2 -2
  47. package/dist/esm/core/signingEngine/session/operationState/authorizationAdmission.js +2 -0
  48. package/dist/esm/core/signingEngine/stepUpConfirmation/methodSelection.js +2 -0
  49. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.js +29 -28
  50. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.js +3 -6
  51. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +20 -23
  52. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.js +134 -137
  53. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +17 -20
  54. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpContent.js +41 -39
  55. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.js +14 -17
  56. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/HaloBorder.js +21 -24
  57. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.js +6 -9
  58. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +100 -103
  59. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +70 -73
  60. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +23 -26
  61. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +19 -22
  62. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionTree.js +114 -117
  63. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/email-otp-session.js +81 -80
  64. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +41 -37
  65. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +13 -9
  66. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +4 -21
  67. package/dist/esm/core/types/actionBuilders.js +16 -2
  68. package/dist/esm/core/types/amounts.js +83 -0
  69. package/dist/esm/core/types/linkDevice.js +1 -1
  70. package/dist/esm/externalEvm/controller.js +49 -48
  71. package/dist/esm/index.js +2 -1
  72. package/dist/esm/react/boundWallet.js +56 -0
  73. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +13 -2
  74. package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +90 -93
  75. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +55 -58
  76. package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +17 -6
  77. package/dist/esm/react/components/ShowQRCode.css +13 -2
  78. package/dist/esm/react/context/index.js +30 -3
  79. package/dist/esm/react/context/useSeamsWithSdkFlow.js +1 -1
  80. package/dist/esm/react/externalEvm.js +22 -25
  81. package/dist/esm/react/index.js +4 -4
  82. package/dist/esm/react/styles/styles.css +13 -2
  83. package/dist/esm/react/transactionReview/TransactionReviewHost.js +3 -6
  84. package/dist/esm/react/transactionReview/boundCalls.js +1 -1
  85. package/dist/esm/react/transactionReview/controller.js +121 -119
  86. package/dist/esm/sdk/ConfirmationDrawer-CXVNmfTy.js +1 -0
  87. package/dist/esm/sdk/NonceCoordinator-DuDKN-B8.js +1 -0
  88. package/dist/{public/sdk/accountLifecycle-CBOkr0vU.js → esm/sdk/accountLifecycle-D61FIpFS.js} +1 -1
  89. package/dist/esm/sdk/{activeWalletSession-WdZkhtBB.js → activeWalletSession-Ba6X4CUN.js} +1 -1
  90. package/dist/esm/sdk/adapters-CTlDBRJy.js +2 -0
  91. package/dist/esm/sdk/authorizationAdmission-Dd23mTx7.js +1 -0
  92. package/dist/esm/sdk/{canonicalPrimitives-Dsbsxgxc.js → canonicalPrimitives-BOzRXzfv.js} +1 -1
  93. package/dist/esm/sdk/{capabilityKinds-N8xo_IEh.js → capabilityKinds-D0Yrp9uf.js} +1 -1
  94. package/dist/esm/sdk/{chains-C_X_fNuS.js → chains-CPmd4s9f.js} +1 -1
  95. package/dist/esm/sdk/challengeDelivery-FD9GHK1T.js +1 -0
  96. package/dist/esm/sdk/{clientSessionPersistenceState-CBylL1Ul.js → clientSessionPersistenceState-BHRUSWMt.js} +1 -1
  97. package/dist/esm/sdk/{commitQueue-DYEgzoLA.js → commitQueue-DOIaR0Hr.js} +1 -1
  98. package/dist/esm/sdk/{configHelpers-B-hs0mTO.js → configHelpers-BXdl5Mxs.js} +1 -1
  99. package/dist/esm/sdk/{digestEncoding-BX3VW9eF.js → digestEncoding-CbEFYvlJ.js} +1 -1
  100. package/dist/esm/sdk/{display-DsfJkAra.js → display-CY_aJEn6.js} +1 -1
  101. package/dist/esm/sdk/domainIds-C3fUa33Q.js +1 -0
  102. package/dist/esm/sdk/ecdsaCapabilityManifest-DzA996y9.js +1 -0
  103. package/dist/esm/sdk/{ecdsaChainTarget-Bfatk3oP.js → ecdsaChainTarget-DkOrgv4y.js} +1 -1
  104. package/dist/esm/sdk/ecdsaDerivationClientWasm-DQlajPpE.js +1 -0
  105. package/dist/{public/sdk/ecdsaDerivationExport-DOGzq0qC.js → esm/sdk/ecdsaDerivationExport-DyugdheE.js} +1 -1
  106. package/dist/esm/sdk/{ecdsaWalletRecords-CHfrYvKr.js → ecdsaWalletRecords-C_v74n5X.js} +1 -1
  107. package/dist/{public/sdk/emailOtpEcdsaDerivationIdentity-Bik0N8v9.js → esm/sdk/emailOtpEcdsaDerivationIdentity-BDVjvnmO.js} +1 -1
  108. package/dist/esm/sdk/{errors-DIWY1KR9.js → errors-ADOZT8oV.js} +1 -1
  109. package/dist/esm/sdk/export-viewer-host-DsRaS0UH.js +1 -0
  110. package/dist/{public/sdk/exportKeypairOperation-DzbjKbnk.js → esm/sdk/exportKeypairOperation-SJPysnE1.js} +1 -1
  111. package/dist/esm/sdk/{helpers-B9fpZNAP.js → helpers-D3CUEdHI.js} +1 -1
  112. package/dist/esm/sdk/{host-z-JJRWQe.js → host-GPb_mSAQ.js} +1 -1
  113. package/dist/esm/sdk/{intentDigest-P_-CM7lS.js → intentDigest-CGLrsMgj.js} +1 -1
  114. package/dist/esm/sdk/{lanes-5kcTFbPx.js → lanes-DJKIHJBm.js} +1 -1
  115. package/dist/esm/sdk/{localOnly-C5mSXb_D.js → localOnly-CPmpw381.js} +1 -1
  116. package/dist/esm/sdk/mountExportPrivateKeySurface-C8_tpDHF.js +1 -0
  117. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-BtNFtmSj.js +2 -0
  118. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-J6EHFScV.js +1 -0
  119. package/dist/{public/sdk/nearEd25519YaoSigningPreparation-RIfkYN0d.js → esm/sdk/nearEd25519YaoSigningPreparation-CqBNMG87.js} +1 -1
  120. package/dist/esm/sdk/{nonceLaneKeys-BCYfl1wv.js → nonceLaneKeys-D18nlLjh.js} +1 -1
  121. package/dist/esm/sdk/{normalization-n503J-BI.js → normalization-Ct9-AY13.js} +1 -1
  122. package/dist/esm/sdk/{operationFingerprint-BHNYryLY.js → operationFingerprint-Boa9DQ51.js} +1 -1
  123. package/dist/esm/sdk/{passkey-custody-DpTM-eNJ.js → passkey-custody-CBSal3E9.js} +1 -1
  124. package/dist/esm/sdk/{pendingWalletRecoveryCodeBackup-C60sZMj5.js → pendingWalletRecoveryCodeBackup-CvsrXbzn.js} +1 -1
  125. package/dist/esm/sdk/presignaturePool-CQNt13kE.js +1 -0
  126. package/dist/esm/sdk/{primitives-CqrjmIAH.js → primitives-cC0a9GRC.js} +1 -1
  127. package/dist/{public/sdk/recovery-entrypoint-BULjaFBM.js → esm/sdk/recovery-entrypoint-nj7Zo3CR.js} +1 -1
  128. package/dist/esm/sdk/{registration-CyF7nOXs.js → registration-49OGU_GZ.js} +1 -1
  129. package/dist/esm/sdk/registration-C7tywPXF.js +1 -0
  130. package/dist/esm/sdk/{registrationAccounts-BQMUusdD.js → registrationAccounts-9GFI0Ger.js} +1 -1
  131. package/dist/esm/sdk/{registrationAuthMethodInput-RbSR7R1G.js → registrationAuthMethodInput-B23_HRil.js} +1 -1
  132. package/dist/esm/sdk/{registrationIds-BaK3jUS6.js → registrationIds-Br-zI4_5.js} +1 -1
  133. package/dist/esm/sdk/{registrationIntent-090Zj7Iu.js → registrationIntent-PqmcTEE3.js} +1 -1
  134. package/dist/esm/sdk/{registrationSignerPlan-CPzHavPM.js → registrationSignerPlan-BHkqlian.js} +1 -1
  135. package/dist/{public/sdk/requireStepUpAuth-BCY5ZStI.js → esm/sdk/requireStepUpAuth-C4PGTly-.js} +1 -1
  136. package/dist/esm/sdk/routerAbNormalSigning-xxATTIh5.js +1 -0
  137. package/dist/esm/sdk/runtime-auth-CpjGW90U.js +1 -0
  138. package/dist/esm/sdk/{runtime-device-link-Dq8g_UNb.js → runtime-device-link-CKgfGi7D.js} +1 -1
  139. package/dist/esm/sdk/{runtime-ecdsa-tempo-AGjT7Xpa.js → runtime-ecdsa-tempo-5VV9xSEh.js} +1 -1
  140. package/dist/esm/sdk/{runtime-email-otp-BpBOuSsT.js → runtime-email-otp-D1hYZNn6.js} +1 -1
  141. package/dist/esm/sdk/{runtime-export-CBsacCPY.js → runtime-export-B92wQD25.js} +1 -1
  142. package/dist/esm/sdk/{runtime-near-J3hKjC7G.js → runtime-near-CUuKg38M.js} +1 -1
  143. package/dist/esm/sdk/runtime-preferences-EdL3G_MO.js +1 -0
  144. package/dist/esm/sdk/{runtime-recovery-codes-GOytzExh.js → runtime-recovery-codes-LR4mg7-k.js} +1 -1
  145. package/dist/esm/sdk/runtime-recovery-uyw8sywI.js +1 -0
  146. package/dist/esm/sdk/{sdkSentEvents-D4KtK7_I.js → sdkSentEvents-DujYAPEM.js} +1 -1
  147. package/dist/esm/sdk/secp256k1-BldUPNQI.js +1 -0
  148. package/dist/{public/sdk/sessionObservationRevision-CnEOLDbl.js → esm/sdk/sessionObservationRevision-DmmNV25w.js} +1 -1
  149. package/dist/esm/sdk/shared-ha31XIdc.js +6 -0
  150. package/dist/{public/sdk/signEvmFamily-Cpm3e6Zs.js → esm/sdk/signEvmFamily-C_RvEnDB.js} +1 -1
  151. package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-CUKdq5dE.js +1 -0
  152. package/dist/esm/sdk/{signEvmWithUiConfirm-BRmdLgmm.js → signEvmWithUiConfirm-CxXzcvj2.js} +1 -1
  153. package/dist/esm/sdk/signNear-Dno7NsP_.js +1 -0
  154. package/dist/esm/sdk/signatureUses-B_nN17i7.js +1 -0
  155. package/dist/esm/sdk/{signerDomain-Dp7BhfmZ.js → signerDomain-BFqRQ0Jl.js} +1 -1
  156. package/dist/{public/sdk/signingFlow-VAnM8L5C.js → esm/sdk/signingFlow-DtugI_2z.js} +2 -2
  157. package/dist/esm/sdk/{signingQueue-D_Ebmzcn.js → signingQueue-C1Pb07gm.js} +1 -1
  158. package/dist/{public/sdk/singletons-BXhnsqeY.js → esm/sdk/singletons-DxIyVhNb.js} +1 -1
  159. package/dist/esm/sdk/surface-measurement-reporter-BJhfiPw6.js +1 -0
  160. package/dist/{public/sdk/thresholdEcdsa-CneSKcRt.js → esm/sdk/thresholdEcdsa-murTq-xz.js} +1 -1
  161. package/dist/esm/sdk/{trace-BBux0jtr.js → trace-CsRMlSh1.js} +1 -1
  162. package/dist/{public/sdk/transaction-activity-Cccvec2J.js → esm/sdk/transaction-activity-C0nCSW6c.js} +1 -1
  163. package/dist/esm/sdk/transactionReviewAdmission-CNNho8IG.js +1 -0
  164. package/dist/{public/sdk/transactionState-Day-1x7Y.js → esm/sdk/transactionState-XbZm9Zon.js} +1 -1
  165. package/dist/esm/sdk/tx-confirm-ui.js +709 -744
  166. package/dist/esm/sdk/{types-hKLqDUhR.js → types-CQTWmtqu.js} +1 -1
  167. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  168. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  169. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  170. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  171. package/dist/{public/sdk/wallet-recovery-Bfhfk52N.js → esm/sdk/wallet-recovery-CVUalZ3p.js} +1 -1
  172. package/dist/esm/sdk/wallet-ui.css +1 -1
  173. package/dist/{public/sdk/walletAuthMethodRecord-LniOQQmj.js → esm/sdk/walletAuthMethodRecord-Bv68Vq-g.js} +1 -1
  174. package/dist/esm/sdk/{walletAuthority-CAiGuWW2.js → walletAuthority-v5wvv3IB.js} +1 -1
  175. package/dist/esm/sdk/walletCustodyEcdsaContinuity-rRHExT_R.js +1 -0
  176. package/dist/esm/sdk/{walletDbName-DtRewci9.js → walletDbName-DRzPv5Ir.js} +1 -1
  177. package/dist/esm/sdk/{walletOwnershipGeneration-B6HyR2rE.js → walletOwnershipGeneration-pMmmJ6XA.js} +1 -1
  178. package/dist/esm/sdk/{walletRecoveryCommit-C6HF84_U.js → walletRecoveryCommit-DvC6WlGz.js} +1 -1
  179. package/dist/esm/sdk/{walletRecoveryRotate-BN3H8byw.js → walletRecoveryRotate-Dd3prJpr.js} +1 -1
  180. package/dist/esm/sdk/walletRegistrationSetupPrewarm-DcbhVNMQ.js +1 -0
  181. package/dist/esm/sdk/walletSessionAuthorizationStatus-DVV3xkAx.js +1 -0
  182. package/dist/esm/sdk/walletSessionAuthorizationStore-D-MhJ0PC.js +1 -0
  183. package/dist/esm/sdk/walletSessionFailure-C6TAQTZn.js +1 -0
  184. package/dist/esm/sdk/webauthnP256-XgYu-Y6E.js +1 -0
  185. package/dist/esm/sdk/webauthnPromptCoordinator-D5sP8Q7e.js +1 -0
  186. package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +1 -1
  187. package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +6 -0
  188. package/dist/esm/shared-ts/src/near/nearClient.js +6 -0
  189. package/dist/esm/shared-ts/src/threshold/participants.js +2 -1
  190. package/dist/esm/shared-ts/src/threshold/secp256k1.js +6 -0
  191. package/dist/esm/shared-ts/src/utils/domainIds.js +7 -0
  192. package/dist/esm/shared-ts/src/utils/index.js +1 -1
  193. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +14 -1
  194. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +5 -4
  195. package/dist/esm/utils/qrScanner.js +10 -8
  196. package/dist/public/headers.manifest.json +1 -1
  197. package/dist/public/sdk/ConfirmationDrawer-CXVNmfTy.js +1 -0
  198. package/dist/public/sdk/NonceCoordinator-DuDKN-B8.js +1 -0
  199. package/dist/{esm/sdk/accountLifecycle-CBOkr0vU.js → public/sdk/accountLifecycle-D61FIpFS.js} +1 -1
  200. package/dist/public/sdk/{activeWalletSession-WdZkhtBB.js → activeWalletSession-Ba6X4CUN.js} +1 -1
  201. package/dist/public/sdk/adapters-CTlDBRJy.js +2 -0
  202. package/dist/public/sdk/authorizationAdmission-Dd23mTx7.js +1 -0
  203. package/dist/public/sdk/{canonicalPrimitives-Dsbsxgxc.js → canonicalPrimitives-BOzRXzfv.js} +1 -1
  204. package/dist/public/sdk/{capabilityKinds-N8xo_IEh.js → capabilityKinds-D0Yrp9uf.js} +1 -1
  205. package/dist/public/sdk/{chains-C_X_fNuS.js → chains-CPmd4s9f.js} +1 -1
  206. package/dist/public/sdk/challengeDelivery-FD9GHK1T.js +1 -0
  207. package/dist/public/sdk/{clientSessionPersistenceState-CBylL1Ul.js → clientSessionPersistenceState-BHRUSWMt.js} +1 -1
  208. package/dist/public/sdk/{commitQueue-DYEgzoLA.js → commitQueue-DOIaR0Hr.js} +1 -1
  209. package/dist/public/sdk/{configHelpers-B-hs0mTO.js → configHelpers-BXdl5Mxs.js} +1 -1
  210. package/dist/public/sdk/{digestEncoding-BX3VW9eF.js → digestEncoding-CbEFYvlJ.js} +1 -1
  211. package/dist/public/sdk/{display-DsfJkAra.js → display-CY_aJEn6.js} +1 -1
  212. package/dist/public/sdk/domainIds-C3fUa33Q.js +1 -0
  213. package/dist/public/sdk/ecdsaCapabilityManifest-DzA996y9.js +1 -0
  214. package/dist/public/sdk/{ecdsaChainTarget-Bfatk3oP.js → ecdsaChainTarget-DkOrgv4y.js} +1 -1
  215. package/dist/public/sdk/ecdsaDerivationClientWasm-DQlajPpE.js +1 -0
  216. package/dist/{esm/sdk/ecdsaDerivationExport-DOGzq0qC.js → public/sdk/ecdsaDerivationExport-DyugdheE.js} +1 -1
  217. package/dist/public/sdk/{ecdsaWalletRecords-CHfrYvKr.js → ecdsaWalletRecords-C_v74n5X.js} +1 -1
  218. package/dist/{esm/sdk/emailOtpEcdsaDerivationIdentity-Bik0N8v9.js → public/sdk/emailOtpEcdsaDerivationIdentity-BDVjvnmO.js} +1 -1
  219. package/dist/public/sdk/{errors-DIWY1KR9.js → errors-ADOZT8oV.js} +1 -1
  220. package/dist/public/sdk/export-viewer-host-DsRaS0UH.js +1 -0
  221. package/dist/{esm/sdk/exportKeypairOperation-DzbjKbnk.js → public/sdk/exportKeypairOperation-SJPysnE1.js} +1 -1
  222. package/dist/public/sdk/{helpers-B9fpZNAP.js → helpers-D3CUEdHI.js} +1 -1
  223. package/dist/public/sdk/{host-z-JJRWQe.js → host-GPb_mSAQ.js} +1 -1
  224. package/dist/public/sdk/{intentDigest-P_-CM7lS.js → intentDigest-CGLrsMgj.js} +1 -1
  225. package/dist/public/sdk/{lanes-5kcTFbPx.js → lanes-DJKIHJBm.js} +1 -1
  226. package/dist/public/sdk/{localOnly-C5mSXb_D.js → localOnly-CPmpw381.js} +1 -1
  227. package/dist/public/sdk/mountExportPrivateKeySurface-C8_tpDHF.js +1 -0
  228. package/dist/public/sdk/mountRecoveryCodeBackupSurface-BtNFtmSj.js +2 -0
  229. package/dist/public/sdk/nearEd25519YaoMaterialActivation-J6EHFScV.js +1 -0
  230. package/dist/{esm/sdk/nearEd25519YaoSigningPreparation-RIfkYN0d.js → public/sdk/nearEd25519YaoSigningPreparation-CqBNMG87.js} +1 -1
  231. package/dist/public/sdk/{nonceLaneKeys-BCYfl1wv.js → nonceLaneKeys-D18nlLjh.js} +1 -1
  232. package/dist/public/sdk/{normalization-n503J-BI.js → normalization-Ct9-AY13.js} +1 -1
  233. package/dist/public/sdk/{operationFingerprint-BHNYryLY.js → operationFingerprint-Boa9DQ51.js} +1 -1
  234. package/dist/public/sdk/{passkey-custody-DpTM-eNJ.js → passkey-custody-CBSal3E9.js} +1 -1
  235. package/dist/public/sdk/{pendingWalletRecoveryCodeBackup-C60sZMj5.js → pendingWalletRecoveryCodeBackup-CvsrXbzn.js} +1 -1
  236. package/dist/public/sdk/presignaturePool-CQNt13kE.js +1 -0
  237. package/dist/public/sdk/{primitives-CqrjmIAH.js → primitives-cC0a9GRC.js} +1 -1
  238. package/dist/{esm/sdk/recovery-entrypoint-BULjaFBM.js → public/sdk/recovery-entrypoint-nj7Zo3CR.js} +1 -1
  239. package/dist/public/sdk/{registration-CyF7nOXs.js → registration-49OGU_GZ.js} +1 -1
  240. package/dist/public/sdk/registration-C7tywPXF.js +1 -0
  241. package/dist/public/sdk/{registrationAccounts-BQMUusdD.js → registrationAccounts-9GFI0Ger.js} +1 -1
  242. package/dist/public/sdk/{registrationAuthMethodInput-RbSR7R1G.js → registrationAuthMethodInput-B23_HRil.js} +1 -1
  243. package/dist/public/sdk/{registrationIds-BaK3jUS6.js → registrationIds-Br-zI4_5.js} +1 -1
  244. package/dist/public/sdk/{registrationIntent-090Zj7Iu.js → registrationIntent-PqmcTEE3.js} +1 -1
  245. package/dist/public/sdk/{registrationSignerPlan-CPzHavPM.js → registrationSignerPlan-BHkqlian.js} +1 -1
  246. package/dist/{esm/sdk/requireStepUpAuth-BCY5ZStI.js → public/sdk/requireStepUpAuth-C4PGTly-.js} +1 -1
  247. package/dist/public/sdk/routerAbNormalSigning-xxATTIh5.js +1 -0
  248. package/dist/public/sdk/runtime-auth-CpjGW90U.js +1 -0
  249. package/dist/public/sdk/{runtime-device-link-Dq8g_UNb.js → runtime-device-link-CKgfGi7D.js} +1 -1
  250. package/dist/public/sdk/{runtime-ecdsa-tempo-AGjT7Xpa.js → runtime-ecdsa-tempo-5VV9xSEh.js} +1 -1
  251. package/dist/public/sdk/{runtime-email-otp-BpBOuSsT.js → runtime-email-otp-D1hYZNn6.js} +1 -1
  252. package/dist/public/sdk/{runtime-export-CBsacCPY.js → runtime-export-B92wQD25.js} +1 -1
  253. package/dist/public/sdk/{runtime-near-J3hKjC7G.js → runtime-near-CUuKg38M.js} +1 -1
  254. package/dist/public/sdk/runtime-preferences-EdL3G_MO.js +1 -0
  255. package/dist/public/sdk/{runtime-recovery-codes-GOytzExh.js → runtime-recovery-codes-LR4mg7-k.js} +1 -1
  256. package/dist/public/sdk/runtime-recovery-uyw8sywI.js +1 -0
  257. package/dist/public/sdk/{sdkSentEvents-D4KtK7_I.js → sdkSentEvents-DujYAPEM.js} +1 -1
  258. package/dist/public/sdk/secp256k1-BldUPNQI.js +1 -0
  259. package/dist/{esm/sdk/sessionObservationRevision-CnEOLDbl.js → public/sdk/sessionObservationRevision-DmmNV25w.js} +1 -1
  260. package/dist/public/sdk/shared-ha31XIdc.js +6 -0
  261. package/dist/{esm/sdk/signEvmFamily-Cpm3e6Zs.js → public/sdk/signEvmFamily-C_RvEnDB.js} +1 -1
  262. package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-CUKdq5dE.js +1 -0
  263. package/dist/public/sdk/{signEvmWithUiConfirm-BRmdLgmm.js → signEvmWithUiConfirm-CxXzcvj2.js} +1 -1
  264. package/dist/public/sdk/signNear-Dno7NsP_.js +1 -0
  265. package/dist/public/sdk/signatureUses-B_nN17i7.js +1 -0
  266. package/dist/public/sdk/{signerDomain-Dp7BhfmZ.js → signerDomain-BFqRQ0Jl.js} +1 -1
  267. package/dist/{esm/sdk/signingFlow-VAnM8L5C.js → public/sdk/signingFlow-DtugI_2z.js} +2 -2
  268. package/dist/public/sdk/{signingQueue-D_Ebmzcn.js → signingQueue-C1Pb07gm.js} +1 -1
  269. package/dist/{esm/sdk/singletons-BXhnsqeY.js → public/sdk/singletons-DxIyVhNb.js} +1 -1
  270. package/dist/public/sdk/surface-measurement-reporter-BJhfiPw6.js +1 -0
  271. package/dist/{esm/sdk/thresholdEcdsa-CneSKcRt.js → public/sdk/thresholdEcdsa-murTq-xz.js} +1 -1
  272. package/dist/public/sdk/{trace-BBux0jtr.js → trace-CsRMlSh1.js} +1 -1
  273. package/dist/{esm/sdk/transaction-activity-Cccvec2J.js → public/sdk/transaction-activity-C0nCSW6c.js} +1 -1
  274. package/dist/public/sdk/transactionReviewAdmission-CNNho8IG.js +1 -0
  275. package/dist/{esm/sdk/transactionState-Day-1x7Y.js → public/sdk/transactionState-XbZm9Zon.js} +1 -1
  276. package/dist/public/sdk/tx-confirm-ui.js +709 -744
  277. package/dist/public/sdk/{types-hKLqDUhR.js → types-CQTWmtqu.js} +1 -1
  278. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  279. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  280. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  281. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  282. package/dist/{esm/sdk/wallet-recovery-Bfhfk52N.js → public/sdk/wallet-recovery-CVUalZ3p.js} +1 -1
  283. package/dist/public/sdk/wallet-ui.css +1 -1
  284. package/dist/{esm/sdk/walletAuthMethodRecord-LniOQQmj.js → public/sdk/walletAuthMethodRecord-Bv68Vq-g.js} +1 -1
  285. package/dist/public/sdk/{walletAuthority-CAiGuWW2.js → walletAuthority-v5wvv3IB.js} +1 -1
  286. package/dist/public/sdk/walletCustodyEcdsaContinuity-rRHExT_R.js +1 -0
  287. package/dist/public/sdk/{walletDbName-DtRewci9.js → walletDbName-DRzPv5Ir.js} +1 -1
  288. package/dist/public/sdk/{walletOwnershipGeneration-B6HyR2rE.js → walletOwnershipGeneration-pMmmJ6XA.js} +1 -1
  289. package/dist/public/sdk/{walletRecoveryCommit-C6HF84_U.js → walletRecoveryCommit-DvC6WlGz.js} +1 -1
  290. package/dist/public/sdk/{walletRecoveryRotate-BN3H8byw.js → walletRecoveryRotate-Dd3prJpr.js} +1 -1
  291. package/dist/public/sdk/walletRegistrationSetupPrewarm-DcbhVNMQ.js +1 -0
  292. package/dist/public/sdk/walletSessionAuthorizationStatus-DVV3xkAx.js +1 -0
  293. package/dist/public/sdk/walletSessionAuthorizationStore-D-MhJ0PC.js +1 -0
  294. package/dist/public/sdk/walletSessionFailure-C6TAQTZn.js +1 -0
  295. package/dist/public/sdk/webauthnP256-XgYu-Y6E.js +1 -0
  296. package/dist/public/sdk/webauthnPromptCoordinator-D5sP8Q7e.js +1 -0
  297. package/dist/public/sdk/workers/device-linking-key.worker.js +12 -11
  298. package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +146 -48
  299. package/dist/public/sdk/workers/ecdsa-online-client.worker.js +7 -6
  300. package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +7 -6
  301. package/dist/public/sdk/workers/email-otp.worker.js +24 -4
  302. package/dist/public/sdk/workers/passkey-mpc-export.worker.js +17 -1
  303. package/dist/public/sdk/workers/passkey-mpc-session.worker.js +2 -1
  304. package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +2 -0
  305. package/dist/public/wallet-assets.manifest.json +190 -190
  306. package/dist/public/wallet-service/index.html +4 -4
  307. package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +14 -14
  308. package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +1 -1
  309. package/dist/types/shared-ts/src/device-linking/ed25519ExportRoot.d.ts +1 -1
  310. package/dist/types/shared-ts/src/device-linking/requestProof.d.ts +1 -1
  311. package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +5 -5
  312. package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +3 -3
  313. package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +1 -1
  314. package/dist/types/shared-ts/src/tenant-root/tenantRootIdentity.d.ts +1 -1
  315. package/dist/types/shared-ts/src/tenant-root/tenantRootOperationRecord.d.ts +2 -2
  316. package/dist/types/shared-ts/src/utils/base64.d.ts +2 -2
  317. package/dist/types/shared-ts/src/utils/digestEncoding.d.ts +1 -1
  318. package/dist/types/shared-ts/src/utils/digests.d.ts +2 -2
  319. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +16 -16
  320. package/dist/types/shared-ts/src/utils/emailOtpRecoveryKey.d.ts +1 -1
  321. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +10 -10
  322. package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +12 -11
  323. package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +3 -3
  324. package/dist/types/shared-ts/src/utils/routerAbTraceContext.d.ts +1 -1
  325. package/dist/types/shared-ts/src/utils/signerDomain.d.ts +15 -15
  326. package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +11 -11
  327. package/dist/types/shared-ts/src/utils/walletSessionFailure.d.ts +8 -8
  328. package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +2 -2
  329. package/dist/types/shared-ts/src/utils/wireSchema.d.ts +1 -1
  330. package/dist/types/shared-ts/src/wallet-recovery/recoveryKeyId.d.ts +1 -1
  331. package/dist/types/wallet/build-paths.d.ts +73 -73
  332. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.d.ts +3 -2
  333. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingResume.d.ts +2 -2
  334. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceTargetActivation.d.ts +1 -1
  335. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +3 -3
  336. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationEd25519Yao.d.ts +4 -3
  337. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationSignerSet.d.ts +5 -0
  338. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTiming.d.ts +2 -2
  339. package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +10 -1
  340. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +4 -2
  341. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +1 -0
  342. package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +1 -0
  343. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +2 -1
  344. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +15 -2
  345. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEmailOtpCommands.d.ts +3 -2
  346. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +3 -3
  347. package/dist/types/wallet/src/config.d.ts +8 -8
  348. package/dist/types/wallet/src/core/browser/walletIframe/events.d.ts +1 -1
  349. package/dist/types/wallet/src/core/indexedDB/linkedAuthoritySignerMaterial.d.ts +3 -3
  350. package/dist/types/wallet/src/core/indexedDB/pendingWalletRecoveryCommit.d.ts +1 -1
  351. package/dist/types/wallet/src/core/indexedDB/schemaNames.d.ts +181 -181
  352. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.d.ts +8 -8
  353. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.d.ts +4 -4
  354. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.d.ts +1 -1
  355. package/dist/types/wallet/src/core/indexedDB/walletCustodyEd25519MaterialRecord.d.ts +2 -2
  356. package/dist/types/wallet/src/core/indexedDB/walletDbName.d.ts +1 -1
  357. package/dist/types/wallet/src/core/signingEngine/chains/evm/evmAdapter.d.ts +1 -1
  358. package/dist/types/wallet/src/core/signingEngine/chains/evm/evmSigning.types.d.ts +1 -0
  359. package/dist/types/wallet/src/core/signingEngine/chains/tempo/tempoAdapter.d.ts +1 -1
  360. package/dist/types/wallet/src/core/signingEngine/flows/shared/signingStateMachine.d.ts +27 -27
  361. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/secp256k1.d.ts +1 -1
  362. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/webauthnP256.d.ts +1 -1
  363. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.d.ts +17 -17
  364. package/dist/types/wallet/src/core/signingEngine/nonce/nonceTypes.d.ts +40 -40
  365. package/dist/types/wallet/src/core/signingEngine/session/material/walletSigningStateFailure.d.ts +4 -4
  366. package/dist/types/wallet/src/core/signingEngine/session/operationState/types.d.ts +8 -8
  367. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.d.ts +1 -1
  368. package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionRecords.d.ts +1 -1
  369. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmCommon.d.ts +3 -3
  370. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/types.d.ts +4 -4
  371. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +1 -1
  372. package/dist/types/wallet/src/core/signingEngine/threshold/sessionPolicy.d.ts +1 -1
  373. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.d.ts +1 -1
  374. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.d.ts +2 -2
  375. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/CopyStatusIcon.d.ts +1 -1
  376. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PadlockIcon.d.ts +1 -1
  377. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyHaloLoading.d.ts +1 -1
  378. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.d.ts +1 -1
  379. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/SeamsWordmark.d.ts +1 -1
  380. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/credentials/helpers.d.ts +2 -2
  381. package/dist/types/wallet/src/core/signingEngine/workerManager/SignerWorkerManager.d.ts +1 -0
  382. package/dist/types/wallet/src/core/signingEngine/workerManager/deviceLinkingPorts.d.ts +1 -1
  383. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaClientWorkerChannels.d.ts +3 -3
  384. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.d.ts +1 -1
  385. package/dist/types/wallet/src/core/signingEngine/workerManager/validation.d.ts +1 -1
  386. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTransport.d.ts +1 -0
  387. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +1 -1
  388. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ecdsaTargetShareHpke.d.ts +3 -3
  389. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ordinaryMaterialState.d.ts +1 -1
  390. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/crypto.d.ts +3 -3
  391. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/materialParsing.d.ts +1 -1
  392. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/payloadParsing.d.ts +2 -2
  393. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/unlock.d.ts +1 -1
  394. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/workerErrorPayload.d.ts +2 -2
  395. package/dist/types/wallet/src/core/types/actionBuilders.d.ts +16 -2
  396. package/dist/types/wallet/src/core/types/amounts.d.ts +75 -0
  397. package/dist/types/wallet/src/core/types/amounts.typecheck.d.ts +2 -0
  398. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +5 -5
  399. package/dist/types/wallet/src/core/types/secure-confirm-worker.d.ts +1 -1
  400. package/dist/types/wallet/src/core/types/signer-worker.d.ts +7 -7
  401. package/dist/types/wallet/src/externalEvm/types.d.ts +1 -0
  402. package/dist/types/wallet/src/index.d.ts +2 -0
  403. package/dist/types/wallet/src/react/{hooks/useWallet.d.ts → boundWallet.d.ts} +8 -48
  404. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonView.d.ts +0 -1
  405. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountsSection.d.ts +0 -1
  406. package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodsModal.d.ts +0 -1
  407. package/dist/types/wallet/src/react/components/AccountMenuButton/ExportKeysSection.d.ts +0 -1
  408. package/dist/types/wallet/src/react/components/AccountMenuButton/LinkedDevicesModal.d.ts +0 -1
  409. package/dist/types/wallet/src/react/components/AccountMenuButton/ProfileDropdown.d.ts +0 -1
  410. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +0 -1
  411. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/GlobeIcon.d.ts +1 -1
  412. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/HoverArrowIcon.d.ts +0 -1
  413. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/KeyIcon.d.ts +1 -1
  414. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LaptopIcon.d.ts +1 -1
  415. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LinkIcon.d.ts +1 -1
  416. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockIcon.d.ts +1 -1
  417. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockKeyholeIcon.d.ts +1 -1
  418. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MailIcon.d.ts +1 -1
  419. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/PlusIcon.d.ts +1 -1
  420. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/RecoveryCodesIcon.d.ts +1 -1
  421. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/ScanIcon.d.ts +1 -1
  422. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SlidersIcon.d.ts +1 -1
  423. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SmartphoneIcon.d.ts +1 -1
  424. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/TouchIcon.d.ts +0 -1
  425. package/dist/types/wallet/src/react/components/AccountMenuButton/index.d.ts +0 -1
  426. package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +8 -8
  427. package/dist/types/wallet/src/react/components/ShowQRCode.d.ts +0 -1
  428. package/dist/types/wallet/src/react/components/VoiceAssistantCard.d.ts +0 -1
  429. package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +1 -0
  430. package/dist/types/wallet/src/react/context/index.d.ts +2 -1
  431. package/dist/types/wallet/src/react/context/useSeamsContextValue.d.ts +2 -2
  432. package/dist/types/wallet/src/react/index.d.ts +3 -2
  433. package/dist/types/wallet/src/react/styles.d.ts +2 -0
  434. package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +57 -57
  435. package/dist/types/wallet/src/react/types.d.ts +14 -1
  436. package/dist/types/wallet/src/theme/base-styles.d.ts +4 -4
  437. package/dist/workers/device-linking-key.worker.js +12 -11
  438. package/dist/workers/ecdsa-derivation-client.worker.js +146 -48
  439. package/dist/workers/ecdsa-online-client.worker.js +7 -6
  440. package/dist/workers/ecdsa-presign-client.worker.js +7 -6
  441. package/dist/workers/email-otp.worker.js +24 -4
  442. package/dist/workers/passkey-mpc-export.worker.js +17 -1
  443. package/dist/workers/passkey-mpc-session.worker.js +2 -1
  444. package/dist/workers/wallet-custody-ceremony.worker.js +2 -0
  445. package/package.json +8 -6
  446. package/dist/esm/react/hooks/useWallet.js +0 -108
  447. package/dist/esm/sdk/ConfirmationDrawer-BFzQjd1P.js +0 -1
  448. package/dist/esm/sdk/NonceCoordinator-CDGnEgfI.js +0 -1
  449. package/dist/esm/sdk/adapters-DsAaBNNY.js +0 -2
  450. package/dist/esm/sdk/authorizationAdmission-CGinGhXH.js +0 -1
  451. package/dist/esm/sdk/challengeDelivery-CATQ4u6P.js +0 -1
  452. package/dist/esm/sdk/domainIds-BzkGsRqO.js +0 -1
  453. package/dist/esm/sdk/ecdsaCapabilityManifest-DX6TflEz.js +0 -1
  454. package/dist/esm/sdk/ecdsaDerivationClientWasm-CpjnN4aK.js +0 -1
  455. package/dist/esm/sdk/export-viewer-host-CV-lSsQF.js +0 -1
  456. package/dist/esm/sdk/mountExportPrivateKeySurface-CatAhYoG.js +0 -1
  457. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-DlEb3uD7.js +0 -2
  458. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-Bo3IOTS-.js +0 -1
  459. package/dist/esm/sdk/presignaturePool-V10fZpG3.js +0 -1
  460. package/dist/esm/sdk/registration-DEGZR8kA.js +0 -1
  461. package/dist/esm/sdk/routerAbNormalSigning-C4P2tDU-.js +0 -1
  462. package/dist/esm/sdk/runtime-auth-ZcxkQ-XF.js +0 -1
  463. package/dist/esm/sdk/runtime-preferences-CVt5sLvm.js +0 -1
  464. package/dist/esm/sdk/runtime-recovery-BzewdcoT.js +0 -1
  465. package/dist/esm/sdk/secp256k1-CKq7_HD-.js +0 -1
  466. package/dist/esm/sdk/shared-BywEqTsd.js +0 -6
  467. package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-DGWmm9n7.js +0 -1
  468. package/dist/esm/sdk/signNear-XGZBxc_g.js +0 -1
  469. package/dist/esm/sdk/signatureUses-BKAoDbQd.js +0 -1
  470. package/dist/esm/sdk/surface-measurement-reporter-DvVHPu_O.js +0 -1
  471. package/dist/esm/sdk/transactionReviewAdmission-CIvR4W5_.js +0 -1
  472. package/dist/esm/sdk/walletCustodyEcdsaContinuity-B4fTDL10.js +0 -1
  473. package/dist/esm/sdk/walletRegistrationSetupPrewarm-B9kpnrbK.js +0 -1
  474. package/dist/esm/sdk/walletSessionAuthorizationStatus-BL7j2TeM.js +0 -1
  475. package/dist/esm/sdk/walletSessionAuthorizationStore-DmYe-cDR.js +0 -1
  476. package/dist/esm/sdk/walletSessionFailure-YuhraC3P.js +0 -1
  477. package/dist/esm/sdk/webauthnP256-BwgxtG5N.js +0 -1
  478. package/dist/esm/sdk/webauthnPromptCoordinator-CwJeKiYq.js +0 -1
  479. package/dist/public/sdk/ConfirmationDrawer-BFzQjd1P.js +0 -1
  480. package/dist/public/sdk/NonceCoordinator-CDGnEgfI.js +0 -1
  481. package/dist/public/sdk/adapters-DsAaBNNY.js +0 -2
  482. package/dist/public/sdk/authorizationAdmission-CGinGhXH.js +0 -1
  483. package/dist/public/sdk/challengeDelivery-CATQ4u6P.js +0 -1
  484. package/dist/public/sdk/domainIds-BzkGsRqO.js +0 -1
  485. package/dist/public/sdk/ecdsaCapabilityManifest-DX6TflEz.js +0 -1
  486. package/dist/public/sdk/ecdsaDerivationClientWasm-CpjnN4aK.js +0 -1
  487. package/dist/public/sdk/export-viewer-host-CV-lSsQF.js +0 -1
  488. package/dist/public/sdk/mountExportPrivateKeySurface-CatAhYoG.js +0 -1
  489. package/dist/public/sdk/mountRecoveryCodeBackupSurface-DlEb3uD7.js +0 -2
  490. package/dist/public/sdk/nearEd25519YaoMaterialActivation-Bo3IOTS-.js +0 -1
  491. package/dist/public/sdk/presignaturePool-V10fZpG3.js +0 -1
  492. package/dist/public/sdk/registration-DEGZR8kA.js +0 -1
  493. package/dist/public/sdk/routerAbNormalSigning-C4P2tDU-.js +0 -1
  494. package/dist/public/sdk/runtime-auth-ZcxkQ-XF.js +0 -1
  495. package/dist/public/sdk/runtime-preferences-CVt5sLvm.js +0 -1
  496. package/dist/public/sdk/runtime-recovery-BzewdcoT.js +0 -1
  497. package/dist/public/sdk/secp256k1-CKq7_HD-.js +0 -1
  498. package/dist/public/sdk/shared-BywEqTsd.js +0 -6
  499. package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-DGWmm9n7.js +0 -1
  500. package/dist/public/sdk/signNear-XGZBxc_g.js +0 -1
  501. package/dist/public/sdk/signatureUses-BKAoDbQd.js +0 -1
  502. package/dist/public/sdk/surface-measurement-reporter-DvVHPu_O.js +0 -1
  503. package/dist/public/sdk/transactionReviewAdmission-CIvR4W5_.js +0 -1
  504. package/dist/public/sdk/walletCustodyEcdsaContinuity-B4fTDL10.js +0 -1
  505. package/dist/public/sdk/walletRegistrationSetupPrewarm-B9kpnrbK.js +0 -1
  506. package/dist/public/sdk/walletSessionAuthorizationStatus-BL7j2TeM.js +0 -1
  507. package/dist/public/sdk/walletSessionAuthorizationStore-DmYe-cDR.js +0 -1
  508. package/dist/public/sdk/walletSessionFailure-YuhraC3P.js +0 -1
  509. package/dist/public/sdk/webauthnP256-BwgxtG5N.js +0 -1
  510. package/dist/public/sdk/webauthnPromptCoordinator-CwJeKiYq.js +0 -1
@@ -55,123 +55,19 @@ function TransactionTree(props) {
55
55
  });
56
56
  }
57
57
  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
- }
58
+ state = {
59
+ mode: this.props.node.contentVariants?.defaultMode === "raw" ? "raw" : "decoded",
60
+ copied: false
61
+ };
62
+ id = `seams-tree-node-${++nextNodeId}`;
63
+ details = createRef();
64
+ shell = createRef();
65
+ disposed = false;
66
+ copiedTimer = null;
67
+ frame = null;
68
+ motionTimer = null;
69
+ motion = null;
70
+ modeHeight = null;
175
71
  componentDidUpdate(previous) {
176
72
  if (previous.styles !== this.props.styles) previous.styles.deleteDynamicRule(this.id);
177
73
  if (this.modeHeight !== null && this.shell.current) {
@@ -204,6 +100,107 @@ var TransactionNode = class extends Component {
204
100
  this.motion = null;
205
101
  this.releaseHeight();
206
102
  }
103
+ setHeight = (height) => {
104
+ if (this.disposed) return;
105
+ this.props.styles.setDynamicDeclarations(this.id, `#${this.id}`, { "--seams-tree__anim-target": `${height}px` });
106
+ };
107
+ releaseHeight = () => {
108
+ this.props.styles.deleteDynamicRule(this.id);
109
+ };
110
+ clearCopied = () => {
111
+ this.copiedTimer = null;
112
+ if (!this.disposed) this.setState({ copied: false });
113
+ };
114
+ copy = async (event) => {
115
+ event.preventDefault();
116
+ event.stopPropagation();
117
+ const value = this.props.node.copyValue;
118
+ if (!value) return;
119
+ const root = event.currentTarget.closest(".seams-tx-tree");
120
+ if (!root) return;
121
+ try {
122
+ if (!await copySurfaceText(root, value)) return;
123
+ if (this.disposed) return;
124
+ if (this.copiedTimer !== null) clearTimeout(this.copiedTimer);
125
+ this.setState({ copied: true });
126
+ this.copiedTimer = setTimeout(this.clearCopied, 2e3);
127
+ this.props.onCopy?.(value);
128
+ } catch {}
129
+ };
130
+ toggleMode = (event) => {
131
+ event.preventDefault();
132
+ event.stopPropagation();
133
+ if (!hasContentVariants(this.props.node)) return;
134
+ if (this.shell.current) {
135
+ this.modeHeight = this.shell.current.getBoundingClientRect().height;
136
+ this.setHeight(this.modeHeight);
137
+ this.shell.current.classList.add(...drivenClasses);
138
+ }
139
+ this.setState({ mode: this.state.mode === "decoded" ? "raw" : "decoded" });
140
+ };
141
+ toggle = (event) => {
142
+ if (event.target.closest("a, button")) {
143
+ event.stopPropagation();
144
+ return;
145
+ }
146
+ event.preventDefault();
147
+ event.stopPropagation();
148
+ const details = this.details.current;
149
+ if (!details || this.motion) return;
150
+ const body = details.querySelector(":scope > .folder-children");
151
+ const open = !details.open;
152
+ const reduced = details.ownerDocument.defaultView.matchMedia("(prefers-reduced-motion: reduce)").matches;
153
+ if (!body || reduced) {
154
+ details.open = open;
155
+ this.props.onToggle?.(this.props.node.id, open);
156
+ return;
157
+ }
158
+ this.motion = {
159
+ body,
160
+ open
161
+ };
162
+ const height = open ? 0 : body.getBoundingClientRect().height;
163
+ this.setHeight(height);
164
+ body.classList.add("anim-h", "anim-h-active", "anim-h-hold");
165
+ details.open = true;
166
+ body.offsetHeight;
167
+ this.frame = details.ownerDocument.defaultView.requestAnimationFrame(this.startMotion);
168
+ };
169
+ startMotion = () => {
170
+ this.frame = null;
171
+ if (!this.motion || this.disposed) return;
172
+ const { body, open } = this.motion;
173
+ const fromCssPx = body.getBoundingClientRect().height;
174
+ const toCssPx = open ? body.scrollHeight : 0;
175
+ if (announceClampedSurfaceResize({
176
+ reason: this.props.node.id,
177
+ element: body,
178
+ drivenClasses,
179
+ fromCssPx,
180
+ toCssPx,
181
+ setHeightCssPx: this.setHeight,
182
+ onSettled: this.finishMotion
183
+ })) return;
184
+ body.addEventListener("transitionend", this.onTransitionEnd);
185
+ body.classList.remove("anim-h-hold");
186
+ this.setHeight(toCssPx);
187
+ this.motionTimer = setTimeout(this.finishMotion, open ? 200 : 250);
188
+ };
189
+ onTransitionEnd = (event) => {
190
+ if (event.target === this.motion?.body && event.propertyName === "height") this.finishMotion();
191
+ };
192
+ finishMotion = () => {
193
+ if (this.disposed || !this.motion) return;
194
+ const { body, open } = this.motion;
195
+ this.motion = null;
196
+ if (this.motionTimer !== null) clearTimeout(this.motionTimer);
197
+ this.motionTimer = null;
198
+ body.removeEventListener("transitionend", this.onTransitionEnd);
199
+ body.classList.remove(...motionClasses);
200
+ if (this.details.current) this.details.current.open = open;
201
+ this.releaseHeight();
202
+ this.props.onToggle?.(this.props.node.id, open);
203
+ };
207
204
  label(chevron) {
208
205
  const node = this.props.node;
209
206
  return /* @__PURE__ */ jsxs("span", {
@@ -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
  }
@@ -34,45 +34,21 @@ function captureReceiptAnchors(surface) {
34
34
  }
35
35
  let nextSurfaceId = 0;
36
36
  var MountedConfirmationSurface = class {
37
- constructor(input) {
38
- this.receipt = null;
37
+ element;
38
+ styles;
39
+ presentation;
40
+ state;
41
+ receipt = null;
42
+ receiptMotion = [];
43
+ receiptShell = null;
44
+ clearReceiptMotion = () => {
45
+ for (const animation of this.receiptMotion) animation.cancel();
39
46
  this.receiptMotion = [];
47
+ this.receiptShell?.remove();
40
48
  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
- };
49
+ this.element.removeAttribute("data-receipt-morphing");
50
+ };
51
+ constructor(input) {
76
52
  const document = input.parent.ownerDocument;
77
53
  this.styles = confirmationDocumentStyles(document);
78
54
  this.presentation = {
@@ -196,6 +172,12 @@ var MountedConfirmationSurface = class {
196
172
  morph.onfinish = this.clearReceiptMotion;
197
173
  }
198
174
  }
175
+ dispose = () => {
176
+ if (this.state.kind === "disposed") return;
177
+ const onClosed = this.state.onClosed;
178
+ this.remove();
179
+ onClosed();
180
+ };
199
181
  remove() {
200
182
  this.clearReceiptMotion();
201
183
  this.state = { kind: "disposed" };
@@ -204,6 +186,28 @@ var MountedConfirmationSurface = class {
204
186
  this.styles.deleteDynamicRule(this.element.id);
205
187
  this.element.remove();
206
188
  }
189
+ cancel = () => {
190
+ if (this.state.kind !== "mounted") return;
191
+ if (this.receipt) {
192
+ if (receiptIsPending(this.receipt.state)) this.receipt.onView("toast");
193
+ else this.receipt.onDismiss();
194
+ return;
195
+ }
196
+ const content = this.state.model.content;
197
+ if (content.kind === "registration") content.registration.onCancel();
198
+ else content.transaction.onCancel();
199
+ };
200
+ confirm = () => {
201
+ if (this.state.kind !== "mounted") return;
202
+ const content = this.state.model.content;
203
+ const decision = content.kind === "registration" ? content.registration.decision : content.transaction.decision;
204
+ if (decision.kind === "ready") decision.onConfirm();
205
+ };
206
+ submitOtp = (code, challengeId) => {
207
+ if (this.state.kind !== "mounted") return;
208
+ const content = this.state.model.content;
209
+ if (content.kind === "transaction" && content.prompt.kind === "email") content.prompt.email.onSubmit(code, challengeId);
210
+ };
207
211
  renderSurface() {
208
212
  const state = this.state;
209
213
  if (state.kind === "disposed") return;
@@ -7,16 +7,12 @@ import { jsx } from "preact/jsx-runtime";
7
7
  /** @jsxImportSource preact */
8
8
  let nextRecoverySurfaceId = 0;
9
9
  var MountedRecoveryCodeBackupSurface = class {
10
+ element;
11
+ dialog;
12
+ document;
13
+ input;
14
+ state = "mounted";
10
15
  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
16
  this.input = input;
21
17
  this.document = input.parent.ownerDocument;
22
18
  this.element = this.document.createElement("div");
@@ -69,6 +65,14 @@ var MountedRecoveryCodeBackupSurface = class {
69
65
  onStageChange: this.handleStageChange
70
66
  }), this.dialog);
71
67
  }
68
+ handleCancel = (event) => {
69
+ event.preventDefault();
70
+ this.input.onCancel();
71
+ };
72
+ handleStageChange = (stage) => {
73
+ if (this.state === "disposed") return;
74
+ this.dialog.dataset.seamsRecoveryStage = stage;
75
+ };
72
76
  focusTitle() {
73
77
  this.dialog.querySelector(".recovery-backup-title")?.focus();
74
78
  }
@@ -185,27 +185,7 @@ function buildActionNode(action, idx) {
185
185
  type: "file"
186
186
  }];
187
187
  break;
188
- default: {
189
- let raw = "";
190
- try {
191
- raw = JSON.stringify(action, null, 2);
192
- } catch {
193
- raw = String(action);
194
- }
195
- actionNodes = [{
196
- id: `a${idx}-action`,
197
- label: `Action: ${action.type || "Unknown"}`,
198
- open: false,
199
- type: "file"
200
- }, {
201
- id: `a${idx}-raw`,
202
- label: "Raw Data",
203
- type: "file",
204
- open: false,
205
- content: raw
206
- }];
207
- break;
208
- }
188
+ default: return assertNeverAction(action);
209
189
  }
210
190
  return {
211
191
  id: `action-${idx}`,
@@ -218,6 +198,9 @@ function buildActionNode(action, idx) {
218
198
  children: actionNodes
219
199
  };
220
200
  }
201
+ function assertNeverAction(action) {
202
+ throw new Error(`Unsupported NEAR action: ${String(action)}`);
203
+ }
221
204
  function buildTransactionNode(tx, tIdx, totalTransactions) {
222
205
  const actionFolders = tx.actions.map((action, idx) => buildActionNode(action, idx));
223
206
  return {
@@ -1,4 +1,5 @@
1
1
  import { ActionType } from "../../shared-ts/src/near/actions.js";
2
+ import { toYoctoNear } from "./amounts.js";
2
3
  //#region src/core/types/actionBuilders.ts
3
4
  /**
4
5
  * Action builders.
@@ -25,11 +26,24 @@ function functionCall(args) {
25
26
  ...args.deposit !== void 0 ? { deposit: args.deposit } : {}
26
27
  };
27
28
  }
28
- /** Transfer NEAR. `amount` is in yoctoNEAR. */
29
+ /**
30
+ * Transfer NEAR. Write a literal `amount` with its unit, `'1 NEAR'` or
31
+ * `'1000 yoctoNEAR'`. Build a computed amount with `parseNear` (decimal NEAR)
32
+ * or `yoctoNear` (already in yoctoNEAR). A string without a unit does not
33
+ * compile.
34
+ *
35
+ * @example
36
+ * transfer('1 NEAR');
37
+ * transfer('0.5 NEAR');
38
+ * transfer(parseNear(amountInput)); // a decimal NEAR string from elsewhere
39
+ * transfer(yoctoNear(balance)); // already in yoctoNEAR
40
+ *
41
+ * @throws {AmountError} for a negative, non-numeric or over-precise amount.
42
+ */
29
43
  function transfer(amount) {
30
44
  return {
31
45
  type: ActionType.Transfer,
32
- amount
46
+ amount: toYoctoNear(amount)
33
47
  };
34
48
  }
35
49
  function createAccount() {