@seams/wallet 0.28.0 → 0.30.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 (425) hide show
  1. package/README.md +29 -4
  2. package/dist/.build-inputs.sha256 +1 -1
  3. package/dist/esm/SeamsWeb/SeamsWeb.js +2 -0
  4. package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +11 -0
  5. package/dist/esm/SeamsWeb/publicApi/near.js +3 -0
  6. package/dist/esm/SeamsWeb/publicApi/ownerNearOperation.js +175 -0
  7. package/dist/esm/SeamsWeb/walletIframe/client/inboundMessages.js +9 -0
  8. package/dist/esm/SeamsWeb/walletIframe/client/nearCommands.js +4 -0
  9. package/dist/esm/SeamsWeb/walletIframe/client/ownerNearOperation.js +67 -0
  10. package/dist/esm/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +27 -17
  11. package/dist/esm/SeamsWeb/walletIframe/client/router.js +60 -7
  12. package/dist/esm/SeamsWeb/walletIframe/client/sessionCommands.js +4 -0
  13. package/dist/esm/SeamsWeb/walletIframe/coordinator.js +18 -0
  14. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +88 -47
  15. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/WalletAlternativesSection.js +67 -0
  16. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +13 -0
  17. package/dist/esm/SeamsWeb/walletIframe/host/walletMutationGuard.js +6 -0
  18. package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +15 -1
  19. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +20 -6
  20. package/dist/esm/SeamsWeb/walletIframe/shared/ownerNearOperation.js +152 -0
  21. package/dist/esm/SeamsWeb/walletIframe/shared/walletAlternatives.js +109 -0
  22. package/dist/esm/core/accountData/near/accountProjection.js +1 -1
  23. package/dist/esm/core/config/configBuilder.js +1 -1
  24. package/dist/esm/core/config/defaultConfigs.js +9 -2
  25. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +4 -3
  26. package/dist/esm/core/rpcClients/relayer/walletRegistration.js +1 -1
  27. package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +1 -1
  28. package/dist/esm/core/signingEngine/flows/shared/signingConfirmation.js +1 -1
  29. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +1 -1
  30. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +1 -1
  31. package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +2 -2
  32. package/dist/esm/core/signingEngine/flows/signNear/signDelegate.js +2 -2
  33. package/dist/esm/core/signingEngine/flows/signNear/signNear.js +3 -8
  34. package/dist/esm/core/signingEngine/flows/signNear/signNep413.js +1 -1
  35. package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +3 -4
  36. package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +1 -1
  37. package/dist/esm/core/ui/messages.js +3 -1
  38. package/dist/esm/core/ui/walletIcon.js +10 -0
  39. package/dist/esm/externalEvm/boundary.js +4 -2
  40. package/dist/esm/index.js +3 -2
  41. package/dist/esm/react/boundWallet.js +24 -0
  42. package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +26 -6
  43. package/dist/esm/react/components/HostedSeamsAuthMenu/walletAlternatives.js +178 -0
  44. package/dist/esm/react/context/useLoginStateRefresher.js +1 -0
  45. package/dist/esm/react/hooks/useAccountInput.js +1 -1
  46. package/dist/esm/react/hooks/useOwnerNearOperation.js +10 -0
  47. package/dist/esm/react/index.js +3 -3
  48. package/dist/esm/react/styles/styles.css +0 -183
  49. package/dist/esm/react/styles.css +0 -1
  50. package/dist/esm/sdk/{ConfirmationDrawer-MJoE0AAo.js → ConfirmationDrawer-fyl4IDRl.js} +1 -1
  51. package/dist/esm/sdk/NonceCoordinator-C1lw03Ce.js +1 -0
  52. package/dist/esm/sdk/{SeamsWordmark-DwvPx2UA.js → SeamsWordmark-CeEi2RlU.js} +1 -1
  53. package/dist/esm/sdk/accountLifecycle-B5a9SCM7.js +1 -0
  54. package/dist/{public/sdk/activeWalletSession-BJ4B-nJo.js → esm/sdk/activeWalletSession-HAOgRKzn.js} +1 -1
  55. package/dist/{public/sdk/adapters-C-g_hkkZ.js → esm/sdk/adapters-BY1wGpm5.js} +1 -1
  56. package/dist/esm/sdk/appearance-token-vars-CzlRDVQ7.js +1 -0
  57. package/dist/esm/sdk/authorization-D_NueqAv.js +1 -0
  58. package/dist/esm/sdk/clientSessionPersistenceState-B3gU3515.js +1 -0
  59. package/dist/esm/sdk/{collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js → collectAuthenticationCredentialForChallengeB64u-BoFVpdRS.js} +1 -1
  60. package/dist/esm/sdk/{commitQueue-CYruPlkm.js → commitQueue-CbyuhEW9.js} +1 -1
  61. package/dist/esm/sdk/confirm-ui-DWFcGTsT.js +2 -0
  62. package/dist/{public/sdk/device-linking-DiCNt3iA.js → esm/sdk/device-linking-BL2aDEUF.js} +1 -1
  63. package/dist/esm/sdk/{deviceLinkApproval-x3WkiYrd.js → deviceLinkApproval-C4T8XAmi.js} +1 -1
  64. package/dist/{public/sdk/digestEncoding-CqNXPZY9.js → esm/sdk/digestEncoding-Rx8Vjy4J.js} +1 -1
  65. package/dist/esm/sdk/{display-D0EPmU4w.js → display-8NGPOhQT.js} +1 -1
  66. package/dist/{public/sdk/ecdsaCapabilityManifest-DAJEVjlP.js → esm/sdk/ecdsaCapabilityManifest-BbPXL-qh.js} +1 -1
  67. package/dist/esm/sdk/{ecdsaDerivationClientWasm-AYOJgTJm.js → ecdsaDerivationClientWasm-GCt9yVsd.js} +1 -1
  68. package/dist/esm/sdk/ecdsaDerivationExport-jm2VBMz_.js +1 -0
  69. package/dist/esm/sdk/{ecdsaWalletRecords-WLyq414E.js → ecdsaWalletRecords-CKaXfsVu.js} +1 -1
  70. package/dist/esm/sdk/ed25519OperationFingerprint-Dev4P6Og.js +1 -0
  71. package/dist/esm/sdk/{emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js → emailOtpEcdsaDerivationIdentity-DJmMyqL-.js} +1 -1
  72. package/dist/esm/sdk/{enrichDisplayModelWithAbi-O6Mw4i2E.js → enrichDisplayModelWithAbi-JeAcpa7r.js} +1 -1
  73. package/dist/esm/sdk/{evmCryptoWasm-BUPb4hBH.js → evmCryptoWasm-CeH6Qeaa.js} +1 -1
  74. package/dist/esm/sdk/{export-viewer-host-BSTfHhau.js → export-viewer-host-TzgdJQuZ.js} +1 -1
  75. package/dist/esm/sdk/exportKeypairOperation-B9_ulzNz.js +1 -0
  76. package/dist/esm/sdk/host-Csu5L7VF.js +1 -0
  77. package/dist/{public/sdk/icons-BlMXolHv.js → esm/sdk/icons-pSZJ5Xrm.js} +1 -1
  78. package/dist/esm/sdk/indexedDB-BqsYXybq.js +1 -0
  79. package/dist/esm/sdk/{intentDigest-HvRsBQ1z.js → intentDigest-gM3r4SVX.js} +1 -1
  80. package/dist/esm/sdk/{lanes-BU-fGqY4.js → lanes-0WT2w1Xz.js} +1 -1
  81. package/dist/esm/sdk/{localOnly-Xs89Xajm.js → localOnly-DFrtrfdO.js} +1 -1
  82. package/dist/{public/sdk/mountExportPrivateKeySurface-CsUEKeum.js → esm/sdk/mountExportPrivateKeySurface-D8juRQJM.js} +1 -1
  83. package/dist/esm/sdk/{mountRecoveryCodeBackupSurface-kFLo5zLk.js → mountRecoveryCodeBackupSurface-CMtByh-L.js} +1 -1
  84. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-Cz2Gb95g.js +1 -0
  85. package/dist/esm/sdk/{nonceLaneKeys-BF_UpvIy.js → nonceLaneKeys-DtBpxubF.js} +1 -1
  86. package/dist/esm/sdk/{normalization-Df9fZWJC.js → normalization-DmfGvZ_3.js} +1 -1
  87. package/dist/esm/sdk/{operationFingerprint-Bas59T7L.js → operationFingerprint-GKEY-X5I.js} +1 -1
  88. package/dist/esm/sdk/ownerNearOperation-DCxxHcwX.js +1 -0
  89. package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-B-R_U34I.js → esm/sdk/pendingWalletRecoveryCodeBackup-8iMhQU-E.js} +1 -1
  90. package/dist/esm/sdk/{presignaturePool-BbvqRWYw.js → presignaturePool-CaI45td2.js} +1 -1
  91. package/dist/{public/sdk/presignatures-BCeq56DG.js → esm/sdk/presignatures-B9KnQyfE.js} +1 -1
  92. package/dist/{public/sdk/recovery-entrypoint-DJbMDC_m.js → esm/sdk/recovery-entrypoint-DA2FGLG6.js} +1 -1
  93. package/dist/esm/sdk/registration-C7w_51wE.js +1 -0
  94. package/dist/esm/sdk/{registration-C2fb9kRQ.js → registration-XNyt1YRK.js} +1 -1
  95. package/dist/esm/sdk/{registrationAccounts-4r74gX1l.js → registrationAccounts-Bso0ntMs.js} +1 -1
  96. package/dist/{public/sdk/registrationIntent-Do1tD1V7.js → esm/sdk/registrationIntent-Cb3tggIM.js} +1 -1
  97. package/dist/{public/sdk/registrationSignerPlan-DK2b3N_p.js → esm/sdk/registrationSignerPlan-CeMidFme.js} +1 -1
  98. package/dist/esm/sdk/{requireStepUpAuth-COqCGb1i.js → requireStepUpAuth-ByMTPBu4.js} +1 -1
  99. package/dist/esm/sdk/resealedEnvelopeResult-DKY5fVNY.js +1 -0
  100. package/dist/esm/sdk/routerAbNormalSigning-CPLDkttX.js +1 -0
  101. package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  102. package/dist/esm/sdk/runtime-auth-BMT_gIKI.js +1 -0
  103. package/dist/esm/sdk/runtime-device-link-DQe0aqRi.js +1 -0
  104. package/dist/esm/sdk/runtime-ecdsa-tempo-DKkeMMpm.js +1 -0
  105. package/dist/esm/sdk/runtime-email-otp-CzTe7r9I.js +1 -0
  106. package/dist/esm/sdk/runtime-export-BiyLbdCe.js +1 -0
  107. package/dist/esm/sdk/runtime-near-Kk0n1FSf.js +1 -0
  108. package/dist/esm/sdk/runtime-preferences-B-A3hddU.js +1 -0
  109. package/dist/esm/sdk/runtime-recovery-C9p1TU1w.js +1 -0
  110. package/dist/esm/sdk/{runtime-recovery-codes-si1fGktB.js → runtime-recovery-codes-CFOWDVd9.js} +1 -1
  111. package/dist/esm/sdk/runtimeContext-ChuvOC0h.js +7 -0
  112. package/dist/esm/sdk/{secp256k1-CE7-q9Sn.js → secp256k1-sDDAa4Ga.js} +1 -1
  113. package/dist/esm/sdk/signEvmFamily-CMrXkVsZ.js +1 -0
  114. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js → signEvmFamilyWithUiConfirmForTempo-CnRoo0e8.js} +1 -1
  115. package/dist/esm/sdk/{signEvmWithUiConfirm-CGrLtMV6.js → signEvmWithUiConfirm-yITc3ZvP.js} +1 -1
  116. package/dist/esm/sdk/signNear-DyFk--I3.js +1 -0
  117. package/dist/esm/sdk/{signatureUses-kSrUHSSH.js → signatureUses-BLOoPRsb.js} +1 -1
  118. package/dist/{public/sdk/signingFlow-BcetvUeS.js → esm/sdk/signingFlow-DTP4D19E.js} +2 -2
  119. package/dist/{public/sdk/signingQueue-dMFOFOP5.js → esm/sdk/signingQueue-Dy5mYMus.js} +1 -1
  120. package/dist/esm/sdk/{thresholdEcdsa-CqR1fFA-.js → thresholdEcdsa-CRfx6RP1.js} +1 -1
  121. package/dist/esm/sdk/{trace--mRP2OQc.js → trace-BA8jya7O.js} +1 -1
  122. package/dist/esm/sdk/{transaction-activity-DCzHGg3b.js → transaction-activity-BXSxMp1E.js} +1 -1
  123. package/dist/esm/sdk/{transactionState-29T9xfvL.js → transactionState-BCbaT2hO.js} +1 -1
  124. package/dist/esm/sdk/tx-confirm-ui.js +3 -1
  125. package/dist/esm/sdk/{types-f7dyj5N6.js → types-D2Zk1W7I.js} +1 -1
  126. package/dist/esm/sdk/{unlockedEd25519ExportRootCapability-yzxQjIFd.js → unlockedEd25519ExportRootCapability-BbGMlikr.js} +1 -1
  127. package/dist/esm/sdk/voiceid-host.js +1 -1
  128. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  129. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  130. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  131. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  132. package/dist/{public/sdk/wallet-recovery-BZB2Vu3X.js → esm/sdk/wallet-recovery-Bfm-oUoP.js} +1 -1
  133. package/dist/esm/sdk/wallet-ui.css +1 -1
  134. package/dist/esm/sdk/{walletAuthMethodRecord-DLBB5fez.js → walletAuthMethodRecord--fvGr8r1.js} +1 -1
  135. package/dist/{public/sdk/walletAuthority-BTGAuOi8.js → esm/sdk/walletAuthority-CU9nO0Ze.js} +1 -1
  136. package/dist/esm/sdk/{walletCapabilityBindings-D5YYB7nN.js → walletCapabilityBindings-mPx-6_r-.js} +1 -1
  137. package/dist/{public/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js → esm/sdk/walletCustodyEcdsaContinuity-BUdDyRl_.js} +1 -1
  138. package/dist/esm/sdk/{walletDbName-Ca0rCq5r.js → walletDbName-B6-CV_Rq.js} +1 -1
  139. package/dist/esm/sdk/{walletCustodyOperation-DimzAbCB.js → walletOwnerOperation-BJPxzo-k.js} +1 -1
  140. package/dist/{public/sdk/walletOwnershipGeneration-CgjCtPrV.js → esm/sdk/walletOwnershipGeneration-B3uE9GRG.js} +1 -1
  141. package/dist/esm/sdk/walletRecoveryAdminProof-BmZaP0Q8.js +1 -0
  142. package/dist/esm/sdk/walletRecoveryCommit-CSYNbYNd.js +1 -0
  143. package/dist/{public/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js → esm/sdk/walletSessionAuthorizationStatus-CQ3qA9tI.js} +1 -1
  144. package/dist/esm/sdk/{walletSessionAuthorizationStore-B9Vwkshr.js → walletSessionAuthorizationStore-CGt-s5fX.js} +1 -1
  145. package/dist/esm/sdk/{webauthnP256-BsQQPurm.js → webauthnP256-BGHikiNl.js} +1 -1
  146. package/dist/esm/shared-ts/src/auth/externalAuth.js +2 -2
  147. package/dist/esm/shared-ts/src/utils/index.js +3 -3
  148. package/dist/esm/voiceid-host.js +1 -1
  149. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  150. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
  151. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
  152. package/dist/public/headers.manifest.json +1 -1
  153. package/dist/public/sdk/{ConfirmationDrawer-MJoE0AAo.js → ConfirmationDrawer-fyl4IDRl.js} +1 -1
  154. package/dist/public/sdk/NonceCoordinator-C1lw03Ce.js +1 -0
  155. package/dist/public/sdk/{SeamsWordmark-DwvPx2UA.js → SeamsWordmark-CeEi2RlU.js} +1 -1
  156. package/dist/public/sdk/accountLifecycle-B5a9SCM7.js +1 -0
  157. package/dist/{esm/sdk/activeWalletSession-BJ4B-nJo.js → public/sdk/activeWalletSession-HAOgRKzn.js} +1 -1
  158. package/dist/{esm/sdk/adapters-C-g_hkkZ.js → public/sdk/adapters-BY1wGpm5.js} +1 -1
  159. package/dist/public/sdk/appearance-token-vars-CzlRDVQ7.js +1 -0
  160. package/dist/public/sdk/authorization-D_NueqAv.js +1 -0
  161. package/dist/public/sdk/clientSessionPersistenceState-B3gU3515.js +1 -0
  162. package/dist/public/sdk/{collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js → collectAuthenticationCredentialForChallengeB64u-BoFVpdRS.js} +1 -1
  163. package/dist/public/sdk/{commitQueue-CYruPlkm.js → commitQueue-CbyuhEW9.js} +1 -1
  164. package/dist/public/sdk/confirm-ui-DWFcGTsT.js +2 -0
  165. package/dist/{esm/sdk/device-linking-DiCNt3iA.js → public/sdk/device-linking-BL2aDEUF.js} +1 -1
  166. package/dist/public/sdk/{deviceLinkApproval-x3WkiYrd.js → deviceLinkApproval-C4T8XAmi.js} +1 -1
  167. package/dist/{esm/sdk/digestEncoding-CqNXPZY9.js → public/sdk/digestEncoding-Rx8Vjy4J.js} +1 -1
  168. package/dist/public/sdk/{display-D0EPmU4w.js → display-8NGPOhQT.js} +1 -1
  169. package/dist/{esm/sdk/ecdsaCapabilityManifest-DAJEVjlP.js → public/sdk/ecdsaCapabilityManifest-BbPXL-qh.js} +1 -1
  170. package/dist/public/sdk/{ecdsaDerivationClientWasm-AYOJgTJm.js → ecdsaDerivationClientWasm-GCt9yVsd.js} +1 -1
  171. package/dist/public/sdk/ecdsaDerivationExport-jm2VBMz_.js +1 -0
  172. package/dist/public/sdk/{ecdsaWalletRecords-WLyq414E.js → ecdsaWalletRecords-CKaXfsVu.js} +1 -1
  173. package/dist/public/sdk/ed25519OperationFingerprint-Dev4P6Og.js +1 -0
  174. package/dist/public/sdk/{emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js → emailOtpEcdsaDerivationIdentity-DJmMyqL-.js} +1 -1
  175. package/dist/public/sdk/{enrichDisplayModelWithAbi-O6Mw4i2E.js → enrichDisplayModelWithAbi-JeAcpa7r.js} +1 -1
  176. package/dist/public/sdk/{evmCryptoWasm-BUPb4hBH.js → evmCryptoWasm-CeH6Qeaa.js} +1 -1
  177. package/dist/public/sdk/{export-viewer-host-BSTfHhau.js → export-viewer-host-TzgdJQuZ.js} +1 -1
  178. package/dist/public/sdk/exportKeypairOperation-B9_ulzNz.js +1 -0
  179. package/dist/public/sdk/host-Csu5L7VF.js +1 -0
  180. package/dist/{esm/sdk/icons-BlMXolHv.js → public/sdk/icons-pSZJ5Xrm.js} +1 -1
  181. package/dist/public/sdk/indexedDB-BqsYXybq.js +1 -0
  182. package/dist/public/sdk/{intentDigest-HvRsBQ1z.js → intentDigest-gM3r4SVX.js} +1 -1
  183. package/dist/public/sdk/{lanes-BU-fGqY4.js → lanes-0WT2w1Xz.js} +1 -1
  184. package/dist/public/sdk/{localOnly-Xs89Xajm.js → localOnly-DFrtrfdO.js} +1 -1
  185. package/dist/{esm/sdk/mountExportPrivateKeySurface-CsUEKeum.js → public/sdk/mountExportPrivateKeySurface-D8juRQJM.js} +1 -1
  186. package/dist/public/sdk/{mountRecoveryCodeBackupSurface-kFLo5zLk.js → mountRecoveryCodeBackupSurface-CMtByh-L.js} +1 -1
  187. package/dist/public/sdk/nearEd25519YaoSigningPreparation-Cz2Gb95g.js +1 -0
  188. package/dist/public/sdk/{nonceLaneKeys-BF_UpvIy.js → nonceLaneKeys-DtBpxubF.js} +1 -1
  189. package/dist/public/sdk/{normalization-Df9fZWJC.js → normalization-DmfGvZ_3.js} +1 -1
  190. package/dist/public/sdk/{operationFingerprint-Bas59T7L.js → operationFingerprint-GKEY-X5I.js} +1 -1
  191. package/dist/public/sdk/ownerNearOperation-DCxxHcwX.js +1 -0
  192. package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-B-R_U34I.js → public/sdk/pendingWalletRecoveryCodeBackup-8iMhQU-E.js} +1 -1
  193. package/dist/public/sdk/{presignaturePool-BbvqRWYw.js → presignaturePool-CaI45td2.js} +1 -1
  194. package/dist/{esm/sdk/presignatures-BCeq56DG.js → public/sdk/presignatures-B9KnQyfE.js} +1 -1
  195. package/dist/{esm/sdk/recovery-entrypoint-DJbMDC_m.js → public/sdk/recovery-entrypoint-DA2FGLG6.js} +1 -1
  196. package/dist/public/sdk/registration-C7w_51wE.js +1 -0
  197. package/dist/public/sdk/{registration-C2fb9kRQ.js → registration-XNyt1YRK.js} +1 -1
  198. package/dist/public/sdk/{registrationAccounts-4r74gX1l.js → registrationAccounts-Bso0ntMs.js} +1 -1
  199. package/dist/{esm/sdk/registrationIntent-Do1tD1V7.js → public/sdk/registrationIntent-Cb3tggIM.js} +1 -1
  200. package/dist/{esm/sdk/registrationSignerPlan-DK2b3N_p.js → public/sdk/registrationSignerPlan-CeMidFme.js} +1 -1
  201. package/dist/public/sdk/{requireStepUpAuth-COqCGb1i.js → requireStepUpAuth-ByMTPBu4.js} +1 -1
  202. package/dist/public/sdk/resealedEnvelopeResult-DKY5fVNY.js +1 -0
  203. package/dist/public/sdk/routerAbNormalSigning-CPLDkttX.js +1 -0
  204. package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  205. package/dist/public/sdk/runtime-auth-BMT_gIKI.js +1 -0
  206. package/dist/public/sdk/runtime-device-link-DQe0aqRi.js +1 -0
  207. package/dist/public/sdk/runtime-ecdsa-tempo-DKkeMMpm.js +1 -0
  208. package/dist/public/sdk/runtime-email-otp-CzTe7r9I.js +1 -0
  209. package/dist/public/sdk/runtime-export-BiyLbdCe.js +1 -0
  210. package/dist/public/sdk/runtime-near-Kk0n1FSf.js +1 -0
  211. package/dist/public/sdk/runtime-preferences-B-A3hddU.js +1 -0
  212. package/dist/public/sdk/runtime-recovery-C9p1TU1w.js +1 -0
  213. package/dist/public/sdk/{runtime-recovery-codes-si1fGktB.js → runtime-recovery-codes-CFOWDVd9.js} +1 -1
  214. package/dist/public/sdk/runtimeContext-ChuvOC0h.js +7 -0
  215. package/dist/public/sdk/{secp256k1-CE7-q9Sn.js → secp256k1-sDDAa4Ga.js} +1 -1
  216. package/dist/public/sdk/signEvmFamily-CMrXkVsZ.js +1 -0
  217. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js → signEvmFamilyWithUiConfirmForTempo-CnRoo0e8.js} +1 -1
  218. package/dist/public/sdk/{signEvmWithUiConfirm-CGrLtMV6.js → signEvmWithUiConfirm-yITc3ZvP.js} +1 -1
  219. package/dist/public/sdk/signNear-DyFk--I3.js +1 -0
  220. package/dist/public/sdk/{signatureUses-kSrUHSSH.js → signatureUses-BLOoPRsb.js} +1 -1
  221. package/dist/{esm/sdk/signingFlow-BcetvUeS.js → public/sdk/signingFlow-DTP4D19E.js} +2 -2
  222. package/dist/{esm/sdk/signingQueue-dMFOFOP5.js → public/sdk/signingQueue-Dy5mYMus.js} +1 -1
  223. package/dist/public/sdk/{thresholdEcdsa-CqR1fFA-.js → thresholdEcdsa-CRfx6RP1.js} +1 -1
  224. package/dist/public/sdk/{trace--mRP2OQc.js → trace-BA8jya7O.js} +1 -1
  225. package/dist/public/sdk/{transaction-activity-DCzHGg3b.js → transaction-activity-BXSxMp1E.js} +1 -1
  226. package/dist/public/sdk/{transactionState-29T9xfvL.js → transactionState-BCbaT2hO.js} +1 -1
  227. package/dist/public/sdk/tx-confirm-ui.js +3 -1
  228. package/dist/public/sdk/{types-f7dyj5N6.js → types-D2Zk1W7I.js} +1 -1
  229. package/dist/public/sdk/{unlockedEd25519ExportRootCapability-yzxQjIFd.js → unlockedEd25519ExportRootCapability-BbGMlikr.js} +1 -1
  230. package/dist/public/sdk/voiceid-host.js +1 -1
  231. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  232. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  233. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  234. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  235. package/dist/{esm/sdk/wallet-recovery-BZB2Vu3X.js → public/sdk/wallet-recovery-Bfm-oUoP.js} +1 -1
  236. package/dist/public/sdk/wallet-ui.css +1 -1
  237. package/dist/public/sdk/{walletAuthMethodRecord-DLBB5fez.js → walletAuthMethodRecord--fvGr8r1.js} +1 -1
  238. package/dist/{esm/sdk/walletAuthority-BTGAuOi8.js → public/sdk/walletAuthority-CU9nO0Ze.js} +1 -1
  239. package/dist/public/sdk/{walletCapabilityBindings-D5YYB7nN.js → walletCapabilityBindings-mPx-6_r-.js} +1 -1
  240. package/dist/{esm/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js → public/sdk/walletCustodyEcdsaContinuity-BUdDyRl_.js} +1 -1
  241. package/dist/public/sdk/{walletDbName-Ca0rCq5r.js → walletDbName-B6-CV_Rq.js} +1 -1
  242. package/dist/public/sdk/{walletCustodyOperation-DimzAbCB.js → walletOwnerOperation-BJPxzo-k.js} +1 -1
  243. package/dist/{esm/sdk/walletOwnershipGeneration-CgjCtPrV.js → public/sdk/walletOwnershipGeneration-B3uE9GRG.js} +1 -1
  244. package/dist/public/sdk/walletRecoveryAdminProof-BmZaP0Q8.js +1 -0
  245. package/dist/public/sdk/walletRecoveryCommit-CSYNbYNd.js +1 -0
  246. package/dist/{esm/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js → public/sdk/walletSessionAuthorizationStatus-CQ3qA9tI.js} +1 -1
  247. package/dist/public/sdk/{walletSessionAuthorizationStore-B9Vwkshr.js → walletSessionAuthorizationStore-CGt-s5fX.js} +1 -1
  248. package/dist/public/sdk/{webauthnP256-BsQQPurm.js → webauthnP256-BGHikiNl.js} +1 -1
  249. package/dist/public/sdk/workers/email_otp_runtime_bg.wasm +0 -0
  250. package/dist/public/sdk/workers/evm_crypto_bg.wasm +0 -0
  251. package/dist/public/sdk/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  252. package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  253. package/dist/public/sdk/workers/shamir3pass_runtime_bg.wasm +0 -0
  254. package/dist/public/sdk/workers/tempo_signer_bg.wasm +0 -0
  255. package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
  256. package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
  257. package/dist/public/wallet-assets.manifest.json +264 -264
  258. package/dist/public/wallet-service/index.html +4 -4
  259. package/dist/types/shared-ts/src/auth/externalAuth.d.ts +51 -8
  260. package/dist/types/shared-ts/src/authorization/index.d.ts +1 -1
  261. package/dist/types/shared-ts/src/authorization/walletOwnerOperation.d.ts +10 -0
  262. package/dist/types/shared-ts/src/utils/registrationEstablishedSession.d.ts +4 -0
  263. package/dist/types/shared-ts/src/utils/registrationIntent.d.ts +2 -0
  264. package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +1 -1
  265. package/dist/types/wallet/src/SeamsWeb/index.d.ts +1 -0
  266. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +1 -0
  267. package/dist/types/wallet/src/SeamsWeb/operations/registration/registration.d.ts +1 -0
  268. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationPasskeyMaterial.d.ts +24 -0
  269. package/dist/types/wallet/src/SeamsWeb/publicApi/auth.d.ts +1 -1
  270. package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +1 -0
  271. package/dist/types/wallet/src/SeamsWeb/publicApi/nearCommands.d.ts +2 -0
  272. package/dist/types/wallet/src/SeamsWeb/publicApi/ownerNearOperation.d.ts +58 -0
  273. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +17 -6
  274. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +57 -56
  275. package/dist/types/wallet/src/SeamsWeb/signingSurface/nearOwnerOperation.d.ts +16 -0
  276. package/dist/types/wallet/src/SeamsWeb/signingSurface/nearPasskeyOperationMaterial.d.ts +72 -0
  277. package/dist/types/wallet/src/SeamsWeb/signingSurface/types.d.ts +3 -0
  278. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/inboundMessages.d.ts +5 -0
  279. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/ownerNearOperation.d.ts +25 -0
  280. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +7 -1
  281. package/dist/types/wallet/src/SeamsWeb/walletIframe/coordinator.d.ts +6 -0
  282. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +5 -1
  283. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/controller.d.ts +2 -0
  284. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +3 -0
  285. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/session.d.ts +4 -0
  286. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createNearCommands.d.ts +2 -1
  287. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createSessionCommands.d.ts +6 -2
  288. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/externalAuth.d.ts +10 -8
  289. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/externalOwnerApproval.d.ts +24 -0
  290. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ownerNearOperation.d.ts +12 -0
  291. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +2 -2
  292. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +5 -0
  293. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/WalletAlternativesSection.d.ts +13 -0
  294. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.d.ts +3 -0
  295. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionState.d.ts +8 -0
  296. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +26 -9
  297. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/ownerNearOperation.d.ts +51 -0
  298. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/walletAlternatives.d.ts +52 -0
  299. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/registrationSetup.d.ts +1 -0
  300. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +4 -0
  301. package/dist/types/wallet/src/core/rpcClients/near/NearClient.d.ts +4 -0
  302. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryRotate.d.ts +2 -2
  303. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +1 -0
  304. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.d.ts +21 -0
  305. package/dist/types/wallet/src/core/types/seams.d.ts +9 -2
  306. package/dist/types/wallet/src/core/ui/messages.d.ts +1 -1
  307. package/dist/types/wallet/src/core/ui/walletIcon.d.ts +3 -0
  308. package/dist/types/wallet/src/index.d.ts +3 -0
  309. package/dist/types/wallet/src/react/boundWallet.d.ts +21 -1
  310. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/public.d.ts +1 -0
  311. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +4 -0
  312. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/walletAlternatives.d.ts +48 -0
  313. package/dist/types/wallet/src/react/hooks/useOwnerNearOperation.d.ts +4 -0
  314. package/dist/types/wallet/src/react/index.d.ts +4 -2
  315. package/dist/workers/email_otp_runtime_bg.wasm +0 -0
  316. package/dist/workers/evm_crypto_bg.wasm +0 -0
  317. package/dist/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  318. package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  319. package/dist/workers/shamir3pass_runtime_bg.wasm +0 -0
  320. package/dist/workers/tempo_signer_bg.wasm +0 -0
  321. package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
  322. package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
  323. package/package.json +1 -1
  324. package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.css +0 -182
  325. package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.js +0 -315
  326. package/dist/esm/sdk/NonceCoordinator-3YhmDTS5.js +0 -1
  327. package/dist/esm/sdk/accountLifecycle-6DHYWf0v.js +0 -1
  328. package/dist/esm/sdk/appearance-token-vars-01eH9pgA.js +0 -1
  329. package/dist/esm/sdk/clientSessionPersistenceState-BCkJAYSz.js +0 -1
  330. package/dist/esm/sdk/confirm-ui-em0vkd2m.js +0 -2
  331. package/dist/esm/sdk/ecdsaDerivationExport-DJKOzDbS.js +0 -1
  332. package/dist/esm/sdk/exportKeypairOperation-CjST_NUK.js +0 -1
  333. package/dist/esm/sdk/host-C51z-AxP.js +0 -1
  334. package/dist/esm/sdk/indexedDB-C4SDsyOG.js +0 -1
  335. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +0 -1
  336. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +0 -1
  337. package/dist/esm/sdk/registration-Byl4l4yZ.js +0 -1
  338. package/dist/esm/sdk/resealedEnvelopeResult-CLW00Vbw.js +0 -1
  339. package/dist/esm/sdk/routerAbNormalSigning-D-UZmCBS.js +0 -1
  340. package/dist/esm/sdk/runtime-auth-ufbVur2p.js +0 -1
  341. package/dist/esm/sdk/runtime-device-link-CagI2Q62.js +0 -1
  342. package/dist/esm/sdk/runtime-ecdsa-tempo-Rctxr0yM.js +0 -1
  343. package/dist/esm/sdk/runtime-email-otp-BQtcG-LF.js +0 -1
  344. package/dist/esm/sdk/runtime-export-wTeEaqlk.js +0 -1
  345. package/dist/esm/sdk/runtime-near-59yU_3ud.js +0 -1
  346. package/dist/esm/sdk/runtime-preferences-B9qLHX8W.js +0 -1
  347. package/dist/esm/sdk/runtime-recovery-DNyzdMBj.js +0 -1
  348. package/dist/esm/sdk/runtimeContext-ByeM6Z4Z.js +0 -6
  349. package/dist/esm/sdk/sessionObservationRevision-ihBwjS3y.js +0 -1
  350. package/dist/esm/sdk/signEvmFamily-BY5jlZEG.js +0 -1
  351. package/dist/esm/sdk/signNear-DMpJFkwF.js +0 -1
  352. package/dist/esm/sdk/signer-worker-BNodGJKY.js +0 -1
  353. package/dist/esm/sdk/walletRecoveryAdminProof-B4Ic07jY.js +0 -1
  354. package/dist/esm/sdk/walletRecoveryCommit-Cc2LAkCS.js +0 -1
  355. package/dist/public/sdk/NonceCoordinator-3YhmDTS5.js +0 -1
  356. package/dist/public/sdk/accountLifecycle-6DHYWf0v.js +0 -1
  357. package/dist/public/sdk/appearance-token-vars-01eH9pgA.js +0 -1
  358. package/dist/public/sdk/clientSessionPersistenceState-BCkJAYSz.js +0 -1
  359. package/dist/public/sdk/confirm-ui-em0vkd2m.js +0 -2
  360. package/dist/public/sdk/ecdsaDerivationExport-DJKOzDbS.js +0 -1
  361. package/dist/public/sdk/exportKeypairOperation-CjST_NUK.js +0 -1
  362. package/dist/public/sdk/host-C51z-AxP.js +0 -1
  363. package/dist/public/sdk/indexedDB-C4SDsyOG.js +0 -1
  364. package/dist/public/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +0 -1
  365. package/dist/public/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +0 -1
  366. package/dist/public/sdk/registration-Byl4l4yZ.js +0 -1
  367. package/dist/public/sdk/resealedEnvelopeResult-CLW00Vbw.js +0 -1
  368. package/dist/public/sdk/routerAbNormalSigning-D-UZmCBS.js +0 -1
  369. package/dist/public/sdk/runtime-auth-ufbVur2p.js +0 -1
  370. package/dist/public/sdk/runtime-device-link-CagI2Q62.js +0 -1
  371. package/dist/public/sdk/runtime-ecdsa-tempo-Rctxr0yM.js +0 -1
  372. package/dist/public/sdk/runtime-email-otp-BQtcG-LF.js +0 -1
  373. package/dist/public/sdk/runtime-export-wTeEaqlk.js +0 -1
  374. package/dist/public/sdk/runtime-near-59yU_3ud.js +0 -1
  375. package/dist/public/sdk/runtime-preferences-B9qLHX8W.js +0 -1
  376. package/dist/public/sdk/runtime-recovery-DNyzdMBj.js +0 -1
  377. package/dist/public/sdk/runtimeContext-ByeM6Z4Z.js +0 -6
  378. package/dist/public/sdk/sessionObservationRevision-ihBwjS3y.js +0 -1
  379. package/dist/public/sdk/signEvmFamily-BY5jlZEG.js +0 -1
  380. package/dist/public/sdk/signNear-DMpJFkwF.js +0 -1
  381. package/dist/public/sdk/signer-worker-BNodGJKY.js +0 -1
  382. package/dist/public/sdk/walletRecoveryAdminProof-B4Ic07jY.js +0 -1
  383. package/dist/public/sdk/walletRecoveryCommit-Cc2LAkCS.js +0 -1
  384. package/dist/types/shared-ts/src/authorization/walletCustodyOperation.d.ts +0 -10
  385. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.d.ts +0 -31
  386. /package/dist/esm/sdk/{accountIds-CW2BP-d9.js → accountIds-DGWFzEnw.js} +0 -0
  387. /package/dist/esm/sdk/{actions-DrtSTGus.js → actions-7SvZZut1.js} +0 -0
  388. /package/dist/esm/sdk/{authenticatorOptions-WCDKYRux.js → authenticatorOptions-B4q62CLs.js} +0 -0
  389. /package/dist/esm/sdk/{canonicalPrimitives-Jd3i_Ngz.js → canonicalPrimitives-DKeS3M40.js} +0 -0
  390. /package/dist/esm/sdk/{capabilityKinds-DVlGMspk.js → capabilityKinds-Cafn86Y1.js} +0 -0
  391. /package/dist/esm/sdk/{confirmTypes-BvVtQs-M.js → confirmTypes-DmEPoxys.js} +0 -0
  392. /package/dist/esm/sdk/{csp-stylesheet-DUSqfXvZ.js → csp-stylesheet-5LU6VGKK.js} +0 -0
  393. /package/dist/esm/sdk/{ecdsaChainTarget-Bm5X4k-V.js → ecdsaChainTarget-BoRVQtjQ.js} +0 -0
  394. /package/dist/esm/sdk/{executeWorkerOperation-C9FOCCR7.js → executeWorkerOperation-CAYSt0NA.js} +0 -0
  395. /package/dist/esm/sdk/{helpers-Dubwo5uK.js → helpers-B7c1zc7h.js} +0 -0
  396. /package/dist/esm/sdk/{jsonRpc-BVDv1wfm.js → jsonRpc-DGzeiNSa.js} +0 -0
  397. /package/dist/esm/sdk/{keccak-mS0Mejjx.js → keccak-DGHI1G6t.js} +0 -0
  398. /package/dist/esm/sdk/{keyMaterialEnvelope-Dm2ZEilb.js → keyMaterialEnvelope-Czkks9Ki.js} +0 -0
  399. /package/dist/esm/sdk/{profileAccountProjection-C5sNt-s2.js → profileAccountProjection-dvLchPBo.js} +0 -0
  400. /package/dist/esm/sdk/{registrationAuthMethodInput-BR1WVbK3.js → registrationAuthMethodInput-C4o7yFBJ.js} +0 -0
  401. /package/dist/esm/sdk/{sdkSentEvents-DjOlKtdW.js → sdkSentEvents-BFwv3mBw.js} +0 -0
  402. /package/dist/esm/sdk/{signerDomain-BAsLT3XN.js → signerDomain-D-EUTlLK.js} +0 -0
  403. /package/dist/esm/sdk/{signerSlot-D2RZnb27.js → signerSlot-BlijMq8C.js} +0 -0
  404. /package/dist/esm/sdk/{surface-measurement-reporter-DXsvq401.js → surface-measurement-reporter-DJ_dQhBV.js} +0 -0
  405. /package/dist/esm/sdk/{walletIframeIdentity-CpgyEnKg.js → walletIframeIdentity-Cz82I_Uh.js} +0 -0
  406. /package/dist/public/sdk/{accountIds-CW2BP-d9.js → accountIds-DGWFzEnw.js} +0 -0
  407. /package/dist/public/sdk/{actions-DrtSTGus.js → actions-7SvZZut1.js} +0 -0
  408. /package/dist/public/sdk/{authenticatorOptions-WCDKYRux.js → authenticatorOptions-B4q62CLs.js} +0 -0
  409. /package/dist/public/sdk/{canonicalPrimitives-Jd3i_Ngz.js → canonicalPrimitives-DKeS3M40.js} +0 -0
  410. /package/dist/public/sdk/{capabilityKinds-DVlGMspk.js → capabilityKinds-Cafn86Y1.js} +0 -0
  411. /package/dist/public/sdk/{confirmTypes-BvVtQs-M.js → confirmTypes-DmEPoxys.js} +0 -0
  412. /package/dist/public/sdk/{csp-stylesheet-DUSqfXvZ.js → csp-stylesheet-5LU6VGKK.js} +0 -0
  413. /package/dist/public/sdk/{ecdsaChainTarget-Bm5X4k-V.js → ecdsaChainTarget-BoRVQtjQ.js} +0 -0
  414. /package/dist/public/sdk/{executeWorkerOperation-C9FOCCR7.js → executeWorkerOperation-CAYSt0NA.js} +0 -0
  415. /package/dist/public/sdk/{helpers-Dubwo5uK.js → helpers-B7c1zc7h.js} +0 -0
  416. /package/dist/public/sdk/{jsonRpc-BVDv1wfm.js → jsonRpc-DGzeiNSa.js} +0 -0
  417. /package/dist/public/sdk/{keccak-mS0Mejjx.js → keccak-DGHI1G6t.js} +0 -0
  418. /package/dist/public/sdk/{keyMaterialEnvelope-Dm2ZEilb.js → keyMaterialEnvelope-Czkks9Ki.js} +0 -0
  419. /package/dist/public/sdk/{profileAccountProjection-C5sNt-s2.js → profileAccountProjection-dvLchPBo.js} +0 -0
  420. /package/dist/public/sdk/{registrationAuthMethodInput-BR1WVbK3.js → registrationAuthMethodInput-C4o7yFBJ.js} +0 -0
  421. /package/dist/public/sdk/{sdkSentEvents-DjOlKtdW.js → sdkSentEvents-BFwv3mBw.js} +0 -0
  422. /package/dist/public/sdk/{signerDomain-BAsLT3XN.js → signerDomain-D-EUTlLK.js} +0 -0
  423. /package/dist/public/sdk/{signerSlot-D2RZnb27.js → signerSlot-BlijMq8C.js} +0 -0
  424. /package/dist/public/sdk/{surface-measurement-reporter-DXsvq401.js → surface-measurement-reporter-DJ_dQhBV.js} +0 -0
  425. /package/dist/public/sdk/{walletIframeIdentity-CpgyEnKg.js → walletIframeIdentity-Cz82I_Uh.js} +0 -0
