@seams/wallet 0.28.0 → 0.29.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 (350) hide show
  1. package/README.md +29 -4
  2. package/dist/.build-inputs.sha256 +1 -1
  3. package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +11 -0
  4. package/dist/esm/SeamsWeb/publicApi/near.js +3 -0
  5. package/dist/esm/SeamsWeb/publicApi/ownerNearOperation.js +175 -0
  6. package/dist/esm/SeamsWeb/walletIframe/client/nearCommands.js +4 -0
  7. package/dist/esm/SeamsWeb/walletIframe/client/ownerNearOperation.js +67 -0
  8. package/dist/esm/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +27 -17
  9. package/dist/esm/SeamsWeb/walletIframe/client/router.js +30 -7
  10. package/dist/esm/SeamsWeb/walletIframe/client/sessionCommands.js +4 -0
  11. package/dist/esm/SeamsWeb/walletIframe/host/walletMutationGuard.js +5 -0
  12. package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +15 -1
  13. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +1 -1
  14. package/dist/esm/SeamsWeb/walletIframe/shared/ownerNearOperation.js +152 -0
  15. package/dist/esm/core/accountData/near/accountProjection.js +1 -1
  16. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +4 -3
  17. package/dist/esm/core/rpcClients/relayer/walletRegistration.js +1 -1
  18. package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +1 -1
  19. package/dist/esm/core/signingEngine/flows/shared/signingConfirmation.js +1 -1
  20. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +1 -1
  21. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +1 -1
  22. package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +2 -2
  23. package/dist/esm/core/signingEngine/flows/signNear/signDelegate.js +2 -2
  24. package/dist/esm/core/signingEngine/flows/signNear/signNear.js +3 -8
  25. package/dist/esm/core/signingEngine/flows/signNear/signNep413.js +1 -1
  26. package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +3 -4
  27. package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +1 -1
  28. package/dist/esm/index.js +3 -2
  29. package/dist/esm/react/boundWallet.js +24 -0
  30. package/dist/esm/react/context/useLoginStateRefresher.js +1 -0
  31. package/dist/esm/react/hooks/useAccountInput.js +1 -1
  32. package/dist/esm/react/hooks/useOwnerNearOperation.js +10 -0
  33. package/dist/esm/react/index.js +3 -2
  34. package/dist/esm/sdk/{ConfirmationDrawer-MJoE0AAo.js → ConfirmationDrawer-BRnd5SEf.js} +1 -1
  35. package/dist/esm/sdk/NonceCoordinator-CNXYrOoy.js +1 -0
  36. package/dist/{public/sdk/SeamsWordmark-DwvPx2UA.js → esm/sdk/SeamsWordmark-CeEi2RlU.js} +1 -1
  37. package/dist/esm/sdk/accountLifecycle-B5a9SCM7.js +1 -0
  38. package/dist/esm/sdk/{adapters-C-g_hkkZ.js → adapters-B2k8y0MB.js} +1 -1
  39. package/dist/{public/sdk/appearance-token-vars-01eH9pgA.js → esm/sdk/appearance-token-vars-DkF3EBbF.js} +1 -1
  40. package/dist/esm/sdk/authorization-gVWwKwav.js +1 -0
  41. package/dist/esm/sdk/clientSessionPersistenceState-BxpITYM_.js +1 -0
  42. package/dist/esm/sdk/{collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js → collectAuthenticationCredentialForChallengeB64u-BoFVpdRS.js} +1 -1
  43. package/dist/esm/sdk/{commitQueue-CYruPlkm.js → commitQueue-C1wkey4q.js} +1 -1
  44. package/dist/esm/sdk/confirm-ui-Dx6c4-Rk.js +2 -0
  45. package/dist/{public/sdk/device-linking-DiCNt3iA.js → esm/sdk/device-linking-_o3_fgiG.js} +1 -1
  46. package/dist/esm/sdk/{deviceLinkApproval-x3WkiYrd.js → deviceLinkApproval-CObsEWBa.js} +1 -1
  47. package/dist/esm/sdk/{display-D0EPmU4w.js → display-CUWg48tD.js} +1 -1
  48. package/dist/{public/sdk/ecdsaCapabilityManifest-DAJEVjlP.js → esm/sdk/ecdsaCapabilityManifest--1Ztngfx.js} +1 -1
  49. package/dist/{public/sdk/ecdsaDerivationClientWasm-AYOJgTJm.js → esm/sdk/ecdsaDerivationClientWasm-DJh2uN-q.js} +1 -1
  50. package/dist/esm/sdk/ecdsaDerivationExport-BUUUGc6o.js +1 -0
  51. package/dist/esm/sdk/{ecdsaWalletRecords-WLyq414E.js → ecdsaWalletRecords-CKaXfsVu.js} +1 -1
  52. package/dist/esm/sdk/ed25519OperationFingerprint-Dev4P6Og.js +1 -0
  53. package/dist/{public/sdk/emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js → esm/sdk/emailOtpEcdsaDerivationIdentity-Qd4pBwHv.js} +1 -1
  54. package/dist/esm/sdk/{enrichDisplayModelWithAbi-O6Mw4i2E.js → enrichDisplayModelWithAbi-JeAcpa7r.js} +1 -1
  55. package/dist/esm/sdk/{evmCryptoWasm-BUPb4hBH.js → evmCryptoWasm-CeH6Qeaa.js} +1 -1
  56. package/dist/esm/sdk/{export-viewer-host-BSTfHhau.js → export-viewer-host-O0OV1Oou.js} +1 -1
  57. package/dist/esm/sdk/exportKeypairOperation-DkqY9Bpf.js +1 -0
  58. package/dist/esm/sdk/host-BeE2dIU4.js +1 -0
  59. package/dist/{public/sdk/icons-BlMXolHv.js → esm/sdk/icons-pSZJ5Xrm.js} +1 -1
  60. package/dist/esm/sdk/indexedDB-CA4tGqkr.js +1 -0
  61. package/dist/esm/sdk/{intentDigest-HvRsBQ1z.js → intentDigest-gM3r4SVX.js} +1 -1
  62. package/dist/esm/sdk/{lanes-BU-fGqY4.js → lanes-vBKm6yBJ.js} +1 -1
  63. package/dist/esm/sdk/{localOnly-Xs89Xajm.js → localOnly-U_MucUAe.js} +1 -1
  64. package/dist/{public/sdk/mountExportPrivateKeySurface-CsUEKeum.js → esm/sdk/mountExportPrivateKeySurface-C2-fnvP6.js} +1 -1
  65. package/dist/{public/sdk/mountRecoveryCodeBackupSurface-kFLo5zLk.js → esm/sdk/mountRecoveryCodeBackupSurface-C_tJNPJX.js} +1 -1
  66. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-CnbgQfZc.js +1 -0
  67. package/dist/esm/sdk/{nonceLaneKeys-BF_UpvIy.js → nonceLaneKeys-DtBpxubF.js} +1 -1
  68. package/dist/esm/sdk/{normalization-Df9fZWJC.js → normalization-DmfGvZ_3.js} +1 -1
  69. package/dist/esm/sdk/ownerNearOperation-DjNDxW3_.js +1 -0
  70. package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-B-R_U34I.js → esm/sdk/pendingWalletRecoveryCodeBackup-DXFrQmO5.js} +1 -1
  71. package/dist/esm/sdk/{presignaturePool-BbvqRWYw.js → presignaturePool-Dq4RhzXn.js} +1 -1
  72. package/dist/{public/sdk/recovery-entrypoint-DJbMDC_m.js → esm/sdk/recovery-entrypoint-s9OoKBcl.js} +1 -1
  73. package/dist/esm/sdk/registration-CTtTocyo.js +1 -0
  74. package/dist/esm/sdk/{registration-C2fb9kRQ.js → registration-D3p7muCc.js} +1 -1
  75. package/dist/esm/sdk/{registrationAccounts-4r74gX1l.js → registrationAccounts-Bso0ntMs.js} +1 -1
  76. package/dist/esm/sdk/{registrationIntent-Do1tD1V7.js → registrationIntent-C1-Kyx_-.js} +1 -1
  77. package/dist/{public/sdk/registrationSignerPlan-DK2b3N_p.js → esm/sdk/registrationSignerPlan-CeMidFme.js} +1 -1
  78. package/dist/{public/sdk/requireStepUpAuth-COqCGb1i.js → esm/sdk/requireStepUpAuth-iVo6h_U-.js} +1 -1
  79. package/dist/esm/sdk/resealedEnvelopeResult-DXDo-72P.js +1 -0
  80. package/dist/{public/sdk/routerAbNormalSigning-D-UZmCBS.js → esm/sdk/routerAbNormalSigning-DVFFkNhJ.js} +1 -1
  81. package/dist/esm/sdk/runtime-auth-Dsmw_dUA.js +1 -0
  82. package/dist/esm/sdk/runtime-device-link-qmYvGep9.js +1 -0
  83. package/dist/esm/sdk/runtime-ecdsa-tempo-Zh95TuLV.js +1 -0
  84. package/dist/esm/sdk/runtime-email-otp-CnLuW4H1.js +1 -0
  85. package/dist/esm/sdk/runtime-export-m8lvrXtw.js +1 -0
  86. package/dist/esm/sdk/runtime-near-BiXzXXhH.js +1 -0
  87. package/dist/esm/sdk/runtime-preferences-DlKHDIjb.js +1 -0
  88. package/dist/esm/sdk/runtime-recovery-C6lS71Jp.js +1 -0
  89. package/dist/esm/sdk/{runtime-recovery-codes-si1fGktB.js → runtime-recovery-codes-B033ake_.js} +1 -1
  90. package/dist/esm/sdk/runtimeContext-RNS2E5wy.js +7 -0
  91. package/dist/{public/sdk/secp256k1-CE7-q9Sn.js → esm/sdk/secp256k1-DPeaOjM0.js} +1 -1
  92. package/dist/esm/sdk/signEvmFamily-Cksw3RpU.js +1 -0
  93. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js → signEvmFamilyWithUiConfirmForTempo-B7p9UVix.js} +1 -1
  94. package/dist/esm/sdk/{signEvmWithUiConfirm-CGrLtMV6.js → signEvmWithUiConfirm-B14zYdwE.js} +1 -1
  95. package/dist/esm/sdk/signNear-D0rFEYP1.js +1 -0
  96. package/dist/esm/sdk/{signatureUses-kSrUHSSH.js → signatureUses-BLOoPRsb.js} +1 -1
  97. package/dist/{public/sdk/signingFlow-BcetvUeS.js → esm/sdk/signingFlow-Bd1X0e-1.js} +2 -2
  98. package/dist/{public/sdk/signingQueue-dMFOFOP5.js → esm/sdk/signingQueue-DoUBeaCv.js} +1 -1
  99. package/dist/esm/sdk/{thresholdEcdsa-CqR1fFA-.js → thresholdEcdsa-BxfOZmiR.js} +1 -1
  100. package/dist/esm/sdk/{trace--mRP2OQc.js → trace-BnhLKxcu.js} +1 -1
  101. package/dist/esm/sdk/{transaction-activity-DCzHGg3b.js → transaction-activity-BXSxMp1E.js} +1 -1
  102. package/dist/{public/sdk/transactionState-29T9xfvL.js → esm/sdk/transactionState-G_FPe-U8.js} +1 -1
  103. package/dist/esm/sdk/{types-f7dyj5N6.js → types-A-w1cYlJ.js} +1 -1
  104. package/dist/esm/sdk/{unlockedEd25519ExportRootCapability-yzxQjIFd.js → unlockedEd25519ExportRootCapability-5F1egCSv.js} +1 -1
  105. package/dist/esm/sdk/voiceid-host.js +1 -1
  106. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  107. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  108. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  109. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  110. package/dist/esm/sdk/{wallet-recovery-BZB2Vu3X.js → wallet-recovery-DXdm68_Q.js} +1 -1
  111. package/dist/{public/sdk/walletAuthMethodRecord-DLBB5fez.js → esm/sdk/walletAuthMethodRecord-BW-XV4fv.js} +1 -1
  112. package/dist/{public/sdk/walletAuthority-BTGAuOi8.js → esm/sdk/walletAuthority-DbGaSw7D.js} +1 -1
  113. package/dist/esm/sdk/{walletCapabilityBindings-D5YYB7nN.js → walletCapabilityBindings-mPx-6_r-.js} +1 -1
  114. package/dist/{public/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js → esm/sdk/walletCustodyEcdsaContinuity-BnyL1Ryu.js} +1 -1
  115. package/dist/{public/sdk/walletOwnershipGeneration-CgjCtPrV.js → esm/sdk/walletOwnershipGeneration-BZc6UKqX.js} +1 -1
  116. package/dist/esm/sdk/walletRecoveryAdminProof-DdwikrW3.js +1 -0
  117. package/dist/esm/sdk/walletRecoveryCommit-DbAoiJp5.js +1 -0
  118. package/dist/esm/sdk/{walletSessionAuthorizationStore-B9Vwkshr.js → walletSessionAuthorizationStore-BivTUoKY.js} +1 -1
  119. package/dist/esm/sdk/{webauthnP256-BsQQPurm.js → webauthnP256-BGHikiNl.js} +1 -1
  120. package/dist/esm/shared-ts/src/auth/externalAuth.js +2 -2
  121. package/dist/esm/shared-ts/src/utils/index.js +2 -2
  122. package/dist/esm/voiceid-host.js +1 -1
  123. package/dist/public/headers.manifest.json +1 -1
  124. package/dist/public/sdk/{ConfirmationDrawer-MJoE0AAo.js → ConfirmationDrawer-BRnd5SEf.js} +1 -1
  125. package/dist/public/sdk/NonceCoordinator-CNXYrOoy.js +1 -0
  126. package/dist/{esm/sdk/SeamsWordmark-DwvPx2UA.js → public/sdk/SeamsWordmark-CeEi2RlU.js} +1 -1
  127. package/dist/public/sdk/accountLifecycle-B5a9SCM7.js +1 -0
  128. package/dist/public/sdk/{adapters-C-g_hkkZ.js → adapters-B2k8y0MB.js} +1 -1
  129. package/dist/{esm/sdk/appearance-token-vars-01eH9pgA.js → public/sdk/appearance-token-vars-DkF3EBbF.js} +1 -1
  130. package/dist/public/sdk/authorization-gVWwKwav.js +1 -0
  131. package/dist/public/sdk/clientSessionPersistenceState-BxpITYM_.js +1 -0
  132. package/dist/public/sdk/{collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js → collectAuthenticationCredentialForChallengeB64u-BoFVpdRS.js} +1 -1
  133. package/dist/public/sdk/{commitQueue-CYruPlkm.js → commitQueue-C1wkey4q.js} +1 -1
  134. package/dist/public/sdk/confirm-ui-Dx6c4-Rk.js +2 -0
  135. package/dist/{esm/sdk/device-linking-DiCNt3iA.js → public/sdk/device-linking-_o3_fgiG.js} +1 -1
  136. package/dist/public/sdk/{deviceLinkApproval-x3WkiYrd.js → deviceLinkApproval-CObsEWBa.js} +1 -1
  137. package/dist/public/sdk/{display-D0EPmU4w.js → display-CUWg48tD.js} +1 -1
  138. package/dist/{esm/sdk/ecdsaCapabilityManifest-DAJEVjlP.js → public/sdk/ecdsaCapabilityManifest--1Ztngfx.js} +1 -1
  139. package/dist/{esm/sdk/ecdsaDerivationClientWasm-AYOJgTJm.js → public/sdk/ecdsaDerivationClientWasm-DJh2uN-q.js} +1 -1
  140. package/dist/public/sdk/ecdsaDerivationExport-BUUUGc6o.js +1 -0
  141. package/dist/public/sdk/{ecdsaWalletRecords-WLyq414E.js → ecdsaWalletRecords-CKaXfsVu.js} +1 -1
  142. package/dist/public/sdk/ed25519OperationFingerprint-Dev4P6Og.js +1 -0
  143. package/dist/{esm/sdk/emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js → public/sdk/emailOtpEcdsaDerivationIdentity-Qd4pBwHv.js} +1 -1
  144. package/dist/public/sdk/{enrichDisplayModelWithAbi-O6Mw4i2E.js → enrichDisplayModelWithAbi-JeAcpa7r.js} +1 -1
  145. package/dist/public/sdk/{evmCryptoWasm-BUPb4hBH.js → evmCryptoWasm-CeH6Qeaa.js} +1 -1
  146. package/dist/public/sdk/{export-viewer-host-BSTfHhau.js → export-viewer-host-O0OV1Oou.js} +1 -1
  147. package/dist/public/sdk/exportKeypairOperation-DkqY9Bpf.js +1 -0
  148. package/dist/public/sdk/host-BeE2dIU4.js +1 -0
  149. package/dist/{esm/sdk/icons-BlMXolHv.js → public/sdk/icons-pSZJ5Xrm.js} +1 -1
  150. package/dist/public/sdk/indexedDB-CA4tGqkr.js +1 -0
  151. package/dist/public/sdk/{intentDigest-HvRsBQ1z.js → intentDigest-gM3r4SVX.js} +1 -1
  152. package/dist/public/sdk/{lanes-BU-fGqY4.js → lanes-vBKm6yBJ.js} +1 -1
  153. package/dist/public/sdk/{localOnly-Xs89Xajm.js → localOnly-U_MucUAe.js} +1 -1
  154. package/dist/{esm/sdk/mountExportPrivateKeySurface-CsUEKeum.js → public/sdk/mountExportPrivateKeySurface-C2-fnvP6.js} +1 -1
  155. package/dist/{esm/sdk/mountRecoveryCodeBackupSurface-kFLo5zLk.js → public/sdk/mountRecoveryCodeBackupSurface-C_tJNPJX.js} +1 -1
  156. package/dist/public/sdk/nearEd25519YaoSigningPreparation-CnbgQfZc.js +1 -0
  157. package/dist/public/sdk/{nonceLaneKeys-BF_UpvIy.js → nonceLaneKeys-DtBpxubF.js} +1 -1
  158. package/dist/public/sdk/{normalization-Df9fZWJC.js → normalization-DmfGvZ_3.js} +1 -1
  159. package/dist/public/sdk/ownerNearOperation-DjNDxW3_.js +1 -0
  160. package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-B-R_U34I.js → public/sdk/pendingWalletRecoveryCodeBackup-DXFrQmO5.js} +1 -1
  161. package/dist/public/sdk/{presignaturePool-BbvqRWYw.js → presignaturePool-Dq4RhzXn.js} +1 -1
  162. package/dist/{esm/sdk/recovery-entrypoint-DJbMDC_m.js → public/sdk/recovery-entrypoint-s9OoKBcl.js} +1 -1
  163. package/dist/public/sdk/registration-CTtTocyo.js +1 -0
  164. package/dist/public/sdk/{registration-C2fb9kRQ.js → registration-D3p7muCc.js} +1 -1
  165. package/dist/public/sdk/{registrationAccounts-4r74gX1l.js → registrationAccounts-Bso0ntMs.js} +1 -1
  166. package/dist/public/sdk/{registrationIntent-Do1tD1V7.js → registrationIntent-C1-Kyx_-.js} +1 -1
  167. package/dist/{esm/sdk/registrationSignerPlan-DK2b3N_p.js → public/sdk/registrationSignerPlan-CeMidFme.js} +1 -1
  168. package/dist/{esm/sdk/requireStepUpAuth-COqCGb1i.js → public/sdk/requireStepUpAuth-iVo6h_U-.js} +1 -1
  169. package/dist/public/sdk/resealedEnvelopeResult-DXDo-72P.js +1 -0
  170. package/dist/{esm/sdk/routerAbNormalSigning-D-UZmCBS.js → public/sdk/routerAbNormalSigning-DVFFkNhJ.js} +1 -1
  171. package/dist/public/sdk/runtime-auth-Dsmw_dUA.js +1 -0
  172. package/dist/public/sdk/runtime-device-link-qmYvGep9.js +1 -0
  173. package/dist/public/sdk/runtime-ecdsa-tempo-Zh95TuLV.js +1 -0
  174. package/dist/public/sdk/runtime-email-otp-CnLuW4H1.js +1 -0
  175. package/dist/public/sdk/runtime-export-m8lvrXtw.js +1 -0
  176. package/dist/public/sdk/runtime-near-BiXzXXhH.js +1 -0
  177. package/dist/public/sdk/runtime-preferences-DlKHDIjb.js +1 -0
  178. package/dist/public/sdk/runtime-recovery-C6lS71Jp.js +1 -0
  179. package/dist/public/sdk/{runtime-recovery-codes-si1fGktB.js → runtime-recovery-codes-B033ake_.js} +1 -1
  180. package/dist/public/sdk/runtimeContext-RNS2E5wy.js +7 -0
  181. package/dist/{esm/sdk/secp256k1-CE7-q9Sn.js → public/sdk/secp256k1-DPeaOjM0.js} +1 -1
  182. package/dist/public/sdk/signEvmFamily-Cksw3RpU.js +1 -0
  183. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js → signEvmFamilyWithUiConfirmForTempo-B7p9UVix.js} +1 -1
  184. package/dist/public/sdk/{signEvmWithUiConfirm-CGrLtMV6.js → signEvmWithUiConfirm-B14zYdwE.js} +1 -1
  185. package/dist/public/sdk/signNear-D0rFEYP1.js +1 -0
  186. package/dist/public/sdk/{signatureUses-kSrUHSSH.js → signatureUses-BLOoPRsb.js} +1 -1
  187. package/dist/{esm/sdk/signingFlow-BcetvUeS.js → public/sdk/signingFlow-Bd1X0e-1.js} +2 -2
  188. package/dist/{esm/sdk/signingQueue-dMFOFOP5.js → public/sdk/signingQueue-DoUBeaCv.js} +1 -1
  189. package/dist/public/sdk/{thresholdEcdsa-CqR1fFA-.js → thresholdEcdsa-BxfOZmiR.js} +1 -1
  190. package/dist/public/sdk/{trace--mRP2OQc.js → trace-BnhLKxcu.js} +1 -1
  191. package/dist/public/sdk/{transaction-activity-DCzHGg3b.js → transaction-activity-BXSxMp1E.js} +1 -1
  192. package/dist/{esm/sdk/transactionState-29T9xfvL.js → public/sdk/transactionState-G_FPe-U8.js} +1 -1
  193. package/dist/public/sdk/{types-f7dyj5N6.js → types-A-w1cYlJ.js} +1 -1
  194. package/dist/public/sdk/{unlockedEd25519ExportRootCapability-yzxQjIFd.js → unlockedEd25519ExportRootCapability-5F1egCSv.js} +1 -1
  195. package/dist/public/sdk/voiceid-host.js +1 -1
  196. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  197. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  198. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  199. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  200. package/dist/public/sdk/{wallet-recovery-BZB2Vu3X.js → wallet-recovery-DXdm68_Q.js} +1 -1
  201. package/dist/{esm/sdk/walletAuthMethodRecord-DLBB5fez.js → public/sdk/walletAuthMethodRecord-BW-XV4fv.js} +1 -1
  202. package/dist/{esm/sdk/walletAuthority-BTGAuOi8.js → public/sdk/walletAuthority-DbGaSw7D.js} +1 -1
  203. package/dist/public/sdk/{walletCapabilityBindings-D5YYB7nN.js → walletCapabilityBindings-mPx-6_r-.js} +1 -1
  204. package/dist/{esm/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js → public/sdk/walletCustodyEcdsaContinuity-BnyL1Ryu.js} +1 -1
  205. package/dist/{esm/sdk/walletOwnershipGeneration-CgjCtPrV.js → public/sdk/walletOwnershipGeneration-BZc6UKqX.js} +1 -1
  206. package/dist/public/sdk/walletRecoveryAdminProof-DdwikrW3.js +1 -0
  207. package/dist/public/sdk/walletRecoveryCommit-DbAoiJp5.js +1 -0
  208. package/dist/public/sdk/{walletSessionAuthorizationStore-B9Vwkshr.js → walletSessionAuthorizationStore-BivTUoKY.js} +1 -1
  209. package/dist/public/sdk/{webauthnP256-BsQQPurm.js → webauthnP256-BGHikiNl.js} +1 -1
  210. package/dist/public/wallet-assets.manifest.json +258 -258
  211. package/dist/public/wallet-service/index.html +4 -4
  212. package/dist/types/shared-ts/src/auth/externalAuth.d.ts +51 -8
  213. package/dist/types/shared-ts/src/authorization/index.d.ts +1 -1
  214. package/dist/types/shared-ts/src/authorization/walletOwnerOperation.d.ts +10 -0
  215. package/dist/types/shared-ts/src/utils/registrationEstablishedSession.d.ts +4 -0
  216. package/dist/types/shared-ts/src/utils/registrationIntent.d.ts +2 -0
  217. package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +1 -1
  218. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +1 -0
  219. package/dist/types/wallet/src/SeamsWeb/operations/registration/registration.d.ts +1 -0
  220. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationPasskeyMaterial.d.ts +24 -0
  221. package/dist/types/wallet/src/SeamsWeb/publicApi/auth.d.ts +1 -1
  222. package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +1 -0
  223. package/dist/types/wallet/src/SeamsWeb/publicApi/nearCommands.d.ts +2 -0
  224. package/dist/types/wallet/src/SeamsWeb/publicApi/ownerNearOperation.d.ts +58 -0
  225. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +14 -6
  226. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +57 -56
  227. package/dist/types/wallet/src/SeamsWeb/signingSurface/nearOwnerOperation.d.ts +16 -0
  228. package/dist/types/wallet/src/SeamsWeb/signingSurface/nearPasskeyOperationMaterial.d.ts +72 -0
  229. package/dist/types/wallet/src/SeamsWeb/signingSurface/types.d.ts +3 -0
  230. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/ownerNearOperation.d.ts +25 -0
  231. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +4 -1
  232. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +5 -1
  233. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createNearCommands.d.ts +2 -1
  234. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createSessionCommands.d.ts +6 -2
  235. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/externalAuth.d.ts +10 -8
  236. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/externalOwnerApproval.d.ts +24 -0
  237. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ownerNearOperation.d.ts +12 -0
  238. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +2 -2
  239. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionState.d.ts +8 -0
  240. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +17 -7
  241. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/ownerNearOperation.d.ts +51 -0
  242. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/registrationSetup.d.ts +1 -0
  243. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +4 -0
  244. package/dist/types/wallet/src/core/rpcClients/near/NearClient.d.ts +4 -0
  245. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryRotate.d.ts +2 -2
  246. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +1 -0
  247. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.d.ts +21 -0
  248. package/dist/types/wallet/src/core/types/seams.d.ts +7 -0
  249. package/dist/types/wallet/src/index.d.ts +2 -0
  250. package/dist/types/wallet/src/react/boundWallet.d.ts +21 -1
  251. package/dist/types/wallet/src/react/hooks/useOwnerNearOperation.d.ts +4 -0
  252. package/dist/types/wallet/src/react/index.d.ts +3 -0
  253. package/package.json +1 -1
  254. package/dist/esm/sdk/NonceCoordinator-3YhmDTS5.js +0 -1
  255. package/dist/esm/sdk/accountLifecycle-6DHYWf0v.js +0 -1
  256. package/dist/esm/sdk/clientSessionPersistenceState-BCkJAYSz.js +0 -1
  257. package/dist/esm/sdk/confirm-ui-em0vkd2m.js +0 -2
  258. package/dist/esm/sdk/ecdsaDerivationExport-DJKOzDbS.js +0 -1
  259. package/dist/esm/sdk/exportKeypairOperation-CjST_NUK.js +0 -1
  260. package/dist/esm/sdk/host-C51z-AxP.js +0 -1
  261. package/dist/esm/sdk/indexedDB-C4SDsyOG.js +0 -1
  262. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +0 -1
  263. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +0 -1
  264. package/dist/esm/sdk/registration-Byl4l4yZ.js +0 -1
  265. package/dist/esm/sdk/resealedEnvelopeResult-CLW00Vbw.js +0 -1
  266. package/dist/esm/sdk/runtime-auth-ufbVur2p.js +0 -1
  267. package/dist/esm/sdk/runtime-device-link-CagI2Q62.js +0 -1
  268. package/dist/esm/sdk/runtime-ecdsa-tempo-Rctxr0yM.js +0 -1
  269. package/dist/esm/sdk/runtime-email-otp-BQtcG-LF.js +0 -1
  270. package/dist/esm/sdk/runtime-export-wTeEaqlk.js +0 -1
  271. package/dist/esm/sdk/runtime-near-59yU_3ud.js +0 -1
  272. package/dist/esm/sdk/runtime-preferences-B9qLHX8W.js +0 -1
  273. package/dist/esm/sdk/runtime-recovery-DNyzdMBj.js +0 -1
  274. package/dist/esm/sdk/runtimeContext-ByeM6Z4Z.js +0 -6
  275. package/dist/esm/sdk/sessionObservationRevision-ihBwjS3y.js +0 -1
  276. package/dist/esm/sdk/signEvmFamily-BY5jlZEG.js +0 -1
  277. package/dist/esm/sdk/signNear-DMpJFkwF.js +0 -1
  278. package/dist/esm/sdk/signer-worker-BNodGJKY.js +0 -1
  279. package/dist/esm/sdk/walletRecoveryAdminProof-B4Ic07jY.js +0 -1
  280. package/dist/esm/sdk/walletRecoveryCommit-Cc2LAkCS.js +0 -1
  281. package/dist/public/sdk/NonceCoordinator-3YhmDTS5.js +0 -1
  282. package/dist/public/sdk/accountLifecycle-6DHYWf0v.js +0 -1
  283. package/dist/public/sdk/clientSessionPersistenceState-BCkJAYSz.js +0 -1
  284. package/dist/public/sdk/confirm-ui-em0vkd2m.js +0 -2
  285. package/dist/public/sdk/ecdsaDerivationExport-DJKOzDbS.js +0 -1
  286. package/dist/public/sdk/exportKeypairOperation-CjST_NUK.js +0 -1
  287. package/dist/public/sdk/host-C51z-AxP.js +0 -1
  288. package/dist/public/sdk/indexedDB-C4SDsyOG.js +0 -1
  289. package/dist/public/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +0 -1
  290. package/dist/public/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +0 -1
  291. package/dist/public/sdk/registration-Byl4l4yZ.js +0 -1
  292. package/dist/public/sdk/resealedEnvelopeResult-CLW00Vbw.js +0 -1
  293. package/dist/public/sdk/runtime-auth-ufbVur2p.js +0 -1
  294. package/dist/public/sdk/runtime-device-link-CagI2Q62.js +0 -1
  295. package/dist/public/sdk/runtime-ecdsa-tempo-Rctxr0yM.js +0 -1
  296. package/dist/public/sdk/runtime-email-otp-BQtcG-LF.js +0 -1
  297. package/dist/public/sdk/runtime-export-wTeEaqlk.js +0 -1
  298. package/dist/public/sdk/runtime-near-59yU_3ud.js +0 -1
  299. package/dist/public/sdk/runtime-preferences-B9qLHX8W.js +0 -1
  300. package/dist/public/sdk/runtime-recovery-DNyzdMBj.js +0 -1
  301. package/dist/public/sdk/runtimeContext-ByeM6Z4Z.js +0 -6
  302. package/dist/public/sdk/sessionObservationRevision-ihBwjS3y.js +0 -1
  303. package/dist/public/sdk/signEvmFamily-BY5jlZEG.js +0 -1
  304. package/dist/public/sdk/signNear-DMpJFkwF.js +0 -1
  305. package/dist/public/sdk/signer-worker-BNodGJKY.js +0 -1
  306. package/dist/public/sdk/walletRecoveryAdminProof-B4Ic07jY.js +0 -1
  307. package/dist/public/sdk/walletRecoveryCommit-Cc2LAkCS.js +0 -1
  308. package/dist/types/shared-ts/src/authorization/walletCustodyOperation.d.ts +0 -10
  309. /package/dist/{public/sdk/accountIds-CW2BP-d9.js → esm/sdk/accountIds-DGWFzEnw.js} +0 -0
  310. /package/dist/{public/sdk/actions-DrtSTGus.js → esm/sdk/actions-7SvZZut1.js} +0 -0
  311. /package/dist/{public/sdk/authenticatorOptions-WCDKYRux.js → esm/sdk/authenticatorOptions-B4q62CLs.js} +0 -0
  312. /package/dist/{public/sdk/confirmTypes-BvVtQs-M.js → esm/sdk/confirmTypes-DmEPoxys.js} +0 -0
  313. /package/dist/{public/sdk/csp-stylesheet-DUSqfXvZ.js → esm/sdk/csp-stylesheet-5LU6VGKK.js} +0 -0
  314. /package/dist/{public/sdk/digestEncoding-CqNXPZY9.js → esm/sdk/digestEncoding-34kXJoJr.js} +0 -0
  315. /package/dist/{public/sdk/ecdsaChainTarget-Bm5X4k-V.js → esm/sdk/ecdsaChainTarget-BoRVQtjQ.js} +0 -0
  316. /package/dist/{public/sdk/executeWorkerOperation-C9FOCCR7.js → esm/sdk/executeWorkerOperation-CAYSt0NA.js} +0 -0
  317. /package/dist/{public/sdk/helpers-Dubwo5uK.js → esm/sdk/helpers-B7c1zc7h.js} +0 -0
  318. /package/dist/{public/sdk/jsonRpc-BVDv1wfm.js → esm/sdk/jsonRpc-DGzeiNSa.js} +0 -0
  319. /package/dist/{public/sdk/keccak-mS0Mejjx.js → esm/sdk/keccak-DGHI1G6t.js} +0 -0
  320. /package/dist/{public/sdk/keyMaterialEnvelope-Dm2ZEilb.js → esm/sdk/keyMaterialEnvelope-Czkks9Ki.js} +0 -0
  321. /package/dist/{public/sdk/presignatures-BCeq56DG.js → esm/sdk/presignatures-CkhuZ0YQ.js} +0 -0
  322. /package/dist/{public/sdk/profileAccountProjection-C5sNt-s2.js → esm/sdk/profileAccountProjection-dvLchPBo.js} +0 -0
  323. /package/dist/{public/sdk/registrationAuthMethodInput-BR1WVbK3.js → esm/sdk/registrationAuthMethodInput-C4o7yFBJ.js} +0 -0
  324. /package/dist/{public/sdk/sdkSentEvents-DjOlKtdW.js → esm/sdk/sdkSentEvents-BFwv3mBw.js} +0 -0
  325. /package/dist/{public/sdk/signerDomain-BAsLT3XN.js → esm/sdk/signerDomain-D-EUTlLK.js} +0 -0
  326. /package/dist/{public/sdk/signerSlot-D2RZnb27.js → esm/sdk/signerSlot-BlijMq8C.js} +0 -0
  327. /package/dist/{public/sdk/surface-measurement-reporter-DXsvq401.js → esm/sdk/surface-measurement-reporter-DJ_dQhBV.js} +0 -0
  328. /package/dist/{public/sdk/walletCustodyOperation-DimzAbCB.js → esm/sdk/walletOwnerOperation-CScYv2K6.js} +0 -0
  329. /package/dist/{public/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js → esm/sdk/walletSessionAuthorizationStatus-GhcGvDCX.js} +0 -0
  330. /package/dist/{esm/sdk/accountIds-CW2BP-d9.js → public/sdk/accountIds-DGWFzEnw.js} +0 -0
  331. /package/dist/{esm/sdk/actions-DrtSTGus.js → public/sdk/actions-7SvZZut1.js} +0 -0
  332. /package/dist/{esm/sdk/authenticatorOptions-WCDKYRux.js → public/sdk/authenticatorOptions-B4q62CLs.js} +0 -0
  333. /package/dist/{esm/sdk/confirmTypes-BvVtQs-M.js → public/sdk/confirmTypes-DmEPoxys.js} +0 -0
  334. /package/dist/{esm/sdk/csp-stylesheet-DUSqfXvZ.js → public/sdk/csp-stylesheet-5LU6VGKK.js} +0 -0
  335. /package/dist/{esm/sdk/digestEncoding-CqNXPZY9.js → public/sdk/digestEncoding-34kXJoJr.js} +0 -0
  336. /package/dist/{esm/sdk/ecdsaChainTarget-Bm5X4k-V.js → public/sdk/ecdsaChainTarget-BoRVQtjQ.js} +0 -0
  337. /package/dist/{esm/sdk/executeWorkerOperation-C9FOCCR7.js → public/sdk/executeWorkerOperation-CAYSt0NA.js} +0 -0
  338. /package/dist/{esm/sdk/helpers-Dubwo5uK.js → public/sdk/helpers-B7c1zc7h.js} +0 -0
  339. /package/dist/{esm/sdk/jsonRpc-BVDv1wfm.js → public/sdk/jsonRpc-DGzeiNSa.js} +0 -0
  340. /package/dist/{esm/sdk/keccak-mS0Mejjx.js → public/sdk/keccak-DGHI1G6t.js} +0 -0
  341. /package/dist/{esm/sdk/keyMaterialEnvelope-Dm2ZEilb.js → public/sdk/keyMaterialEnvelope-Czkks9Ki.js} +0 -0
  342. /package/dist/{esm/sdk/presignatures-BCeq56DG.js → public/sdk/presignatures-CkhuZ0YQ.js} +0 -0
  343. /package/dist/{esm/sdk/profileAccountProjection-C5sNt-s2.js → public/sdk/profileAccountProjection-dvLchPBo.js} +0 -0
  344. /package/dist/{esm/sdk/registrationAuthMethodInput-BR1WVbK3.js → public/sdk/registrationAuthMethodInput-C4o7yFBJ.js} +0 -0
  345. /package/dist/{esm/sdk/sdkSentEvents-DjOlKtdW.js → public/sdk/sdkSentEvents-BFwv3mBw.js} +0 -0
  346. /package/dist/{esm/sdk/signerDomain-BAsLT3XN.js → public/sdk/signerDomain-D-EUTlLK.js} +0 -0
  347. /package/dist/{esm/sdk/signerSlot-D2RZnb27.js → public/sdk/signerSlot-BlijMq8C.js} +0 -0
  348. /package/dist/{esm/sdk/surface-measurement-reporter-DXsvq401.js → public/sdk/surface-measurement-reporter-DJ_dQhBV.js} +0 -0
  349. /package/dist/{esm/sdk/walletCustodyOperation-DimzAbCB.js → public/sdk/walletOwnerOperation-CScYv2K6.js} +0 -0
  350. /package/dist/{esm/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js → public/sdk/walletSessionAuthorizationStatus-GhcGvDCX.js} +0 -0
