@seams/wallet 0.22.0 → 0.24.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 (624) hide show
  1. package/README.md +19 -2
  2. package/THIRD_PARTY_NOTICES.md +186 -6
  3. package/dist/.build-inputs.sha256 +1 -1
  4. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCommit.js +1 -0
  5. package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +3 -0
  6. package/dist/esm/SeamsWeb/walletIframe/client/authMenuAnchor.js +44 -0
  7. package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-styles.js +4 -6
  8. package/dist/esm/SeamsWeb/walletIframe/client/registrationCommands.js +12 -0
  9. package/dist/esm/SeamsWeb/walletIframe/client/router.js +67 -31
  10. package/dist/esm/SeamsWeb/walletIframe/client/sessionCommands.js +4 -0
  11. package/dist/esm/SeamsWeb/walletIframe/client/surface/geometry.js +2 -2
  12. package/dist/esm/SeamsWeb/walletIframe/client/transport/iframe-transport-dom.js +2 -2
  13. package/dist/esm/SeamsWeb/walletIframe/host/auth-menu/domain.js +22 -3
  14. package/dist/esm/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +6 -2
  15. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.js +1 -3
  16. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +81 -19
  17. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/icons.js +1 -4
  18. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.js +7 -11
  19. package/dist/esm/SeamsWeb/walletIframe/host/walletMutationGuard.js +86 -0
  20. package/dist/esm/SeamsWeb/walletIframe/shared/configuration.js +23 -1
  21. package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +1 -0
  22. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +7 -1
  23. package/dist/esm/SeamsWeb/walletIframe/shared/transactionReview.js +20 -1
  24. package/dist/esm/core/authMethods/availability.js +28 -0
  25. package/dist/esm/core/authMethods/availabilityTypes.js +29 -0
  26. package/dist/esm/core/authMethods/plugins.js +17 -0
  27. package/dist/esm/core/config/configBuilder.js +2 -0
  28. package/dist/esm/core/config/defaultConfigs.js +1 -0
  29. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +41 -2
  30. package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +3 -0
  31. package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +1 -1
  32. package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +1 -1
  33. package/dist/esm/core/signingEngine/flows/signEvmFamily/authPlanning.js +2 -1
  34. package/dist/esm/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +29 -12
  35. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +1 -0
  36. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +2 -1
  37. package/dist/esm/core/signingEngine/flows/signNear/requireNearStepUpAuth.js +1 -0
  38. package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +1 -1
  39. package/dist/esm/core/signingEngine/flows/signNear/shared/signingSessionAuthMode.js +5 -0
  40. package/dist/esm/core/signingEngine/flows/signNear/signNear.js +16 -12
  41. package/dist/esm/core/signingEngine/session/availability/availableSigningLanes.js +2 -3
  42. package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +16 -1
  43. package/dist/esm/core/signingEngine/session/identity/signingLaneAuthBinding.js +6 -0
  44. package/dist/esm/core/signingEngine/session/material/ecdsaSigningCapability.js +3 -0
  45. package/dist/esm/core/signingEngine/session/operationState/lanes.js +21 -4
  46. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +94 -0
  47. package/dist/esm/core/signingEngine/stepUpConfirmation/methodSelection.js +1 -0
  48. package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +19 -2
  49. package/dist/esm/core/signingEngine/uiConfirm/ui/confirmation-model.js +3 -1
  50. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.js +6 -0
  51. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +59 -23
  52. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +13 -0
  53. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +48 -16
  54. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +146 -9
  55. package/dist/esm/core/signingEngine/walletCustody/ceremonyStepRunner.js +8 -0
  56. package/dist/esm/core/signingEngine/walletCustody/resealedEnvelopeResult.js +24 -0
  57. package/dist/esm/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +74 -0
  58. package/dist/esm/core/signingEngine/workerManager/workerDeferred.js +25 -0
  59. package/dist/esm/core/ui/messages.js +15 -4
  60. package/dist/esm/externalNear/actions.js +26 -0
  61. package/dist/esm/externalNear/boundary.js +53 -0
  62. package/dist/esm/externalNear/controller.js +223 -0
  63. package/dist/esm/externalNear/hot.js +41 -0
  64. package/dist/esm/externalNear/index.js +3 -0
  65. package/dist/esm/externalNear/intear.js +110 -0
  66. package/dist/esm/externalNear/intearPopup.js +83 -0
  67. package/dist/esm/externalNear/message.js +60 -0
  68. package/dist/esm/externalNear/meteor.js +133 -0
  69. package/dist/esm/externalNear/meteorRequest.js +117 -0
  70. package/dist/esm/externalNear/types.js +17 -0
  71. package/dist/esm/externalNear/wallets.js +33 -0
  72. package/dist/esm/node_modules/borsh/lib/esm/buffer.js +67 -0
  73. package/dist/esm/node_modules/borsh/lib/esm/deserialize.js +94 -0
  74. package/dist/esm/node_modules/borsh/lib/esm/index.js +13 -0
  75. package/dist/esm/node_modules/borsh/lib/esm/serialize.js +127 -0
  76. package/dist/esm/node_modules/borsh/lib/esm/types.js +19 -0
  77. package/dist/esm/node_modules/borsh/lib/esm/utils.js +104 -0
  78. package/dist/esm/plugins/plugin-utils.js +2 -5
  79. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +10 -22
  80. package/dist/esm/react/components/AccountMenuButton/AccountMenuDeviceDetails.js +2 -2
  81. package/dist/esm/react/components/AccountMenuButton/AccountMenuMockScreens.js +7 -4
  82. package/dist/esm/react/components/AccountMenuButton/AddEvmAccount.js +124 -0
  83. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodRow.js +41 -23
  84. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +220 -164
  85. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsView.js +7 -5
  86. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +142 -36
  87. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +11 -2
  88. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.css +12 -10
  89. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +1 -1
  90. package/dist/esm/react/components/AccountMenuButton/VoiceIdAvailabilityControl.js +186 -0
  91. package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +10 -8
  92. package/dist/esm/react/components/AccountMenuButton/icons/ChevronRightIcon.js +8 -0
  93. package/dist/esm/react/components/AccountMenuButton/icons/WalletIcon.js +8 -0
  94. package/dist/esm/react/components/AccountMenuButton/index.js +35 -13
  95. package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +8 -4
  96. package/dist/esm/react/context/useLoginStateRefresher.js +10 -2
  97. package/dist/esm/react/externalNear.css +90 -0
  98. package/dist/esm/react/externalNear.js +104 -0
  99. package/dist/esm/react/index.js +2 -4
  100. package/dist/esm/react/styles/styles.css +22 -332
  101. package/dist/esm/react/styles.css +0 -1
  102. package/dist/esm/sdk/ConfirmationDrawer-CTaGM1AE.js +1 -0
  103. package/dist/esm/sdk/{NonceCoordinator-Do23iTzQ.js → NonceCoordinator-Bti1HQPo.js} +1 -1
  104. package/dist/esm/sdk/SeamsWordmark-CFpsGoLw.js +1 -0
  105. package/dist/esm/sdk/{accountLifecycle-CXTlwnAS.js → accountLifecycle-B98g9zN9.js} +1 -1
  106. package/dist/esm/sdk/actions-GYsSR2Q2.js +1 -0
  107. package/dist/esm/sdk/activeWalletSession-H9JBdHyQ.js +1 -0
  108. package/dist/esm/sdk/adapters-D5MZ5NG5.js +2 -0
  109. package/dist/esm/sdk/appearance-token-vars-CgYTfCKg.js +1 -0
  110. package/dist/esm/sdk/{canonicalPrimitives-D_1HyEuJ.js → canonicalPrimitives-B6YMrI3W.js} +1 -1
  111. package/dist/esm/sdk/{capabilityKinds-CqHVzVsJ.js → capabilityKinds-BzrNeEyO.js} +1 -1
  112. package/dist/esm/sdk/{chains-CPmd4s9f.js → chains-gV2K9gA4.js} +1 -1
  113. package/dist/esm/sdk/{challengeDelivery-C88JNwKf.js → challengeDelivery-FW9gYyr0.js} +1 -1
  114. package/dist/esm/sdk/clientSessionPersistenceState-BPYK9PYV.js +1 -0
  115. package/dist/esm/sdk/{collectAuthenticationCredentialForChallengeB64u-CSwy9csE.js → collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js} +1 -1
  116. package/dist/esm/sdk/{commitQueue-BQPOhyGl.js → commitQueue-Bs23Rs57.js} +1 -1
  117. package/dist/esm/sdk/configBuilder-DrxXNUpV.js +1 -0
  118. package/dist/esm/sdk/{configHelpers-D50F_Txb.js → configHelpers-BNqoU2cv.js} +1 -1
  119. package/dist/esm/sdk/configuration-CAqANpTI.js +1 -0
  120. package/dist/esm/sdk/csp-stylesheet-DeuiM0Mo.js +2 -0
  121. package/dist/esm/sdk/{display-Dtugjeya.js → display-BXjW58UF.js} +1 -1
  122. package/dist/esm/sdk/domainIds-t1lp25yU.js +1 -0
  123. package/dist/esm/sdk/ecdsaCapabilityManifest--FjbES8k.js +1 -0
  124. package/dist/esm/sdk/{ecdsaChainTarget-svSlzhze.js → ecdsaChainTarget-DbLthshF.js} +1 -1
  125. package/dist/esm/sdk/{ecdsaDerivationClientWasm-D1HzwUgV.js → ecdsaDerivationClientWasm-7Rp4TmYE.js} +1 -1
  126. package/dist/esm/sdk/ecdsaDerivationExport-dInN7N6e.js +1 -0
  127. package/dist/esm/sdk/{ecdsaWalletRecords-BmhuJF1y.js → ecdsaWalletRecords-BgcXXCZy.js} +1 -1
  128. package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +1 -0
  129. package/dist/esm/sdk/{enrichDisplayModelWithAbi-D0o0IL7_.js → enrichDisplayModelWithAbi-CudPUW0T.js} +1 -1
  130. package/dist/esm/sdk/{evmCryptoWasm-S2gL5ht4.js → evmCryptoWasm-DacbCVNM.js} +1 -1
  131. package/dist/esm/sdk/{export-viewer-host-C9n-62Pi.js → export-viewer-host-DsWOvc0t.js} +1 -1
  132. package/dist/esm/sdk/exportKeypairOperation-BazJvSov.js +1 -0
  133. package/dist/{public/sdk/helpers-BXezXx19.js → esm/sdk/helpers-CXqXyyCU.js} +1 -1
  134. package/dist/esm/sdk/host-C0Is56lU.js +1 -0
  135. package/dist/esm/sdk/icons-DyndJzSh.js +1 -0
  136. package/dist/esm/sdk/indexedDB-C1odKEC6.js +1 -0
  137. package/dist/esm/sdk/intentDigest-BMXki7yB.js +1 -0
  138. package/dist/esm/sdk/{keyMaterialEnvelope-B3v6HLtz.js → keyMaterialEnvelope-B-Q5KTJC.js} +1 -1
  139. package/dist/esm/sdk/lanes-C7OvAK_L.js +1 -0
  140. package/dist/esm/sdk/localOnly-BB3Rx3J6.js +1 -0
  141. package/dist/esm/sdk/mountExportPrivateKeySurface-CV1KrFWg.js +1 -0
  142. package/dist/{public/sdk/mountRecoveryCodeBackupSurface-D3QFgMGE.js → esm/sdk/mountRecoveryCodeBackupSurface-CVXU1zzl.js} +2 -2
  143. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +1 -0
  144. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +1 -0
  145. package/dist/esm/sdk/{nonceLaneKeys-CR2XEvnk.js → nonceLaneKeys-BS4fek17.js} +1 -1
  146. package/dist/esm/sdk/{normalization-Ctkj80dW.js → normalization-BN-2VWZf.js} +1 -1
  147. package/dist/esm/sdk/{operationFingerprint-DRPONhBD.js → operationFingerprint-Bn0lUYlm.js} +1 -1
  148. package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js +1 -0
  149. package/dist/esm/sdk/presignaturePool-CultzkOG.js +1 -0
  150. package/dist/esm/sdk/{presignatures-DGLNs29C.js → presignatures-B9GrGx0L.js} +1 -1
  151. package/dist/esm/sdk/recovery-entrypoint-QBvJBngm.js +1 -0
  152. package/dist/esm/sdk/{recoveryAuthorization-BplZWc-N.js → recoveryAuthorization-DB-zxeHq.js} +1 -1
  153. package/dist/esm/sdk/registration-CM5a7WYO.js +1 -0
  154. package/dist/esm/sdk/registration-Hv0xi7-L.js +1 -0
  155. package/dist/esm/sdk/{registrationAccounts-BfO6Ztye.js → registrationAccounts-BHikxS5q.js} +1 -1
  156. package/dist/esm/sdk/{registrationAuthMethodInput-DKz6Mgg4.js → registrationAuthMethodInput-BvbWl0y_.js} +1 -1
  157. package/dist/esm/sdk/registrationIntent-DTs2SR9E.js +1 -0
  158. package/dist/esm/sdk/{registrationSignerPlan-B66FjqIp.js → registrationSignerPlan-CgbFVsAp.js} +1 -1
  159. package/dist/{public/sdk/requireStepUpAuth-DsNLml1i.js → esm/sdk/requireStepUpAuth-B7tC4MrA.js} +1 -1
  160. package/dist/esm/sdk/resealedEnvelopeResult--iCVt_Bh.js +1 -0
  161. package/dist/esm/sdk/routerAbNormalSigning-Div3lZWV.js +1 -0
  162. package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  163. package/dist/esm/sdk/runtime-auth-CVw1KoVD.js +1 -0
  164. package/dist/esm/sdk/runtime-device-link-Dp0YMZTQ.js +1 -0
  165. package/dist/esm/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +1 -0
  166. package/dist/esm/sdk/runtime-email-otp-gsr_FsQn.js +1 -0
  167. package/dist/esm/sdk/runtime-export-upMPrZ4V.js +1 -0
  168. package/dist/esm/sdk/runtime-near-B64Hn3nc.js +1 -0
  169. package/dist/esm/sdk/runtime-preferences-CULdHkbg.js +1 -0
  170. package/dist/esm/sdk/runtime-recovery-D2saBaJy.js +1 -0
  171. package/dist/esm/sdk/runtime-recovery-codes-Bvc0IXMJ.js +1 -0
  172. package/dist/esm/sdk/runtimeContext-CNFJjcns.js +6 -0
  173. package/dist/{public/sdk/sdkSentEvents-BzMVO1AR.js → esm/sdk/sdkSentEvents-DUht3AOD.js} +1 -1
  174. package/dist/esm/sdk/{secp256k1-CYu8ENjP.js → secp256k1-BGVlx50C.js} +1 -1
  175. package/dist/esm/sdk/sessionObservationRevision-84ZzJ-fC.js +1 -0
  176. package/dist/esm/sdk/shared-DcHtE-D-.js +1 -0
  177. package/dist/esm/sdk/signEvmFamily-PjwUc5MT.js +1 -0
  178. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-4A3D9nKv.js → signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js} +1 -1
  179. package/dist/esm/sdk/{signEvmWithUiConfirm-lZyPfrGe.js → signEvmWithUiConfirm-BNkupz3z.js} +1 -1
  180. package/dist/esm/sdk/signNear-r8VCOoTh.js +1 -0
  181. package/dist/esm/sdk/{signatureUses-CY4U-X6V.js → signatureUses-DrqCoN12.js} +1 -1
  182. package/dist/esm/sdk/signerDomain-D-EUTlLK.js +1 -0
  183. package/dist/esm/sdk/{signerSlot-CpyIfl3J.js → signerSlot-D4ZOuK7e.js} +1 -1
  184. package/dist/{public/sdk/signingFlow-Co_QtuHK.js → esm/sdk/signingFlow-BVvteILM.js} +1 -1
  185. package/dist/esm/sdk/{signingQueue-Cj9sCJLj.js → signingQueue-BJzOrwDq.js} +1 -1
  186. package/dist/esm/sdk/surface-measurement-reporter-NUm_54LH.js +1 -0
  187. package/dist/{public/sdk/thresholdEcdsa-LvkD6z8-.js → esm/sdk/thresholdEcdsa-tnY83qyG.js} +1 -1
  188. package/dist/esm/sdk/{trace-CWTzEALZ.js → trace-CGNqO1FV.js} +1 -1
  189. package/dist/esm/sdk/{transaction-activity-CpDMkSPm.js → transaction-activity-DPq9RTh5.js} +1 -1
  190. package/dist/esm/sdk/transactionReview-DSGnpreN.js +1 -0
  191. package/dist/esm/sdk/transactionReviewAdmission--8tDis7M.js +1 -0
  192. package/dist/{public/sdk/transactionState-BaFSiA9t.js → esm/sdk/transactionState-BS1VLT7B.js} +1 -1
  193. package/dist/esm/sdk/tx-confirm-ui.js +418 -109
  194. package/dist/esm/sdk/types-DdzuHlAQ.js +1 -0
  195. package/dist/esm/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +1 -0
  196. package/dist/esm/sdk/voiceid-host.js +1 -0
  197. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  198. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  199. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  200. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  201. package/dist/esm/sdk/wallet-recovery-BjIQdOha.js +1 -0
  202. package/dist/esm/sdk/wallet-ui.css +1 -1
  203. package/dist/esm/sdk/walletAuthMethodRecord-yIqCeE-o.js +1 -0
  204. package/dist/esm/sdk/walletCapabilityBindings-CUPk3mVH.js +1 -0
  205. package/dist/esm/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +1 -0
  206. package/dist/esm/sdk/walletCustodyOperation-DzPcxEBS.js +1 -0
  207. package/dist/esm/sdk/walletDbName-DDJXrgA5.js +1 -0
  208. package/dist/esm/sdk/walletOwnershipGeneration-DI9ogcXF.js +1 -0
  209. package/dist/esm/sdk/walletRecoveryAdminProof-BJxmg3f7.js +1 -0
  210. package/dist/esm/sdk/walletRecoveryCommit-B7WsdR7y.js +1 -0
  211. package/dist/esm/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +1 -0
  212. package/dist/esm/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +1 -0
  213. package/dist/{public/sdk/walletSessionAuthorizationStore-DYRMCkiT.js → esm/sdk/walletSessionAuthorizationStore-zkxcMdSp.js} +1 -1
  214. package/dist/esm/sdk/warmSessionHydration-DqZyfi1h.js +1 -0
  215. package/dist/esm/sdk/{webauthnP256-unqBoZCk.js → webauthnP256-BvTL8nq4.js} +1 -1
  216. package/dist/esm/shared-ts/src/authorization/capabilityKinds.js +4 -1
  217. package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +11 -2
  218. package/dist/esm/shared-ts/src/authorization/voiceIdDeviceAssertion.js +110 -0
  219. package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +1 -0
  220. package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +1 -0
  221. package/dist/esm/shared-ts/src/device-linking/deviceManagement.js +17 -9
  222. package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +62 -3
  223. package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +1 -1
  224. package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +5 -2
  225. package/dist/esm/shared-ts/src/utils/domainIds.js +14 -1
  226. package/dist/esm/shared-ts/src/utils/signerDomain.js +4 -2
  227. package/dist/esm/shared-ts/src/utils/validation.js +4 -1
  228. package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +46 -2
  229. package/dist/esm/shared-ts/src/utils/walletAuthMethodRecord.js +116 -6
  230. package/dist/esm/shared-ts/src/utils/walletCapabilityBindings.js +39 -1
  231. package/dist/esm/voiceid-host.js +47 -0
  232. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  233. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
  234. package/dist/public/headers.manifest.json +1 -1
  235. package/dist/public/sdk/ConfirmationDrawer-CTaGM1AE.js +1 -0
  236. package/dist/public/sdk/{NonceCoordinator-Do23iTzQ.js → NonceCoordinator-Bti1HQPo.js} +1 -1
  237. package/dist/public/sdk/SeamsWordmark-CFpsGoLw.js +1 -0
  238. package/dist/public/sdk/{accountLifecycle-CXTlwnAS.js → accountLifecycle-B98g9zN9.js} +1 -1
  239. package/dist/public/sdk/actions-GYsSR2Q2.js +1 -0
  240. package/dist/public/sdk/activeWalletSession-H9JBdHyQ.js +1 -0
  241. package/dist/public/sdk/adapters-D5MZ5NG5.js +2 -0
  242. package/dist/public/sdk/appearance-token-vars-CgYTfCKg.js +1 -0
  243. package/dist/public/sdk/{canonicalPrimitives-D_1HyEuJ.js → canonicalPrimitives-B6YMrI3W.js} +1 -1
  244. package/dist/public/sdk/{capabilityKinds-CqHVzVsJ.js → capabilityKinds-BzrNeEyO.js} +1 -1
  245. package/dist/public/sdk/{chains-CPmd4s9f.js → chains-gV2K9gA4.js} +1 -1
  246. package/dist/public/sdk/{challengeDelivery-C88JNwKf.js → challengeDelivery-FW9gYyr0.js} +1 -1
  247. package/dist/public/sdk/clientSessionPersistenceState-BPYK9PYV.js +1 -0
  248. package/dist/public/sdk/{collectAuthenticationCredentialForChallengeB64u-CSwy9csE.js → collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js} +1 -1
  249. package/dist/public/sdk/{commitQueue-BQPOhyGl.js → commitQueue-Bs23Rs57.js} +1 -1
  250. package/dist/public/sdk/configBuilder-DrxXNUpV.js +1 -0
  251. package/dist/public/sdk/{configHelpers-D50F_Txb.js → configHelpers-BNqoU2cv.js} +1 -1
  252. package/dist/public/sdk/configuration-CAqANpTI.js +1 -0
  253. package/dist/public/sdk/csp-stylesheet-DeuiM0Mo.js +2 -0
  254. package/dist/public/sdk/{display-Dtugjeya.js → display-BXjW58UF.js} +1 -1
  255. package/dist/public/sdk/domainIds-t1lp25yU.js +1 -0
  256. package/dist/public/sdk/ecdsaCapabilityManifest--FjbES8k.js +1 -0
  257. package/dist/public/sdk/{ecdsaChainTarget-svSlzhze.js → ecdsaChainTarget-DbLthshF.js} +1 -1
  258. package/dist/public/sdk/{ecdsaDerivationClientWasm-D1HzwUgV.js → ecdsaDerivationClientWasm-7Rp4TmYE.js} +1 -1
  259. package/dist/public/sdk/ecdsaDerivationExport-dInN7N6e.js +1 -0
  260. package/dist/public/sdk/{ecdsaWalletRecords-BmhuJF1y.js → ecdsaWalletRecords-BgcXXCZy.js} +1 -1
  261. package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +1 -0
  262. package/dist/public/sdk/{enrichDisplayModelWithAbi-D0o0IL7_.js → enrichDisplayModelWithAbi-CudPUW0T.js} +1 -1
  263. package/dist/public/sdk/{evmCryptoWasm-S2gL5ht4.js → evmCryptoWasm-DacbCVNM.js} +1 -1
  264. package/dist/public/sdk/{export-viewer-host-C9n-62Pi.js → export-viewer-host-DsWOvc0t.js} +1 -1
  265. package/dist/public/sdk/exportKeypairOperation-BazJvSov.js +1 -0
  266. package/dist/{esm/sdk/helpers-BXezXx19.js → public/sdk/helpers-CXqXyyCU.js} +1 -1
  267. package/dist/public/sdk/host-C0Is56lU.js +1 -0
  268. package/dist/public/sdk/icons-DyndJzSh.js +1 -0
  269. package/dist/public/sdk/indexedDB-C1odKEC6.js +1 -0
  270. package/dist/public/sdk/intentDigest-BMXki7yB.js +1 -0
  271. package/dist/public/sdk/{keyMaterialEnvelope-B3v6HLtz.js → keyMaterialEnvelope-B-Q5KTJC.js} +1 -1
  272. package/dist/public/sdk/lanes-C7OvAK_L.js +1 -0
  273. package/dist/public/sdk/localOnly-BB3Rx3J6.js +1 -0
  274. package/dist/public/sdk/mountExportPrivateKeySurface-CV1KrFWg.js +1 -0
  275. package/dist/{esm/sdk/mountRecoveryCodeBackupSurface-D3QFgMGE.js → public/sdk/mountRecoveryCodeBackupSurface-CVXU1zzl.js} +2 -2
  276. package/dist/public/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +1 -0
  277. package/dist/public/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +1 -0
  278. package/dist/public/sdk/{nonceLaneKeys-CR2XEvnk.js → nonceLaneKeys-BS4fek17.js} +1 -1
  279. package/dist/public/sdk/{normalization-Ctkj80dW.js → normalization-BN-2VWZf.js} +1 -1
  280. package/dist/public/sdk/{operationFingerprint-DRPONhBD.js → operationFingerprint-Bn0lUYlm.js} +1 -1
  281. package/dist/public/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js +1 -0
  282. package/dist/public/sdk/presignaturePool-CultzkOG.js +1 -0
  283. package/dist/public/sdk/{presignatures-DGLNs29C.js → presignatures-B9GrGx0L.js} +1 -1
  284. package/dist/public/sdk/recovery-entrypoint-QBvJBngm.js +1 -0
  285. package/dist/public/sdk/{recoveryAuthorization-BplZWc-N.js → recoveryAuthorization-DB-zxeHq.js} +1 -1
  286. package/dist/public/sdk/registration-CM5a7WYO.js +1 -0
  287. package/dist/public/sdk/registration-Hv0xi7-L.js +1 -0
  288. package/dist/public/sdk/{registrationAccounts-BfO6Ztye.js → registrationAccounts-BHikxS5q.js} +1 -1
  289. package/dist/public/sdk/{registrationAuthMethodInput-DKz6Mgg4.js → registrationAuthMethodInput-BvbWl0y_.js} +1 -1
  290. package/dist/public/sdk/registrationIntent-DTs2SR9E.js +1 -0
  291. package/dist/public/sdk/{registrationSignerPlan-B66FjqIp.js → registrationSignerPlan-CgbFVsAp.js} +1 -1
  292. package/dist/{esm/sdk/requireStepUpAuth-DsNLml1i.js → public/sdk/requireStepUpAuth-B7tC4MrA.js} +1 -1
  293. package/dist/public/sdk/resealedEnvelopeResult--iCVt_Bh.js +1 -0
  294. package/dist/public/sdk/routerAbNormalSigning-Div3lZWV.js +1 -0
  295. package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  296. package/dist/public/sdk/runtime-auth-CVw1KoVD.js +1 -0
  297. package/dist/public/sdk/runtime-device-link-Dp0YMZTQ.js +1 -0
  298. package/dist/public/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +1 -0
  299. package/dist/public/sdk/runtime-email-otp-gsr_FsQn.js +1 -0
  300. package/dist/public/sdk/runtime-export-upMPrZ4V.js +1 -0
  301. package/dist/public/sdk/runtime-near-B64Hn3nc.js +1 -0
  302. package/dist/public/sdk/runtime-preferences-CULdHkbg.js +1 -0
  303. package/dist/public/sdk/runtime-recovery-D2saBaJy.js +1 -0
  304. package/dist/public/sdk/runtime-recovery-codes-Bvc0IXMJ.js +1 -0
  305. package/dist/public/sdk/runtimeContext-CNFJjcns.js +6 -0
  306. package/dist/{esm/sdk/sdkSentEvents-BzMVO1AR.js → public/sdk/sdkSentEvents-DUht3AOD.js} +1 -1
  307. package/dist/public/sdk/{secp256k1-CYu8ENjP.js → secp256k1-BGVlx50C.js} +1 -1
  308. package/dist/public/sdk/sessionObservationRevision-84ZzJ-fC.js +1 -0
  309. package/dist/public/sdk/shared-DcHtE-D-.js +1 -0
  310. package/dist/public/sdk/signEvmFamily-PjwUc5MT.js +1 -0
  311. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-4A3D9nKv.js → signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js} +1 -1
  312. package/dist/public/sdk/{signEvmWithUiConfirm-lZyPfrGe.js → signEvmWithUiConfirm-BNkupz3z.js} +1 -1
  313. package/dist/public/sdk/signNear-r8VCOoTh.js +1 -0
  314. package/dist/public/sdk/{signatureUses-CY4U-X6V.js → signatureUses-DrqCoN12.js} +1 -1
  315. package/dist/public/sdk/signerDomain-D-EUTlLK.js +1 -0
  316. package/dist/public/sdk/{signerSlot-CpyIfl3J.js → signerSlot-D4ZOuK7e.js} +1 -1
  317. package/dist/{esm/sdk/signingFlow-Co_QtuHK.js → public/sdk/signingFlow-BVvteILM.js} +1 -1
  318. package/dist/public/sdk/{signingQueue-Cj9sCJLj.js → signingQueue-BJzOrwDq.js} +1 -1
  319. package/dist/public/sdk/surface-measurement-reporter-NUm_54LH.js +1 -0
  320. package/dist/{esm/sdk/thresholdEcdsa-LvkD6z8-.js → public/sdk/thresholdEcdsa-tnY83qyG.js} +1 -1
  321. package/dist/public/sdk/{trace-CWTzEALZ.js → trace-CGNqO1FV.js} +1 -1
  322. package/dist/public/sdk/{transaction-activity-CpDMkSPm.js → transaction-activity-DPq9RTh5.js} +1 -1
  323. package/dist/public/sdk/transactionReview-DSGnpreN.js +1 -0
  324. package/dist/public/sdk/transactionReviewAdmission--8tDis7M.js +1 -0
  325. package/dist/{esm/sdk/transactionState-BaFSiA9t.js → public/sdk/transactionState-BS1VLT7B.js} +1 -1
  326. package/dist/public/sdk/tx-confirm-ui.js +418 -109
  327. package/dist/public/sdk/types-DdzuHlAQ.js +1 -0
  328. package/dist/public/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +1 -0
  329. package/dist/public/sdk/voiceid-host.js +1 -0
  330. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  331. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  332. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  333. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  334. package/dist/public/sdk/wallet-recovery-BjIQdOha.js +1 -0
  335. package/dist/public/sdk/wallet-ui.css +1 -1
  336. package/dist/public/sdk/walletAuthMethodRecord-yIqCeE-o.js +1 -0
  337. package/dist/public/sdk/walletCapabilityBindings-CUPk3mVH.js +1 -0
  338. package/dist/public/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +1 -0
  339. package/dist/public/sdk/walletCustodyOperation-DzPcxEBS.js +1 -0
  340. package/dist/public/sdk/walletDbName-DDJXrgA5.js +1 -0
  341. package/dist/public/sdk/walletOwnershipGeneration-DI9ogcXF.js +1 -0
  342. package/dist/public/sdk/walletRecoveryAdminProof-BJxmg3f7.js +1 -0
  343. package/dist/public/sdk/walletRecoveryCommit-B7WsdR7y.js +1 -0
  344. package/dist/public/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +1 -0
  345. package/dist/public/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +1 -0
  346. package/dist/{esm/sdk/walletSessionAuthorizationStore-DYRMCkiT.js → public/sdk/walletSessionAuthorizationStore-zkxcMdSp.js} +1 -1
  347. package/dist/public/sdk/warmSessionHydration-DqZyfi1h.js +1 -0
  348. package/dist/public/sdk/{webauthnP256-unqBoZCk.js → webauthnP256-BvTL8nq4.js} +1 -1
  349. package/dist/public/sdk/workers/device-linking-key.worker.js +93 -5
  350. package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +67 -65
  351. package/dist/public/sdk/workers/email-otp.worker.js +93 -4
  352. package/dist/public/sdk/workers/passkey-mpc-export.worker.js +21 -2
  353. package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  354. package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +20 -2
  355. package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
  356. package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
  357. package/dist/public/wallet-assets.manifest.json +503 -240
  358. package/dist/public/wallet-service/index.html +4 -4
  359. package/dist/types/shared-ts/src/authorization/voiceIdDeviceAssertion.d.ts +32 -0
  360. package/dist/types/shared-ts/src/device-linking/committedSignerPackages.d.ts +3 -1
  361. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +8 -0
  362. package/dist/types/shared-ts/src/device-linking/wireFields.d.ts +4 -4
  363. package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +29 -0
  364. package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +1 -0
  365. package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +2 -2
  366. package/dist/types/shared-ts/src/signing-lanes/recordParsers.d.ts +2 -1
  367. package/dist/types/shared-ts/src/signing-lanes/records.d.ts +10 -2
  368. package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +2 -2
  369. package/dist/types/shared-ts/src/threshold/sessionPolicy.d.ts +9 -0
  370. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +3 -3
  371. package/dist/types/shared-ts/src/utils/domainIds.d.ts +4 -5
  372. package/dist/types/shared-ts/src/utils/registrationIntent.d.ts +0 -1
  373. package/dist/types/shared-ts/src/utils/signerDomain.d.ts +3 -0
  374. package/dist/types/shared-ts/src/utils/walletAuthAuthority.d.ts +32 -2
  375. package/dist/types/shared-ts/src/utils/walletAuthMethodRecord.d.ts +15 -1
  376. package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +20 -0
  377. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.d.ts +2 -2
  378. package/dist/types/wallet/src/SeamsWeb/publicApi/auth.d.ts +1 -1
  379. package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +1 -1
  380. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +22 -0
  381. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +4 -0
  382. package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +2 -0
  383. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/authMenuAnchor.d.ts +17 -0
  384. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +4 -0
  385. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/surface/geometry.d.ts +0 -1
  386. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +2 -1
  387. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +9 -0
  388. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/session.d.ts +15 -0
  389. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createRegistrationCommands.d.ts +2 -1
  390. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createSessionCommands.d.ts +7 -2
  391. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +2 -2
  392. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeContext.d.ts +3 -0
  393. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +4 -0
  394. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/icons.d.ts +0 -1
  395. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.d.ts +2 -2
  396. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/walletMutationGuard.d.ts +2 -0
  397. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +15 -4
  398. package/dist/types/wallet/src/core/authMethods/availability.d.ts +13 -0
  399. package/dist/types/wallet/src/core/authMethods/availabilityTypes.d.ts +13 -0
  400. package/dist/types/wallet/src/core/authMethods/hostPlugin.d.ts +82 -0
  401. package/dist/types/wallet/src/core/authMethods/hostRegistry.d.ts +5 -0
  402. package/dist/types/wallet/src/core/authMethods/installSession.d.ts +15 -0
  403. package/dist/types/wallet/src/core/authMethods/plugins.d.ts +7 -0
  404. package/dist/types/wallet/src/core/authMethods/prepareEcdsaSession.d.ts +6 -0
  405. package/dist/types/wallet/src/core/authMethods/prepareNearSession.d.ts +18 -0
  406. package/dist/types/wallet/src/core/authMethods/sessionIdentity.d.ts +53 -0
  407. package/dist/types/wallet/src/core/indexedDB/passkeyClientDB.types.d.ts +11 -1
  408. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +53 -2
  409. package/dist/types/wallet/src/core/indexedDB/unifiedIndexedDBManager.d.ts +1 -0
  410. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +1 -1
  411. package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaExportMaterial.d.ts +6 -3
  412. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/ecdsaSelection.d.ts +8 -2
  413. package/dist/types/wallet/src/core/signingEngine/session/availability/availableSigningLanes.d.ts +10 -10
  414. package/dist/types/wallet/src/core/signingEngine/session/identity/exactSigningLaneIdentity.d.ts +1 -1
  415. package/dist/types/wallet/src/core/signingEngine/session/identity/laneIdentity.d.ts +3 -1
  416. package/dist/types/wallet/src/core/signingEngine/session/identity/signingLaneAuthBinding.d.ts +16 -4
  417. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSealedRuntime.d.ts +13 -4
  418. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSigningCapability.d.ts +15 -6
  419. package/dist/types/wallet/src/core/signingEngine/session/operationState/lanes.d.ts +11 -4
  420. package/dist/types/wallet/src/core/signingEngine/session/postconditions/runtimePostconditions.d.ts +3 -3
  421. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.d.ts +6 -0
  422. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/methodSelection.d.ts +1 -1
  423. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/requireStepUpAuth.d.ts +1 -1
  424. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.d.ts +6 -0
  425. package/dist/types/wallet/src/core/signingEngine/uiConfirm/transactionReviewAdmission.d.ts +11 -1
  426. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/confirm-ui-types.d.ts +2 -0
  427. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/confirmation-model.d.ts +1 -1
  428. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.d.ts +1 -0
  429. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.d.ts +4 -0
  430. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReview.d.ts +1 -1
  431. package/dist/types/wallet/src/core/signingEngine/walletCustody/passkeyLink.d.ts +2 -2
  432. package/dist/types/wallet/src/core/signingEngine/walletCustody/resealedEnvelopeResult.d.ts +10 -0
  433. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +1 -1
  434. package/dist/types/wallet/src/core/types/seams.d.ts +4 -0
  435. package/dist/types/wallet/src/core/ui/messages.d.ts +1 -1
  436. package/dist/types/wallet/src/externalNear/actions.d.ts +20 -0
  437. package/dist/types/wallet/src/externalNear/boundary.d.ts +7 -0
  438. package/dist/types/wallet/src/externalNear/controller.d.ts +24 -0
  439. package/dist/types/wallet/src/externalNear/hot.d.ts +14 -0
  440. package/dist/types/wallet/src/externalNear/index.d.ts +4 -0
  441. package/dist/types/wallet/src/externalNear/intear.d.ts +13 -0
  442. package/dist/types/wallet/src/externalNear/intearPopup.d.ts +25 -0
  443. package/dist/types/wallet/src/externalNear/message.d.ts +14 -0
  444. package/dist/types/wallet/src/externalNear/meteor.d.ts +19 -0
  445. package/dist/types/wallet/src/externalNear/meteorRequest.d.ts +29 -0
  446. package/dist/types/wallet/src/externalNear/types.d.ts +87 -0
  447. package/dist/types/wallet/src/externalNear/wallets.d.ts +4 -0
  448. package/dist/types/wallet/src/index.d.ts +1 -0
  449. package/dist/types/wallet/src/plugins/plugin-utils.d.ts +1 -1
  450. package/dist/types/wallet/src/react/components/AccountMenuButton/AddEvmAccount.d.ts +29 -0
  451. package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodRow.d.ts +8 -3
  452. package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodsView.d.ts +1 -2
  453. package/dist/types/wallet/src/react/components/AccountMenuButton/VoiceIdAvailabilityControl.d.ts +19 -0
  454. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/ChevronRightIcon.d.ts +2 -0
  455. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/WalletIcon.d.ts +2 -0
  456. package/dist/types/wallet/src/react/externalNear.d.ts +26 -0
  457. package/dist/types/wallet/src/react/index.d.ts +1 -4
  458. package/dist/types/wallet/src/voiceid-host.d.ts +52 -0
  459. package/dist/workers/device-linking-key.worker.js +93 -5
  460. package/dist/workers/ecdsa-derivation-client.worker.js +67 -65
  461. package/dist/workers/email-otp.worker.js +93 -4
  462. package/dist/workers/passkey-mpc-export.worker.js +21 -2
  463. package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  464. package/dist/workers/wallet-custody-ceremony.worker.js +20 -2
  465. package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
  466. package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
  467. package/package.json +25 -3
  468. package/dist/esm/plugins/SeamsWeb/walletIframe/sanitization.js +0 -18
  469. package/dist/esm/react/components/AccountMenuButton/icons/PlusIcon.js +0 -8
  470. package/dist/esm/react/components/VoiceAssistantCard.css +0 -313
  471. package/dist/esm/react/components/VoiceAssistantCard.js +0 -150
  472. package/dist/esm/sdk/ConfirmationDrawer-Ck33ZmU-.js +0 -1
  473. package/dist/esm/sdk/activeWalletSession-BtEHhe99.js +0 -1
  474. package/dist/esm/sdk/adapters-CgJpSAxH.js +0 -2
  475. package/dist/esm/sdk/appearance-token-vars-BA3KQyEE.js +0 -2
  476. package/dist/esm/sdk/clientSessionPersistenceState-DFGHXoKK.js +0 -1
  477. package/dist/esm/sdk/configBuilder-BMNShuOu.js +0 -1
  478. package/dist/esm/sdk/domainIds-C3fUa33Q.js +0 -1
  479. package/dist/esm/sdk/ecdsaCapabilityManifest-B3u6J5gn.js +0 -1
  480. package/dist/esm/sdk/ecdsaDerivationExport-DrFESeRP.js +0 -1
  481. package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-DreNrM6n.js +0 -1
  482. package/dist/esm/sdk/exportKeypairOperation-Du9HKB8f.js +0 -1
  483. package/dist/esm/sdk/host-DoftJdVQ.js +0 -1
  484. package/dist/esm/sdk/intentDigest--FZ63NBy.js +0 -1
  485. package/dist/esm/sdk/lanes-l274pbT5.js +0 -1
  486. package/dist/esm/sdk/localOnly-CvFSZFUy.js +0 -1
  487. package/dist/esm/sdk/mountExportPrivateKeySurface-DdJHWwqY.js +0 -1
  488. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-BK8_DxHs.js +0 -1
  489. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-BgCxoh9S.js +0 -1
  490. package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-LbstFwcY.js +0 -1
  491. package/dist/esm/sdk/presignaturePool-DNiA3sgr.js +0 -1
  492. package/dist/esm/sdk/recovery-entrypoint-CNVjXz6A.js +0 -1
  493. package/dist/esm/sdk/registration-CIxJvbTo.js +0 -1
  494. package/dist/esm/sdk/registration-CeOmKyCG.js +0 -1
  495. package/dist/esm/sdk/registrationIntent-DW_kKWlx.js +0 -1
  496. package/dist/esm/sdk/routerAbNormalSigning-DSAfCcND.js +0 -1
  497. package/dist/esm/sdk/runtime-auth-C0V-5znH.js +0 -1
  498. package/dist/esm/sdk/runtime-device-link-B1jpHQSF.js +0 -1
  499. package/dist/esm/sdk/runtime-ecdsa-tempo-CDSZ3pxS.js +0 -1
  500. package/dist/esm/sdk/runtime-email-otp-DXuxFOjL.js +0 -1
  501. package/dist/esm/sdk/runtime-export-Ba12ChDI.js +0 -1
  502. package/dist/esm/sdk/runtime-near-DRrdWzmr.js +0 -1
  503. package/dist/esm/sdk/runtime-preferences-BWyhRaBA.js +0 -1
  504. package/dist/esm/sdk/runtime-recovery-DlJlaZlf.js +0 -1
  505. package/dist/esm/sdk/runtime-recovery-codes-CuqYWqK7.js +0 -1
  506. package/dist/esm/sdk/sessionObservationRevision-abErAhd6.js +0 -1
  507. package/dist/esm/sdk/shared-B95wnpoD.js +0 -6
  508. package/dist/esm/sdk/signEvmFamily-C4XMiSue.js +0 -1
  509. package/dist/esm/sdk/signNear-B_UcqMRf.js +0 -1
  510. package/dist/esm/sdk/signerDomain-YEHkugWX.js +0 -1
  511. package/dist/esm/sdk/surface-measurement-reporter-F-fVB7d3.js +0 -1
  512. package/dist/esm/sdk/transactionReviewAdmission-CNNho8IG.js +0 -1
  513. package/dist/esm/sdk/types-BrEW276O.js +0 -1
  514. package/dist/esm/sdk/wallet-recovery-BEui57xM.js +0 -1
  515. package/dist/esm/sdk/walletAuthMethodRecord-Cv_MYpxt.js +0 -1
  516. package/dist/esm/sdk/walletCapabilityBindings-CKOK39sP.js +0 -1
  517. package/dist/esm/sdk/walletCustodyEcdsaContinuity-5XsLsT8D.js +0 -1
  518. package/dist/esm/sdk/walletCustodyOperation-BO_tSfGY.js +0 -1
  519. package/dist/esm/sdk/walletDbName-BVZhb4xF.js +0 -1
  520. package/dist/esm/sdk/walletOwnershipGeneration-CQzaodhB.js +0 -1
  521. package/dist/esm/sdk/walletRecoveryAdminProof-CtH8_lph.js +0 -1
  522. package/dist/esm/sdk/walletRecoveryCommit-B_e4k5Pa.js +0 -1
  523. package/dist/esm/sdk/walletRegistrationSetupPrewarm-CQow9u8m.js +0 -1
  524. package/dist/esm/sdk/walletSessionAuthorizationStatus-_KtCVFYW.js +0 -1
  525. package/dist/esm/sdk/warmSessionHydration-CY9ofEGr.js +0 -1
  526. package/dist/public/sdk/ConfirmationDrawer-Ck33ZmU-.js +0 -1
  527. package/dist/public/sdk/activeWalletSession-BtEHhe99.js +0 -1
  528. package/dist/public/sdk/adapters-CgJpSAxH.js +0 -2
  529. package/dist/public/sdk/appearance-token-vars-BA3KQyEE.js +0 -2
  530. package/dist/public/sdk/clientSessionPersistenceState-DFGHXoKK.js +0 -1
  531. package/dist/public/sdk/configBuilder-BMNShuOu.js +0 -1
  532. package/dist/public/sdk/domainIds-C3fUa33Q.js +0 -1
  533. package/dist/public/sdk/ecdsaCapabilityManifest-B3u6J5gn.js +0 -1
  534. package/dist/public/sdk/ecdsaDerivationExport-DrFESeRP.js +0 -1
  535. package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-DreNrM6n.js +0 -1
  536. package/dist/public/sdk/exportKeypairOperation-Du9HKB8f.js +0 -1
  537. package/dist/public/sdk/host-DoftJdVQ.js +0 -1
  538. package/dist/public/sdk/intentDigest--FZ63NBy.js +0 -1
  539. package/dist/public/sdk/lanes-l274pbT5.js +0 -1
  540. package/dist/public/sdk/localOnly-CvFSZFUy.js +0 -1
  541. package/dist/public/sdk/mountExportPrivateKeySurface-DdJHWwqY.js +0 -1
  542. package/dist/public/sdk/nearEd25519YaoMaterialActivation-BK8_DxHs.js +0 -1
  543. package/dist/public/sdk/nearEd25519YaoSigningPreparation-BgCxoh9S.js +0 -1
  544. package/dist/public/sdk/pendingWalletRecoveryCodeBackup-LbstFwcY.js +0 -1
  545. package/dist/public/sdk/presignaturePool-DNiA3sgr.js +0 -1
  546. package/dist/public/sdk/recovery-entrypoint-CNVjXz6A.js +0 -1
  547. package/dist/public/sdk/registration-CIxJvbTo.js +0 -1
  548. package/dist/public/sdk/registration-CeOmKyCG.js +0 -1
  549. package/dist/public/sdk/registrationIntent-DW_kKWlx.js +0 -1
  550. package/dist/public/sdk/routerAbNormalSigning-DSAfCcND.js +0 -1
  551. package/dist/public/sdk/runtime-auth-C0V-5znH.js +0 -1
  552. package/dist/public/sdk/runtime-device-link-B1jpHQSF.js +0 -1
  553. package/dist/public/sdk/runtime-ecdsa-tempo-CDSZ3pxS.js +0 -1
  554. package/dist/public/sdk/runtime-email-otp-DXuxFOjL.js +0 -1
  555. package/dist/public/sdk/runtime-export-Ba12ChDI.js +0 -1
  556. package/dist/public/sdk/runtime-near-DRrdWzmr.js +0 -1
  557. package/dist/public/sdk/runtime-preferences-BWyhRaBA.js +0 -1
  558. package/dist/public/sdk/runtime-recovery-DlJlaZlf.js +0 -1
  559. package/dist/public/sdk/runtime-recovery-codes-CuqYWqK7.js +0 -1
  560. package/dist/public/sdk/sessionObservationRevision-abErAhd6.js +0 -1
  561. package/dist/public/sdk/shared-B95wnpoD.js +0 -6
  562. package/dist/public/sdk/signEvmFamily-C4XMiSue.js +0 -1
  563. package/dist/public/sdk/signNear-B_UcqMRf.js +0 -1
  564. package/dist/public/sdk/signerDomain-YEHkugWX.js +0 -1
  565. package/dist/public/sdk/surface-measurement-reporter-F-fVB7d3.js +0 -1
  566. package/dist/public/sdk/transactionReviewAdmission-CNNho8IG.js +0 -1
  567. package/dist/public/sdk/types-BrEW276O.js +0 -1
  568. package/dist/public/sdk/wallet-recovery-BEui57xM.js +0 -1
  569. package/dist/public/sdk/walletAuthMethodRecord-Cv_MYpxt.js +0 -1
  570. package/dist/public/sdk/walletCapabilityBindings-CKOK39sP.js +0 -1
  571. package/dist/public/sdk/walletCustodyEcdsaContinuity-5XsLsT8D.js +0 -1
  572. package/dist/public/sdk/walletCustodyOperation-BO_tSfGY.js +0 -1
  573. package/dist/public/sdk/walletDbName-BVZhb4xF.js +0 -1
  574. package/dist/public/sdk/walletOwnershipGeneration-CQzaodhB.js +0 -1
  575. package/dist/public/sdk/walletRecoveryAdminProof-CtH8_lph.js +0 -1
  576. package/dist/public/sdk/walletRecoveryCommit-B_e4k5Pa.js +0 -1
  577. package/dist/public/sdk/walletRegistrationSetupPrewarm-CQow9u8m.js +0 -1
  578. package/dist/public/sdk/walletSessionAuthorizationStatus-_KtCVFYW.js +0 -1
  579. package/dist/public/sdk/warmSessionHydration-CY9ofEGr.js +0 -1
  580. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/PlusIcon.d.ts +0 -2
  581. package/dist/types/wallet/src/react/components/VoiceAssistantCard.d.ts +0 -37
  582. package/dist/types/wallet/src/react/components/VoiceAssistantCard.typecheck.d.ts +0 -2
  583. /package/dist/esm/sdk/{accountIds-BzZs7YoX.js → accountIds-D5NI31F2.js} +0 -0
  584. /package/dist/esm/sdk/{appearance-ZGVLwA4N.js → appearance-DVFno9Tv.js} +0 -0
  585. /package/dist/esm/sdk/{authenticatorOptions-BB_sU4uA.js → authenticatorOptions-EF_Rps52.js} +0 -0
  586. /package/dist/esm/sdk/{authorizationAdmission-D7nx2n4d.js → authorizationAdmission-DbhNiY3X.js} +0 -0
  587. /package/dist/esm/sdk/{browser-DkCRXFkk.js → browser-B2RI00tM.js} +0 -0
  588. /package/dist/esm/sdk/{bytes-Cv07P0Pu.js → bytes-DVe42j_r.js} +0 -0
  589. /package/dist/esm/sdk/{canonicalSignerErrorCode-CqHi6ji6.js → canonicalSignerErrorCode-AwNMAn8S.js} +0 -0
  590. /package/dist/esm/sdk/{errors-CI1xdN0d.js → errors-ADOZT8oV.js} +0 -0
  591. /package/dist/esm/sdk/{executeWorkerOperation-S6glYwAs.js → executeWorkerOperation-B-9JuL55.js} +0 -0
  592. /package/dist/esm/sdk/{jsonRpc-B5zMY6lE.js → jsonRpc-CHutSlC9.js} +0 -0
  593. /package/dist/esm/sdk/{keccak-CaPOCznk.js → keccak-C9kCkZem.js} +0 -0
  594. /package/dist/esm/sdk/{normalization-CpLZcL2f.js → normalization-DtruiNPw.js} +0 -0
  595. /package/dist/esm/sdk/{prfCache-D25ZCg5n.js → prfCache-8Wm3etlV.js} +0 -0
  596. /package/dist/esm/sdk/{profileAccountProjection-C1z9sKHa.js → profileAccountProjection-D01e10UY.js} +0 -0
  597. /package/dist/esm/sdk/{promptText-D2f5Rg0h.js → promptText-Bz3YRl9D.js} +0 -0
  598. /package/dist/esm/sdk/{signer-worker-Bh_5foqX.js → signer-worker-DlK58rEA.js} +0 -0
  599. /package/dist/esm/sdk/{types-BNUuaUtl.js → types-fJKfUgTi.js} +0 -0
  600. /package/dist/esm/sdk/{walletIframeIdentity-DJ0KOBHg.js → walletIframeIdentity-Cz82I_Uh.js} +0 -0
  601. /package/dist/esm/sdk/{walletSessionAuthorizationProjection-UdGeS6x3.js → walletSessionAuthorizationProjection-BJgnZaBc.js} +0 -0
  602. /package/dist/esm/sdk/{walletSessionFailure-Ct412mDZ.js → walletSessionFailure-CLUIF3Eh.js} +0 -0
  603. /package/dist/esm/sdk/{webauthnPromptCoordinator-CBkTiMP0.js → webauthnPromptCoordinator-CU9ag7vz.js} +0 -0
  604. /package/dist/public/sdk/{accountIds-BzZs7YoX.js → accountIds-D5NI31F2.js} +0 -0
  605. /package/dist/public/sdk/{appearance-ZGVLwA4N.js → appearance-DVFno9Tv.js} +0 -0
  606. /package/dist/public/sdk/{authenticatorOptions-BB_sU4uA.js → authenticatorOptions-EF_Rps52.js} +0 -0
  607. /package/dist/public/sdk/{authorizationAdmission-D7nx2n4d.js → authorizationAdmission-DbhNiY3X.js} +0 -0
  608. /package/dist/public/sdk/{browser-DkCRXFkk.js → browser-B2RI00tM.js} +0 -0
  609. /package/dist/public/sdk/{bytes-Cv07P0Pu.js → bytes-DVe42j_r.js} +0 -0
  610. /package/dist/public/sdk/{canonicalSignerErrorCode-CqHi6ji6.js → canonicalSignerErrorCode-AwNMAn8S.js} +0 -0
  611. /package/dist/public/sdk/{errors-CI1xdN0d.js → errors-ADOZT8oV.js} +0 -0
  612. /package/dist/public/sdk/{executeWorkerOperation-S6glYwAs.js → executeWorkerOperation-B-9JuL55.js} +0 -0
  613. /package/dist/public/sdk/{jsonRpc-B5zMY6lE.js → jsonRpc-CHutSlC9.js} +0 -0
  614. /package/dist/public/sdk/{keccak-CaPOCznk.js → keccak-C9kCkZem.js} +0 -0
  615. /package/dist/public/sdk/{normalization-CpLZcL2f.js → normalization-DtruiNPw.js} +0 -0
  616. /package/dist/public/sdk/{prfCache-D25ZCg5n.js → prfCache-8Wm3etlV.js} +0 -0
  617. /package/dist/public/sdk/{profileAccountProjection-C1z9sKHa.js → profileAccountProjection-D01e10UY.js} +0 -0
  618. /package/dist/public/sdk/{promptText-D2f5Rg0h.js → promptText-Bz3YRl9D.js} +0 -0
  619. /package/dist/public/sdk/{signer-worker-Bh_5foqX.js → signer-worker-DlK58rEA.js} +0 -0
  620. /package/dist/public/sdk/{types-BNUuaUtl.js → types-fJKfUgTi.js} +0 -0
  621. /package/dist/public/sdk/{walletIframeIdentity-DJ0KOBHg.js → walletIframeIdentity-Cz82I_Uh.js} +0 -0
  622. /package/dist/public/sdk/{walletSessionAuthorizationProjection-UdGeS6x3.js → walletSessionAuthorizationProjection-BJgnZaBc.js} +0 -0
  623. /package/dist/public/sdk/{walletSessionFailure-Ct412mDZ.js → walletSessionFailure-CLUIF3Eh.js} +0 -0
  624. /package/dist/public/sdk/{webauthnPromptCoordinator-CBkTiMP0.js → webauthnPromptCoordinator-CU9ag7vz.js} +0 -0