package/README.md CHANGED
@@ -1,19 +1,19 @@
1
1
  # Seams Wallet SDK
2
2
 
3
- `@seams/wallet` **0.17.0** provides browser wallet lifecycle, NEAR and EVM-family
3
+ `@seams/wallet` **0.30.0** provides browser wallet lifecycle, NEAR and EVM-family
4
4
  threshold signing, React components, and hosted wallet runtime assets.
5
5
 
6
6
  ## Install
7
7
 
8
8
  ```sh
9
- pnpm add @seams/wallet@0.17.0
9
+ pnpm add @seams/wallet@0.30.0
10
10
  ```
11
11
 
12
12
  React integrations support React 18 and 19. Import the provider and UI from
13
13
  `@seams/wallet/react` and its stylesheet from `@seams/wallet/react/styles`.
14
14
  Keep the application package, wallet-origin assets, and
15
- `@seams/wallet-server@0.17.0` on the matching release. The wallet iframe protocol
16
- is `16.0.0`. The application and wallet host must use the same protocol version.
15
+ `@seams/wallet-server@0.30.0` on the matching release. The wallet iframe protocol
16
+ is `20.0.0`. The application and wallet host must use the same protocol version.
17
17
 
18
18
  ## Current API
19
19
 
@@ -46,6 +46,31 @@ The SDK selects signers and completes pending activation internally.
46
46
  Request email codes only after a user chooses that method. The wallet host owns