@@ -0,0 +1,25 @@
1
+ import type { ExecuteOwnerNearOperation } from '../../publicApi/ownerNearOperation';
2
+ import type { WalletIframeRequestId } from '../../../core/types/walletIframeIdentity';
3
+ import type { ProgressPayload } from '../shared/messages';
4
+ import { type OwnerNearCommand } from '../shared/ownerNearOperation';
5
+ type OwnerNearRequestPorts = {
6
+ allocateRequestId(): WalletIframeRequestId;
7
+ cancelRequest(requestId: string): Promise<void>;
8
+ post(request: {
9
+ type: 'PM_OWNER_NEAR_TRANSACTION';
10
+ payload: OwnerNearCommand;
11
+ options: {
12
+ onProgress: (payload: ProgressPayload) => void;
13
+ };
14
+ }, options: {
15
+ requestId: WalletIframeRequestId;
16
+ timeout: 'interactive';
17
+ shouldContinue: () => boolean;
18
+ onDispatched: () => void;
19
+ }): Promise<{
20
+ result?: unknown;
21
+ }>;
22
+ };
23
+ export declare function executeOwnerNearRequest(ports: OwnerNearRequestPorts, ...args: Parameters<ExecuteOwnerNearOperation>): ReturnType<ExecuteOwnerNearOperation>;
24
+ export {};
25
+ //# sourceMappingURL=ownerNearOperation.d.ts.map
@@ -1,3 +1,4 @@
1
+ import type { ExecuteOwnerNearOperation } from '../../publicApi/ownerNearOperation';
1
2
  import type { VoiceIdConfirmationOptions } from '../../../core/authMethods/plugins';