@@ -1648,6 +1648,7 @@ function normalizeConfirmationModel(input) {
1648
1648
  appearance: input.appearance,
1649
1649
  content: {
1650
1650
  kind: "transaction",
1651
+ capture: source.authMethodCapture ?? null,
1651
1652
  review: { model: source.model ?? null, tree: input.tree },
1652
1653
  header: {
1653
1654
  heading: confirmationHeading(source),
@@ -1670,7 +1671,8 @@ function normalizeConfirmationModel(input) {
1670
1671
  cancelText,
1671
1672
  errorMessage,
1672
1673
  onCancel: input.callbacks.cancel,
1673
- onBack: source.onBack
1674
+ onBack: source.onBack,
1675
+ authMethodApprovalMessage: source.authMethodApprovalMessage
1674
1676
  }
1675
1677
  }
1676
1678
  }
@@ -2273,6 +2275,26 @@ var walletMessages = [
2273
2275
  ["Creating your wallet", "ウォレットを作成中"],
2274
2276
  ["Continue with your passkey", "パスキーで続ける"],
2275
2277
  ["Accounts", "アカウント"],
2278
+ ["View or add accounts", "アカウントの表示・追加"],
2279
+ ["Add EVM account", "EVM アカウントを追加"],
2280
+ ["Adding EVM account…", "EVM アカウントを追加中…"],
2281
+ ["EVM account added.", "EVM アカウントを追加しました。"],
2282
+ [
2283
+ "Account added. Open this wallet again to finish setup.",
2284
+ "アカウントを追加しました。このウォレットを開き直して設定を完了してください。"
2285
+ ],
2286
+ [
2287
+ "Enable this app’s EVM networks with your passkey.",
2288
+ "パスキーでこのアプリの EVM ネットワークを有効にします。"
2289
+ ],
2290
+ [
2291
+ "Add a passkey in Authentication methods first.",
2292
+ "先に「認証方法」でパスキーを追加してください。"
2293
+ ],
2294
+ [
2295
+ "The account could not be added. Try again.",
2296
+ "アカウントを追加できませんでした。もう一度お試しください。"
2297
+ ],
2276
2298
  ["View accounts on block explorers", "ブロックエクスプローラーでアカウントを表示"],
2277
2299
  ["Export keys", "鍵をエクスポート"],
2278
2300
  ["Export wallet signing keys", "ウォレットの署名鍵をエクスポート"],
@@ -2725,8 +2747,6 @@ var walletMessages = [
2725
2747
  ["Adding Email OTP…", "メール認証を追加中…"],
2726
2748
  ["Passkey added.", "パスキーを追加しました。"],
2727
2749
  ["Email OTP added.", "メール認証を追加しました。"],
2728
- ["Unlocking wallet management…", "ウォレット管理のロックを解除中…"],
2729
- ["Wallet management unlocked.", "ウォレット管理のロックを解除しました。"],
2730
2750
  ["Checking authentication methods…", "認証方法を確認中…"],
2731
2751
  ["Unable to load authentication methods:", "認証方法を読み込めません:"],
2732
2752
  ["Active authentication methods", "有効な認証方法"],
@@ -2743,11 +2763,19 @@ var walletMessages = [
2743
2763
  "このデバイスのパスキーでウォレットのロックを解除します。"
2744
2764
  ],
2745
2765
  ["Add Email OTP", "メール認証を追加"],
2746
- ["Unlock to manage methods", "ロックを解除して認証方法を管理"],
2766
+ ["Add", "追加"],
2767
+ [
2768
+ "Use a one-time code from your email to unlock the wallet.",
2769
+ "メールに届くワンタイムコードでウォレットのロックを解除します。"
2770
+ ],
2747
2771
  [
2748
- "Confirm your current authentication method to add or remove methods.",
2749
- "認証方法を追加・削除するには、現在の認証方法を確認してください。"
2772
+ "Next, confirm with your passkey. Then enter the code that we email to this address.",
2773
+ "次にパスキーで確認します。その後、このアドレスに届くコードを入力してください。"
2750
2774
  ],
2775
+ ["Send code", "コードを送信"],
2776
+ ["Sending code…", "コードを送信中…"],
2777
+ ["Enter a valid email address.", "有効なメールアドレスを入力してください。"],
2778
+ ["Codes go to the email address you verified.", "確認済みのメールアドレスにコードを送信します。"],
2751
2779
  ["Transfer", "送金"],
2752
2780
  ["Warnings", "警告"],
2753
2781
  ["No operations", "操作なし"],
@@ -3507,6 +3535,7 @@ var LANDING_CONFIRM_FRAMES = 3;
3507
3535
  var HUG_TOLERANCE_CSS_PX = 1;
3508
3536
  var ANNOUNCE_SAFETY_MS = 1500;
3509
3537
  var MIN_ANNOUNCED_DELTA_CSS_PX = 1;
3538
+ var OWN_RESIZE_MS = 200;
3510
3539
  function announceSurfaceResize(target, announcement) {
3511
3540
  const { fromCssPx, toCssPx } = announcement;
3512
3541
  if (!Number.isFinite(fromCssPx) || !Number.isFinite(toCssPx))
@@ -3601,13 +3630,25 @@ function createSurfaceHeightReflow(args) {
3601
3630
  clampedElement = null;
3602
3631
  }
3603
3632
  });
3604
- if (!claimed)
3605
- release();
3633
+ if (claimed)
3634
+ return;
3635
+ release();
3636
+ easeOwnHeight(element, fromCssPx, toCssPx);
3606
3637
  });
