@seams/wallet 0.26.0 → 0.27.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 (338) hide show
  1. package/dist/.build-inputs.sha256 +1 -1
  2. package/dist/esm/SeamsWeb/publicApi/near.js +22 -11
  3. package/dist/esm/SeamsWeb/walletIframe/client/nearCommands.js +9 -10
  4. package/dist/esm/SeamsWeb/walletIframe/client/router.js +57 -38
  5. package/dist/esm/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +1 -0
  6. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +1 -1
  7. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +28 -0
  8. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +6 -0
  9. package/dist/esm/core/rpcClients/near/NearClient.js +7 -0
  10. package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +3 -0
  11. package/dist/esm/core/signingEngine/nearTransactionSubmission.js +89 -0
  12. package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +2 -2
  13. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +7 -1
  14. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +123 -14
  15. package/dist/esm/core/ui/messages.js +12 -0
  16. package/dist/esm/react/components/AccountMenuButton/icons/HoverArrowIcon.css +27 -3
  17. package/dist/esm/react/components/AccountMenuButton/icons/HoverArrowIcon.js +2 -2
  18. package/dist/esm/react/components/ExternalNearWalletIcon.js +32 -0
  19. package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.css +182 -0
  20. package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.js +315 -0
  21. package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +13 -4
  22. package/dist/esm/react/components/externalWalletBrandImages.js +7 -0
  23. package/dist/esm/react/externalNear.js +2 -6
  24. package/dist/esm/react/index.js +2 -1
  25. package/dist/esm/react/styles/styles.css +210 -3
  26. package/dist/esm/react/styles.css +1 -0
  27. package/dist/esm/react/transactionReview/boundCalls.js +31 -26
  28. package/dist/esm/sdk/{ConfirmationDrawer-BmzikAr4.js → ConfirmationDrawer-AZruQmhP.js} +1 -1
  29. package/dist/esm/sdk/{NonceCoordinator-CcD2FqXh.js → NonceCoordinator-3YhmDTS5.js} +1 -1
  30. package/dist/{public/sdk/SeamsWordmark-DqiC9-sd.js → esm/sdk/SeamsWordmark-DwvPx2UA.js} +1 -1
  31. package/dist/esm/sdk/{accountLifecycle-gm9X8nGm.js → accountLifecycle-6DHYWf0v.js} +1 -1
  32. package/dist/esm/sdk/{adapters-e7twFGov.js → adapters-d9yh1bdC.js} +1 -1
  33. package/dist/esm/sdk/appearance-token-vars-BJydfWT_.js +1 -0
  34. package/dist/{public/sdk/clientSessionPersistenceState-YvVHKRoe.js → esm/sdk/clientSessionPersistenceState-BCkJAYSz.js} +1 -1
  35. package/dist/esm/sdk/{collectAuthenticationCredentialForChallengeB64u-DEtxiKND.js → collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js} +1 -1
  36. package/dist/esm/sdk/{commitQueue-CHJ7MHSI.js → commitQueue-CYruPlkm.js} +1 -1
  37. package/dist/esm/sdk/confirm-ui-nU6ymgiv.js +2 -0
  38. package/dist/esm/sdk/{device-linking-BsUTtSF7.js → device-linking-DiCNt3iA.js} +1 -1
  39. package/dist/esm/sdk/{deviceLinkApproval-DAZTjrud.js → deviceLinkApproval-CfEiotVt.js} +1 -1
  40. package/dist/esm/sdk/{display-BYzolrBs.js → display-D0EPmU4w.js} +1 -1
  41. package/dist/esm/sdk/{ecdsaCapabilityManifest-CXVq8Qzb.js → ecdsaCapabilityManifest-DAJEVjlP.js} +1 -1
  42. package/dist/esm/sdk/{ecdsaDerivationClientWasm-CVahDxLy.js → ecdsaDerivationClientWasm-AYOJgTJm.js} +1 -1
  43. package/dist/{public/sdk/ecdsaDerivationExport-CkmSe0ao.js → esm/sdk/ecdsaDerivationExport-DJKOzDbS.js} +1 -1
  44. package/dist/esm/sdk/{ecdsaWalletRecords-zRvHKRTe.js → ecdsaWalletRecords-WLyq414E.js} +1 -1
  45. package/dist/esm/sdk/{emailOtpEcdsaDerivationIdentity-0DIuRNRi.js → emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js} +1 -1
  46. package/dist/esm/sdk/{enrichDisplayModelWithAbi-CLn37drs.js → enrichDisplayModelWithAbi-O6Mw4i2E.js} +1 -1
  47. package/dist/esm/sdk/errors-BJBDbwHk.js +1 -0
  48. package/dist/esm/sdk/{evmCryptoWasm-B_p82tx9.js → evmCryptoWasm-BUPb4hBH.js} +1 -1
  49. package/dist/esm/sdk/{export-viewer-host-3fosWJXJ.js → export-viewer-host-BtrKVXxu.js} +1 -1
  50. package/dist/esm/sdk/{exportKeypairOperation-pKQW5J7m.js → exportKeypairOperation-CGE9ZU1m.js} +1 -1
  51. package/dist/esm/sdk/host-DayrOrgm.js +1 -0
  52. package/dist/{public/sdk/icons-DDRXJ2W1.js → esm/sdk/icons-BlMXolHv.js} +1 -1
  53. package/dist/esm/sdk/{indexedDB-CWFDCCbP.js → indexedDB-C4SDsyOG.js} +1 -1
  54. package/dist/esm/sdk/{intentDigest-B6EshTea.js → intentDigest-HvRsBQ1z.js} +1 -1
  55. package/dist/esm/sdk/{lanes-C2sAP08w.js → lanes-BU-fGqY4.js} +1 -1
  56. package/dist/esm/sdk/{localOnly-Jw9v9GU9.js → localOnly-BATWJj78.js} +1 -1
  57. package/dist/{public/sdk/mountExportPrivateKeySurface-B_052qyI.js → esm/sdk/mountExportPrivateKeySurface-CyHU8bVc.js} +1 -1
  58. package/dist/esm/sdk/{mountRecoveryCodeBackupSurface-PutmFjf9.js → mountRecoveryCodeBackupSurface-C7aglQxf.js} +1 -1
  59. package/dist/esm/sdk/{nearEd25519YaoMaterialActivation-C2QNLImD.js → nearEd25519YaoMaterialActivation-BfXmy3Jr.js} +1 -1
  60. package/dist/{public/sdk/nearEd25519YaoSigningPreparation-K6n4Sq8_.js → esm/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js} +1 -1
  61. package/dist/esm/sdk/nearRpcResults-CeHdqaS4.js +1 -0
  62. package/dist/esm/sdk/{nonceLaneKeys-CZjeiii7.js → nonceLaneKeys-BF_UpvIy.js} +1 -1
  63. package/dist/esm/sdk/{normalization-DA6o5MsH.js → normalization-Df9fZWJC.js} +1 -1
  64. package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-B-n7vmBS.js → esm/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js} +1 -1
  65. package/dist/esm/sdk/{presignaturePool-DjTaB0nx.js → presignaturePool-BbvqRWYw.js} +1 -1
  66. package/dist/{public/sdk/recovery-entrypoint-9e3SXU3t.js → esm/sdk/recovery-entrypoint-DJbMDC_m.js} +1 -1
  67. package/dist/esm/sdk/{registration-C988Nwzn.js → registration-CNLUYN-p.js} +1 -1
  68. package/dist/esm/sdk/{registration-D4AijOa8.js → registration-HSwOHZOo.js} +1 -1
  69. package/dist/esm/sdk/{registrationAccounts-DI_vcT7G.js → registrationAccounts-4r74gX1l.js} +1 -1
  70. package/dist/esm/sdk/registrationIntent-Do1tD1V7.js +1 -0
  71. package/dist/esm/sdk/{registrationSignerPlan-_8gsSjC0.js → registrationSignerPlan-DK2b3N_p.js} +1 -1
  72. package/dist/{public/sdk/requireStepUpAuth-DC9LSyRI.js → esm/sdk/requireStepUpAuth-COqCGb1i.js} +1 -1
  73. package/dist/esm/sdk/{resealedEnvelopeResult-BKATJaqW.js → resealedEnvelopeResult-B1p5UkYg.js} +1 -1
  74. package/dist/{public/sdk/routerAbNormalSigning-Da-uxxle.js → esm/sdk/routerAbNormalSigning-D-UZmCBS.js} +1 -1
  75. package/dist/esm/sdk/runtime-auth-BCoj7_-G.js +1 -0
  76. package/dist/esm/sdk/{runtime-device-link-DtjR-htE.js → runtime-device-link-DAsq5tGT.js} +1 -1
  77. package/dist/{public/sdk/runtime-ecdsa-tempo-BkUnzoX9.js → esm/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js} +1 -1
  78. package/dist/{public/sdk/runtime-email-otp-CaxfpqKI.js → esm/sdk/runtime-email-otp-BxSKK9AG.js} +1 -1
  79. package/dist/esm/sdk/{runtime-export-Du5ugbzi.js → runtime-export-BWnQXMzT.js} +1 -1
  80. package/dist/esm/sdk/runtime-near-CuzPZrDS.js +1 -0
  81. package/dist/esm/sdk/runtime-preferences-B-nDWlm3.js +1 -0
  82. package/dist/esm/sdk/runtime-recovery-DpOdEJ8N.js +1 -0
  83. package/dist/esm/sdk/{runtime-recovery-codes-DKjOU32G.js → runtime-recovery-codes-DeUjQsxZ.js} +1 -1
  84. package/dist/esm/sdk/runtimeContext-5JcewRo3.js +6 -0
  85. package/dist/{public/sdk/secp256k1--vF2pJgR.js → esm/sdk/secp256k1-CE7-q9Sn.js} +1 -1
  86. package/dist/esm/sdk/sessionObservationRevision-JOvVF4Hf.js +1 -0
  87. package/dist/esm/sdk/{signEvmFamily-DeCQOBYN.js → signEvmFamily-BY5jlZEG.js} +1 -1
  88. package/dist/{public/sdk/signEvmFamilyWithUiConfirmForTempo-BIp-MeBV.js → esm/sdk/signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js} +1 -1
  89. package/dist/esm/sdk/{signEvmWithUiConfirm-BdLW7kqJ.js → signEvmWithUiConfirm-CGrLtMV6.js} +1 -1
  90. package/dist/esm/sdk/signNear-DMpJFkwF.js +1 -0
  91. package/dist/esm/sdk/{signatureUses-0z64Xpdj.js → signatureUses-kSrUHSSH.js} +1 -1
  92. package/dist/{public/sdk/signingFlow-C7fwkxPx.js → esm/sdk/signingFlow-BcetvUeS.js} +1 -1
  93. package/dist/{public/sdk/signingQueue-DvHGcaLc.js → esm/sdk/signingQueue-dMFOFOP5.js} +1 -1
  94. package/dist/esm/sdk/surface-measurement-reporter-DXsvq401.js +1 -0
  95. package/dist/esm/sdk/{thresholdEcdsa-CPVZNLEg.js → thresholdEcdsa-CqR1fFA-.js} +1 -1
  96. package/dist/esm/sdk/{trace-BQv7E-bO.js → trace--mRP2OQc.js} +1 -1
  97. package/dist/esm/sdk/{transaction-activity-olcDRay5.js → transaction-activity-DCzHGg3b.js} +1 -1
  98. package/dist/esm/sdk/{transactionReviewAdmission-DPxuDgkU.js → transactionReviewAdmission-Cf_qUZJt.js} +1 -1
  99. package/dist/esm/sdk/{transactionState-C8aYSDRA.js → transactionState-29T9xfvL.js} +1 -1
  100. package/dist/esm/sdk/tx-confirm-ui.js +173 -18
  101. package/dist/esm/sdk/{types-DOToeB6g.js → types-f7dyj5N6.js} +1 -1
  102. package/dist/esm/sdk/{unlockedEd25519ExportRootCapability-CFmunau5.js → unlockedEd25519ExportRootCapability-yzxQjIFd.js} +1 -1
  103. package/dist/esm/sdk/voiceid-host.js +1 -1
  104. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  105. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  106. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  107. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  108. package/dist/{public/sdk/wallet-recovery-jyfGoejZ.js → esm/sdk/wallet-recovery-BZB2Vu3X.js} +1 -1
  109. package/dist/esm/sdk/wallet-ui.css +1 -1
  110. package/dist/esm/sdk/{walletAuthMethodRecord-Bi78B6Ab.js → walletAuthMethodRecord-DLBB5fez.js} +1 -1
  111. package/dist/{public/sdk/walletAuthority-DGdC9Glh.js → esm/sdk/walletAuthority-BTGAuOi8.js} +1 -1
  112. package/dist/esm/sdk/{walletCapabilityBindings-BRdFdh3l.js → walletCapabilityBindings-D5YYB7nN.js} +1 -1
  113. package/dist/esm/sdk/{walletCustodyEcdsaContinuity-DdLNQs1M.js → walletCustodyEcdsaContinuity-C31YQ9av.js} +1 -1
  114. package/dist/{public/sdk/walletOwnershipGeneration-z9NXOk-b.js → esm/sdk/walletOwnershipGeneration-CgjCtPrV.js} +1 -1
  115. package/dist/{public/sdk/walletRecoveryAdminProof-hytB9fXI.js → esm/sdk/walletRecoveryAdminProof-CvSYbyg5.js} +1 -1
  116. package/dist/{public/sdk/walletRecoveryCommit-sr8-RYvn.js → esm/sdk/walletRecoveryCommit-Cc2LAkCS.js} +1 -1
  117. package/dist/esm/sdk/{walletSessionAuthorizationStore-BEJyERPZ.js → walletSessionAuthorizationStore-B9Vwkshr.js} +1 -1
  118. package/dist/esm/sdk/warmSessionHydration-B-A5Tdx7.js +1 -0
  119. package/dist/esm/sdk/{webauthnP256-DVlYEUsG.js → webauthnP256-BsQQPurm.js} +1 -1
  120. package/dist/esm/shared-ts/src/near/nearClient.js +1 -1
  121. package/dist/esm/shared-ts/src/utils/errors.js +50 -2
  122. package/dist/esm/shared-ts/src/utils/index.js +1 -1
  123. package/dist/esm/voiceid-host.js +1 -1
  124. package/dist/public/headers.manifest.json +1 -1
  125. package/dist/public/sdk/{ConfirmationDrawer-BmzikAr4.js → ConfirmationDrawer-AZruQmhP.js} +1 -1
  126. package/dist/public/sdk/{NonceCoordinator-CcD2FqXh.js → NonceCoordinator-3YhmDTS5.js} +1 -1
  127. package/dist/{esm/sdk/SeamsWordmark-DqiC9-sd.js → public/sdk/SeamsWordmark-DwvPx2UA.js} +1 -1
  128. package/dist/public/sdk/{accountLifecycle-gm9X8nGm.js → accountLifecycle-6DHYWf0v.js} +1 -1
  129. package/dist/public/sdk/{adapters-e7twFGov.js → adapters-d9yh1bdC.js} +1 -1
  130. package/dist/public/sdk/appearance-token-vars-BJydfWT_.js +1 -0
  131. package/dist/{esm/sdk/clientSessionPersistenceState-YvVHKRoe.js → public/sdk/clientSessionPersistenceState-BCkJAYSz.js} +1 -1
  132. package/dist/public/sdk/{collectAuthenticationCredentialForChallengeB64u-DEtxiKND.js → collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js} +1 -1
  133. package/dist/public/sdk/{commitQueue-CHJ7MHSI.js → commitQueue-CYruPlkm.js} +1 -1
  134. package/dist/public/sdk/confirm-ui-nU6ymgiv.js +2 -0
  135. package/dist/public/sdk/{device-linking-BsUTtSF7.js → device-linking-DiCNt3iA.js} +1 -1
  136. package/dist/public/sdk/{deviceLinkApproval-DAZTjrud.js → deviceLinkApproval-CfEiotVt.js} +1 -1
  137. package/dist/public/sdk/{display-BYzolrBs.js → display-D0EPmU4w.js} +1 -1
  138. package/dist/public/sdk/{ecdsaCapabilityManifest-CXVq8Qzb.js → ecdsaCapabilityManifest-DAJEVjlP.js} +1 -1
  139. package/dist/public/sdk/{ecdsaDerivationClientWasm-CVahDxLy.js → ecdsaDerivationClientWasm-AYOJgTJm.js} +1 -1
  140. package/dist/{esm/sdk/ecdsaDerivationExport-CkmSe0ao.js → public/sdk/ecdsaDerivationExport-DJKOzDbS.js} +1 -1
  141. package/dist/public/sdk/{ecdsaWalletRecords-zRvHKRTe.js → ecdsaWalletRecords-WLyq414E.js} +1 -1
  142. package/dist/public/sdk/{emailOtpEcdsaDerivationIdentity-0DIuRNRi.js → emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js} +1 -1
  143. package/dist/public/sdk/{enrichDisplayModelWithAbi-CLn37drs.js → enrichDisplayModelWithAbi-O6Mw4i2E.js} +1 -1
  144. package/dist/public/sdk/errors-BJBDbwHk.js +1 -0
  145. package/dist/public/sdk/{evmCryptoWasm-B_p82tx9.js → evmCryptoWasm-BUPb4hBH.js} +1 -1
  146. package/dist/public/sdk/{export-viewer-host-3fosWJXJ.js → export-viewer-host-BtrKVXxu.js} +1 -1
  147. package/dist/public/sdk/{exportKeypairOperation-pKQW5J7m.js → exportKeypairOperation-CGE9ZU1m.js} +1 -1
  148. package/dist/public/sdk/host-DayrOrgm.js +1 -0
  149. package/dist/{esm/sdk/icons-DDRXJ2W1.js → public/sdk/icons-BlMXolHv.js} +1 -1
  150. package/dist/public/sdk/{indexedDB-CWFDCCbP.js → indexedDB-C4SDsyOG.js} +1 -1
  151. package/dist/public/sdk/{intentDigest-B6EshTea.js → intentDigest-HvRsBQ1z.js} +1 -1
  152. package/dist/public/sdk/{lanes-C2sAP08w.js → lanes-BU-fGqY4.js} +1 -1
  153. package/dist/public/sdk/{localOnly-Jw9v9GU9.js → localOnly-BATWJj78.js} +1 -1
  154. package/dist/{esm/sdk/mountExportPrivateKeySurface-B_052qyI.js → public/sdk/mountExportPrivateKeySurface-CyHU8bVc.js} +1 -1
  155. package/dist/public/sdk/{mountRecoveryCodeBackupSurface-PutmFjf9.js → mountRecoveryCodeBackupSurface-C7aglQxf.js} +1 -1
  156. package/dist/public/sdk/{nearEd25519YaoMaterialActivation-C2QNLImD.js → nearEd25519YaoMaterialActivation-BfXmy3Jr.js} +1 -1
  157. package/dist/{esm/sdk/nearEd25519YaoSigningPreparation-K6n4Sq8_.js → public/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js} +1 -1
  158. package/dist/public/sdk/nearRpcResults-CeHdqaS4.js +1 -0
  159. package/dist/public/sdk/{nonceLaneKeys-CZjeiii7.js → nonceLaneKeys-BF_UpvIy.js} +1 -1
  160. package/dist/public/sdk/{normalization-DA6o5MsH.js → normalization-Df9fZWJC.js} +1 -1
  161. package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-B-n7vmBS.js → public/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js} +1 -1
  162. package/dist/public/sdk/{presignaturePool-DjTaB0nx.js → presignaturePool-BbvqRWYw.js} +1 -1
  163. package/dist/{esm/sdk/recovery-entrypoint-9e3SXU3t.js → public/sdk/recovery-entrypoint-DJbMDC_m.js} +1 -1
  164. package/dist/public/sdk/{registration-C988Nwzn.js → registration-CNLUYN-p.js} +1 -1
  165. package/dist/public/sdk/{registration-D4AijOa8.js → registration-HSwOHZOo.js} +1 -1
  166. package/dist/public/sdk/{registrationAccounts-DI_vcT7G.js → registrationAccounts-4r74gX1l.js} +1 -1
  167. package/dist/public/sdk/registrationIntent-Do1tD1V7.js +1 -0
  168. package/dist/public/sdk/{registrationSignerPlan-_8gsSjC0.js → registrationSignerPlan-DK2b3N_p.js} +1 -1
  169. package/dist/{esm/sdk/requireStepUpAuth-DC9LSyRI.js → public/sdk/requireStepUpAuth-COqCGb1i.js} +1 -1
  170. package/dist/public/sdk/{resealedEnvelopeResult-BKATJaqW.js → resealedEnvelopeResult-B1p5UkYg.js} +1 -1
  171. package/dist/{esm/sdk/routerAbNormalSigning-Da-uxxle.js → public/sdk/routerAbNormalSigning-D-UZmCBS.js} +1 -1
  172. package/dist/public/sdk/runtime-auth-BCoj7_-G.js +1 -0
  173. package/dist/public/sdk/{runtime-device-link-DtjR-htE.js → runtime-device-link-DAsq5tGT.js} +1 -1
  174. package/dist/{esm/sdk/runtime-ecdsa-tempo-BkUnzoX9.js → public/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js} +1 -1
  175. package/dist/{esm/sdk/runtime-email-otp-CaxfpqKI.js → public/sdk/runtime-email-otp-BxSKK9AG.js} +1 -1
  176. package/dist/public/sdk/{runtime-export-Du5ugbzi.js → runtime-export-BWnQXMzT.js} +1 -1
  177. package/dist/public/sdk/runtime-near-CuzPZrDS.js +1 -0
  178. package/dist/public/sdk/runtime-preferences-B-nDWlm3.js +1 -0
  179. package/dist/public/sdk/runtime-recovery-DpOdEJ8N.js +1 -0
  180. package/dist/public/sdk/{runtime-recovery-codes-DKjOU32G.js → runtime-recovery-codes-DeUjQsxZ.js} +1 -1
  181. package/dist/public/sdk/runtimeContext-5JcewRo3.js +6 -0
  182. package/dist/{esm/sdk/secp256k1--vF2pJgR.js → public/sdk/secp256k1-CE7-q9Sn.js} +1 -1
  183. package/dist/public/sdk/sessionObservationRevision-JOvVF4Hf.js +1 -0
  184. package/dist/public/sdk/{signEvmFamily-DeCQOBYN.js → signEvmFamily-BY5jlZEG.js} +1 -1
  185. package/dist/{esm/sdk/signEvmFamilyWithUiConfirmForTempo-BIp-MeBV.js → public/sdk/signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js} +1 -1
  186. package/dist/public/sdk/{signEvmWithUiConfirm-BdLW7kqJ.js → signEvmWithUiConfirm-CGrLtMV6.js} +1 -1
  187. package/dist/public/sdk/signNear-DMpJFkwF.js +1 -0
  188. package/dist/public/sdk/{signatureUses-0z64Xpdj.js → signatureUses-kSrUHSSH.js} +1 -1
  189. package/dist/{esm/sdk/signingFlow-C7fwkxPx.js → public/sdk/signingFlow-BcetvUeS.js} +1 -1
  190. package/dist/{esm/sdk/signingQueue-DvHGcaLc.js → public/sdk/signingQueue-dMFOFOP5.js} +1 -1
  191. package/dist/public/sdk/surface-measurement-reporter-DXsvq401.js +1 -0
  192. package/dist/public/sdk/{thresholdEcdsa-CPVZNLEg.js → thresholdEcdsa-CqR1fFA-.js} +1 -1
  193. package/dist/public/sdk/{trace-BQv7E-bO.js → trace--mRP2OQc.js} +1 -1
  194. package/dist/public/sdk/{transaction-activity-olcDRay5.js → transaction-activity-DCzHGg3b.js} +1 -1
  195. package/dist/public/sdk/{transactionReviewAdmission-DPxuDgkU.js → transactionReviewAdmission-Cf_qUZJt.js} +1 -1
  196. package/dist/public/sdk/{transactionState-C8aYSDRA.js → transactionState-29T9xfvL.js} +1 -1
  197. package/dist/public/sdk/tx-confirm-ui.js +173 -18
  198. package/dist/public/sdk/{types-DOToeB6g.js → types-f7dyj5N6.js} +1 -1
  199. package/dist/public/sdk/{unlockedEd25519ExportRootCapability-CFmunau5.js → unlockedEd25519ExportRootCapability-yzxQjIFd.js} +1 -1
  200. package/dist/public/sdk/voiceid-host.js +1 -1
  201. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  202. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  203. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  204. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  205. package/dist/{esm/sdk/wallet-recovery-jyfGoejZ.js → public/sdk/wallet-recovery-BZB2Vu3X.js} +1 -1
  206. package/dist/public/sdk/wallet-ui.css +1 -1
  207. package/dist/public/sdk/{walletAuthMethodRecord-Bi78B6Ab.js → walletAuthMethodRecord-DLBB5fez.js} +1 -1
  208. package/dist/{esm/sdk/walletAuthority-DGdC9Glh.js → public/sdk/walletAuthority-BTGAuOi8.js} +1 -1
  209. package/dist/public/sdk/{walletCapabilityBindings-BRdFdh3l.js → walletCapabilityBindings-D5YYB7nN.js} +1 -1
  210. package/dist/public/sdk/{walletCustodyEcdsaContinuity-DdLNQs1M.js → walletCustodyEcdsaContinuity-C31YQ9av.js} +1 -1
  211. package/dist/{esm/sdk/walletOwnershipGeneration-z9NXOk-b.js → public/sdk/walletOwnershipGeneration-CgjCtPrV.js} +1 -1
  212. package/dist/{esm/sdk/walletRecoveryAdminProof-hytB9fXI.js → public/sdk/walletRecoveryAdminProof-CvSYbyg5.js} +1 -1
  213. package/dist/{esm/sdk/walletRecoveryCommit-sr8-RYvn.js → public/sdk/walletRecoveryCommit-Cc2LAkCS.js} +1 -1
  214. package/dist/public/sdk/{walletSessionAuthorizationStore-BEJyERPZ.js → walletSessionAuthorizationStore-B9Vwkshr.js} +1 -1
  215. package/dist/public/sdk/warmSessionHydration-B-A5Tdx7.js +1 -0
  216. package/dist/public/sdk/{webauthnP256-DVlYEUsG.js → webauthnP256-BsQQPurm.js} +1 -1
  217. package/dist/public/wallet-assets.manifest.json +270 -246
  218. package/dist/public/wallet-service/index.html +4 -4
  219. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.d.ts +1 -0
  220. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +2 -0
  221. package/dist/types/wallet/src/core/authMethods/hostPlugin.d.ts +1 -0
  222. package/dist/types/wallet/src/core/rpcClients/near/NearClient.d.ts +13 -0
  223. package/dist/types/wallet/src/core/signingEngine/nearTransactionSubmission.d.ts +24 -0
  224. package/dist/types/wallet/src/core/signingEngine/uiConfirm/transactionReviewAdmission.d.ts +2 -0
  225. package/dist/types/wallet/src/core/types/linkDevice.d.ts +4 -5
  226. package/dist/types/wallet/src/core/types/seams.d.ts +15 -3
  227. package/dist/types/wallet/src/core/ui/messages.d.ts +1 -1
  228. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/HoverArrowIcon.d.ts +2 -1
  229. package/dist/types/wallet/src/react/components/ExternalNearWalletIcon.d.ts +5 -0
  230. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.d.ts +31 -0
  231. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +4 -0
  232. package/dist/types/wallet/src/react/components/externalWalletBrandImages.d.ts +3 -0
  233. package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +2 -0
  234. package/dist/types/wallet/src/react/index.d.ts +2 -0
  235. package/dist/types/wallet/src/voiceid-host.d.ts +1 -1
  236. package/package.json +1 -1
  237. package/dist/esm/sdk/appearance-token-vars-EYbmnHsJ.js +0 -1
  238. package/dist/esm/sdk/confirm-ui-BpqwuMSl.js +0 -2
  239. package/dist/esm/sdk/errors-DLUmUo9m.js +0 -1
  240. package/dist/esm/sdk/host-aTcpYE27.js +0 -1
  241. package/dist/esm/sdk/registrationIntent-BVPp0k0k.js +0 -1
  242. package/dist/esm/sdk/runtime-auth-C_Y8gL_n.js +0 -1
  243. package/dist/esm/sdk/runtime-near-fas7U0MC.js +0 -1
  244. package/dist/esm/sdk/runtime-preferences-7-f34-by.js +0 -1
  245. package/dist/esm/sdk/runtime-recovery-DmY0ZJpf.js +0 -1
  246. package/dist/esm/sdk/runtimeContext-DF8MdfXl.js +0 -6
  247. package/dist/esm/sdk/sessionObservationRevision-DKTqqbGf.js +0 -1
  248. package/dist/esm/sdk/signNear-DMzOU4dX.js +0 -1
  249. package/dist/esm/sdk/surface-measurement-reporter-DvzNDnHy.js +0 -1
  250. package/dist/esm/sdk/warmSessionHydration-EstsrMF8.js +0 -1
  251. package/dist/public/sdk/appearance-token-vars-EYbmnHsJ.js +0 -1
  252. package/dist/public/sdk/confirm-ui-BpqwuMSl.js +0 -2
  253. package/dist/public/sdk/errors-DLUmUo9m.js +0 -1
  254. package/dist/public/sdk/host-aTcpYE27.js +0 -1
  255. package/dist/public/sdk/registrationIntent-BVPp0k0k.js +0 -1
  256. package/dist/public/sdk/runtime-auth-C_Y8gL_n.js +0 -1
  257. package/dist/public/sdk/runtime-near-fas7U0MC.js +0 -1
  258. package/dist/public/sdk/runtime-preferences-7-f34-by.js +0 -1
  259. package/dist/public/sdk/runtime-recovery-DmY0ZJpf.js +0 -1
  260. package/dist/public/sdk/runtimeContext-DF8MdfXl.js +0 -6
  261. package/dist/public/sdk/sessionObservationRevision-DKTqqbGf.js +0 -1
  262. package/dist/public/sdk/signNear-DMzOU4dX.js +0 -1
  263. package/dist/public/sdk/surface-measurement-reporter-DvzNDnHy.js +0 -1
  264. package/dist/public/sdk/warmSessionHydration-EstsrMF8.js +0 -1
  265. /package/dist/esm/sdk/{accountIds-Dj_0GoY-.js → accountIds-CW2BP-d9.js} +0 -0
  266. /package/dist/esm/sdk/{actions-BIdcxldy.js → actions-DrtSTGus.js} +0 -0
  267. /package/dist/esm/sdk/{appearance-CAIe7Qed.js → appearance-DL7c6bML.js} +0 -0
  268. /package/dist/esm/sdk/{authenticatorOptions-2_XK8aXv.js → authenticatorOptions-WCDKYRux.js} +0 -0
  269. /package/dist/esm/sdk/{authorizationAdmission-BYwaSZYV.js → authorizationAdmission-28jo_IVJ.js} +0 -0
  270. /package/dist/esm/sdk/{browser-B1qU6ouJ.js → browser-CKS7Tq2r.js} +0 -0
  271. /package/dist/esm/sdk/{bytes-CA0mv-bG.js → bytes-DXo6uALR.js} +0 -0
  272. /package/dist/esm/sdk/{canonicalSignerErrorCode-BHDPNkvJ.js → canonicalSignerErrorCode-CX5PBpkt.js} +0 -0
  273. /package/dist/esm/sdk/{challengeDelivery-DWix1oso.js → challengeDelivery-Dj9HrjW9.js} +0 -0
  274. /package/dist/esm/sdk/{confirmTypes-DmEPoxys.js → confirmTypes-BvVtQs-M.js} +0 -0
  275. /package/dist/esm/sdk/{csp-stylesheet-CHtV6HyK.js → csp-stylesheet-DUSqfXvZ.js} +0 -0
  276. /package/dist/esm/sdk/{digestEncoding-n8Kr2kow.js → digestEncoding-CqNXPZY9.js} +0 -0
  277. /package/dist/esm/sdk/{ecdsaChainTarget-Lh24LLyA.js → ecdsaChainTarget-Bm5X4k-V.js} +0 -0
  278. /package/dist/esm/sdk/{executeWorkerOperation-XmBNaxrV.js → executeWorkerOperation-C9FOCCR7.js} +0 -0
  279. /package/dist/esm/sdk/{helpers-dZehRP4i.js → helpers-Dubwo5uK.js} +0 -0
  280. /package/dist/esm/sdk/{jsonRpc-YKL5n8VL.js → jsonRpc-BVDv1wfm.js} +0 -0
  281. /package/dist/esm/sdk/{keccak-BArcwgbj.js → keccak-mS0Mejjx.js} +0 -0
  282. /package/dist/esm/sdk/{keyMaterialEnvelope-BsdlckmN.js → keyMaterialEnvelope-Dm2ZEilb.js} +0 -0
  283. /package/dist/esm/sdk/{normalization-dgJxtZKK.js → normalization-B3i1-rPQ.js} +0 -0
  284. /package/dist/esm/sdk/{operationFingerprint-DgpQfpM-.js → operationFingerprint-Bas59T7L.js} +0 -0
  285. /package/dist/esm/sdk/{presignatures-CjcyX_-F.js → presignatures-BCeq56DG.js} +0 -0
  286. /package/dist/esm/sdk/{prfCache-Ck1mh5YB.js → prfCache-DEHaUPSW.js} +0 -0
  287. /package/dist/esm/sdk/{profileAccountProjection-dvLchPBo.js → profileAccountProjection-C5sNt-s2.js} +0 -0
  288. /package/dist/esm/sdk/{promptText-BIv8lx7_.js → promptText-bcKcsSka.js} +0 -0
  289. /package/dist/esm/sdk/{recoveryAuthorization-CMVdZ5OR.js → recoveryAuthorization-CQsjb8Tm.js} +0 -0
  290. /package/dist/esm/sdk/{registrationAuthMethodInput-Be4Td0Ef.js → registrationAuthMethodInput-BR1WVbK3.js} +0 -0
  291. /package/dist/esm/sdk/{sdkSentEvents-QPs69K3s.js → sdkSentEvents-DjOlKtdW.js} +0 -0
  292. /package/dist/esm/sdk/{shared-hkHoIS9i.js → shared-CkHhXgFB.js} +0 -0
  293. /package/dist/esm/sdk/{signer-worker-CmCKlJ__.js → signer-worker-BNodGJKY.js} +0 -0
  294. /package/dist/esm/sdk/{signerDomain-BLnlQPAV.js → signerDomain-BAsLT3XN.js} +0 -0
  295. /package/dist/esm/sdk/{signerSlot-DgLzb3Ee.js → signerSlot-D2RZnb27.js} +0 -0
  296. /package/dist/esm/sdk/{types-COS7UL3R.js → types-C4OErbBf.js} +0 -0
  297. /package/dist/esm/sdk/{walletCustodyOperation-CAnT3Ww-.js → walletCustodyOperation-DimzAbCB.js} +0 -0
  298. /package/dist/esm/sdk/{walletSessionAuthorizationProjection-CMl69JGe.js → walletSessionAuthorizationProjection-BzUH6gHV.js} +0 -0
  299. /package/dist/esm/sdk/{walletSessionAuthorizationStatus-C_q9eiOH.js → walletSessionAuthorizationStatus-DG7DPcgR.js} +0 -0
  300. /package/dist/esm/sdk/{walletSessionFailure-ZfdbUAG-.js → walletSessionFailure-CxsVtroW.js} +0 -0
  301. /package/dist/esm/sdk/{webauthnPromptCoordinator-DMETRUcN.js → webauthnPromptCoordinator-npsSRD51.js} +0 -0
  302. /package/dist/public/sdk/{accountIds-Dj_0GoY-.js → accountIds-CW2BP-d9.js} +0 -0
  303. /package/dist/public/sdk/{actions-BIdcxldy.js → actions-DrtSTGus.js} +0 -0
  304. /package/dist/public/sdk/{appearance-CAIe7Qed.js → appearance-DL7c6bML.js} +0 -0
  305. /package/dist/public/sdk/{authenticatorOptions-2_XK8aXv.js → authenticatorOptions-WCDKYRux.js} +0 -0
  306. /package/dist/public/sdk/{authorizationAdmission-BYwaSZYV.js → authorizationAdmission-28jo_IVJ.js} +0 -0
  307. /package/dist/public/sdk/{browser-B1qU6ouJ.js → browser-CKS7Tq2r.js} +0 -0
  308. /package/dist/public/sdk/{bytes-CA0mv-bG.js → bytes-DXo6uALR.js} +0 -0
  309. /package/dist/public/sdk/{canonicalSignerErrorCode-BHDPNkvJ.js → canonicalSignerErrorCode-CX5PBpkt.js} +0 -0
  310. /package/dist/public/sdk/{challengeDelivery-DWix1oso.js → challengeDelivery-Dj9HrjW9.js} +0 -0
  311. /package/dist/public/sdk/{confirmTypes-DmEPoxys.js → confirmTypes-BvVtQs-M.js} +0 -0
  312. /package/dist/public/sdk/{csp-stylesheet-CHtV6HyK.js → csp-stylesheet-DUSqfXvZ.js} +0 -0
  313. /package/dist/public/sdk/{digestEncoding-n8Kr2kow.js → digestEncoding-CqNXPZY9.js} +0 -0
  314. /package/dist/public/sdk/{ecdsaChainTarget-Lh24LLyA.js → ecdsaChainTarget-Bm5X4k-V.js} +0 -0
  315. /package/dist/public/sdk/{executeWorkerOperation-XmBNaxrV.js → executeWorkerOperation-C9FOCCR7.js} +0 -0
  316. /package/dist/public/sdk/{helpers-dZehRP4i.js → helpers-Dubwo5uK.js} +0 -0
  317. /package/dist/public/sdk/{jsonRpc-YKL5n8VL.js → jsonRpc-BVDv1wfm.js} +0 -0
  318. /package/dist/public/sdk/{keccak-BArcwgbj.js → keccak-mS0Mejjx.js} +0 -0
  319. /package/dist/public/sdk/{keyMaterialEnvelope-BsdlckmN.js → keyMaterialEnvelope-Dm2ZEilb.js} +0 -0
  320. /package/dist/public/sdk/{normalization-dgJxtZKK.js → normalization-B3i1-rPQ.js} +0 -0
  321. /package/dist/public/sdk/{operationFingerprint-DgpQfpM-.js → operationFingerprint-Bas59T7L.js} +0 -0
  322. /package/dist/public/sdk/{presignatures-CjcyX_-F.js → presignatures-BCeq56DG.js} +0 -0
  323. /package/dist/public/sdk/{prfCache-Ck1mh5YB.js → prfCache-DEHaUPSW.js} +0 -0
  324. /package/dist/public/sdk/{profileAccountProjection-dvLchPBo.js → profileAccountProjection-C5sNt-s2.js} +0 -0
  325. /package/dist/public/sdk/{promptText-BIv8lx7_.js → promptText-bcKcsSka.js} +0 -0
  326. /package/dist/public/sdk/{recoveryAuthorization-CMVdZ5OR.js → recoveryAuthorization-CQsjb8Tm.js} +0 -0
  327. /package/dist/public/sdk/{registrationAuthMethodInput-Be4Td0Ef.js → registrationAuthMethodInput-BR1WVbK3.js} +0 -0
  328. /package/dist/public/sdk/{sdkSentEvents-QPs69K3s.js → sdkSentEvents-DjOlKtdW.js} +0 -0
  329. /package/dist/public/sdk/{shared-hkHoIS9i.js → shared-CkHhXgFB.js} +0 -0
  330. /package/dist/public/sdk/{signer-worker-CmCKlJ__.js → signer-worker-BNodGJKY.js} +0 -0
  331. /package/dist/public/sdk/{signerDomain-BLnlQPAV.js → signerDomain-BAsLT3XN.js} +0 -0
  332. /package/dist/public/sdk/{signerSlot-DgLzb3Ee.js → signerSlot-D2RZnb27.js} +0 -0
  333. /package/dist/public/sdk/{types-COS7UL3R.js → types-C4OErbBf.js} +0 -0
  334. /package/dist/public/sdk/{walletCustodyOperation-CAnT3Ww-.js → walletCustodyOperation-DimzAbCB.js} +0 -0
  335. /package/dist/public/sdk/{walletSessionAuthorizationProjection-CMl69JGe.js → walletSessionAuthorizationProjection-BzUH6gHV.js} +0 -0
  336. /package/dist/public/sdk/{walletSessionAuthorizationStatus-C_q9eiOH.js → walletSessionAuthorizationStatus-DG7DPcgR.js} +0 -0
  337. /package/dist/public/sdk/{walletSessionFailure-ZfdbUAG-.js → walletSessionFailure-CxsVtroW.js} +0 -0
  338. /package/dist/public/sdk/{webauthnPromptCoordinator-DMETRUcN.js → webauthnPromptCoordinator-npsSRD51.js} +0 -0