2
3
  import type { WalletRegistrationCommand } from '../../publicApi/createPublicApi';
3
4
  import type { AuthCapability } from '../../publicApi/types';
@@ -247,6 +248,7 @@ export declare class WalletIframeRouter {
247
248
  authenticate(input: Parameters<AuthCapability['authenticate']>[0]): ReturnType<AuthCapability['authenticate']>;
248
249
  prepareExternalAuth(walletId: string): ReturnType<AuthCapability['prepareExternalAuth']>;
249
250
  removeExternalAuth(input: Parameters<AuthCapability['removeExternalAuth']>[0]): ReturnType<AuthCapability['removeExternalAuth']>;
251
+ prepareExternalAssociation(walletId: string): ReturnType<AuthCapability['prepareExternalAssociation']>;
250
252
  associateExternalAuth(input: Parameters<AuthCapability['associateExternalAuth']>[0]): ReturnType<AuthCapability['associateExternalAuth']>;
251
253
  getWalletSession(walletId?: string): Promise<WalletSession>;
252
254
  private finishWalletSessionRead;
@@ -259,7 +261,7 @@ export declare class WalletIframeRouter {
259
261
  requestWalletCustodyEmailOtpChallenge(payload: {
260
262
  walletId: string;
261
263
  providerSubjectId: string;
262
- operation: import('../../../../../shared-ts/src/authorization/walletCustodyOperation').WalletCustodyAdminOperation;
264
+ operation: import('../../../../../shared-ts/src/authorization/walletOwnerOperation').WalletOwnerAdminOperation;
263
265
  payload: Record<string, unknown>;
264
266
  requestOrigin?: string;
265
267
  }): Promise<WalletCustodyEmailOtpChallengeResult>;
@@ -376,6 +378,7 @@ export declare class WalletIframeRouter {
376
378
  private submitLinkedDeviceTargetEmailOtpV1;
377
379
  cancelDeviceLinking(): Promise<void>;
378
380
  private wrapOnEvent;
381
+ ownerNearOperation(...args: Parameters<ExecuteOwnerNearOperation>): ReturnType<ExecuteOwnerNearOperation>;
379
382
  signAndSendTransaction(payload: {
380
383
  walletId: string;
381
384
  nearAccountId: string;
@@ -1,3 +1,4 @@
1
+ import type { OwnerNearCommand, OwnerNearOutcome } from '../shared/ownerNearOperation';
1
2
  import type { WalletPlacementCapability } from '../../publicApi/placement';
2
3
  import { type KeyExportDomainMethods } from '../../publicApi/keyExport';
3
4
  import type { WalletAuthCommands } from '../../publicApi/auth';
@@ -26,6 +27,7 @@ export declare class WalletHostRuntime {
26
27
  private readonly nearClient;
27
28
  readonly configs: WalletHostConfig;
28
29
  readonly readExternalSession: WalletHostSessionCommands['readExternalSession'];
30
+ private readonly captureExternalOwnerOperation;
29
31
  private appearance;
30
32
  theme: ThemeMode;
31
33
  private readonly prefillRestoredSession;
@@ -33,9 +35,10 @@ export declare class WalletHostRuntime {
33
35
  readonly devices: DevicesCapability;
34
36
  readonly keys: KeyExportDomainMethods;
35
37
  readonly preferences: Omit<PreferencesCapability, 'setConfirmationConfig' | 'setConfirmationBehavior' | 'onCurrentWalletChange'> & Pick<UserPreferencesManager, 'setConfirmationConfig' | 'setConfirmationBehavior' | 'onCurrentWalletChange'>;
36
- readonly auth: WalletAuthCommands & Pick<WalletHostSessionCommands, 'unlockWithAuthMethod' | 'authenticate'>;
38
+ readonly auth: WalletAuthCommands & Pick<WalletHostSessionCommands, 'unlockWithAuthMethod' | 'authenticate' | 'associateExternalAuth' | 'removeExternalAuth'>;
37
39
  readonly placement: WalletPlacementCapability;
38
40
  readonly registration: RegistrationCapability;
41
+ readonly registerWalletCommand: import('../../publicApi/createPublicApi').WalletRegistrationCommands['registerWallet'];
39
42
  readonly near: NearSignerCapability;
40
43
  readonly tempo: TempoSignerCapability;
41
44
  readonly evm: EvmSignerCapability;
@@ -47,6 +50,7 @@ export declare class WalletHostRuntime {
47
50
  private lockAfterWalletMove;
48
51
  /** Subscribe to typed lifecycle events emitted by the wallet boundary. */
49
52
  onSdkLifecycleEvent(listener: SdkLifecycleEventListener): () => void;
53
+ runOwnerNearOperation(command: OwnerNearCommand, assertActive: () => void, onEvent: (event: import('../../../core/types/sdkSentEvents').SigningFlowEvent) => void, onSubmission: () => void): Promise<OwnerNearOutcome>;
50
54
  getContext(): SeamsWebContextWithDeviceLinkingResumeV1;
51
55
  private resumePendingAcknowledgementsAfterExactUnlockV1;
52
56
  private resumePendingRegistrationOnStartup;
@@ -1,4 +1,5 @@
1
+ import type { WalletHostRuntime } from './WalletHostRuntime';
1
2
  import type { NearCommands } from '../../publicApi/nearCommands';
2
3
  import type { NearSigningWebContext } from '../../signingSurface/types';
3
- export declare function createWalletHostNearCommands(getContext: () => NearSigningWebContext): NearCommands;
4
+ export declare function createWalletHostNearCommands(getContext: () => NearSigningWebContext, runOwnerOperation: WalletHostRuntime['runOwnerNearOperation']): NearCommands;
4
5
  //# sourceMappingURL=createNearCommands.d.ts.map
@@ -1,3 +1,4 @@
1
+ import { HostedExternalAuth } from './externalAuth';
1
2
  import { type PendingRegistrationRecoverySigningSurface } from '../../operations/registration/pendingRegistrationRecovery';
2
3
  import { WalletSessionStatusReadScope } from '../../../core/rpcClients/relayer/walletSessionAuthorizationStatus';
3
4
  import type { RouterAbEcdsaDerivationLoginPresignaturePrefillResult } from '../../../core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill';
@@ -10,12 +11,15 @@ import type { WalletSessionCommands } from '../../publicApi/auth';
10
11
  type WalletHostAuthContext = WalletAuthWebContext & {
11
12
  signingEngine: Pick<WalletIframeWarmupSurface, 'warmCriticalResources'> & PendingRegistrationRecoverySigningSurface & WalletIframeSurfaceMeasurementSurface & Pick<WalletAuthenticationSurface, 'installAuthMethodSession'>;
12
13
  };
13
- export type WalletHostSessionCommands = Omit<WalletSessionCommands, 'unlockWithAuthMethod' | 'authenticate'> & {
14
+ export type WalletHostSessionCommands = Omit<WalletSessionCommands, 'unlockWithAuthMethod' | 'authenticate' | 'associateExternalAuth' | 'removeExternalAuth'> & {
14
15
  authenticate(input: Parameters<WalletSessionCommands['authenticate']>[0], assertActive?: () => void): ReturnType<WalletSessionCommands['authenticate']>;
16
+ associateExternalAuth(input: Parameters<WalletSessionCommands['associateExternalAuth']>[0], assertActive?: () => void): ReturnType<WalletSessionCommands['associateExternalAuth']>;
17
+ removeExternalAuth(input: Parameters<WalletSessionCommands['removeExternalAuth']>[0], assertActive?: () => void): ReturnType<WalletSessionCommands['removeExternalAuth']>;
15
18
  readExternalSession(walletId?: string): Promise<WalletSession | null>;
19
+ captureExternalOwnerOperation: HostedExternalAuth['captureOwnerOperation'];
16
20
  unlockWithAuthMethod(args: Parameters<WalletSessionCommands['unlockWithAuthMethod']>[0], assertActive?: () => void, mountCapture?: AuthMethodCaptureMount): ReturnType<WalletSessionCommands['unlockWithAuthMethod']>;
17
21
  };
18
- export declare function createWalletHostSessionCommands(getContext: () => WalletHostAuthContext, readOwnerCredential: import('../../operations/devices/walletHostOwnerAuthority').WalletHostOwnerAuthoritiesV1['readOwnerCredential'], parentOrigin: string): WalletHostSessionCommands;
22
+ export declare function createWalletHostSessionCommands(getContext: () => WalletHostAuthContext, parentOrigin: string): WalletHostSessionCommands;
19
23
  export declare function prefillWalletHostPresignatures(getContext: () => WalletHostAuthContext, args: {
20
24
  walletSession: WalletSessionRef;
21
25
  chainTarget: ThresholdEcdsaChainTarget;
@@ -1,14 +1,14 @@
1
1
  import type { SeamsConfigsReadonly, WalletSession } from '../../../core/types/seams';
2
2
  import { type ExternalAuthenticateInput, type ExternalAuthAttempt, type ExternalAuthResult, type ExternalWalletAuthentication } from '../../../../../shared-ts/src/auth/externalAuth';
3
- import type { WalletHostOwnerAuthoritiesV1 } from '../../operations/devices/walletHostOwnerAuthority';
3
+ import { type ExternalOwnerApproval } from './externalOwnerApproval';
4
4
  export declare class HostedExternalAuth {
5
5
  private readonly configs;
6
6
  private readonly lockOwner;
7
- private readonly readOwnerCredential;
7
+ private readonly approveOwner;
8
8
  private readonly parentOrigin;
9
9
  private state;
10
10
  private generation;
11
- constructor(configs: SeamsConfigsReadonly, lockOwner: () => Promise<void>, readOwnerCredential: WalletHostOwnerAuthoritiesV1['readOwnerCredential'], parentOrigin: string);
11
+ constructor(configs: SeamsConfigsReadonly, lockOwner: () => Promise<void>, approveOwner: ExternalOwnerApproval, parentOrigin: string);
12
12
  private storageKey;
13
13
  private restore;
14
14
  private request;
@@ -16,14 +16,16 @@ export declare class HostedExternalAuth {
16
16
  releaseForOwner(): Promise<void>;
17
17
  prepare(walletId: string): Promise<ExternalAuthResult<ExternalAuthAttempt>>;
18
18
  authenticate(input: ExternalAuthenticateInput, assertActive?: () => void): Promise<ExternalAuthResult<ExternalWalletAuthentication>>;
19
- associate(input: {
20
- walletId: string;
21
- idToken: string;
22
- }): Promise<ExternalAuthResult<null>>;
19
+ prepareAssociation(walletId: string): Promise<ExternalAuthResult<ExternalAuthAttempt<'associate'>>>;
20
+ associate(input: ExternalAuthenticateInput, assertActive?: () => void): Promise<ExternalAuthResult<null>>;
21
+ private assertOwnerOperation;
22
+ private completeOwnerOperation;
23
+ captureOwnerOperation(authentication: ExternalWalletAuthentication): Promise<() => void>;
24
+ private assertOwnerOperationCurrent;
23
25
  getSession(walletId?: string): Promise<WalletSession | null>;
24
26
  remove(input: {
25
27
  walletId: string;
26
28
  associationId: string;
27
- }): Promise<ExternalAuthResult<null>>;
29
+ }, assertActive?: () => void): Promise<ExternalAuthResult<null>>;
28
30
  }
29
31
  //# sourceMappingURL=externalAuth.d.ts.map
@@ -0,0 +1,24 @@
1
+ import type { SeamsConfigsReadonly } from '../../../core/types/seams';
2
+ import type { UiConfirmSurfaceMeasurementBinding } from '../../../core/signingEngine/uiConfirm/uiConfirm.types';
3
+ import type { WalletCustodyFactorProof } from '../../../core/rpcClients/relayer/walletRecoveryRotate';
4
+ import type { ExternalOwnerChallenge } from '../../../../../shared-ts/src/auth/externalAuth';
5
+ type OwnerApprovalContext = {
6
+ readonly configs: Pick<SeamsConfigsReadonly, 'ui'>;
7
+ readonly signingEngine: {
8
+ getRpId(): string;
9
+ getWalletIframeSurfaceMeasurementBinding(): UiConfirmSurfaceMeasurementBinding;
10
+ };
11
+ };
12
+ export type ExternalOwnerApprovalRequest = Readonly<{
13
+ challenge: ExternalOwnerChallenge;
14
+ signal: AbortSignal;
15
+ assertCurrent: () => void;
16
+ }>;
17
+ export type ExternalOwnerApproval = (input: ExternalOwnerApprovalRequest) => Promise<WalletCustodyFactorProof>;
18
+ export declare class ExternalOwnerApprovalError extends Error {
19
+ readonly code: 'cancelled' | 'expired';
20
+ constructor(code: 'cancelled' | 'expired');
21
+ }
22
+ export declare function approveExternalOwnerOperation(getContext: () => OwnerApprovalContext, input: ExternalOwnerApprovalRequest): Promise<WalletCustodyFactorProof>;
23
+ export {};
24
+ //# sourceMappingURL=externalOwnerApproval.d.ts.map
@@ -0,0 +1,12 @@
1
+ import { type SigningFlowEvent } from '../../../core/types/sdkSentEvents';
2
+ import type { SeamsWebContext } from '../../signingSurface/types';
3
+ import { type OwnerNearCommand, type OwnerNearOutcome } from '../shared/ownerNearOperation';
4
+ import type { HostedExternalAuth } from './externalAuth';
5
+ type OwnerNearPorts = {
6
+ readonly getContext: () => SeamsWebContext;
7
+ readonly captureConnection: HostedExternalAuth['captureOwnerOperation'];
8
+ readonly parentOrigin: string;
9
+ };
10
+ export declare function runOwnerNearOperation(ports: OwnerNearPorts, command: OwnerNearCommand, assertActive: () => void, onEvent: (event: SigningFlowEvent) => void, onSubmission: () => void): Promise<OwnerNearOutcome>;
11
+ export {};
12
+ //# sourceMappingURL=ownerNearOperation.d.ts.map
@@ -3,8 +3,8 @@ type WalletHostRequest<T extends ParentToChildType> = ParentToChildEnvelope & {
3
3
  type: T;
4
4
  };
5
5
  type BootWalletRequestType = 'PM_ACTIVATE_TRANSACTION_REVIEW' | 'PING' | 'PM_PREPARE_WALLET_RUNTIME' | 'PM_SET_CONFIG' | 'PM_CANCEL' | 'PM_SET_TRANSACTION_VIEW' | 'PM_TRANSACTION_BROADCAST_STARTED';
6
- type NearWalletRequestType = 'PM_REGISTER_WALLET' | 'PM_ADD_WALLET_SIGNER' | 'PM_ADD_PASSKEY' | 'PM_ACTIVATE_AUTH_METHOD' | 'PM_GET_AUTH_METHOD_AVAILABILITY' | 'PM_SET_AUTH_METHOD_ENABLED' | 'PM_ADD_EMAIL_OTP' | 'PM_REVOKE_AUTH_METHOD' | 'PM_GET_NEAR_PROVISIONING_STATE' | 'PM_SIGN_TX_WITH_ACTIONS' | 'PM_SIGN_AND_SEND_TX' | 'PM_SEND_TRANSACTION' | 'PM_SIGN_DELEGATE_ACTION' | 'PM_SIGN_NEP413';
7
- type AuthWalletRequestType = 'PM_OPEN_AUTH_MENU' | 'PM_CANCEL_AUTH_MENU' | 'PM_RESOLVE_AUTH_MENU_EXTERNAL_AUTH' | 'PM_UNLOCK' | 'PM_UNLOCK_AUTH_METHOD' | 'PM_EXTERNAL_AUTH' | 'PM_LOCK' | 'PM_LOCK_EXACT_WALLET_SESSION' | 'PM_GET_LAST_WALLET_MOVE_REQUEST' | 'PM_MOVE_WALLET' | 'PM_GET_WALLET_MOVE' | 'PM_GET_WALLET_PLACEMENT' | 'PM_GET_WALLET_SESSION' | 'PM_GET_EXACT_WALLET_SESSION_STATE' | 'PM_GET_RECENT_UNLOCKS';
6
+ type NearWalletRequestType = 'PM_OWNER_NEAR_TRANSACTION' | 'PM_REGISTER_WALLET' | 'PM_ADD_WALLET_SIGNER' | 'PM_ADD_PASSKEY' | 'PM_ACTIVATE_AUTH_METHOD' | 'PM_GET_AUTH_METHOD_AVAILABILITY' | 'PM_SET_AUTH_METHOD_ENABLED' | 'PM_ADD_EMAIL_OTP' | 'PM_REVOKE_AUTH_METHOD' | 'PM_GET_NEAR_PROVISIONING_STATE' | 'PM_SIGN_TX_WITH_ACTIONS' | 'PM_SIGN_AND_SEND_TX' | 'PM_SEND_TRANSACTION' | 'PM_SIGN_DELEGATE_ACTION' | 'PM_SIGN_NEP413';
7
+ type AuthWalletRequestType = 'PM_OPEN_AUTH_MENU' | 'PM_CANCEL_AUTH_MENU' | 'PM_RESOLVE_AUTH_MENU_EXTERNAL_AUTH' | 'PM_UNLOCK' | 'PM_UNLOCK_AUTH_METHOD' | 'PM_EXTERNAL_AUTH' | 'PM_EXTERNAL_OWNER_AUTH' | 'PM_LOCK' | 'PM_LOCK_EXACT_WALLET_SESSION' | 'PM_GET_LAST_WALLET_MOVE_REQUEST' | 'PM_MOVE_WALLET' | 'PM_GET_WALLET_MOVE' | 'PM_GET_WALLET_PLACEMENT' | 'PM_GET_WALLET_SESSION' | 'PM_GET_EXACT_WALLET_SESSION_STATE' | 'PM_GET_RECENT_UNLOCKS';
8
8
  type EcdsaWalletRequestType = 'PM_SIGN_TEMPO' | 'PM_REPORT_TEMPO_BROADCAST_ACCEPTED' | 'PM_REPORT_TEMPO_BROADCAST_REJECTED' | 'PM_REPORT_TEMPO_FINALIZED' | 'PM_REPORT_TEMPO_DROPPED_OR_REPLACED' | 'PM_RECONCILE_TEMPO_NONCE_LANE';
9
9
  type EmailOtpWalletRequestType = 'PM_REDEEM_HOSTED_WALLET_SEAMS_SESSION' | 'PM_REQUEST_EMAIL_OTP_CHALLENGE' | 'PM_BEGIN_GOOGLE_EMAIL_OTP_WALLET_AUTH' | 'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_RESEND' | 'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_REROLL_WALLET_ID' | 'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_SUBMIT' | 'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_COMPLETE_REGISTRATION' | 'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_CANCEL' | 'PM_GET_WALLET_RECOVERY_CODE_STATUS' | 'PM_ACKNOWLEDGE_WALLET_RECOVERY_CODE_BACKUP' | 'PM_ROTATE_WALLET_RECOVERY_CODES' | 'PM_REQUEST_WALLET_CUSTODY_EMAIL_OTP_CHALLENGE';
10
10
  type RecoveryWalletRequestType = 'PM_SYNC_ACCOUNT_FLOW';
@@ -25,6 +25,14 @@ export type WalletIframeExactSessionIdentityInput = {
25
25
  type WalletIframeSessionUnavailableReason = 'exhausted' | 'absent' | 'not_found' | 'unavailable' | 'upgrade_required' | 'superseded' | 'invalid';
26
26
  export type WalletIframeExactSessionState = {
27
27
  readonly kind: 'wallet_locked';
28
+ } | {
29
+ readonly kind: 'external_read';
30
+ readonly walletId: WalletId;
31
+ readonly externalSessionId: string;
32
+ readonly expiresAtMs: number;
33
+ readonly walletSessionId?: never;
34
+ readonly authorizationId?: never;
35
+ readonly authMethod?: never;
28
36
  } | {
29
37
  readonly kind: 'wallet_authenticated_identity_unresolvable';
30
38
  readonly walletId: WalletId;
@@ -1,3 +1,4 @@
1
+ import type { OwnerNearCommand } from './ownerNearOperation';
1
2
  import type { WalletSessionHome } from '../../../../../shared-ts/src/device-linking/contracts';
2
3
  import type { SigningEngineResolveExactKeyExportLaneInput as ResolveExactKeyExportLaneInput } from '../../../core/signingEngine/flows/recovery/public';
3
4
  import type { TransactionReviewWire, TransactionReviewStateMessage } from './transactionReview';
@@ -16,7 +17,7 @@ import type { TempoSignedResult } from '../../../core/signingEngine/chains/tempo
16
17
  import type { KeyExportUiOptions } from '../../../core/signingEngine/flows/recovery/keyExportFlow';
17
18
  import type { EvmEip155ChainTarget, NearAccountRef, TempoChainTarget, ThresholdEcdsaChainTarget, WalletSessionRef } from '../../../core/signingEngine/interfaces/ecdsaChainTarget';
18
19
  import type { EmailOtpAuthPolicy } from '../../../core/types/seams';
19
- import type { WalletCustodyAdminOperation } from '../../../../../shared-ts/src/authorization/walletCustodyOperation';
20
+ import type { WalletOwnerAdminOperation } from '../../../../../shared-ts/src/authorization/walletOwnerOperation';
20
21
  import type { MpcMaterialActivationRef } from '../../../../../shared-ts/src/utils/domainIds';
21
22
  import type { RegistrationTimingSpanV1, SdkLifecycleEvent, WalletFlowEvent } from '../../../core/types/sdkSentEvents';
22
23
  import type { GoogleEmailOtpWalletAuthDelivery, GoogleEmailOtpWalletAuthEcdsaTargets, GoogleEmailOtpWalletAuthFailure, GoogleEmailOtpWalletAuthPromptCopy, GoogleEmailOtpWalletAuthRegistrationCompleted, GoogleEmailOtpWalletAuthResolvedMode, GoogleEmailOtpWalletAuthRequestedMode, GoogleEmailOtpWalletAuthSubmitSuccess, RequestEmailCodeInput, WalletRecoveryRotationAuthorization } from '../../publicApi/types';
@@ -192,10 +193,10 @@ export declare function buildHostedAuthMenuCancelPayload(args: {
192
193
  reason: HostedAuthMenuCancelReason;
193
194
  }): HostedAuthMenuCancelPayload;
194
195
  export declare function parseHostedAuthMenuOutcome(value: unknown): HostedAuthMenuOutcome | null;
195
- export declare const WALLET_PROTOCOL_VERSION: '18.0.0';
196
+ export declare const WALLET_PROTOCOL_VERSION: '19.0.0';
196
197
  export declare const WALLET_IFRAME_PROTOCOL_VERSION_MISMATCH: 'WALLET_IFRAME_PROTOCOL_VERSION_MISMATCH';
197
198
  export type WalletProtocolVersion = typeof WALLET_PROTOCOL_VERSION;
198
- export type ParentToChildType = 'PM_SET_TRANSACTION_VIEW' | 'PM_TRANSACTION_BROADCAST_STARTED' | 'PING' | 'PM_PREPARE_WALLET_RUNTIME' | 'PM_SET_CONFIG' | 'PM_ACTIVATE_TRANSACTION_REVIEW' | 'PM_CANCEL' | 'PM_OPEN_AUTH_MENU' | 'PM_CANCEL_AUTH_MENU' | 'PM_RESOLVE_AUTH_MENU_EXTERNAL_AUTH' | 'PM_REDEEM_HOSTED_WALLET_SEAMS_SESSION' | 'PM_REGISTER_WALLET' | 'PM_ADD_WALLET_SIGNER' | 'PM_ADD_PASSKEY' | 'PM_ACTIVATE_AUTH_METHOD' | 'PM_GET_AUTH_METHOD_AVAILABILITY' | 'PM_SET_AUTH_METHOD_ENABLED' | 'PM_ADD_EMAIL_OTP' | 'PM_REVOKE_AUTH_METHOD' | 'PM_UNLOCK' | 'PM_UNLOCK_AUTH_METHOD' | 'PM_EXTERNAL_AUTH' | 'PM_LOCK' | 'PM_LOCK_EXACT_WALLET_SESSION' | 'PM_GET_LAST_WALLET_MOVE_REQUEST' | 'PM_MOVE_WALLET' | 'PM_GET_WALLET_MOVE' | 'PM_GET_WALLET_PLACEMENT' | 'PM_GET_WALLET_SESSION' | 'PM_GET_EXACT_WALLET_SESSION_STATE' | 'PM_GET_NEAR_PROVISIONING_STATE' | 'PM_REQUEST_EMAIL_OTP_CHALLENGE' | 'PM_BEGIN_GOOGLE_EMAIL_OTP_WALLET_AUTH' | 'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_RESEND' | 'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_REROLL_WALLET_ID' | 'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_SUBMIT' | 'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_COMPLETE_REGISTRATION' | 'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_CANCEL' | 'PM_GET_WALLET_RECOVERY_CODE_STATUS' | 'PM_ACKNOWLEDGE_WALLET_RECOVERY_CODE_BACKUP' | 'PM_ROTATE_WALLET_RECOVERY_CODES' | 'PM_REQUEST_WALLET_CUSTODY_EMAIL_OTP_CHALLENGE' | 'PM_SIGN_TX_WITH_ACTIONS' | 'PM_SIGN_AND_SEND_TX' | 'PM_SEND_TRANSACTION' | 'PM_SIGN_DELEGATE_ACTION' | 'PM_SIGN_NEP413' | 'PM_SIGN_TEMPO' | 'PM_REPORT_TEMPO_BROADCAST_ACCEPTED' | 'PM_REPORT_TEMPO_BROADCAST_REJECTED' | 'PM_REPORT_TEMPO_FINALIZED' | 'PM_REPORT_TEMPO_DROPPED_OR_REPLACED' | 'PM_RECONCILE_TEMPO_NONCE_LANE' | 'PM_RESOLVE_EXACT_KEY_EXPORT_LANE' | 'PM_EXPORT_KEYPAIR_UI' | 'PM_GET_RECENT_UNLOCKS' | 'PM_SET_CONFIRM_BEHAVIOR' | 'PM_SET_CONFIRMATION_CONFIG' | 'PM_GET_CONFIRMATION_CONFIG' | 'PM_HAS_PASSKEY' | 'PM_LIST_LINKED_DEVICES' | 'PM_REVOKE_LINKED_DEVICE' | 'PM_SCAN_AND_LINK_DEVICE' | 'PM_START_DEVICE2_LINKING_FLOW' | 'PM_DEVICE_LINK_TARGET_FACTOR_ACTION' | 'PM_DEVICE_LINK_EMAIL_OTP_BASE_FACTOR_ACTION' | 'PM_CANCEL_DEVICE_LINKING' | 'PM_SYNC_ACCOUNT_FLOW';
199
+ export type ParentToChildType = 'PM_SET_TRANSACTION_VIEW' | 'PM_TRANSACTION_BROADCAST_STARTED' | 'PING' | 'PM_PREPARE_WALLET_RUNTIME' | 'PM_SET_CONFIG' | 'PM_ACTIVATE_TRANSACTION_REVIEW' | 'PM_CANCEL' | 'PM_OPEN_AUTH_MENU' | 'PM_CANCEL_AUTH_MENU' | 'PM_RESOLVE_AUTH_MENU_EXTERNAL_AUTH' | 'PM_REDEEM_HOSTED_WALLET_SEAMS_SESSION' | 'PM_REGISTER_WALLET' | 'PM_ADD_WALLET_SIGNER' | 'PM_ADD_PASSKEY' | 'PM_ACTIVATE_AUTH_METHOD' | 'PM_GET_AUTH_METHOD_AVAILABILITY' | 'PM_SET_AUTH_METHOD_ENABLED' | 'PM_ADD_EMAIL_OTP' | 'PM_REVOKE_AUTH_METHOD' | 'PM_UNLOCK' | 'PM_UNLOCK_AUTH_METHOD' | 'PM_EXTERNAL_AUTH' | 'PM_EXTERNAL_OWNER_AUTH' | 'PM_LOCK' | 'PM_LOCK_EXACT_WALLET_SESSION' | 'PM_GET_LAST_WALLET_MOVE_REQUEST' | 'PM_MOVE_WALLET' | 'PM_GET_WALLET_MOVE' | 'PM_GET_WALLET_PLACEMENT' | 'PM_GET_WALLET_SESSION' | 'PM_GET_EXACT_WALLET_SESSION_STATE' | 'PM_GET_NEAR_PROVISIONING_STATE' | 'PM_REQUEST_EMAIL_OTP_CHALLENGE' | 'PM_BEGIN_GOOGLE_EMAIL_OTP_WALLET_AUTH' | 'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_RESEND' | 'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_REROLL_WALLET_ID' | 'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_SUBMIT' | 'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_COMPLETE_REGISTRATION' | 'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_CANCEL' | 'PM_GET_WALLET_RECOVERY_CODE_STATUS' | 'PM_ACKNOWLEDGE_WALLET_RECOVERY_CODE_BACKUP' | 'PM_ROTATE_WALLET_RECOVERY_CODES' | 'PM_REQUEST_WALLET_CUSTODY_EMAIL_OTP_CHALLENGE' | 'PM_SIGN_TX_WITH_ACTIONS' | 'PM_OWNER_NEAR_TRANSACTION' | 'PM_SIGN_AND_SEND_TX' | 'PM_SEND_TRANSACTION' | 'PM_SIGN_DELEGATE_ACTION' | 'PM_SIGN_NEP413' | 'PM_SIGN_TEMPO' | 'PM_REPORT_TEMPO_BROADCAST_ACCEPTED' | 'PM_REPORT_TEMPO_BROADCAST_REJECTED' | 'PM_REPORT_TEMPO_FINALIZED' | 'PM_REPORT_TEMPO_DROPPED_OR_REPLACED' | 'PM_RECONCILE_TEMPO_NONCE_LANE' | 'PM_RESOLVE_EXACT_KEY_EXPORT_LANE' | 'PM_EXPORT_KEYPAIR_UI' | 'PM_GET_RECENT_UNLOCKS' | 'PM_SET_CONFIRM_BEHAVIOR' | 'PM_SET_CONFIRMATION_CONFIG' | 'PM_GET_CONFIRMATION_CONFIG' | 'PM_HAS_PASSKEY' | 'PM_LIST_LINKED_DEVICES' | 'PM_REVOKE_LINKED_DEVICE' | 'PM_SCAN_AND_LINK_DEVICE' | 'PM_START_DEVICE2_LINKING_FLOW' | 'PM_DEVICE_LINK_TARGET_FACTOR_ACTION' | 'PM_DEVICE_LINK_EMAIL_OTP_BASE_FACTOR_ACTION' | 'PM_CANCEL_DEVICE_LINKING' | 'PM_SYNC_ACCOUNT_FLOW';
199
200
  interface RpcEnvelope<T extends string = string, P = unknown> {
200
201
  type: T;
201
202
  requestId?: string;
@@ -264,6 +265,7 @@ type PMGoogleSsoRegistrationAuthMethod = Omit<Extract<EmailOtpRegistrationAuthMe
264
265
  };
265
266
  export type PMRegistrationAuthMethodInput = PasskeyRegistrationAuthMethodInput | PMEmailOtpChallengeRegistrationAuthMethod | PMGoogleSsoRegistrationAuthMethod;
266
267
  interface PMRegisterWalletPayload {
268
+ completion: import('../../../../../shared-ts/src/utils/registrationIntent').RegistrationCompletion;
267
269
  authMethod: PMRegistrationAuthMethodInput;
268
270
  wallet: RegisterWalletInput;
269
271
  signerSelection: RegistrationSignerSetSelection;
@@ -528,7 +530,7 @@ interface PMWalletRecoverySessionPayload {
528
530
  interface PMRequestWalletCustodyEmailOtpChallengePayload {
529
531
  walletId: string;
530
532
  providerSubjectId: string;
531
- operation: WalletCustodyAdminOperation;
533
+ operation: WalletOwnerAdminOperation;
532
534
  payload: Record<string, unknown>;
533
535
  requestOrigin?: string;
534
536
  }
@@ -594,7 +596,7 @@ export declare function parseDeviceLinkTargetFactorActionPayloadV1(value: unknow
594
596
  readonly activationId: string;
595
597
  readonly action: DeviceLinkTargetFactorActionV1;
596
598
  } | null;
597
- export type ProgressPayload = WalletFlowEvent | RegistrationTimingSpanV1 | DeviceLinkTargetFactorActivationProgressV1 | DeviceLinkEmailOtpBaseFactorSelectionProgressV1;
599
+ export type ProgressPayload = import('./ownerNearOperation').OwnerNearSubmissionProgress | WalletFlowEvent | RegistrationTimingSpanV1 | DeviceLinkTargetFactorActivationProgressV1 | DeviceLinkEmailOtpBaseFactorSelectionProgressV1;
598
600
  export declare function isDeviceLinkTargetFactorActivationProgressV1(value: ProgressPayload): value is DeviceLinkTargetFactorActivationProgressV1;
599
601
  export declare function isRegistrationTimingSpanV1(value: unknown): value is RegistrationTimingSpanV1;
600
602
  export interface PMResultPayload {
@@ -622,7 +624,13 @@ export type ParentToChildEnvelope = RpcEnvelope<'PM_ACTIVATE_TRANSACTION_REVIEW'
622
624
  signedTransaction: string;
623
625
  }> | RpcEnvelope<'PING'> | RpcEnvelope<'PM_PREPARE_WALLET_RUNTIME'> | RpcEnvelope<'PM_SET_CONFIG', PMSetConfigPayload> | RpcEnvelope<'PM_CANCEL', PMCancelPayload> | RpcEnvelope<'PM_OPEN_AUTH_MENU', PMOpenAuthMenuPayload> | RpcEnvelope<'PM_CANCEL_AUTH_MENU', PMCancelAuthMenuPayload> | RpcEnvelope<'PM_RESOLVE_AUTH_MENU_EXTERNAL_AUTH', PMResolveAuthMenuExternalAuthPayload> | RpcEnvelope<'PM_REDEEM_HOSTED_WALLET_SEAMS_SESSION', PMRedeemHostedWalletSeamsSessionPayload> | RpcEnvelope<'PM_REGISTER_WALLET', PMRegisterWalletPayload> | RpcEnvelope<'PM_ADD_WALLET_SIGNER', PMAddWalletSignerPayload> | RpcEnvelope<'PM_ADD_PASSKEY', PMAddPasskeyPayload> | RpcEnvelope<'PM_ACTIVATE_AUTH_METHOD', PMActivateAuthMethodPayload> | RpcEnvelope<'PM_GET_AUTH_METHOD_AVAILABILITY', PMActivateAuthMethodPayload> | RpcEnvelope<'PM_SET_AUTH_METHOD_ENABLED', PMActivateAuthMethodPayload & {
624
626
  enabled: boolean;
625
- }> | RpcEnvelope<'PM_ADD_EMAIL_OTP', PMAddEmailOtpPayload> | RpcEnvelope<'PM_REVOKE_AUTH_METHOD', PMRevokeAuthMethodPayload> | RpcEnvelope<'PM_UNLOCK', PMUnlockPayload> | RpcEnvelope<'PM_EXTERNAL_AUTH', import('../../../../../shared-ts/src/auth/externalAuth').ExternalAuthCommand> | RpcEnvelope<'PM_UNLOCK_AUTH_METHOD', {
627
+ }> | RpcEnvelope<'PM_ADD_EMAIL_OTP', PMAddEmailOtpPayload> | RpcEnvelope<'PM_REVOKE_AUTH_METHOD', PMRevokeAuthMethodPayload> | RpcEnvelope<'PM_UNLOCK', PMUnlockPayload> | RpcEnvelope<'PM_EXTERNAL_AUTH', import('../../../../../shared-ts/src/auth/externalAuth').ExternalAuthCommand> | (RpcEnvelope<'PM_EXTERNAL_OWNER_AUTH', Extract<import('../../../../../shared-ts/src/auth/externalAuth').ExternalAuthCommand, {
628
+ action: 'associate' | 'unlink';
629
+ }>> & {
630
+ payload: Extract<import('../../../../../shared-ts/src/auth/externalAuth').ExternalAuthCommand, {
631
+ action: 'associate' | 'unlink';
632
+ }>;
633
+ }) | RpcEnvelope<'PM_UNLOCK_AUTH_METHOD', {
626
634
  walletId: string;
627
635
  walletAuthMethodId: string;
628
636
  method: WalletAuthMethodPlugin['kind'];
@@ -638,7 +646,9 @@ export type ParentToChildEnvelope = RpcEnvelope<'PM_ACTIVATE_TRANSACTION_REVIEW'
638
646
  readonly moveId: string;
639
647
  }> | RpcEnvelope<'PM_GET_WALLET_PLACEMENT', {
640
648
  readonly walletId: string;
641
- }> | RpcEnvelope<'PM_GET_WALLET_SESSION', PMGetWalletSessionPayload> | RpcEnvelope<'PM_GET_EXACT_WALLET_SESSION_STATE', PMGetExactWalletSessionStatePayload> | RpcEnvelope<'PM_GET_NEAR_PROVISIONING_STATE', PMGetNearProvisioningStatePayload> | RpcEnvelope<'PM_REQUEST_EMAIL_OTP_CHALLENGE', PMEmailOtpChallengePayload> | RpcEnvelope<'PM_BEGIN_GOOGLE_EMAIL_OTP_WALLET_AUTH', PMGoogleEmailOtpWalletAuthStartPayload> | RpcEnvelope<'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_RESEND', PMGoogleEmailOtpWalletAuthHandlePayload> | RpcEnvelope<'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_REROLL_WALLET_ID', PMGoogleEmailOtpWalletAuthHandlePayload> | RpcEnvelope<'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_SUBMIT', PMGoogleEmailOtpWalletAuthSubmitPayload> | RpcEnvelope<'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_COMPLETE_REGISTRATION', PMGoogleEmailOtpWalletAuthHandlePayload> | RpcEnvelope<'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_CANCEL', PMGoogleEmailOtpWalletAuthHandlePayload> | RpcEnvelope<'PM_GET_WALLET_RECOVERY_CODE_STATUS', PMWalletRecoveryOwnerPayload> | RpcEnvelope<'PM_ACKNOWLEDGE_WALLET_RECOVERY_CODE_BACKUP', PMWalletRecoveryOwnerPayload> | RpcEnvelope<'PM_ROTATE_WALLET_RECOVERY_CODES', PMRotateWalletRecoveryCodesPayload> | RpcEnvelope<'PM_REQUEST_WALLET_CUSTODY_EMAIL_OTP_CHALLENGE', PMRequestWalletCustodyEmailOtpChallengePayload> | RpcEnvelope<'PM_SIGN_TX_WITH_ACTIONS', PMSignTxPayload> | ReviewedTransactionEnvelope<RpcEnvelope<'PM_SIGN_AND_SEND_TX', PMSignAndSendTxPayload>> | RpcEnvelope<'PM_SEND_TRANSACTION', PMSendTxPayload> | RpcEnvelope<'PM_SIGN_DELEGATE_ACTION', PMSignDelegateActionPayload> | RpcEnvelope<'PM_SIGN_NEP413', PMSignNep413Payload> | ReviewedTransactionEnvelope<RpcEnvelope<'PM_SIGN_TEMPO', PMSignTempoPayload>> | RpcEnvelope<'PM_REPORT_TEMPO_BROADCAST_ACCEPTED', PMReportTempoBroadcastAcceptedPayload> | RpcEnvelope<'PM_REPORT_TEMPO_BROADCAST_REJECTED', PMReportTempoBroadcastRejectedPayload> | RpcEnvelope<'PM_REPORT_TEMPO_FINALIZED', PMReportTempoFinalizedPayload> | RpcEnvelope<'PM_REPORT_TEMPO_DROPPED_OR_REPLACED', PMReportTempoDroppedOrReplacedPayload> | RpcEnvelope<'PM_RECONCILE_TEMPO_NONCE_LANE', PMReconcileTempoNonceLanePayload> | RpcEnvelope<'PM_RESOLVE_EXACT_KEY_EXPORT_LANE', PMResolveExactKeyExportLanePayload> | RpcEnvelope<'PM_EXPORT_KEYPAIR_UI', PMExportKeypairUiPayload> | RpcEnvelope<'PM_GET_RECENT_UNLOCKS'> | RpcEnvelope<'PM_SET_CONFIRM_BEHAVIOR', PMSetConfirmBehaviorPayload> | RpcEnvelope<'PM_SET_CONFIRMATION_CONFIG', PMSetConfirmationConfigPayload> | RpcEnvelope<'PM_GET_CONFIRMATION_CONFIG'> | RpcEnvelope<'PM_HAS_PASSKEY', PMHasPasskeyPayload> | RpcEnvelope<'PM_LIST_LINKED_DEVICES', PMListLinkedDevicesPayload> | RpcEnvelope<'PM_REVOKE_LINKED_DEVICE', PMRevokeLinkedDevicePayload> | RpcEnvelope<'PM_SCAN_AND_LINK_DEVICE', {
649
+ }> | RpcEnvelope<'PM_GET_WALLET_SESSION', PMGetWalletSessionPayload> | RpcEnvelope<'PM_GET_EXACT_WALLET_SESSION_STATE', PMGetExactWalletSessionStatePayload> | RpcEnvelope<'PM_GET_NEAR_PROVISIONING_STATE', PMGetNearProvisioningStatePayload> | RpcEnvelope<'PM_REQUEST_EMAIL_OTP_CHALLENGE', PMEmailOtpChallengePayload> | RpcEnvelope<'PM_BEGIN_GOOGLE_EMAIL_OTP_WALLET_AUTH', PMGoogleEmailOtpWalletAuthStartPayload> | RpcEnvelope<'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_RESEND', PMGoogleEmailOtpWalletAuthHandlePayload> | RpcEnvelope<'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_REROLL_WALLET_ID', PMGoogleEmailOtpWalletAuthHandlePayload> | RpcEnvelope<'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_SUBMIT', PMGoogleEmailOtpWalletAuthSubmitPayload> | RpcEnvelope<'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_COMPLETE_REGISTRATION', PMGoogleEmailOtpWalletAuthHandlePayload> | RpcEnvelope<'PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_CANCEL', PMGoogleEmailOtpWalletAuthHandlePayload> | RpcEnvelope<'PM_GET_WALLET_RECOVERY_CODE_STATUS', PMWalletRecoveryOwnerPayload> | RpcEnvelope<'PM_ACKNOWLEDGE_WALLET_RECOVERY_CODE_BACKUP', PMWalletRecoveryOwnerPayload> | RpcEnvelope<'PM_ROTATE_WALLET_RECOVERY_CODES', PMRotateWalletRecoveryCodesPayload> | RpcEnvelope<'PM_REQUEST_WALLET_CUSTODY_EMAIL_OTP_CHALLENGE', PMRequestWalletCustodyEmailOtpChallengePayload> | (RpcEnvelope<'PM_OWNER_NEAR_TRANSACTION', OwnerNearCommand> & {
650
+ payload: OwnerNearCommand;
651
+ }) | RpcEnvelope<'PM_SIGN_TX_WITH_ACTIONS', PMSignTxPayload> | ReviewedTransactionEnvelope<RpcEnvelope<'PM_SIGN_AND_SEND_TX', PMSignAndSendTxPayload>> | RpcEnvelope<'PM_SEND_TRANSACTION', PMSendTxPayload> | RpcEnvelope<'PM_SIGN_DELEGATE_ACTION', PMSignDelegateActionPayload> | RpcEnvelope<'PM_SIGN_NEP413', PMSignNep413Payload> | ReviewedTransactionEnvelope<RpcEnvelope<'PM_SIGN_TEMPO', PMSignTempoPayload>> | RpcEnvelope<'PM_REPORT_TEMPO_BROADCAST_ACCEPTED', PMReportTempoBroadcastAcceptedPayload> | RpcEnvelope<'PM_REPORT_TEMPO_BROADCAST_REJECTED', PMReportTempoBroadcastRejectedPayload> | RpcEnvelope<'PM_REPORT_TEMPO_FINALIZED', PMReportTempoFinalizedPayload> | RpcEnvelope<'PM_REPORT_TEMPO_DROPPED_OR_REPLACED', PMReportTempoDroppedOrReplacedPayload> | RpcEnvelope<'PM_RECONCILE_TEMPO_NONCE_LANE', PMReconcileTempoNonceLanePayload> | RpcEnvelope<'PM_RESOLVE_EXACT_KEY_EXPORT_LANE', PMResolveExactKeyExportLanePayload> | RpcEnvelope<'PM_EXPORT_KEYPAIR_UI', PMExportKeypairUiPayload> | RpcEnvelope<'PM_GET_RECENT_UNLOCKS'> | RpcEnvelope<'PM_SET_CONFIRM_BEHAVIOR', PMSetConfirmBehaviorPayload> | RpcEnvelope<'PM_SET_CONFIRMATION_CONFIG', PMSetConfirmationConfigPayload> | RpcEnvelope<'PM_GET_CONFIRMATION_CONFIG'> | RpcEnvelope<'PM_HAS_PASSKEY', PMHasPasskeyPayload> | RpcEnvelope<'PM_LIST_LINKED_DEVICES', PMListLinkedDevicesPayload> | RpcEnvelope<'PM_REVOKE_LINKED_DEVICE', PMRevokeLinkedDevicePayload> | RpcEnvelope<'PM_SCAN_AND_LINK_DEVICE', {
642
652
  qrData: QrLinkedDeviceSessionPayloadV5;
643
653
  options?: {
644
654
  confirmationConfig?: Partial<ConfirmationConfig>;
@@ -0,0 +1,51 @@
1
+ import { type SigningOperationId } from '../../../core/signingEngine/session/operationState/types';
2
+ import { type WalletId } from '../../../../../shared-ts/src/utils/domainIds';
3
+ import { type AccountId } from '../../../core/types/accountIds';
4
+ import { type TransactionInputWasm } from '../../../core/types/actions';
5
+ import type { ActionResult } from '../../../core/types/seams';
6
+ import { type ExternalWalletAuthentication } from '../../../../../shared-ts/src/auth/externalAuth';
7
+ import type { ReadonlyExclusiveUnion } from '../../../../../shared-ts/src/utils/variant';
8
+ export type OwnerNearRecovery = Readonly<{
9
+ operationId: SigningOperationId;
10
+ walletId: WalletId;
11
+ nearAccountId: AccountId;
12
+ }>;
13
+ export type OwnerNearCommand = Readonly<{
14
+ authentication: ExternalWalletAuthentication;
15
+ recovery: OwnerNearRecovery;
16
+ }> & ReadonlyExclusiveUnion<{
17
+ action: 'approve';
18
+ transaction: TransactionInputWasm;
19
+ expiresAtMs: number;
20
+ } | {
21
+ action: 'recover';
22
+ }>;
23
+ export type OwnerNearOutcome = ReadonlyExclusiveUnion<{
24
+ kind: 'completed';
25
+ result: Extract<ActionResult, {
26
+ success: true;
27
+ }>;
28
+ } | {
29
+ kind: 'reverted';
30
+ transactionId: string;
31
+ error: string;
32
+ } | {
33
+ kind: 'cancelled';
34
+ } | {
35
+ kind: 'expired';
36
+ } | {
37
+ kind: 'unknown';
38
+ recovery: OwnerNearRecovery;
39
+ } | {
40
+ kind: 'failed';
41
+ error: string;
42
+ }>;
43
+ export declare function parseOwnerNearRecovery(raw: unknown): OwnerNearRecovery;
44
+ export declare function parseOwnerNearCommand(raw: unknown): OwnerNearCommand;
45
+ export declare function parseOwnerNearOutcome(raw: unknown): OwnerNearOutcome;
46
+ export type OwnerNearSubmissionProgress = Readonly<{
47
+ event: 'owner_near_submitting';
48
+ operationId: SigningOperationId;
49
+ }>;
50
+ export declare function parseOwnerNearSubmissionProgress(raw: unknown): OwnerNearSubmissionProgress | null;
51
+ //# sourceMappingURL=ownerNearOperation.d.ts.map
@@ -24,6 +24,7 @@ export declare class RegistrationSetupRepository {
24
24
  private readonly manager;
25
25
  constructor(manager: SeamsWalletDBManager);
26
26
  begin(scopeDigest: string, request: {
27
+ readonly completion: import('../../../../../shared-ts/src/utils/registrationIntent').RegistrationCompletion;
27
28
  readonly wallet: RegisterWalletInput;
28
29
  readonly authMethod: RegistrationAuthMethodInput;
29
30
  readonly signerSelection: RegistrationSignerSetSelection;
@@ -177,6 +177,10 @@ export type StoreWalletRegistrationPublicationInputV1 = Omit<StoreWalletRegistra
177
177
  };
178
178
  };
179
179
  type WalletRegistrationSessionPublicationV1 = {
180
+ readonly kind: 'owner_operations';
181
+ readonly walletSession?: never;
182
+ readonly operationCredential?: never;
183
+ } | {
180
184
  readonly kind: 'issued';
181
185
  readonly walletSession: ActiveWalletSessionV1;
182
186
  readonly operationCredential: WalletSessionOperationCredentialV1;
@@ -39,4 +39,8 @@ export declare class MinimalNearClient extends NearJsonRpcClient<SignedTransacti
39
39
  protected errorFromHttpStatus(response: Response): Error;
40
40
  protected sendWithRetry<T>(send: () => Promise<T>): Promise<T>;
41
41
  }
42
+ /** An owner operation records its hash before one broadcast and then recovers by status. */
43
+ export declare class OwnerOperationNearClient extends MinimalNearClient {
44
+ protected sendWithRetry<T>(send: () => Promise<T>): Promise<T>;
45
+ }
42
46
  //# sourceMappingURL=NearClient.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { type WalletRecoverySetRotationWireV1 } from '../../../../../shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet';
2
- import type { WalletCustodyAdminOperation } from '../../../../../shared-ts/src/authorization/walletCustodyOperation';
2
+ import type { WalletOwnerAdminOperation } from '../../../../../shared-ts/src/authorization/walletOwnerOperation';
3
3
  import type { WebAuthnAuthenticationCredential } from '../../types/webauthn';
4
4
  export type WalletCustodyFactorProof = {
5
5
  readonly kind: 'passkey';
@@ -32,7 +32,7 @@ export declare function requestWalletCustodyEmailOtpChallenge(args: {
32
32
  readonly relayUrl: string;
33
33
  readonly walletId: string;
34
34
  readonly providerSubjectId: string;
35
- readonly operation: WalletCustodyAdminOperation;
35
+ readonly operation: WalletOwnerAdminOperation;
36
36
  readonly payload: Record<string, unknown>;
37
37
  readonly requestOrigin?: string;
38
38
  readonly fetchImpl?: typeof fetch;
@@ -502,6 +502,7 @@ export type WalletEcdsaKeyFactsInventoryResponse = {
502
502
  export declare function setupWalletRegistration(args: {
503
503
  relayerUrl: string;
504
504
  request: {
505
+ completion?: RegistrationIntentV1['completion'];
505
506
  wallet?: RegisterWalletInput;
506
507
  signerSelection: CreateRegistrationIntentRequest['signerSelection'];
507
508
  authMethod: CreateRegistrationIntentRequest['authMethod'];
@@ -1,3 +1,4 @@
1
+ import type { KeyMaterialRecord } from '../../../indexedDB/keyMaterial.types';
1
2
  import { type AccountKeyMaterialDeps } from '../../../indexedDB/accountKeyMaterial';
2
3
  import type { NearEd25519YaoOperationMaterial, NearResolvedEd25519SigningSessionState } from '../../interfaces/near';
3
4
  import { type ThresholdRuntimePolicyScope } from '../../threshold/sessionPolicy';
@@ -5,6 +6,7 @@ import { type RouterAbEd25519NormalSigningState } from '../../threshold/ed25519/
5
6
  import { type RouterAbEd25519YaoActiveClientV1, type RouterAbEd25519YaoSealableActiveClientV1 } from '../../threshold/ed25519/yaoClient';
6
7
  import { type MpcMaterialActivationRef } from '../../../../../../shared-ts/src/utils/domainIds';
7
8
  import { type NearEd25519YaoPublicLocatorObservationV1 } from '../material/nearEd25519YaoMaterialActivation';
9
+ import type { RouterAbEd25519YaoRecoveryActivationReceiptV1 } from '../../../../../../shared-ts/src/utils/routerAbEd25519Yao';
8
10
  import { type WalletAuthAuthorityRef } from '../../../../../../shared-ts/src/utils/walletAuthAuthority';
9
11
  import { buildRestorableMpcMaterialRefInternal } from '../material/restorableMpcMaterialRef.internal';
10
12
  import type { MpcCapabilityHydrationPlan } from '../material/mpcCapabilityHydration';
@@ -62,6 +64,11 @@ type PersistPasskeyEd25519YaoSignerMaterialInputV1 = {
62
64
  stableServerScope: PasskeyEd25519YaoStableServerScopeV1;
63
65
  passkeyPrfFirstB64u: string;
64
66
  };
67
+ type PasskeyEd25519YaoLocalMaterialTargetV1 = {
68
+ profileId: string;
69
+ chainIdKey: string;
70
+ accountAddress: string;
71
+ };
65
72
  type HydratePasskeyEd25519YaoLocalMaterialResultV1 = {
66
73
  kind: 'live';
67
74
  plan: Extract<MpcCapabilityHydrationPlan, {
@@ -107,6 +114,20 @@ export type PasskeyEd25519YaoPublicLocatorObservationV1 = Omit<Extract<NearEd255
107
114
  kind: 'available';
108
115
  }>;
109
116
  export declare function ed25519YaoLocalMaterialIdentityFromWalletSession(walletSessionState: NearResolvedEd25519SigningSessionState, rpId: string, credentialIdB64u: string): Ed25519YaoLocalMaterialIdentity;
117
+ export declare function buildPasskeyEd25519YaoLocalMaterialRecordV1(input: {
118
+ target: PasskeyEd25519YaoLocalMaterialTargetV1;
119
+ activeClient: RouterAbEd25519YaoSealableActiveClientV1;
120
+ identity: Ed25519YaoLocalMaterialIdentity;
121
+ stableServerScope: PasskeyEd25519YaoStableServerScopeV1;
122
+ ownedPasskeyPrfFirst: Uint8Array;
123
+ lifecycle: {
124
+ kind: 'registration_or_rehydration';
125
+ promotionReceipt?: never;
126
+ } | {
127
+ kind: 'recovery_promotion';
128
+ promotionReceipt: RouterAbEd25519YaoRecoveryActivationReceiptV1;
129
+ };
130
+ }): KeyMaterialRecord;
110
131
  export declare function persistPasskeyEd25519YaoSignerMaterialV1(input: PersistPasskeyEd25519YaoSignerMaterialInputV1): Promise<void>;
111
132
  export declare function readPasskeyEd25519YaoLocalMaterialLocatorV1(input: ReadPasskeyEd25519YaoLocalMaterialLocatorInputV1): Promise<ReadPasskeyEd25519YaoLocalMaterialLocatorResultV1>;
112
133
  export declare function preparePasskeyEd25519YaoLocalMaterialRehydrationV1(input: {
@@ -475,6 +475,13 @@ export type RegistrationNearProvisioningState = {
475
475
  errorCode: NearProvisioningErrorCode;
476
476
  };
477
477
  export type RegistrationResult = {
478
+ readonly success: true;
479
+ readonly kind: 'wallet_owner_registered';
480
+ readonly walletId: WalletId;
481
+ readonly capabilities: readonly [RegisteredNearEd25519Capability];
482
+ readonly error?: never;
483
+ readonly errorCode?: never;
484
+ } | {
478
485
  readonly success: true;
479
486
  readonly kind: 'wallet_registered';
480
487
  readonly walletId: WalletId;
@@ -43,4 +43,6 @@ export type { AmountErrorCode, NearAmount, YoctoNear } from './core/types/amount
43
43
  export { logWalletEvents } from './core/types/eventLogging';
44
44
  export type { PasskeyErrorDetails } from './core/types/errors';
45
45
  export type { ConfirmationConfig, ConfirmationUIMode, ConfirmationBehavior, } from './core/types/signer-worker';
46
+ export type { OwnerNearOperation, OwnerNearOperationState, OwnerNearRecovery, OwnerNearOutcome, PrepareOwnerNearTransaction, ResumeOwnerNearTransaction } from './SeamsWeb/publicApi/ownerNearOperation';
47
+ export { parseOwnerNearRecovery } from './SeamsWeb/walletIframe/shared/ownerNearOperation';
46
48
  //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,7 @@
1
+ import type { ReadonlyExclusiveUnion } from '../../../shared-ts/src/utils/variant';
2
+ import type { ExternalWalletAuthentication } from '../../../shared-ts/src/auth/externalAuth';
3
+ import type { OwnerNearOperation, OwnerNearRecovery } from '../SeamsWeb/publicApi/ownerNearOperation';
4
+ import type { TransactionInput } from '../core/types/actions';
1
5
  import type { ReviewedTransactionInput } from './transactionReview/contract';
2
6
  import type { ReviewOwner, ReviewHostController } from './transactionReview/controller';
3
7
  import type { AuthenticatedLoginState } from './types';
@@ -22,7 +26,8 @@ export interface BoundTempoSigner {
22
26
  signTransaction(args: ReviewedTransactionInput<WithoutWalletSession<Parameters<TempoSignerCapability['signTransaction']>[0]>>): ReturnType<TempoSignerCapability['signTransaction']>;
23
27
  signAndSendTransaction(args: ReviewedTransactionInput<WithoutWalletSession<Parameters<TempoSignerCapability['signAndSendTransaction']>[0]>>): ReturnType<TempoSignerCapability['signAndSendTransaction']>;
24
28
  }
25
- export interface BoundWallet {
29
+ export interface SigningBoundWallet {
30
+ readonly access: 'wallet';
26
31
  readonly walletId: string;
27
32
  /** The exact reference every bound call authorizes. */
28
33
  readonly walletSession: WalletSessionRef;
@@ -32,6 +37,21 @@ export interface BoundWallet {
32
37
  readonly tempo: BoundTempoSigner;
33
38
  exportKey(input: WithoutNearSubject<ExportKeyInput>): Promise<KeyExportOutcome>;
34
39
  }
40
+ export interface ReadableBoundWallet {
41
+ readonly access: 'external';
42
+ readonly walletId: string;
43
+ readonly authentication: ExternalWalletAuthentication;
44
+ readonly near: {
45
+ readonly accountId: string;
46
+ prepareOwnerTransaction(input: {
47
+ readonly transaction: TransactionInput;
48
+ }): OwnerNearOperation;
49
+ resumeOwnerTransaction(input: {
50
+ readonly recovery: OwnerNearRecovery;
51
+ }): OwnerNearOperation;
52
+ } | null;
53
+ }
54
+ export type BoundWallet = ReadonlyExclusiveUnion<SigningBoundWallet | ReadableBoundWallet>;
35
55
  export declare function createBoundWallet(seams: SeamsWeb, loginState: AuthenticatedLoginState, host: ReviewHostController | null, owner: ReviewOwner): BoundWallet;
36
56
  export {};
37
57
  //# sourceMappingURL=boundWallet.d.ts.map
@@ -0,0 +1,4 @@
1
+ import type { OwnerNearOperation, OwnerNearOperationState } from '../../SeamsWeb/publicApi/ownerNearOperation';
2
+ /** Observe one operation. Readable wallet access remains separate from this approval. */
3
+ export declare function useOwnerNearOperation(operation: OwnerNearOperation): OwnerNearOperationState;
4
+ //# sourceMappingURL=useOwnerNearOperation.d.ts.map
@@ -85,4 +85,7 @@ export { TransactionReviewHost } from './transactionReview/TransactionReviewHost
85
85
  export { TransactionReviewError } from './transactionReview/contract';
86
86
  export type { TransactionReview, TransactionReviewControls, TransactionReviewValidity, TransactionReviewErrorCode, ReviewedTransactionInput, } from './transactionReview/contract';
87
87
  export type { AccountMenuButtonMockProps } from './components/AccountMenuButton';
88
+ export { useOwnerNearOperation } from './hooks/useOwnerNearOperation';
89
+ export type { OwnerNearOperation, OwnerNearOperationState, OwnerNearRecovery, OwnerNearOutcome } from '../SeamsWeb/publicApi/ownerNearOperation';
90
+ export type { ReadableBoundWallet, SigningBoundWallet } from './boundWallet';
88
91
  //# sourceMappingURL=index.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seams/wallet",
3
- "version": "0.28.0",
3
+ "version": "0.29.0",
4
4
  "type": "module",
5
5
  "description": "Seams web and runtime TypeScript SDK for NEAR and EVM-family wallets",
6
6
  "main": "./dist/esm/index.js",