3607
3638
  },
3608
3639
  dispose: release
3609
3640
  };
3610
3641
  }
3642
+ function easeOwnHeight(element, fromCssPx, toCssPx) {
3643
+ if (Math.abs(toCssPx - fromCssPx) < MIN_ANNOUNCED_DELTA_CSS_PX)
3644
+ return;
3645
+ if (window.matchMedia("(prefers-reduced-motion: reduce)").matches)
3646
+ return;
3647
+ element.animate([{ height: `${fromCssPx}px` }, { height: `${toCssPx}px` }], {
3648
+ duration: OWN_RESIZE_MS,
3649
+ easing: "cubic-bezier(0.32, 0.72, 0, 1)"
3650
+ });
3651
+ }
3611
3652
  function announceClampedSurfaceResize(args) {
3612
3653
  const { element, fromCssPx, toCssPx } = args;
3613
3654
  if (!Number.isFinite(fromCssPx) || !Number.isFinite(toCssPx))
@@ -4759,6 +4800,12 @@ class ConfirmContent extends C {
4759
4800
  onCopy: this.props.onCopy
4760
4801
  })
4761
4802
  }),
4803
+ this.props.authMethodApprovalMessage && /* @__PURE__ */ u3("p", {
4804
+ class: "seams-voiceid-instructions",
4805
+ "data-seams-voice-id": "required",
4806
+ role: "status",
4807
+ children: this.props.authMethodApprovalMessage
4808
+ }),
4762
4809
  /* @__PURE__ */ u3("div", {
4763
4810
  class: "actions",
4764
4811
  children: [
@@ -5465,11 +5512,23 @@ class ReviewDisclosure extends C {
5465
5512
  confirmationDocumentStyles(details.ownerDocument).setDynamicDeclarations(this.id, `#${this.id}`, { "--seams-review-disclosure-height": `${height}px` });
5466
5513
  };
5467
5514
  finish = () => {
5515
+ const local = this.motion?.kind === "local";
5468
5516
  if (this.root.current && this.motion) {
5469
5517
  this.root.current.open = this.motion.opening;
5470
5518
  this.root.current.removeAttribute("data-closing");
5471
5519
  }
5472
5520
  this.clearMotion();
5521
+ if (local) {
5522
+ const surface = this.root.current?.closest(".seams-confirmation-surface");
5523
+ const focused = surface?.ownerDocument.activeElement;
5524
+ if (focused instanceof HTMLElement && focused.tabIndex >= 0 && surface?.contains(focused)) {
5525
+ const bounds = focused.getBoundingClientRect();
5526
+ const viewportHeight = focused.ownerDocument.documentElement.clientHeight;
5527
+ if (bounds.top < 0 || bounds.bottom > viewportHeight) {
5528
+ focused.scrollIntoView({ block: "center", inline: "nearest" });
5529
+ }
5530
+ }
5531
+ }
5473
5532
  };
5474
5533
  toggle = (event) => {
5475
5534
  const details = this.root.current;
@@ -5586,7 +5645,6 @@ function ReviewIcon({
5586
5645
  minimize: "M5 12h14",
5587
5646
  check: "m5 12 4 4L19 6",
5588
5647
  arrow: "M7 17 17 7M7 7h10v10",
5589
- shield: "M12 3 4.5 6v5.5c0 4.2 2.7 7.4 7.5 9.5 4.8-2.1 7.5-5.3 7.5-9.5V6L12 3Z M8.5 11.5l2.5 2.5 4.5-5",
5590
5648
  copy: "M8 8h12v12H8ZM4 16V4h12",
5591
5649
  loader: "M12 3a9 9 0 1 1-9 9",
5592
5650
  alert: "M12 8v5m0 3v.1M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0",
@@ -5608,6 +5666,10 @@ function ReviewIcon({
5608
5666
  function reviewNetwork(model) {
5609
5667
  if (!model)
5610
5668
  return "Wallet transaction";
5669
+ if (model.chain === "evm" && model.chainId === 5042)
5670
+ return "Arc";
5671
+ if (model.chain === "evm" && model.chainId === 5042002)
5672
+ return "Arc Testnet";
5611
5673
  if (model.chain === "evm" && model.chainId === 8453)
5612
5674
  return "Base";
5613
5675
  if (model.chain === "evm" && model.chainId === 84532)
@@ -5644,6 +5706,31 @@ function ReviewMiddleTruncated({
5644
5706
  });
5645
5707
  }
5646
5708
  function TokenIcon({ symbol }) {
5709
+ if (symbol === "NEAR")
5710
+ return /* @__PURE__ */ u3("svg", {
5711
+ class: "seams-review-token",
5712
+ viewBox: "0 0 48 48",
5713
+ "aria-hidden": "true",
5714
+ children: [
5715
+ /* @__PURE__ */ u3("circle", {
5716
+ cx: "24",
5717
+ cy: "24",
5718
+ r: "24",
5719
+ fill: "#000"
5720
+ }),
5721
+ /* @__PURE__ */ u3("svg", {
5722
+ x: "9",
5723
+ y: "9",
5724
+ width: "30",
5725
+ height: "30",
5726
+ viewBox: "108 108 351 351",
5727
+ children: /* @__PURE__ */ u3("path", {
5728
+ d: "m421.61,108c-13,0-25.07,6.74-31.88,17.82l-73.37,108.93c-2.39,3.59-1.42,8.43,2.17,10.82,2.91,1.94,6.76,1.7,9.41-.58l72.22-62.64c1.2-1.08,3.05-.97,4.13.23.49.55.75,1.26.75,1.99v196.12c0,1.62-1.31,2.92-2.93,2.92-.87,0-1.69-.38-2.24-1.05L181.56,121.24c-7.11-8.39-17.55-13.23-28.54-13.24h-7.63c-20.65,0-37.39,16.74-37.39,37.39v276.22c0,20.65,16.74,37.39,37.39,37.39,13,0,25.07-6.74,31.88-17.82l73.37-108.93c2.39-3.59,1.42-8.43-2.17-10.82-2.91-1.94-6.76-1.7-9.41.58l-72.22,62.64c-1.2,1.08-3.05.97-4.13-.23-.49-.55-.75-1.26-.74-1.99v-196.17c0-1.62,1.31-2.92,2.93-2.92.86,0,1.69.38,2.24,1.05l218.28,261.37c7.11,8.39,17.55,13.23,28.54,13.24h7.63c20.65.01,37.4-16.72,37.42-37.37V145.39c0-20.65-16.74-37.39-37.39-37.39Z",
5729
+ fill: "#fff"
5730
+ })
5731
+ })
5732
+ ]
5733
+ });
5647
5734
  if (symbol === "ETH")
5648
5735
  return /* @__PURE__ */ u3("svg", {
5649
5736
  class: "seams-review-token",
@@ -5673,20 +5760,25 @@ function TokenIcon({ symbol }) {
5673
5760
  if (symbol === "USDC")
5674
5761
  return /* @__PURE__ */ u3("svg", {
5675
5762
  class: "seams-review-token",
5676
- viewBox: "0 0 42 42",
5763
+ viewBox: "0 0 96 96",
5764
+ fill: "none",
5677
5765
  "aria-hidden": "true",
5678
5766
  children: [
5679
- /* @__PURE__ */ u3("circle", {
5680
- cx: "21",
5681
- cy: "21",
5682
- r: "21",
5683
- fill: "#2775ca"
5767
+ /* @__PURE__ */ u3("path", {
5768
+ d: "M48 95C73.9574 95 95 73.9574 95 48C95 22.0426 73.9574 1 48 1C22.0426 1 1 22.0426 1 48C1 73.9574 22.0426 95 48 95Z",
5769
+ fill: "#0B53BF"
5684
5770
  }),
5685
5771
  /* @__PURE__ */ u3("path", {
5686
- d: "M17 8a14 14 0 0 0 0 26M25 8a14 14 0 0 1 0 26M26 15c-1-4-10-4-10 1 0 5 10 3 10 8 0 5-9 5-11 1M21 10v4m0 14v4",
5687
- fill: "none",
5688
- stroke: "white",
5689
- "stroke-width": "2"
5772
+ d: "M56.4609 13.7778V19.8291C68.5341 23.4716 77.3759 34.6928 77.3759 47.9997C77.3759 61.3066 68.5341 72.5278 56.4609 76.1703V82.2216C71.8534 78.4616 83.2509 64.5672 83.2509 47.9997C83.2509 31.4322 71.8534 17.5378 56.4609 13.7778Z",
5773
+ fill: "white"
5774
+ }),
5775
+ /* @__PURE__ */ u3("path", {
5776
+ d: "M18.625 47.9997C18.625 34.6928 27.4669 23.4716 39.54 19.8291V13.7778C24.1475 17.5378 12.75 31.4322 12.75 47.9997C12.75 64.5672 24.1475 78.4616 39.54 82.2216V76.1703C27.4669 72.5572 18.625 61.3066 18.625 47.9997Z",
5777
+ fill: "white"
5778
+ }),
5779
+ /* @__PURE__ */ u3("path", {
5780
+ d: "M60.6319 54.5506C60.6319 42.5362 41.8025 47.4713 41.8025 40.8325C41.8025 38.4531 43.7119 36.9256 47.3544 36.9256C51.7019 36.9256 53.2 39.0406 53.67 41.89H59.6625C59.1279 36.5426 56.0588 33.1662 50.9382 32.1604V27.4375H45.0632V31.9918C39.4534 32.7062 35.9275 35.973 35.9275 40.8325C35.9275 52.9056 54.7863 48.3819 54.7863 54.9031C54.7863 57.3706 52.4069 59.0156 48.3825 59.0156C43.1244 59.0156 41.3913 56.695 40.745 53.4931H34.8994C35.2781 59.3502 38.8897 63.0159 45.0632 63.9307V68.5625H50.9382V63.9923C56.9633 63.2139 60.6319 59.7089 60.6319 54.5506Z",
5781
+ fill: "white"
5690
5782
  })
5691
5783
  ]
5692
5784
  });
@@ -5706,7 +5798,7 @@ function ReviewAmount({
5706
5798
  return /* @__PURE__ */ u3("div", {
5707
5799
  class: `seams-review-amount${compact ? " seams-review-amount--compact" : ""}`,
5708
5800
  children: [
5709
- !compact && /* @__PURE__ */ u3(TokenIcon, {
5801
+ /* @__PURE__ */ u3(TokenIcon, {
5710
5802
  symbol: amount.symbol
5711
5803
  }),
5712
5804
  /* @__PURE__ */ u3("div", {
@@ -5727,10 +5819,6 @@ function WalletReceiptFooter() {
5727
5819
  return /* @__PURE__ */ u3("div", {
5728
5820
  class: "seams-receipt-footer",
5729
5821
  children: [
5730
- /* @__PURE__ */ u3(ReviewIcon, {
5731
- kind: "shield"
5732
- }),
5733
- " ",
5734
5822
  /* @__PURE__ */ u3("span", {
5735
5823
  children: /* @__PURE__ */ u3(WalletText, {
5736
5824
  message: "Secured by"
@@ -5754,6 +5842,8 @@ function reviewAmount(model) {
5754
5842
  return null;
5755
5843
  if (total.nativeSymbol === "yoctoNEAR")
5756
5844
  return { value: decimalUnits(total.nativeValue, 24), symbol: "NEAR" };
5845
+ if (model?.chain === "evm" && (model.chainId === 5042 || model.chainId === 5042002) && total.nativeSymbol === "wei")
5846
+ return { value: decimalUnits(total.nativeValue, 18), symbol: "USDC" };
5757
5847
  return { value: total.nativeValue, symbol: total.nativeSymbol ?? "" };
5758
5848
  }
5759
5849
 
@@ -6095,44 +6185,28 @@ class ConfirmationContent extends C {
6095
6185
  renderTransaction(model) {
6096
6186
  const contentClass = this.props.variant === "drawer" ? "seams-confirmation-content seams-confirmation-content--drawer" : "seams-confirmation-content";
6097
6187
  const decision = model.prompt.kind === "email" && model.transaction.decision.kind === "ready" ? { kind: "form", formId: this.otpFormId } : model.transaction.decision;
6188
+ if (model.capture)
6189
+ return /* @__PURE__ */ u3("div", {
6190
+ ref: this.root,
6191
+ class: contentClass,
6192
+ children: /* @__PURE__ */ u3("div", {
6193
+ class: "seams-review-content seams-review-content--capture",
6194
+ children: [
6195
+ this.props.variant !== "drawer" && this.renderToolbar(model, decision),
6196
+ /* @__PURE__ */ u3(AuthMethodCapture, {
6197
+ element: model.capture
6198
+ }),
6199
+ /* @__PURE__ */ u3(WalletReceiptFooter, {})
6200
+ ]
6201
+ })
6202
+ });
6098
6203
  return /* @__PURE__ */ u3("div", {
6099
6204
  ref: this.root,
6100
6205
  class: contentClass,
6101
6206
  children: /* @__PURE__ */ u3("div", {
6102
6207
  class: "seams-review-content",
6103
6208
  children: [
6104
- this.props.variant !== "drawer" && /* @__PURE__ */ u3("div", {
6105
- class: "seams-review-toolbar",
6106
- children: [
6107
- /* @__PURE__ */ u3("div", {
6108
- class: "seams-review-origin",
6109
- children: [
6110
- model.transaction.onBack && /* @__PURE__ */ u3("button", {
6111
- type: "button",
6112
- "aria-label": walletText(this.context, "Back to review"),
6113
- title: walletText(this.context, "Back to review"),
6114
- disabled: decision.kind === "preparing",
6115
- onClick: model.transaction.onBack,
6116
- children: /* @__PURE__ */ u3(ReviewIcon, {
6117
- kind: "back"
6118
- })
6119
- }),
6120
- /* @__PURE__ */ u3(PadlockIcon, {}),
6121
- model.header.website.kind === "ready" ? model.header.website.text : /* @__PURE__ */ u3(LoadingStatus, {
6122
- label: walletText(this.context, "Loading website")
6123
- })
6124
- ]
6125
- }),
6126
- /* @__PURE__ */ u3("button", {
6127
- type: "button",
6128
- "aria-label": walletDisplayText(this.context, model.transaction.cancelText),
6129
- onClick: model.transaction.onCancel,
6130
- children: /* @__PURE__ */ u3(ReviewIcon, {
6131
- kind: "close"
6132
- })
6133
- })
6134
- ]
6135
- }),
6209
+ this.props.variant !== "drawer" && this.renderToolbar(model, decision),
6136
6210
  model.review.model && /* @__PURE__ */ u3("div", {
6137
6211
  class: "seams-review-eyebrow",
6138
6212
  children: model.review.model.operations.length === 1 ? /* @__PURE__ */ u3(WalletText, {
@@ -6178,12 +6252,67 @@ class ConfirmationContent extends C {
6178
6252
  })
6179
6253
  });
6180
6254
  }
6255
+ renderToolbar(model, decision) {
6256
+ return /* @__PURE__ */ u3("div", {
6257
+ class: "seams-review-toolbar",
6258
+ children: [
6259
+ /* @__PURE__ */ u3("div", {
6260
+ class: "seams-review-origin",
6261
+ children: [
6262
+ model.transaction.onBack && /* @__PURE__ */ u3("button", {
6263
+ type: "button",
6264
+ "aria-label": walletText(this.context, "Back to review"),
6265
+ title: walletText(this.context, "Back to review"),
6266
+ disabled: decision.kind === "preparing",
6267
+ onClick: model.transaction.onBack,
6268
+ children: /* @__PURE__ */ u3(ReviewIcon, {
6269
+ kind: "back"
6270
+ })
6271
+ }),
6272
+ /* @__PURE__ */ u3(PadlockIcon, {}),
6273
+ model.header.website.kind === "ready" ? model.header.website.text : /* @__PURE__ */ u3(LoadingStatus, {
6274
+ label: walletText(this.context, "Loading website")
6275
+ })
6276
+ ]
6277
+ }),
6278
+ /* @__PURE__ */ u3("button", {
6279
+ type: "button",
6280
+ "aria-label": walletDisplayText(this.context, model.transaction.cancelText),
6281
+ onClick: model.transaction.onCancel,
6282
+ children: /* @__PURE__ */ u3(ReviewIcon, {
6283
+ kind: "close"
6284
+ })
6285
+ })
6286
+ ]
6287
+ });
6288
+ }
6181
6289
  }
6182
6290
  function ignoreCopyFailure() {}
6183
6291
  function assertNever4(value) {
6184
6292
  throw new Error(`Unexpected confirmation content: ${String(value)}`);
6185
6293
  }
6186
6294
 
6295
+ class AuthMethodCapture extends C {
6296
+ container = M();
6297
+ componentDidMount() {
6298
+ this.container.current?.append(this.props.element);
6299
+ this.props.element.querySelector("button")?.focus();
6300
+ }
6301
+ componentDidUpdate(previous) {
6302
+ if (previous.element !== this.props.element)
6303
+ this.container.current?.replaceChildren(this.props.element);
6304
+ }
6305
+ componentWillUnmount() {
6306
+ this.props.element.remove();
6307
+ }
6308
+ render() {
6309
+ return /* @__PURE__ */ u3("div", {
6310
+ ref: this.container,
6311
+ class: "seams-auth-method-capture"
6312
+ });
6313
+ }
6314
+ }
6315
+
6187
6316
  // src/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.tsx
6188
6317
  var nextModalId = 0;
6189
6318
  function ConfirmationModal(props) {
@@ -7212,12 +7341,21 @@ function ReceiptStep(props) {
7212
7341
  }
7213
7342
 
7214
7343
  // src/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.tsx
7215
- var RECEIPT_MORPH_DURATION_MS = 360;
7344
+ var RECEIPT_MORPH_DURATION_MS = 640;
7345
+ var CAPTURE_FADE_MS = 160;
7346
+ var SEGMENT_DELAY_MS = 120;
7347
+ var SEGMENT_TRAVEL_MS = 800;
7348
+ var SEGMENT_EASING = "cubic-bezier(0.65, 0, 0.35, 1)";
7349
+ var HANDED_DETAIL_DELAY_MS = 200;
7350
+ var HANDED_DETAIL_STAGGER_MS = 40;
7351
+ var HANDED_DETAIL_FADE_MS = 360;
7352
+ var HANDED_STEPS_DELAY_MS = SEGMENT_DELAY_MS + SEGMENT_TRAVEL_MS - HANDED_DETAIL_FADE_MS;
7216
7353
  var RECEIPT_MORPH_EASING = "cubic-bezier(0.22, 1, 0.36, 1)";
7217
7354
  var RECEIPT_ANCHORS = [
7218
7355
  ".seams-receipt-symbol",
7219
7356
  '[role="status"]',
7220
- ".seams-review-amount"
7357
+ ".seams-review-amount",
7358
+ ".seams-receipt-footer"
7221
7359
  ];
7222
7360
  function captureReceiptAnchors(surface) {
7223
7361
  const anchors = [];
@@ -7234,6 +7372,31 @@ function captureReceiptAnchors(surface) {
7234
7372
  }
7235
7373
  return anchors;
7236
7374
  }
7375
+ function progressSegments(capture) {
7376
+ const line = capture.querySelector("[data-seams-progress-line]");
7377
+ if (!line)
7378
+ return [];
7379
+ const color = getComputedStyle(line).color;
7380
+ const drawn = Array.from(line.querySelectorAll("[data-seams-progress-segment]"));
7381
+ if (drawn.length === 3 && drawn.every(isPainted)) {
7382
+ return drawn.map((segment) => ({
7383
+ bounds: segment.getBoundingClientRect(),
7384
+ opacity: segment.getAttribute("opacity") ?? "1",
7385
+ color
7386
+ })).sort((a, b) => a.bounds.left - b.bounds.left);
7387
+ }
7388
+ const box = line.getBoundingClientRect();
7389
+ const width = box.width / 3;
7390
+ return [0, 1, 2].map((index) => ({
7391
+ bounds: new DOMRect(box.left + index * width, box.top + box.height / 2, width, 0),
7392
+ opacity: "0.55",
7393
+ color
7394
+ }));
7395
+ }
7396
+ function ignoreCancelledMotion() {}
7397
+ function isPainted(segment) {
7398
+ return segment.getAttribute("opacity") !== "0";
7399
+ }
7237
7400
  var nextSurfaceId = 0;
7238
7401
 
7239
7402
  class MountedConfirmationSurface {
@@ -7244,12 +7407,20 @@ class MountedConfirmationSurface {
7244
7407
  receipt = null;
7245
7408
  receiptMotion = [];
7246
7409
  receiptShell = null;
7410
+ receiptGhost = null;
7411
+ receiptSegments = [];
7247
7412
  clearReceiptMotion = () => {
7248
7413
  for (const animation of this.receiptMotion)
7249
7414
  animation.cancel();
7250
7415
  this.receiptMotion = [];
7251
7416
  this.receiptShell?.remove();
7252
7417
  this.receiptShell = null;
7418
+ this.receiptGhost?.remove();
7419
+ this.receiptGhost = null;
7420
+ for (const segment of this.receiptSegments)
7421
+ segment.remove();
7422
+ this.receiptSegments = [];
7423
+ this.element.removeAttribute("data-receipt-segments");
7253
7424
  this.element.removeAttribute("data-receipt-morphing");
7254
7425
  };
7255
7426
  constructor(input) {
@@ -7301,6 +7472,7 @@ class MountedConfirmationSurface {
7301
7472
  const previousShell = this.receiptShell ?? this.element.querySelector(".modal-container-root");
7302
7473
  const previousBounds = previousShell?.getBoundingClientRect();
7303
7474
  const anchors = viewChanged ? captureReceiptAnchors(this.element) : [];
7475
+ const leaving = viewChanged ? this.liveCapture() : null;
7304
7476
  const previousRadius = previousShell ? getComputedStyle(previousShell).borderRadius : "26px";
7305
7477
  if (viewChanged)
7306
7478
  this.clearReceiptMotion();
@@ -7335,6 +7507,7 @@ class MountedConfirmationSurface {
7335
7507
  }
7336
7508
  ], { duration: RECEIPT_MORPH_DURATION_MS, easing: RECEIPT_MORPH_EASING, fill: "both" });
7337
7509
  this.receiptMotion = [morph];
7510
+ const handedOver = leaving ? this.handOverCapture(leaving, target) : false;
7338
7511
  const shared = new Set;
7339
7512
  for (const anchor of anchors) {
7340
7513
  const element = target.querySelector(anchor.selector);
@@ -7359,19 +7532,97 @@ class MountedConfirmationSurface {
7359
7532
  for (const detail of details) {
7360
7533
  if (shared.has(detail))
7361
7534
  continue;
7362
- this.receiptMotion.push(detail.animate([
7535
+ const toolbar = leaving !== null && detail.matches(".seams-review-toolbar");
7536
+ this.receiptMotion.push(detail.animate(toolbar ? [{ opacity: 0 }, { opacity: 1 }] : [
7363
7537
  { opacity: 0, transform: "translateY(8px)" },
7364
7538
  { opacity: 1, transform: "translateY(0)" }
7365
- ], {
7539
+ ], leaving ? {
7540
+ duration: HANDED_DETAIL_FADE_MS,
7541
+ delay: toolbar ? 0 : handedOver && detail.matches(".seams-receipt-steps") ? HANDED_STEPS_DELAY_MS : HANDED_DETAIL_DELAY_MS + Math.min(order, 6) * HANDED_DETAIL_STAGGER_MS,
7542
+ fill: "backwards",
7543
+ easing: "cubic-bezier(0.2, 0, 0, 1)"
7544
+ } : {
7366
7545
  duration: 120,
7367
7546
  delay: model.view === "toast" ? 240 : 180 + Math.min(order, 4) * 15,
7368
7547
  fill: "backwards",
7369
7548
  easing: "ease-out"
7370
7549
  }));
7371
- order += 1;
7550
+ if (!toolbar)
7551
+ order += 1;
7372
7552
  }
7373
- morph.onfinish = this.clearReceiptMotion;
7553
+ const motion = this.receiptMotion;
7554
+ Promise.all(motion.map((animation) => animation.finished)).then(() => {
7555
+ if (this.receiptMotion === motion)
7556
+ this.clearReceiptMotion();
7557
+ }, ignoreCancelledMotion);
7558
+ }
7559
+ }
7560
+ liveCapture() {
7561
+ if (this.state.kind !== "mounted" || this.state.model.content.kind !== "transaction")
7562
+ return null;
7563
+ const element = this.state.model.content.capture;
7564
+ if (!element?.isConnected)
7565
+ return null;
7566
+ return { element, bounds: element.getBoundingClientRect(), segments: progressSegments(element) };
7567
+ }
7568
+ handOverCapture(leaving, target) {
7569
+ const ghost = this.element.ownerDocument.createElement("div");
7570
+ ghost.className = "seams-receipt-capture-ghost";
7571
+ ghost.setAttribute("aria-hidden", "true");
7572
+ ghost.append(leaving.element);
7573
+ this.element.appendChild(ghost);
7574
+ this.receiptGhost = ghost;
7575
+ const place = {
7576
+ left: `${leaving.bounds.left}px`,
7577
+ top: `${leaving.bounds.top}px`,
7578
+ width: `${leaving.bounds.width}px`,
7579
+ height: `${leaving.bounds.height}px`
7580
+ };
7581
+ this.receiptMotion.push(ghost.animate([{ ...place, opacity: 1 }, { ...place, opacity: 0 }], {
7582
+ duration: CAPTURE_FADE_MS,
7583
+ easing: "ease-out",
7584
+ fill: "both"
7585
+ }));
7586
+ const tracks = target.querySelectorAll(".seams-receipt-track");
7587
+ if (leaving.segments.length === 0 || tracks.length !== leaving.segments.length)
7588
+ return false;
7589
+ this.element.setAttribute("data-receipt-segments", "");
7590
+ for (const [index, track] of tracks.entries()) {
7591
+ const from = leaving.segments[index];
7592
+ const to = track.getBoundingClientRect();
7593
+ const complete = track.closest(".seams-receipt-step")?.dataset.state === "complete";
7594
+ const segment = this.element.ownerDocument.createElement("div");
7595
+ segment.className = "seams-receipt-segment";
7596
+ segment.setAttribute("aria-hidden", "true");
7597
+ this.element.appendChild(segment);
7598
+ this.receiptSegments.push(segment);
7599
+ this.receiptMotion.push(segment.animate([
7600
+ {
7601
+ left: `${from.bounds.left}px`,
7602
+ top: `${from.bounds.top + from.bounds.height / 2 - 0.5}px`,
7603
+ width: `${from.bounds.width}px`,
7604
+ height: "1px",
7605
+ borderRadius: "1px",
7606
+ opacity: from.opacity,
7607
+ backgroundColor: from.color
7608
+ },
7609
+ {
7610
+ left: `${to.left}px`,
7611
+ top: `${to.top}px`,
7612
+ width: `${to.width}px`,
7613
+ height: `${to.height}px`,
7614
+ borderRadius: getComputedStyle(track).borderRadius,
7615
+ opacity: 1,
7616
+ backgroundColor: getComputedStyle(track, complete ? "::after" : null).backgroundColor
7617
+ }
7618
+ ], {
7619
+ duration: SEGMENT_TRAVEL_MS,
7620
+ delay: SEGMENT_DELAY_MS,
7621
+ easing: SEGMENT_EASING,
7622
+ fill: "both"
7623
+ }));
7374
7624
  }
7625
+ return true;
7375
7626
  }
7376
7627
  dispose = () => {
7377
7628
  if (this.state.kind === "disposed")
@@ -7476,6 +7727,7 @@ class MountedConfirmationSurface {
7476
7727
  case "transaction":
7477
7728
  return {
7478
7729
  kind: "transaction",
7730
+ capture: source.capture,
7479
7731
  header: source.header,
7480
7732
  body: source.body,
7481
7733
  review: source.review,
@@ -7573,6 +7825,8 @@ function mergeConfirmationPresentation(current, update) {
7573
7825
  preparing: Object.hasOwn(update, "preparing") ? update.preparing : current.preparing,
7574
7826
  title: Object.hasOwn(update, "title") ? update.title : current.title,
7575
7827
  body: Object.hasOwn(update, "body") ? update.body : current.body,
7828
+ authMethodCapture: Object.hasOwn(update, "authMethodCapture") ? update.authMethodCapture : current.authMethodCapture,
7829
+ authMethodApprovalMessage: Object.hasOwn(update, "authMethodApprovalMessage") ? update.authMethodApprovalMessage : current.authMethodApprovalMessage,
7576
7830
  errorMessage: Object.hasOwn(update, "errorMessage") ? update.errorMessage : current.errorMessage,
7577
7831
  confirmText: Object.hasOwn(update, "confirmText") ? update.confirmText : current.confirmText,
7578
7832
  cancelText: Object.hasOwn(update, "cancelText") ? update.cancelText : current.cancelText,
@@ -7603,7 +7857,8 @@ function sizeFromRect(rect) {
7603
7857
  return { widthCssPx, heightCssPx };
7604
7858
  }
7605
7859
  function sizeFromEntryOrElement(element, entry) {
7606
- return sizeFromRect(entry?.contentRect ?? element.getBoundingClientRect());
7860
+ const box = entry?.borderBoxSize[0];
7861
+ return sizeFromRect(box ? { width: box.inlineSize, height: box.blockSize } : element.getBoundingClientRect());
7607
7862
  }
7608
7863
  function sizeForReporter(options, entry) {
7609
7864
  if (options.kind === "request_scroll_surface") {
@@ -7663,7 +7918,7 @@ class SurfaceMeasurementReporter {
7663
7918
  this.options = options;
7664
7919
  if (typeof ResizeObserver === "function") {
7665
7920
  this.observer = new ResizeObserver(this.onResize);
7666
- this.observer.observe(options.element);
7921
+ this.observer.observe(options.element, { box: "border-box" });
7667
7922
  if (options.kind === "request_scroll_surface" && options.element.firstElementChild) {
7668
7923
  this.observer.observe(options.element.firstElementChild);
7669
7924
  }
@@ -7970,58 +8225,110 @@ function returnToApplicationReview(admission, navigation) {
7970
8225
  if (navigation.kind === "review_available")
7971
8226
  admission.returnToReview();
7972
8227
  }
7973
- function createConfirmationDecisionChannel(admission) {
7974
- const navigation = { kind: "review_available" };
7975
- const queuedDecisions = [];
7976
- const decisionWaiters = [];
7977
- const cancelListeners = new Set;
7978
- const publishDecision = (decision) => {
7979
- navigation.kind = "decision_published";
7980
- const waiter = decisionWaiters.shift();
8228
+
8229
+ class ConfirmationDecisionQueue {
8230
+ admission;
8231
+ view = null;
8232
+ navigation = { kind: "review_available" };
8233
+ queuedDecisions = [];
8234
+ decisionWaiters = [];
8235
+ phase = "pending";
8236
+ cancelListeners = new Set;
8237
+ onBack;
8238
+ callbacks = {
8239
+ confirm: this.confirm.bind(this),
8240
+ cancel: this.cancel.bind(this),
8241
+ submitEmail: this.submitEmail.bind(this)
8242
+ };
8243
+ constructor(admission) {
8244
+ this.admission = admission;
8245
+ this.onBack = admission ? this.back.bind(this) : undefined;
8246
+ }
8247
+ attachView(view) {
8248
+ this.view = view;
8249
+ }
8250
+ publishDecision(decision) {
8251
+ if (this.phase === "published")
8252
+ return;
8253
+ this.phase = "published";
8254
+ this.navigation.kind = "decision_published";
8255
+ const waiter = this.decisionWaiters.shift();
7981
8256
  if (waiter) {
7982
8257
  waiter(decision);
7983
8258
  return;
7984
8259
  }
7985
- queuedDecisions.push(decision);
7986
- };
7987
- const cancel = (error) => {
7988
- publishDecision({ kind: "cancelled", error: error ?? null });
7989
- for (const listener of cancelListeners)
8260
+ this.queuedDecisions.push(decision);
8261
+ }
8262
+ back() {
8263
+ if (this.phase === "checking")
8264
+ this.cancel("Voice approval was cancelled.");
8265
+ else if (this.admission)
8266
+ returnToApplicationReview(this.admission, this.navigation);
8267
+ }
8268
+ cancel(error) {
8269
+ if (this.phase === "published")
8270
+ return;
8271
+ this.publishDecision({ kind: "cancelled", error: error ?? null });
8272
+ this.admission?.cancel(new Error(error ?? "Wallet approval was cancelled."));
8273
+ for (const listener of this.cancelListeners)
7990
8274
  listener({ ...error ? { error } : {} });
7991
- };
7992
- return {
7993
- cancelListeners,
7994
- onBack: admission ? returnToApplicationReview.bind(null, admission, navigation) : undefined,
7995
- callbacks: {
7996
- confirm: () => {
7997
- if (admission && !admission.allowInteraction())
7998
- return;
7999
- publishDecision({ kind: "confirmed", emailOtp: { kind: "absent" } });
8000
- },
8001
- cancel: () => cancel(),
8002
- submitEmail: (code, challengeId) => {
8003
- if (admission && !admission.allowInteraction())
8004
- return;
8005
- const otpCode = code.trim();
8006
- const emailOtpChallengeId = challengeId.trim();
8007
- if (!otpCode || !emailOtpChallengeId) {
8008
- cancel("Email OTP challenge is missing.");
8009
- return;
8010
- }
8011
- publishDecision({
8012
- kind: "confirmed",
8013
- emailOtp: { kind: "provided", code: otpCode, challengeId: emailOtpChallengeId }
8275
+ }
8276
+ confirm() {
8277
+ this.approve({ kind: "confirmed", emailOtp: { kind: "absent" } });
8278
+ }
8279
+ submitEmail(code, challengeId) {
8280
+ const otpCode = code.trim();
8281
+ const emailOtpChallengeId = challengeId.trim();
8282
+ if (!otpCode || !emailOtpChallengeId) {
8283
+ this.cancel("Email OTP challenge is missing.");
8284
+ return;
8285
+ }
8286
+ this.approve({
8287
+ kind: "confirmed",
8288
+ emailOtp: { kind: "provided", code: otpCode, challengeId: emailOtpChallengeId }
8289
+ });
8290
+ }
8291
+ async approve(decision) {
8292
+ if (this.phase !== "pending" || this.admission && !this.admission.allowInteraction())
8293
+ return;
8294
+ this.phase = "checking";
8295
+ try {
8296
+ if (this.admission?.authMethodApprovalMessages) {
8297
+ this.view?.update({
8298
+ preparing: true,
8299
+ authMethodCapture: this.admission.authMethodApprovalSurface
8014
8300
  });
8015
8301
  }
8016
- },
8017
- takeDecision: async () => {
8018
- const queued = queuedDecisions.shift();
8019
- if (queued)
8020
- return queued;
8021
- return await new Promise((resolve) => {
8022
- decisionWaiters.push(resolve);
8023
- });
8302
+ const approval = await this.admission?.approveAuthMethod();
8303
+ if (approval?.kind === "retry") {
8304
+ this.phase = "pending";
8305
+ this.view?.update({
8306
+ preparing: false,
8307
+ authMethodCapture: null,
8308
+ authMethodApprovalMessage: approval.message
8309
+ });
8310
+ return;
8311
+ }
8312
+ if (this.admission?.authMethodApprovalMessages)
8313
+ this.view?.update({
8314
+ preparing: false,
8315
+ authMethodApprovalMessage: this.admission.authMethodApprovalMessages.approved
8316
+ });
8317
+ this.publishDecision(decision);
8318
+ } catch (error) {
8319
+ this.cancel(error instanceof Error ? error.message : "Authentication method approval failed.");
8024
8320
  }
8321
+ }
8322
+ async takeDecision() {
8323
+ const queued = this.queuedDecisions.shift();
8324
+ if (queued)
8325
+ return queued;
8326
+ if (this.phase === "published")
8327
+ this.phase = "pending";
8328
+ return await new Promise(this.waitForDecision);
8329
+ }
8330
+ waitForDecision = (resolve) => {
8331
+ this.decisionWaiters.push(resolve);
8025
8332
  };
8026
8333
  }
8027
8334
  function createHostConfirmHandle(host, channel, binding) {
@@ -8284,7 +8591,7 @@ function mountHostElement({
8284
8591
  });
8285
8592
  const portal = ensureConfirmPortal();
8286
8593
  const explorerOverrides = resolveExplorerUrlsFromModel(ctx, model);
8287
- const channel = createConfirmationDecisionChannel(reviewAdmissionForBinding(ctx.surfaceMeasurementBinding));
8594
+ const channel = new ConfirmationDecisionQueue(reviewAdmissionForBinding(ctx.surfaceMeasurementBinding));
8288
8595
  let host;
8289
8596
  host = createConfirmationSurfaceController({
8290
8597
  parent: portal,
@@ -8298,6 +8605,7 @@ function mountHostElement({
8298
8605
  loading,
8299
8606
  title: summary?.title ?? (summary?.delegate ? "Sign Delegate Action" : undefined),
8300
8607
  body: summary?.body,
8608
+ confirmText: reviewAdmissionForBinding(ctx.surfaceMeasurementBinding)?.authMethodApprovalMessages?.confirm,
8301
8609
  signingAuthMode,
8302
8610
  emailOtpPrompt,
8303
8611
  nearExplorerUrl: ctx.nearExplorerUrl ?? explorerOverrides.nearExplorerUrl,
@@ -8311,6 +8619,7 @@ function mountHostElement({
8311
8619
  postWalletUiClosedIfPortalEmpty();
8312
8620
  }
8313
8621
  });
8622
+ channel.attachView(host);
8314
8623
  confirmationHosts.set(host.element, host);
8315
8624
  confirmationChannels.set(host.element, channel);
8316
8625
  updateConfirmPortalState(portal);