@@ -1 +1 @@
1
- 5e18387096278925c5c1f4c69f379b59f0eab2e662d419fe575bee269eb216df
1
+ 454b5591bcd47936d9aea9092966bd446c1e755578e6e1accdd9831099483a70
@@ -1,5 +1,6 @@
1
1
  import { CAPABILITY_KINDS, NEAR_ED25519_MPC_OPERATION_KINDS } from "../../shared-ts/src/authorization/capabilityKinds.js";
2
2
  import { toError } from "../../shared-ts/src/utils/errors.js";
3
+ import { nearTransactionFailure } from "../../core/signingEngine/nearTransactionSubmission.js";
3
4
  import { requireBrowserCapabilityOperation } from "./capabilitySelection.js";
4
5
  import { accountExists } from "../../core/rpcClients/near/accountExists.js";
5
6
  import { delegateRelayerAuthFromConfigs, sendDelegateAction } from "../operations/near/delegateAction.js";
@@ -23,16 +24,21 @@ var NearSigner = class {
23
24
  this.deps = deps;
24
25
  }
25
26
  async signAndSendTransaction(rawArgs) {
26
- const args = {
27
+ let subject;
28
+ try {
29
+ subject = await this.deps.currentWallet.nearSubject(rawArgs);
30
+ requireBrowserCapabilityOperation(this.deps.configs, {
31
+ capabilityKind: CAPABILITY_KINDS.nearEd25519MpcSigning,
32
+ operationKind: NEAR_ED25519_MPC_OPERATION_KINDS.signTransaction
33
+ });
34
+ } catch (error) {
35
+ return nearTransactionFailure(error, "not_submitted");
36
+ }
37
+ return this.deps.commands.signAndSendTransaction({
27
38
  ...rawArgs,
28
- ...await this.deps.currentWallet.nearSubject(rawArgs),
39
+ ...subject,
29
40
  options: rawArgs.options ?? {}
30
- };
31
- requireBrowserCapabilityOperation(this.deps.configs, {
32
- capabilityKind: CAPABILITY_KINDS.nearEd25519MpcSigning,
33
- operationKind: NEAR_ED25519_MPC_OPERATION_KINDS.signTransaction
34
41
  });
35
- return await this.deps.commands.signAndSendTransaction(args);
36
42
  }
37
43
  async signTransaction(rawArgs) {
38
44
  const args = {
@@ -47,12 +53,17 @@ var NearSigner = class {
47
53
  return await this.deps.commands.signTransaction(args);
48
54
  }
49
55
  async sendTransaction(rawArgs) {
50
- const args = {
56
+ let subject;
57
+ try {
58
+ subject = await this.deps.currentWallet.nearSubject(rawArgs);
59
+ } catch (error) {
60
+ return nearTransactionFailure(error, "not_submitted");
61
+ }
62
+ return this.deps.commands.sendTransaction({
51
63
  ...rawArgs,
52
- ...await this.deps.currentWallet.nearSubject(rawArgs),
64
+ ...subject,
53
65
  options: rawArgs.options ?? {}
54
- };
55
- return await this.deps.commands.sendTransaction(args);
66
+ });
56
67
  }
57
68
  async signDelegateAction(rawArgs) {
58
69
  const args = {
@@ -1,4 +1,5 @@
1
1
  import { toError } from "../../../shared-ts/src/utils/errors.js";
2
+ import { nearTransactionFailure, notifyNearTransactionResult } from "../../../core/signingEngine/nearTransactionSubmission.js";
2
3
  //#region src/SeamsWeb/walletIframe/client/nearCommands.ts
3
4
  function createApplicationNearCommands(walletIframe, beforeSigning, transactionDispatch) {
4
5
  const commands = new ApplicationNearCommands(walletIframe, beforeSigning, transactionDispatch);
@@ -31,13 +32,12 @@ var ApplicationNearCommands = class {
31
32
  transaction,
32
33
  options: args.options
33
34
  }, this.transactionDispatch);
34
- await args.options?.afterCall?.(true, result);
35
+ await notifyNearTransactionResult(args.options, result);
35
36
  return result;
36
37
  } catch (error) {
37
- const e = toError(error);
38
- await args.options?.onError?.(e);
39
- await args.options?.afterCall?.(false, void 0, e);
40
- throw e;
38
+ const result = nearTransactionFailure(error, "not_submitted");
39
+ await notifyNearTransactionResult(args.options, result);
40
+ return result;
41
41
  }
42
42
  }
43
43
  async signTransaction(args) {
@@ -83,13 +83,12 @@ var ApplicationNearCommands = class {
83
83
  ...args.options && "waitUntil" in args.options ? { waitUntil: args.options.waitUntil } : {}
84
84
  }
85
85
  });
86
- await args.options?.afterCall?.(true, result);
86
+ await notifyNearTransactionResult(args.options, result);
87
87
  return result;
88
88
  } catch (error) {
89
- const e = toError(error);
90
- await args.options?.onError?.(e);
91
- await args.options?.afterCall?.(false, void 0, e);
92
- throw e;
89
+ const result = nearTransactionFailure(error, "not_submitted");
90
+ await notifyNearTransactionResult(args.options, result);
91
+ return result;
93
92
  }
94
93
  }
95
94
  async signDelegateAction(args) {
@@ -3,6 +3,7 @@ import { extractBorshBytesFromPlainSignedTx, isBoolean, isObject, isPlainSignedT
3
3
  import { parseMpcMaterialActivationRef } from "../../../shared-ts/src/utils/domainIds.js";
4
4
  import { createIframePlacementCommands } from "./placementCommands.js";
5
5
  import { toError } from "../../../shared-ts/src/utils/errors.js";
6
+ import { NearTransactionRequest, parseNearTransactionResult } from "../../../core/signingEngine/nearTransactionSubmission.js";
6
7
  import { secureRandomBase36 } from "../../../shared-ts/src/utils/secureRandomId.js";
7
8
  import { SignedTransaction } from "../../../core/rpcClients/near/NearClient.js";
8
9
  import { thresholdEcdsaChainTargetsEqual, toWalletId } from "../../../core/signingEngine/interfaces/ecdsaChainTarget.js";
@@ -2463,31 +2464,39 @@ var WalletIframeRouter = class {
2463
2464
  };
2464
2465
  }
2465
2466
  async signAndSendTransaction(payload, transactionDispatch = { kind: "ordinary" }) {
2466
- if (transactionDispatch.kind === "reviewed") payload = {
2467
- ...payload,
2468
- options: {
2469
- ...payload.options,
2470
- confirmationConfig: transactionDispatch.reservation.confirmationConfig
2471
- }
2472
- };
2473
- const { options } = payload;
2474
- const safeOptions = {
2475
- waitUntil: options.waitUntil,
2476
- ...options.voiceId !== void 0 ? { voiceId: options.voiceId } : {},
2477
- confirmationConfig: options.confirmationConfig,
2478
- ...typeof options.signerSlot === "number" ? { signerSlot: options.signerSlot } : {},
2479
- ...options.confirmerText ? { confirmerText: options.confirmerText } : {}
2480
- };
2481
- return (await this.post({
2482
- type: "PM_SIGN_AND_SEND_TX",
2483
- payload: {
2484
- walletId: payload.walletId,
2485
- nearAccountId: payload.nearAccountId,
2486
- transaction: payload.transaction,
2487
- options: safeOptions
2488
- },
2489
- options: { onProgress: this.wrapOnEvent(options?.onEvent, isSigningFlowEvent) }
2490
- }, { transactionDispatch })).result;
2467
+ const request = new NearTransactionRequest({ kind: "sign_and_send" });
2468
+ try {
2469
+ if (transactionDispatch.kind === "reviewed") payload = {
2470
+ ...payload,
2471
+ options: {
2472
+ ...payload.options,
2473
+ confirmationConfig: transactionDispatch.reservation.confirmationConfig
2474
+ }
2475
+ };
2476
+ const { options } = payload;
2477
+ const safeOptions = {
2478
+ waitUntil: options.waitUntil,
2479
+ ...options.voiceId !== void 0 ? { voiceId: options.voiceId } : {},
2480
+ confirmationConfig: options.confirmationConfig,
2481
+ ...typeof options.signerSlot === "number" ? { signerSlot: options.signerSlot } : {},
2482
+ ...options.confirmerText ? { confirmerText: options.confirmerText } : {}
2483
+ };
2484
+ return parseNearTransactionResult((await this.post({
2485
+ type: "PM_SIGN_AND_SEND_TX",
2486
+ payload: {
2487
+ walletId: payload.walletId,
2488
+ nearAccountId: payload.nearAccountId,
2489
+ transaction: payload.transaction,
2490
+ options: safeOptions
2491
+ },
2492
+ options: { onProgress: this.wrapOnEvent(options?.onEvent, isSigningFlowEvent) }
2493
+ }, {
2494
+ transactionDispatch,
2495
+ onDispatched: request.dispatched
2496
+ })).result);
2497
+ } catch (error) {
2498
+ return request.failed(error);
2499
+ }
2491
2500
  }
2492
2501
  async hasPasskeyCredential(walletId) {
2493
2502
  return !!(await this.post({
@@ -2518,18 +2527,26 @@ var WalletIframeRouter = class {
2518
2527
  })).result);
2519
2528
  }
2520
2529
  async sendTransaction(args) {
2521
- const { options } = args;
2522
- const safeOptions = options ? { waitUntil: options.waitUntil } : void 0;
2523
- return (await this.post({
2524
- type: "PM_SEND_TRANSACTION",
2525
- payload: {
2526
- walletId: args.walletId,
2527
- nearAccountId: args.nearAccountId,
2528
- signedTransaction: args.signedTransaction,
2529
- options: safeOptions
2530
- },
2531
- options: { onProgress: this.wrapOnEvent(options?.onEvent, isSigningFlowEvent) }
2532
- })).result;
2530
+ const request = new NearTransactionRequest({
2531
+ kind: "send",
2532
+ transactionId: args.signedTransaction.transactionHash
2533
+ });
2534
+ try {
2535
+ const { options } = args;
2536
+ const safeOptions = options ? { waitUntil: options.waitUntil } : void 0;
2537
+ return parseNearTransactionResult((await this.post({
2538
+ type: "PM_SEND_TRANSACTION",
2539
+ payload: {
2540
+ walletId: args.walletId,
2541
+ nearAccountId: args.nearAccountId,
2542
+ signedTransaction: args.signedTransaction,
2543
+ options: safeOptions
2544
+ },
2545
+ options: { onProgress: this.wrapOnEvent(options?.onEvent, isSigningFlowEvent) }
2546
+ }, { onDispatched: request.dispatched })).result);
2547
+ } catch (error) {
2548
+ return request.failed(error);
2549
+ }
2533
2550
  }
2534
2551
  async resolveExactKeyExportLane(input) {
2535
2552
  return parseResolveExactKeyExportLaneResult((await this.post({
@@ -2711,7 +2728,7 @@ var WalletIframeRouter = class {
2711
2728
  requestId,
2712
2729
  payload
2713
2730
  });
2714
- if (!this.reviews.has(requestId) && isWalletFlowEvent(payload) && payload.status === "cancelled") {
2731
+ if (!this.reviews.has(requestId) && this.state.pending.get(requestId)?.requestType !== "PM_SIGN_AND_SEND_TX" && this.state.pending.get(requestId)?.requestType !== "PM_SEND_TRANSACTION" && isWalletFlowEvent(payload) && payload.status === "cancelled") {
2715
2732
  this.settlePendingRequestCancellation(requestId, false);
2716
2733
  this.sendBestEffortCancel(requestId);
2717
2734
  return;
@@ -2902,6 +2919,7 @@ var WalletIframeRouter = class {
2902
2919
  options: void 0
2903
2920
  };
2904
2921
  this.state.port.postMessage(serializableFull);
2922
+ postOpts?.onDispatched?.();
2905
2923
  } catch (err) {
2906
2924
  this.state.pending.delete(requestId);
2907
2925
  window.clearTimeout(timer);
@@ -3055,6 +3073,7 @@ function normalizeSignedTransactionResult(result) {
3055
3073
  transaction: signedTransaction.transaction,
3056
3074
  signature: signedTransaction.signature,
3057
3075
  borsh_bytes: extractBorshBytesFromPlainSignedTx(signedTransaction),
3076
+ transactionHash: signedTransaction.transactionHash,
3058
3077
  ...nonceLease ? { nonceLease } : {},
3059
3078
  ...serverDispatch ? { serverDispatch } : {}
3060
3079
  })
@@ -23,6 +23,7 @@ function sizeFromEntryOrElement(element, entry) {
23
23
  function sizeForReporter(options, entry) {
24
24
  if (options.kind === "request_scroll_surface") {
25
25
  const rect = options.element.getBoundingClientRect();
26
+ if (options.element.classList.contains("seams-confirm-surface-pinned")) return sizeFromRect(rect);
26
27
  return sizeFromRect({
27
28
  width: Math.max(options.element.scrollWidth, rect.width),
28
29
  height: Math.max(options.element.scrollHeight, rect.height)
@@ -753,7 +753,7 @@ var AuthMenuSurface = class extends Component {
753
753
  "data-auth-menu-provider": "google",
754
754
  disabled: !isAuthMenuGoogleActionReady(viewModel),
755
755
  onClick: this.onGoogleClick,
756
- children: [googleIcon(), /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.mode === "login" ? "Email code (Google)" : "Continue with Google" }) })]
756
+ children: [googleIcon(), /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.mode === "login" ? "Unlock with email code" : "Continue with Google" }) })]
757
757
  }) : null,
758
758
  viewModel.mode === "login" && viewModel.accountOptions.some(voiceAvailableForWallet.bind(null, selectedLoginAccount(viewModel)?.walletId)) ? /* @__PURE__ */ jsxs("button", {
759
759
  type: "button",
@@ -24,6 +24,7 @@ function authMenuStyles(document) {
24
24
  var MountedAuthMenuSurface = class {
25
25
  element;
26
26
  styles;
27
+ entrance = [];
27
28
  state;
28
29
  constructor(input) {
29
30
  const document = input.parent.ownerDocument;
@@ -39,11 +40,36 @@ var MountedAuthMenuSurface = class {
39
40
  input.parent.appendChild(this.element);
40
41
  try {
41
42
  this.update(input.viewModel);
43
+ this.animateEntrance(input.initialHeightCssPx);
42
44
  } catch (error) {
43
45
  this.dispose();
44
46
  throw error;
45
47
  }
46
48
  }
49
+ animateEntrance(initialHeightCssPx) {
50
+ if (initialHeightCssPx === void 0 || window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
51
+ const card = this.element.querySelector(".auth-menu-root");
52
+ if (!card) return;
53
+ const height = card.getBoundingClientRect().height;
54
+ this.entrance.push(card.animate([{
55
+ height: `${initialHeightCssPx}px`,
56
+ minHeight: "0px",
57
+ overflow: "hidden"
58
+ }, {
59
+ height: `${height}px`,
60
+ minHeight: "0px",
61
+ overflow: "hidden"
62
+ }], {
63
+ duration: 200,
64
+ easing: "cubic-bezier(0.32, 0.72, 0, 1)"
65
+ }));
66
+ for (const child of card.children) this.entrance.push(child.animate([{ opacity: 0 }, { opacity: 1 }], {
67
+ duration: 140,
68
+ delay: 60,
69
+ fill: "backwards",
70
+ easing: "cubic-bezier(0.25, 1, 0.5, 1)"
71
+ }));
72
+ }
47
73
  update(viewModel) {
48
74
  if (this.state.kind === "disposed") return;
49
75
  this.element.lang = viewModel.appearance.locale ?? "en";
@@ -59,6 +85,8 @@ var MountedAuthMenuSurface = class {
59
85
  dispose() {
60
86
  if (this.state.kind === "disposed") return;
61
87
  this.state = { kind: "disposed" };
88
+ for (const animation of this.entrance) animation.cancel();
89
+ this.entrance = [];
62
90
  this.element.removeEventListener("cancel", this.cancel);
63
91
  render(null, this.element);
64
92
  this.styles.deleteDynamicRule(this.element.id + "-appearance");
@@ -203,6 +203,7 @@ function parseHostedAuthMenuOpenRequest(value) {
203
203
  "kind",
204
204
  "authMenuSessionId",
205
205
  "initialMode",
206
+ "initialHeightCssPx",
206
207
  "loginTarget",
207
208
  "registrationAccountInput",
208
209
  "showRegistrationInput",
@@ -212,6 +213,8 @@ function parseHostedAuthMenuOpenRequest(value) {
212
213
  ]) || !hasOnlyHostedAuthMenuCopyKeys(record.copy)) return null;
213
214
  const authMenuSessionId = hostedAuthMenuSessionIdFromBoundary(record.authMenuSessionId);
214
215
  const initialMode = parseAuthMenuMode(record.initialMode);
216
+ const initialHeightCssPx = record.initialHeightCssPx;
217
+ if (initialHeightCssPx !== void 0 && (typeof initialHeightCssPx !== "number" || !Number.isFinite(initialHeightCssPx) || initialHeightCssPx <= 0)) return null;
215
218
  const loginTargetRecord = recordFromBoundary(record.loginTarget);
216
219
  const loginWalletId = loginTargetRecord?.kind === "wallet" || loginTargetRecord?.kind === "wallet_sync" ? parseWalletId(loginTargetRecord.walletId) : null;
217
220
  const loginTarget = loginTargetRecord?.kind === "discoverable" && hasOnlyKeys(loginTargetRecord, ["kind"]) ? { kind: "discoverable" } : loginTargetRecord?.kind === "wallet" && hasOnlyKeys(loginTargetRecord, ["kind", "walletId"]) && loginWalletId?.ok ? {
@@ -228,6 +231,7 @@ function parseHostedAuthMenuOpenRequest(value) {
228
231
  kind: "hosted_auth_menu_open_v1",
229
232
  authMenuSessionId,
230
233
  initialMode,
234
+ initialHeightCssPx,
231
235
  loginTarget,
232
236
  registrationAccountInput,
233
237
  showRegistrationInput: record.showRegistrationInput,
@@ -242,6 +246,7 @@ function buildHostedAuthMenuOpenRequest(args) {
242
246
  if (!argsRecord || !hasOnlyKeys(argsRecord, [
243
247
  "authMenuSessionId",
244
248
  "initialMode",
249
+ "initialHeightCssPx",
245
250
  "loginTarget",
246
251
  "registrationAccountInput",
247
252
  "showRegistrationInput",
@@ -255,6 +260,7 @@ function buildHostedAuthMenuOpenRequest(args) {
255
260
  kind: "hosted_auth_menu_open_v1",
256
261
  authMenuSessionId: parsedSessionId,
257
262
  initialMode: args.initialMode ?? "login",
263
+ initialHeightCssPx: args.initialHeightCssPx,
258
264
  loginTarget: args.loginTarget ?? { kind: "discoverable" },
259
265
  registrationAccountInput: args.registrationAccountInput ?? "implicit_wallet",
260
266
  showRegistrationInput: args.showRegistrationInput ?? false,
@@ -1,13 +1,20 @@
1
+ import { requireCanonicalString } from "../../../shared-ts/src/utils/validation.js";
1
2
  import { errorMessage } from "../../../shared-ts/src/utils/errors.js";
2
3
  import { NearJsonRpcClient, SignedTransaction as SignedTransaction$1 } from "../../../shared-ts/src/near/nearClient.js";
3
4
  import { NearRpcError } from "./NearRpcError.js";
4
5
  //#region src/core/rpcClients/near/NearClient.ts
5
6
  var SignedTransaction = class SignedTransaction extends SignedTransaction$1 {
7
+ transactionHash;
8
+ constructor(input) {
9
+ super(input);
10
+ this.transactionHash = input.transactionHash;
11
+ }
6
12
  static fromPlain(input) {
7
13
  return new SignedTransaction({
8
14
  transaction: input.transaction,
9
15
  signature: input.signature,
10
16
  borsh_bytes: input.borsh_bytes,
17
+ transactionHash: requireCanonicalString(input.transactionHash, "signed transaction hash"),
11
18
  ...input.nonceLease ? { nonceLease: input.nonceLease } : {},
12
19
  ...input.serverDispatch ? { serverDispatch: input.serverDispatch } : {}
13
20
  });
@@ -908,12 +908,15 @@ function toSignedTransactionResult(args) {
908
908
  const signedTx = signedTransactions[0];
909
909
  if (!signedTx || !signedTx.transaction || !signedTx.signature) throw new Error("Incomplete signed transaction data received");
910
910
  const nonceLease = args.nonceLeases?.[0];
911
+ const transactionHash = args.okResponse.payload.transactionHashes?.[0];
912
+ if (!transactionHash) throw new Error("Signed transaction is missing its hash");
911
913
  const serverDispatch = signedTx.serverDispatch;
912
914
  return {
913
915
  signedTransaction: new SignedTransaction({
914
916
  transaction: signedTx.transaction,
915
917
  signature: signedTx.signature,
916
918
  borsh_bytes: Array.from(signedTx.borshBytes || []),
919
+ transactionHash,
917
920
  ...nonceLease ? { nonceLease } : {},
918
921
  ...serverDispatch ? { serverDispatch } : {}
919
922
  }),
@@ -0,0 +1,89 @@
1
+ import { requireCanonicalString, requireNonEmptyString, requireRecord } from "../../shared-ts/src/utils/validation.js";
2
+ import { safeErrorMessage } from "../../shared-ts/src/utils/errors.js";
3
+ import { decodeNearFinalExecutionOutcome } from "../../shared-ts/src/utils/nearRpcResults.js";
4
+ //#region src/core/signingEngine/nearTransactionSubmission.ts
5
+ var NearTransactionRequest = class {
6
+ state = "not_dispatched";
7
+ constructor(transaction) {
8
+ this.transaction = transaction;
9
+ }
10
+ dispatched = () => {
11
+ this.state = "dispatched";
12
+ };
13
+ failed(error) {
14
+ if (this.state === "not_dispatched") return nearTransactionFailure(error, "not_submitted");
15
+ switch (this.transaction.kind) {
16
+ case "sign_and_send": return nearTransactionFailure(error, "submission_unknown");
17
+ case "send": return unresolvedNearTransaction(this.transaction.transactionId, error);
18
+ default: return assertNeverNearTransactionState(this.transaction);
19
+ }
20
+ }
21
+ };
22
+ function assertNeverNearTransactionState(value) {
23
+ throw new Error(`Unsupported NEAR transaction state: ${String(value)}`);
24
+ }
25
+ function parseNearTransactionResult(raw) {
26
+ const result = requireRecord(raw, "NEAR transaction result");
27
+ if (result.success === true) {
28
+ const transactionId = requireCanonicalString(result.transactionId, "transactionId");
29
+ const outcome = decodeNearFinalExecutionOutcome(result.result);
30
+ if (transactionId !== outcome.transaction.hash) throw new Error("NEAR transaction result contains different transaction hashes");
31
+ if (typeof outcome.status === "object" && "Failure" in outcome.status) return unresolvedNearTransaction(transactionId, /* @__PURE__ */ new Error("NEAR transaction execution failed"));
32
+ return {
33
+ success: true,
34
+ transactionId,
35
+ result: outcome
36
+ };
37
+ }
38
+ if (result.success !== false) throw new Error("Invalid NEAR transaction result");
39
+ const error = requireNonEmptyString(result.error, "NEAR transaction error");
40
+ switch (result.kind) {
41
+ case "not_submitted": return {
42
+ success: false,
43
+ kind: "not_submitted",
44
+ error
45
+ };
46
+ case "submission_unknown": return {
47
+ success: false,
48
+ kind: "submission_unknown",
49
+ error
50
+ };
51
+ case "unresolved": return {
52
+ success: false,
53
+ kind: "unresolved",
54
+ transactionId: requireCanonicalString(result.transactionId, "transactionId"),
55
+ error
56
+ };
57
+ default: throw new Error("Invalid NEAR transaction failure");
58
+ }
59
+ }
60
+ function nearTransactionFailure(error, fallback) {
61
+ return {
62
+ success: false,
63
+ kind: fallback,
64
+ error: safeErrorMessage(error) || "NEAR transaction failed"
65
+ };
66
+ }
67
+ function unresolvedNearTransaction(transactionId, error) {
68
+ return {
69
+ success: false,
70
+ kind: "unresolved",
71
+ transactionId,
72
+ error: safeErrorMessage(error)
73
+ };
74
+ }
75
+ /** Application hooks cannot replace a settled transaction outcome with their own error. */
76
+ async function notifyNearTransactionResult(options, result) {
77
+ const error = result.success ? void 0 : new Error(result.error);
78
+ if (error) try {
79
+ await options?.onError?.(error);
80
+ } catch {}
81
+ try {
82
+ if (result.success) await options?.afterCall?.(true, result);
83
+ else await options?.afterCall?.(false, void 0, error);
84
+ } catch {}
85
+ }
86
+ //#endregion
87
+ export { NearTransactionRequest, nearTransactionFailure, notifyNearTransactionResult, parseNearTransactionResult };
88
+
89
+ //# sourceMappingURL=nearTransactionSubmission.js.map
@@ -299,7 +299,7 @@ function attachConfirmSurfaceResizeChoreographer(element, options = {}) {
299
299
  current.moved = true;
300
300
  } else current.framesSinceChange += 1;
301
301
  const progress = clamp((viewportPx - current.originHostPx) / current.deltaCssPx, 0, 1);
302
- if (progress >= 1) {
302
+ if (viewportPx === Math.round(current.originHostPx + current.deltaCssPx)) {
303
303
  current.framesAtTarget += 1;
304
304
  if (current.sawIntermediate || current.framesAtTarget >= LANDING_CONFIRM_FRAMES) {
305
305
  settle();
@@ -310,7 +310,7 @@ function attachConfirmSurfaceResizeChoreographer(element, options = {}) {
310
310
  }
311
311
  if (current.framesAtTarget > 0) surfaceMotionDiagnostics.blipFrames += 1;
312
312
  current.framesAtTarget = 0;
313
- if (progress > 0) current.sawIntermediate = true;
313
+ if (progress > 0 && progress < 1) current.sawIntermediate = true;
314
314
  current.driver.setProgress(progress);
315
315
  const settledFrames = current.moved ? SETTLED_FRAMES_AFTER_MOTION : SETTLED_FRAMES_WITHOUT_MOTION;
316
316
  if (current.framesSinceChange >= settledFrames) {
@@ -69,8 +69,14 @@ var ReviewDisclosure = class extends Component {
69
69
  return;
70
70
  }
71
71
  details.open = true;
72
+ const scrollArea = details.parentElement?.closest(".seams-review-technical > div");
73
+ if (scrollArea && scrollArea.scrollHeight > scrollArea.clientHeight) {
74
+ details.open = opening;
75
+ details.removeAttribute("data-closing");
76
+ return;
77
+ }
72
78
  details.setAttribute("data-resizing", "");
73
- const target = opening ? body.scrollHeight : 0;
79
+ const target = opening ? body.getBoundingClientRect().height : 0;
74
80
  this.motion = {
75
81
  kind: "hosted",
76
82
  opening