47
47
  the challenge and its expiry. The application receives the typed challenge handle.
48
48
 
49
+ ## Application sessions and fresh owner approval
50
+
51
+ SDK 0.30.0 accepts a handoff from an explicitly trusted application backend.
52
+ Google and app-passkey login can use the same stable application user ID.
53
+ Use `registration.registerOwnerWallet` for NEAR-only passkey onboarding and `near.prepareOwnerTransaction` for fresh approval of each transaction.
54
+ These operations create no reusable signing authority.
55
+ React read connections expose owner-operation handles separately from reusable signers.
56
+ See the [application-session guide](https://wallet.seams.sh/docs/guides/application-auth).
57
+
58
+ ## Bring your own Google authentication
59
+
60
+ SDK 0.30.0 can reuse an application's Google ID token to open associated wallet settings.
61
+ Configure the environment's Google client ID and let the owner associate their wallet once.
62
+ Then pass the token after the application's existing Google login:
63
+
64
+ ```ts
65
+ const result = await seams.auth.authenticate({ method: 'google', walletId, idToken });
66
+ if (!result.ok) throw new Error(result.code);
67
+ ```
68
+
69
+ Apps that retain the token on their backend use `prepareExternalAuth` and a browser-bound handoff.
70
+ Call `seams.auth.lock()` when the app logs out or switches accounts.
71
+ These sessions grant settings reads. Signing, export, recovery, and security changes retain their owner authentication requirements.
72
+ See the [Google SSO guide](https://wallet.seams.sh/docs/guides/google-sso) for both exchange paths, association, expiry, and revocation.
73
+
49
74
  ## React quick start
50
75
 
51
76
  The three required values are the wallet origin, Gateway/relayer URL, and
@@ -1 +1 @@
1
- ea177740b9a568b4deea722dc18528d4cbfd4098970381660360b3bd1003291b
1
+ fc980903c573c287e8206786d90025fc12bbd72eab183d74520e08097b5b3360
@@ -71,6 +71,8 @@ var SeamsWeb = class {
71
71
  prepare: this.walletIframe.prepareHostedAuthMenu.bind(this.walletIframe),
72
72
  open: this.walletIframe.openHostedAuthMenu.bind(this.walletIframe),
73
73
  cancel: this.walletIframe.cancelHostedAuthMenu.bind(this.walletIframe),
74
+ onWalletConnectionRequest: this.walletIframe.onWalletConnectionRequest.bind(this.walletIframe),
75
+ resolveWalletConnection: this.walletIframe.resolveWalletConnection.bind(this.walletIframe),
74
76
  onExternalAuthRequest: this.walletIframe.onHostedAuthMenuExternalAuthRequest.bind(this.walletIframe),
75
77
  resolveExternalAuth: this.walletIframe.resolveHostedAuthMenuExternalAuth.bind(this.walletIframe)
76
78
  };
@@ -42,6 +42,7 @@ function createPublicApi(deps) {
42
42
  setAuthMethodEnabled: deps.registration.setAuthMethodEnabled,
43
43
  addEmail: deps.registration.addEmail,
44
44
  removeAuthMethod: deps.registration.removeAuthMethod,
45
+ registerOwnerWallet: registerOwnerWallet.bind(null, deps.registration),
45
46
  registerWallet: registerWallet.bind(null, deps.registration, deps.configs)
46
47
  },
47
48
  recovery: deps.recovery,
@@ -66,6 +67,7 @@ async function registerWallet(commands, configs, args) {
66
67
  options: args.options ?? {}
67
68
  }) : args.signerSelection;
68
69
  command = {
70
+ completion: "wallet_session",
69
71
  authMethod: args.authMethod,
70
72
  wallet,
71
73
  signerSelection,
@@ -120,6 +122,15 @@ function createReviewedCapabilities(deps, reservation) {
120
122
  evm: evmFamily.evm
121
123
  };
122
124
  }
125
+ async function registerOwnerWallet(commands, args) {
126
+ return await commands.registerWallet({
127
+ completion: "owner_operations",
128
+ authMethod: args.authMethod,
129
+ wallet: args.wallet ?? { kind: "server_allocated" },
130
+ signerSelection: args.signerSelection,
131
+ options: args.options
132
+ });
133
+ }
123
134
  //#endregion
124
135
  export { createApplicationPublicApi };
125
136
 
@@ -2,12 +2,15 @@ import { CAPABILITY_KINDS, NEAR_ED25519_MPC_OPERATION_KINDS } from "../../shared
2
2
  import { toError } from "../../shared-ts/src/utils/errors.js";
3
3
  import { nearTransactionFailure } from "../../core/signingEngine/nearTransactionSubmission.js";
4
4
  import { requireBrowserCapabilityOperation } from "./capabilitySelection.js";
5
+ import { prepareOwnerNearTransaction, resumeOwnerNearTransaction } from "./ownerNearOperation.js";
5
6
  import { accountExists } from "../../core/rpcClients/near/accountExists.js";
6
7
  import { delegateRelayerAuthFromConfigs, sendDelegateAction } from "../operations/near/delegateAction.js";
7
8
  //#region src/SeamsWeb/publicApi/near.ts
8
9
  function createNearSignerCapability(deps) {
9
10
  const signer = new NearSigner(deps);
10
11
  return {
12
+ prepareOwnerTransaction: prepareOwnerNearTransaction.bind(null, deps.commands.ownerOperation),
13
+ resumeOwnerTransaction: resumeOwnerNearTransaction.bind(null, deps.commands.ownerOperation),
11
14
  accountExists: accountExists.bind(null, deps.nearClient),
12
15
  signAndSendTransaction: signer.signAndSendTransaction.bind(signer),
13
16
  signTransaction: signer.signTransaction.bind(signer),
@@ -0,0 +1,175 @@
1
+ import { secureRandomBase64Url } from "../../shared-ts/src/utils/secureRandomId.js";
2
+ import { SigningSessionIds } from "../../core/signingEngine/session/operationState/types.js";
3
+ import { toAccountId } from "../../core/types/accountIds.js";
4
+ import { toActionArgsWasm } from "../../shared-ts/src/near/actions.js";
5
+ import { parseOwnerNearCommand, parseOwnerNearRecovery } from "../walletIframe/shared/ownerNearOperation.js";
6
+ //#region src/SeamsWeb/publicApi/ownerNearOperation.ts
7
+ function prepareOwnerNearTransaction(execute, input) {
8
+ const recovery = {
9
+ operationId: SigningSessionIds.signingOperation(`owner-near:${secureRandomBase64Url(32, "owner NEAR operation IDs")}`),
10
+ walletId: input.authentication.walletId,
11
+ nearAccountId: toAccountId(input.nearAccountId)
12
+ };
13
+ const command = parseOwnerNearCommand({
14
+ action: "approve",
15
+ authentication: input.authentication,
16
+ recovery,
17
+ expiresAtMs: Math.min(input.authentication.expiresAtMs, Date.now() + 12e4),
18
+ transaction: {
19
+ receiverId: input.transaction.receiverId,
20
+ actions: input.transaction.actions.map(toActionArgsWasm)
21
+ }
22
+ });
23
+ if (command.action !== "approve") throw new Error("Invalid prepared owner operation.");
24
+ return new OwnerNearTransaction(execute, command, {
25
+ kind: "prepared",
26
+ recovery,
27
+ expiresAtMs: command.expiresAtMs
28
+ });
29
+ }
30
+ function resumeOwnerNearTransaction(execute, input) {
31
+ const recovery = parseOwnerNearRecovery(input.recovery);
32
+ return new OwnerNearTransaction(execute, parseOwnerNearCommand({
33
+ action: "recover",
34
+ authentication: input.authentication,
35
+ recovery
36
+ }), {
37
+ kind: "unknown",
38
+ recovery
39
+ });
40
+ }
41
+ var OwnerNearTransaction = class {
42
+ controller = new AbortController();
43
+ listeners = /* @__PURE__ */ new Set();
44
+ inFlight = null;
45
+ constructor(execute, command, state) {
46
+ this.execute = execute;
47
+ this.command = command;
48
+ this.state = state;
49
+ }
50
+ getState() {
51
+ return this.state;
52
+ }
53
+ subscribe(listener) {
54
+ this.listeners.add(listener);
55
+ return this.removeListener.bind(this, listener);
56
+ }
57
+ removeListener(listener) {
58
+ this.listeners.delete(listener);
59
+ }
60
+ transition(state) {
61
+ this.state = state;
62
+ for (const listener of this.listeners) try {
63
+ listener();
64
+ } catch {}
65
+ }
66
+ approve() {
67
+ if (this.inFlight) return this.inFlight;
68
+ if (this.command.action !== "approve" || this.state.kind !== "prepared") throw new Error("This operation cannot request another approval.");
69
+ if (this.command.expiresAtMs <= Date.now()) {
70
+ this.transition({
71
+ kind: "expired",
72
+ recovery: this.command.recovery
73
+ });
74
+ return Promise.resolve({ kind: "expired" });
75
+ }
76
+ this.transition({
77
+ kind: "approval",
78
+ recovery: this.command.recovery,
79
+ expiresAtMs: this.command.expiresAtMs
80
+ });
81
+ this.inFlight = this.run(this.command);
82
+ return this.inFlight;
83
+ }
84
+ cancel() {
85
+ if (this.state.kind === "prepared") {
86
+ this.controller.abort();
87
+ this.transition({
88
+ kind: "cancelled",
89
+ recovery: this.command.recovery
90
+ });
91
+ } else if (this.state.kind === "approval") this.controller.abort();
92
+ }
93
+ recover() {
94
+ if (this.inFlight) return this.inFlight;
95
+ if (this.state.kind !== "unknown") throw new Error("Only an unknown outcome requires recovery.");
96
+ this.inFlight = this.run({
97
+ action: "recover",
98
+ authentication: this.command.authentication,
99
+ recovery: this.state.recovery
100
+ });
101
+ return this.inFlight;
102
+ }
103
+ submitted() {
104
+ this.transition({
105
+ kind: "submitting",
106
+ recovery: this.command.recovery
107
+ });
108
+ }
109
+ async run(command) {
110
+ let outcome;
111
+ try {
112
+ outcome = await this.execute(command, {
113
+ signal: command.action === "recover" ? new AbortController().signal : this.controller.signal,
114
+ onSubmission: this.submitted.bind(this)
115
+ });
116
+ } catch {
117
+ outcome = {
118
+ kind: "unknown",
119
+ recovery: command.recovery
120
+ };
121
+ }
122
+ this.settle(outcome, command.recovery);
123
+ this.inFlight = null;
124
+ return outcome;
125
+ }
126
+ settle(outcome, recovery) {
127
+ switch (outcome.kind) {
128
+ case "completed":
129
+ this.transition({
130
+ kind: "completed",
131
+ recovery,
132
+ result: outcome.result
133
+ });
134
+ return;
135
+ case "reverted":
136
+ this.transition({
137
+ kind: "reverted",
138
+ recovery,
139
+ transactionId: outcome.transactionId,
140
+ error: outcome.error
141
+ });
142
+ return;
143
+ case "cancelled":
144
+ this.transition({
145
+ kind: "cancelled",
146
+ recovery
147
+ });
148
+ return;
149
+ case "expired":
150
+ this.transition({
151
+ kind: "expired",
152
+ recovery
153
+ });
154
+ return;
155
+ case "unknown":
156
+ this.transition({
157
+ kind: "unknown",
158
+ recovery: outcome.recovery
159
+ });
160
+ return;
161
+ case "failed":
162
+ this.transition({
163
+ kind: "failed",
164
+ recovery,
165
+ error: outcome.error
166
+ });
167
+ return;
168
+ default: throw new Error("Unsupported owner operation outcome.");
169
+ }
170
+ }
171
+ };
172
+ //#endregion
173
+ export { prepareOwnerNearTransaction, resumeOwnerNearTransaction };
174
+
175
+ //# sourceMappingURL=ownerNearOperation.js.map
@@ -1,5 +1,6 @@
1
1
  import { isObject } from "../../../shared-ts/src/utils/validation.js";
2
2
  import { isWalletFlowEvent, parseSdkLifecycleEvent } from "../../../core/types/sdkSentEvents.js";
3
+ import { parseWalletConnectionRequest } from "../shared/walletAlternatives.js";
3
4
  import { isDeviceLinkEmailOtpBaseFactorSelectionProgressV1, isDeviceLinkTargetFactorActivationProgressV1, isRegistrationTimingSpanV1, parseHostedAuthMenuErrorEvent, parseHostedAuthMenuExternalAuthRequest, parseWalletIframeSurfaceMeasurement } from "../shared/messages.js";
4
5
  import { parseWalletIframeExactSessionSnapshot, parseWalletIframeSessionRevision } from "../shared/exactSessionState.js";
5
6
  import { parseTransactionReviewState } from "../shared/transactionReview.js";
@@ -134,6 +135,14 @@ function parseClientChildToParentEnvelope(value) {
134
135
  payload
135
136
  } : null;
136
137
  }
138
+ case "WALLET_CONNECTION_REQUEST": {
139
+ const payload = parseWalletConnectionRequest(Reflect.get(record, "payload"));
140
+ return payload ? {
141
+ ...requestIdFields,
142
+ type,
143
+ payload
144
+ } : null;
145
+ }
137
146
  case "AUTH_MENU_EXTERNAL_AUTH_REQUEST": {
138
147
  const payload = parseHostedAuthMenuExternalAuthRequest(Reflect.get(record, "payload"));
139
148
  return payload ? {
@@ -4,6 +4,7 @@ import { nearTransactionFailure, notifyNearTransactionResult } from "../../../co
4
4
  function createApplicationNearCommands(walletIframe, beforeSigning, transactionDispatch) {
5
5
  const commands = new ApplicationNearCommands(walletIframe, beforeSigning, transactionDispatch);
6
6
  return {
7
+ ownerOperation: commands.ownerOperation.bind(commands),
7
8
  signAndSendTransaction: commands.signAndSendTransaction.bind(commands),
8
9
  signTransaction: commands.signTransaction.bind(commands),
9
10
  sendTransaction: commands.sendTransaction.bind(commands),
@@ -17,6 +18,9 @@ var ApplicationNearCommands = class {
17
18
  this.beforeSigning = beforeSigning;
18
19
  this.transactionDispatch = transactionDispatch;
19
20
  }
21
+ async ownerOperation(...args) {
22
+ return await (await this.walletIframe.requireRouter()).ownerNearOperation(...args);
23
+ }
20
24
  async signAndSendTransaction(args) {
21
25
  const walletIframe = this.walletIframe;
22
26
  const nearAccountId = args.nearAccount.accountId;
@@ -0,0 +1,67 @@
1
+ import { parseOwnerNearOutcome, parseOwnerNearSubmissionProgress } from "../shared/ownerNearOperation.js";
2
+ //#region src/SeamsWeb/walletIframe/client/ownerNearOperation.ts
3
+ async function executeOwnerNearRequest(ports, ...args) {
4
+ const [command, execution] = args;
5
+ return await new OwnerNearRequest(ports, command, execution).run();
6
+ }
7
+ var OwnerNearRequest = class {
8
+ requestId;
9
+ state = "preparing";
10
+ constructor(ports, command, execution) {
11
+ this.ports = ports;
12
+ this.command = command;
13
+ this.execution = execution;
14
+ this.requestId = ports.allocateRequestId();
15
+ }
16
+ current() {
17
+ return !this.execution.signal.aborted;
18
+ }
19
+ dispatched() {
20
+ this.state = "dispatched";
21
+ }
22
+ progress(payload) {
23
+ if (parseOwnerNearSubmissionProgress(payload)?.operationId === this.command.recovery.operationId) {
24
+ this.state = "submitting";
25
+ this.execution.onSubmission();
26
+ }
27
+ }
28
+ cancel() {
29
+ this.ports.cancelRequest(this.requestId).catch(ignoreCancellationFailure);
30
+ }
31
+ async run() {
32
+ if (!this.current()) return { kind: "cancelled" };
33
+ const cancel = this.cancel.bind(this);
34
+ this.execution.signal.addEventListener("abort", cancel, { once: true });
35
+ try {
36
+ return parseOwnerNearOutcome((await this.ports.post({
37
+ type: "PM_OWNER_NEAR_TRANSACTION",
38
+ payload: this.command,
39
+ options: { onProgress: this.progress.bind(this) }
40
+ }, {
41
+ requestId: this.requestId,
42
+ timeout: "interactive",
43
+ shouldContinue: this.current.bind(this),
44
+ onDispatched: this.dispatched.bind(this)
45
+ })).result);
46
+ } catch (error) {
47
+ if (this.state !== "submitting" && isOwnerRequestCancellation(error)) return { kind: "cancelled" };
48
+ if (this.state === "preparing" && !this.current()) return { kind: "cancelled" };
49
+ return {
50
+ kind: "unknown",
51
+ recovery: this.command.recovery
52
+ };
53
+ } finally {
54
+ this.execution.signal.removeEventListener("abort", cancel);
55
+ }
56
+ }
57
+ };
58
+ function ignoreCancellationFailure() {}
59
+ function isOwnerRequestCancellation(error) {
60
+ if (!error || typeof error !== "object") return false;
61
+ const code = Reflect.get(error, "code");
62
+ return code === "cancelled" || code === "wallet_operation_step_up_cancelled";
63
+ }
64
+ //#endregion
65
+ export { executeOwnerNearRequest };
66
+
67
+ //# sourceMappingURL=ownerNearOperation.js.map
@@ -86,23 +86,7 @@ var OnEventsProgressBus = class {
86
86
  });
87
87
  return true;
88
88
  }
89
- this.log("dispatch-miss", isWalletFlowEvent(payload) ? {
90
- requestId,
91
- flow: payload.flow,
92
- phase: payload.phase,
93
- status: payload.status
94
- } : isDeviceLinkTargetFactorActivationProgressV1(payload) ? {
95
- requestId,
96
- event: payload.event,
97
- activationKind: payload.activation.kind
98
- } : isDeviceLinkEmailOtpBaseFactorSelectionProgressV1(payload) ? {
99
- requestId,
100
- event: payload.event,
101
- choiceCount: payload.choices.length
102
- } : {
103
- requestId,
104
- span: payload.span
105
- });
89
+ this.log("dispatch-miss", progressDebugFields(requestId, payload));
106
90
  return false;
107
91
  }
108
92
  findSticky(requestId) {
@@ -129,6 +113,32 @@ var OnEventsProgressBus = class {
129
113
  } catch {}
130
114
  }
131
115
  };
116
+ function progressDebugFields(requestId, payload) {
117
+ if (isWalletFlowEvent(payload)) return {
118
+ requestId,
119
+ flow: payload.flow,
120
+ phase: payload.phase,
121
+ status: payload.status
122
+ };
123
+ if (isDeviceLinkTargetFactorActivationProgressV1(payload)) return {
124
+ requestId,
125
+ event: payload.event,
126
+ activationKind: payload.activation.kind
127
+ };
128
+ if (isDeviceLinkEmailOtpBaseFactorSelectionProgressV1(payload)) return {
129
+ requestId,
130
+ event: payload.event,
131
+ choiceCount: payload.choices.length
132
+ };
133
+ if (payload.event === "owner_near_submitting") return {
134
+ requestId,
135
+ event: payload.event
136
+ };
137
+ return {
138
+ requestId,
139
+ span: payload.span
140
+ };
141
+ }
132
142
  //#endregion
133
143
  export { OnEventsProgressBus };
134
144
 
@@ -14,6 +14,7 @@ import { AccountSyncEventPhase, KeyExportEventPhase, LinkDeviceEventPhase, Regis
14
14
  import { requireTempoFeeTokenPreferenceSigningRequest } from "../../../core/signingEngine/chains/tempo/feeToken.js";
15
15
  import { buildPMUnlockPayload } from "../shared/unlockOptions.js";
16
16
  import { walletIframeSurfaceIdFromBoundary } from "../../../core/types/walletIframeIdentity.js";
17
+ import { parseWalletConnectionResolution } from "../shared/walletAlternatives.js";
17
18
  import { HOSTED_AUTH_MENU_ERROR_EVENT, buildHostedAuthMenuCancelPayload, buildPMRedeemHostedWalletSeamsSessionPayload, hostedAuthMenuSessionIdFromBoundary, isDeviceLinkEmailOtpBaseFactorSelectionProgressV1, isDeviceLinkTargetFactorActivationProgressV1, isRegistrationTimingSpanV1, parseHostedAuthMenuErrorEvent, parseHostedAuthMenuExternalAuthRequest, parseHostedAuthMenuExternalAuthResolution, parseHostedAuthMenuOpenRequest, parseHostedAuthMenuOutcome, parseWalletIframeSurfaceMeasurement } from "../shared/messages.js";
18
19
  import { replaceWalletHostAppearance } from "../shared/configuration.js";
19
20
  import { anchorWalletIframeModalGeometry, isWalletIframeModalGeometry, resolveWalletIframeSurfaceGeometry } from "./surface/geometry.js";
@@ -25,6 +26,7 @@ import { resolveRuntimeAppearance } from "../shared/facadeBoundary.js";
25
26
  import { TransactionReviewError, assertTransactionReviewValid, parseTransactionReviewState, reviewedConfirmationConfig, sameTransactionReviewIdentity, transactionReviewCancellationCode } from "../shared/transactionReview.js";
26
27
  import { needsExplicitActivation } from "../../../utils/deviceDetection.js";
27
28
  import { hostedAuthMenuAnchorMetrics, markHostedAuthMenuAnchorReady, publishHostedAuthMenuAnchorHeight } from "./authMenuAnchor.js";
29
+ import { executeOwnerNearRequest } from "./ownerNearOperation.js";
28
30
  import { parseAuthMethodAvailability } from "../../../core/authMethods/availabilityTypes.js";
29
31
  import { TransactionReviewReservation } from "./transactionReviewReservation.js";
30
32
  import { OnEventsProgressBus } from "./progress/on-events-progress-bus.js";
@@ -44,6 +46,8 @@ function requestSurfaceKindForMessage(type, payload) {
44
46
  case "PM_ADD_PASSKEY":
45
47
  case "PM_ROTATE_WALLET_RECOVERY_CODES": return "registration";
46
48
  case "PM_ACTIVATE_AUTH_METHOD": return "auth_method_activation";
49
+ case "PM_EXTERNAL_OWNER_AUTH":
50
+ case "PM_OWNER_NEAR_TRANSACTION": return "owner_approval";
47
51
  case "PM_ADD_EMAIL_OTP": return "email_otp_enrollment";
48
52
  case "PM_GET_WALLET_RECOVERY_CODE_STATUS":
49
53
  case "PM_ACKNOWLEDGE_WALLET_RECOVERY_CODE_BACKUP": return "recovery_codes";
@@ -94,6 +98,7 @@ function requestSurfacePresentationFor(kind, payload, fallbackUiMode) {
94
98
  case "registration": return modalWalletIframeSurfacePresentation("Confirm passkey registration");
95
99
  case "email_otp_enrollment": return confirmationUiModeForRequest("PM_ADD_EMAIL_OTP", payload, fallbackUiMode) === "drawer" ? drawerWalletIframeSurfacePresentation("Enter email code") : modalWalletIframeSurfacePresentation("Enter email code");
96
100
  case "auth_method_activation": return modalWalletIframeSurfacePresentation("Activate authentication method");
101
+ case "owner_approval": return modalWalletIframeSurfacePresentation("Approve wallet operation");
97
102
  case "transaction": return effectiveTransactionSurfaceUiMode(payload, fallbackUiMode) === "drawer" ? drawerWalletIframeSurfacePresentation("Confirm transaction") : modalWalletIframeSurfacePresentation("Confirm transaction");
98
103
  case "key_export_near":
99
104
  case "key_export_threshold": return confirmationUiModeForRequest("PM_EXPORT_KEYPAIR_UI", payload, fallbackUiMode) === "drawer" ? drawerWalletIframeSurfacePresentation("Confirm key export") : modalWalletIframeSurfacePresentation("Confirm key export");
@@ -201,6 +206,7 @@ function walletIframeSessionStatesEqual(left, right) {
201
206
  if (left === null || left.kind !== right.kind) return false;
202
207
  switch (left.kind) {
203
208
  case "wallet_locked": return right.kind === "wallet_locked";
209
+ case "external_read": return right.kind === "external_read" && left.walletId === right.walletId && left.externalSessionId === right.externalSessionId && left.expiresAtMs === right.expiresAtMs;
204
210
  case "active_session":
205
211
  case "expired_session": return (right.kind === "active_session" || right.kind === "expired_session") && exactSessionIdentitiesMatch(left, right) && left.authMethod === right.authMethod && left.expiresAtMs === right.expiresAtMs;
206
212
  case "wallet_authenticated_identity_unresolvable": return right.kind === left.kind && left.walletId === right.walletId && left.reason === right.reason;
@@ -213,6 +219,7 @@ function walletIframeSessionStatesEqual(left, right) {
213
219
  }
214
220
  function walletIframeLoginStatusFromExactSession(state) {
215
221
  switch (state.kind) {
222
+ case "external_read":
216
223
  case "active_session":
217
224
  case "expired_session":
218
225
  case "wallet_authenticated_identity_unresolvable":
@@ -544,6 +551,7 @@ var WalletIframeRouter = class {
544
551
  connectionClosed: /* @__PURE__ */ new Set(),
545
552
  sessionChanged: /* @__PURE__ */ new Set(),
546
553
  preferencesChanged: /* @__PURE__ */ new Set(),
554
+ walletConnectionRequest: /* @__PURE__ */ new Set(),
547
555
  hostedAuthMenuExternalAuthRequest: /* @__PURE__ */ new Set(),
548
556
  sdkLifecycleEvent: /* @__PURE__ */ new Set()
549
557
  };
@@ -1155,6 +1163,7 @@ var WalletIframeRouter = class {
1155
1163
  break;
1156
1164
  case "email_otp_enrollment":
1157
1165
  case "auth_method_activation":
1166
+ case "owner_approval":
1158
1167
  result = this.transitionWalletIframeSurface({
1159
1168
  kind: "transaction_modal_request_started",
1160
1169
  connectionId,
@@ -1374,6 +1383,25 @@ var WalletIframeRouter = class {
1374
1383
  this.listeners.connectionClosed.add(listener);
1375
1384
  return this.listeners.connectionClosed.delete.bind(this.listeners.connectionClosed, listener);
1376
1385
  }
1386
+ onWalletConnectionRequest(listener) {
1387
+ this.listeners.walletConnectionRequest.add(listener);
1388
+ return this.listeners.walletConnectionRequest.delete.bind(this.listeners.walletConnectionRequest, listener);
1389
+ }
1390
+ async resolveWalletConnection(resolution) {
1391
+ const requestId = this.hostedAuthMenuRequestIds.get(resolution.authMenuSessionId);
1392
+ if (!requestId) return;
1393
+ const payload = parseWalletConnectionResolution({
1394
+ authMenuSessionId: resolution.authMenuSessionId,
1395
+ connectionRequestId: resolution.connectionRequestId,
1396
+ requestId,
1397
+ result: resolution.result
1398
+ });
1399
+ if (!payload) throw new Error("Invalid wallet connection resolution");
1400
+ await this.post({
1401
+ type: "PM_RESOLVE_WALLET_CONNECTION",
1402
+ payload
1403
+ });
1404
+ }
1377
1405
  onHostedAuthMenuExternalAuthRequest(listener) {
1378
1406
  this.listeners.hostedAuthMenuExternalAuthRequest.add(listener);
1379
1407
  return () => this.listeners.hostedAuthMenuExternalAuthRequest.delete(listener);
@@ -1605,7 +1633,7 @@ var WalletIframeRouter = class {
1605
1633
  acceptSessionSnapshot(snapshot) {
1606
1634
  if (snapshot.revision <= this.sessionObservationRevision) return false;
1607
1635
  const walletId = this.lastPreferencesChangedPayload?.walletId;
1608
- if (walletId !== void 0 && walletId !== snapshot.walletId) return false;
1636
+ if (snapshot.state.kind !== "external_read" && walletId !== void 0 && walletId !== snapshot.walletId) return false;
1609
1637
  const changed = !walletIframeSessionStatesEqual(this.exactSessionState, snapshot.state);
1610
1638
  this.sessionObservationRevision = snapshot.revision;
1611
1639
  this.updateReviewSession(snapshot.state);
@@ -1768,6 +1796,7 @@ var WalletIframeRouter = class {
1768
1796
  return (await this.post({
1769
1797
  type: "PM_REGISTER_WALLET",
1770
1798
  payload: {
1799
+ completion: payload.completion,
1771
1800
  authMethod: transport.authMethod,
1772
1801
  wallet: payload.wallet,
1773
1802
  signerSelection: registrationSignerSetRequestSelection(payload.signerSelection),
@@ -1923,23 +1952,31 @@ var WalletIframeRouter = class {
1923
1952
  }
1924
1953
  async removeExternalAuth(input) {
1925
1954
  return (await this.post({
1926
- type: "PM_EXTERNAL_AUTH",
1955
+ type: "PM_EXTERNAL_OWNER_AUTH",
1927
1956
  payload: {
1928
1957
  action: "unlink",
1929
1958
  walletId: input.walletId,
1930
1959
  associationId: input.associationId
1931
1960
  }
1961
+ }, { timeout: "interactive" })).result;
1962
+ }
1963
+ async prepareExternalAssociation(walletId) {
1964
+ return (await this.post({
1965
+ type: "PM_EXTERNAL_AUTH",
1966
+ payload: {
1967
+ action: "prepare_association",
1968
+ walletId
1969
+ }
1932
1970
  })).result;
1933
1971
  }
1934
1972
  async associateExternalAuth(input) {
1935
1973
  return (await this.post({
1936
- type: "PM_EXTERNAL_AUTH",
1974
+ type: "PM_EXTERNAL_OWNER_AUTH",
1937
1975
  payload: {
1938
1976
  action: "associate",
1939
- walletId: input.walletId,
1940
- idToken: input.idToken
1977
+ input
1941
1978
  }
1942
- })).result;
1979
+ }, { timeout: "interactive" })).result;
1943
1980
  }
1944
1981
  async getWalletSession(walletId) {
1945
1982
  const expectedWalletId = walletId === void 0 ? void 0 : parseRequestedWalletId(walletId);
@@ -2501,6 +2538,13 @@ var WalletIframeRouter = class {
2501
2538
  } catch {}
2502
2539
  };
2503
2540
  }
2541
+ async ownerNearOperation(...args) {
2542
+ return await executeOwnerNearRequest({
2543
+ post: this.post.bind(this),
2544
+ cancelRequest: this.cancelRequest.bind(this),
2545
+ allocateRequestId: this.allocateRequestId.bind(this)
2546
+ }, ...args);
2547
+ }
2504
2548
  async signAndSendTransaction(payload, transactionDispatch = { kind: "ordinary" }) {
2505
2549
  const request = new NearTransactionRequest({ kind: "sign_and_send" });
2506
2550
  try {
@@ -2716,6 +2760,15 @@ var WalletIframeRouter = class {
2716
2760
  this.handlePreferencesChanged(payload);
2717
2761
  return;
2718
2762
  }
2763
+ if (msg.type === "WALLET_CONNECTION_REQUEST") {
2764
+ const payload = msg.payload;
2765
+ const activeRequestId = this.hostedAuthMenuRequestIds.get(payload.authMenuSessionId);
2766
+ if (!activeRequestId || msg.requestId !== activeRequestId) return;
2767
+ for (const listener of this.listeners.walletConnectionRequest) try {
2768
+ listener(payload);
2769
+ } catch {}
2770
+ return;
2771
+ }
2719
2772
  if (msg.type === "AUTH_MENU_EXTERNAL_AUTH_REQUEST") {
2720
2773
  const payload = parseHostedAuthMenuExternalAuthRequest(msg.payload);
2721
2774
  if (!payload) return;
@@ -2885,7 +2938,7 @@ var WalletIframeRouter = class {
2885
2938
  const deadlineAtMs = timeoutPolicy.kind === "deadline" ? timeoutPolicy.deadlineAtMs : null;
2886
2939
  const surfaceKind = requestSurfaceKindForMessage(envelope.type, full.payload);
2887
2940
  let transactionSurfaceLease = null;
2888
- if (!reservation && (surfaceKind === "transaction" || surfaceKind === "email_otp_enrollment" || surfaceKind === "auth_method_activation")) {
2941
+ if (!reservation && (surfaceKind === "transaction" || surfaceKind === "email_otp_enrollment" || surfaceKind === "auth_method_activation" || surfaceKind === "owner_approval")) {
2889
2942
  const queueDeadline = timeoutPolicy.kind === "deadline" ? {
2890
2943
  kind: "deadline",
2891
2944
  atMs: timeoutPolicy.deadlineAtMs
@@ -5,6 +5,7 @@ function createApplicationSessionCommands(walletIframe) {
5
5
  return {
6
6
  authenticate: authenticate.bind(null, walletIframe),
7
7
  prepareExternalAuth: prepareExternalAuth.bind(null, walletIframe),
8
+ prepareExternalAssociation: prepareExternalAssociation.bind(null, walletIframe),
8
9
  associateExternalAuth: associateExternalAuth.bind(null, walletIframe),
9
10
  removeExternalAuth: removeExternalAuth.bind(null, walletIframe),
10
11
  unlock: unlock.bind(null, walletIframe),
@@ -24,6 +25,9 @@ async function prepareExternalAuth(walletIframe, walletId) {
24
25
  async function associateExternalAuth(walletIframe, input) {
25
26
  return (await walletIframe.requireRouter()).associateExternalAuth(input);
26
27
  }
28
+ async function prepareExternalAssociation(walletIframe, walletId) {
29
+ return (await walletIframe.requireRouter()).prepareExternalAssociation(walletId);
30
+ }
27
31
  async function removeExternalAuth(walletIframe, input) {
28
32
  return (await walletIframe.requireRouter()).removeExternalAuth(input);
29
33
  }