@seams/wallet 0.8.0 → 0.9.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 (1287) hide show
  1. package/README.md +140 -254
  2. package/THIRD_PARTY_NOTICES.md +7 -1
  3. package/dist/.build-inputs.sha256 +1 -1
  4. package/dist/esm/SeamsWeb/SeamsWeb.js +98 -1825
  5. package/dist/esm/SeamsWeb/assembly/createWalletIframeRouter.js +4 -15
  6. package/dist/esm/SeamsWeb/index.js +2 -2
  7. package/dist/esm/SeamsWeb/operations/devices/scanDevice.js +3 -361
  8. package/dist/esm/SeamsWeb/operations/near/delegateAction.js +18 -106
  9. package/dist/esm/SeamsWeb/operations/recovery/walletRecovery.js +3 -3
  10. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCommit.js +8 -209
  11. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +5 -5
  12. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryJournal.js +2 -64
  13. package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +1 -1
  14. package/dist/esm/SeamsWeb/operations/tempo/index.js +1 -13
  15. package/dist/esm/SeamsWeb/publicApi/auth.js +3 -19
  16. package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +59 -94
  17. package/dist/esm/SeamsWeb/publicApi/currentWallet.js +1 -1
  18. package/dist/esm/SeamsWeb/publicApi/devices.js +33 -64
  19. package/dist/esm/SeamsWeb/publicApi/evm.js +28 -93
  20. package/dist/esm/SeamsWeb/publicApi/keyExport.js +26 -52
  21. package/dist/esm/SeamsWeb/publicApi/near.js +140 -435
  22. package/dist/esm/SeamsWeb/publicApi/placement.js +206 -0
  23. package/dist/esm/SeamsWeb/publicApi/session.js +13 -0
  24. package/dist/esm/SeamsWeb/publicApi/tempo.js +64 -221
  25. package/dist/esm/SeamsWeb/publicApi/waitForNearAccount.js +72 -0
  26. package/dist/esm/SeamsWeb/walletIframe/client/deviceCommands.js +50 -0
  27. package/dist/esm/SeamsWeb/walletIframe/client/emailOtpCommands.js +25 -0
  28. package/dist/esm/SeamsWeb/walletIframe/client/evmFamilyCommands.js +118 -0
  29. package/dist/esm/SeamsWeb/walletIframe/client/inboundMessages.js +223 -0
  30. package/dist/esm/SeamsWeb/walletIframe/client/nearCommands.js +153 -0
  31. package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-styles.js +2 -2
  32. package/dist/esm/SeamsWeb/walletIframe/client/placementCommands.js +65 -0
  33. package/dist/esm/SeamsWeb/walletIframe/client/preferenceState.js +93 -0
  34. package/dist/esm/SeamsWeb/walletIframe/client/preferences.js +117 -0
  35. package/dist/esm/SeamsWeb/walletIframe/client/registrationCommands.js +92 -0
  36. package/dist/esm/SeamsWeb/walletIframe/client/router.js +241 -583
  37. package/dist/esm/SeamsWeb/walletIframe/client/sessionCommands.js +61 -0
  38. package/dist/esm/SeamsWeb/walletIframe/coordinator.js +175 -134
  39. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +13 -1
  40. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +1 -1
  41. package/dist/esm/SeamsWeb/walletIframe/shared/configuration.js +37 -0
  42. package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +31 -11
  43. package/dist/esm/SeamsWeb/walletIframe/shared/facadeBoundary.js +96 -0
  44. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +6 -32
  45. package/dist/esm/advanced.js +3 -3
  46. package/dist/esm/build-paths.js +0 -4
  47. package/dist/esm/core/accountData/near/accountProjection.js +3 -3
  48. package/dist/esm/core/accountData/near/keyMaterial.js +2 -2
  49. package/dist/esm/core/config/chains.js +1 -28
  50. package/dist/esm/core/config/configBuilder.js +3 -14
  51. package/dist/esm/core/config/defaultConfigs.js +4 -6
  52. package/dist/esm/core/config/presignatures.js +6 -0
  53. package/dist/esm/core/diagnostics/registration.js +8 -0
  54. package/dist/esm/core/indexedDB/accountKeyMaterial.js +1 -1
  55. package/dist/esm/core/indexedDB/linkedAuthoritySignerMaterial.js +4 -125
  56. package/dist/esm/core/indexedDB/normalization.js +7 -1
  57. package/dist/esm/core/indexedDB/pendingWalletRecoveryCommit.js +1 -1
  58. package/dist/esm/core/indexedDB/pendingWalletRegistrationCommit.js +3 -41
  59. package/dist/esm/core/indexedDB/seamsWalletDB/accountSignerRows.js +261 -0
  60. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.js +2 -201
  61. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +5 -736
  62. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +6 -1084
  63. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +20 -138
  64. package/dist/esm/core/indexedDB/seamsWalletDB/manager.js +100 -4
  65. package/dist/esm/core/indexedDB/seamsWalletDB/nonceLeaseRows.js +156 -0
  66. package/dist/esm/core/indexedDB/seamsWalletDB/registrationSetup.js +4 -11
  67. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +91 -547
  68. package/dist/esm/core/indexedDB/seamsWalletDB/signerOutboxRows.js +90 -0
  69. package/dist/esm/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +7 -92
  70. package/dist/esm/core/indexedDB/seamsWalletDB/walletOwnershipGeneration.js +43 -0
  71. package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +103 -157
  72. package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +2 -1
  73. package/dist/esm/core/indexedDB/walletCustodyEd25519MaterialRecord.js +1 -1
  74. package/dist/esm/core/rpcClients/evm/nonceBackend.js +1 -176
  75. package/dist/esm/core/rpcClients/near/accountExists.js +34 -0
  76. package/dist/esm/core/rpcClients/relayer/ecdsaPrepareSession.js +42 -0
  77. package/dist/esm/core/rpcClients/relayer/relayerHttp.js +31 -1
  78. package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +47 -11
  79. package/dist/esm/core/rpcClients/relayer/walletRecoveryFinalize.js +2 -48
  80. package/dist/esm/core/rpcClients/relayer/walletRecoveryPrepare.js +9 -9
  81. package/dist/esm/core/rpcClients/relayer/walletRecoveryRotate.js +1 -223
  82. package/dist/esm/core/rpcClients/relayer/walletRegistration.js +36 -2197
  83. package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +145 -14
  84. package/dist/esm/core/signingEngine/chains/evm/bytes.js +1 -15
  85. package/dist/esm/core/signingEngine/chains/evm/evmAdapter.js +1 -1
  86. package/dist/esm/core/signingEngine/chains/near/display.js +1 -27
  87. package/dist/esm/core/signingEngine/chains/near/nearSignerWasm.js +2 -2
  88. package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +6 -39
  89. package/dist/esm/core/signingEngine/flows/shared/signingConfirmation.js +2 -2
  90. package/dist/esm/core/signingEngine/flows/shared/signingStateMachine.js +1 -11
  91. package/dist/esm/core/signingEngine/flows/signEvmFamily/authPlanning.js +2 -2
  92. package/dist/esm/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +3 -3
  93. package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +3 -136
  94. package/dist/esm/core/signingEngine/flows/signEvmFamily/freshWalletSessionRetry.js +1 -1
  95. package/dist/esm/core/signingEngine/flows/signEvmFamily/operationIds.js +1 -1
  96. package/dist/esm/core/signingEngine/flows/signEvmFamily/preparedSigning.js +2 -3
  97. package/dist/esm/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.js +40 -5
  98. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +4 -4
  99. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.js +1 -1
  100. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +27 -53
  101. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +5 -5
  102. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +40 -33
  103. package/dist/esm/core/signingEngine/flows/signEvmFamily/thresholdAdmission.js +8 -2
  104. package/dist/esm/core/signingEngine/flows/signNear/implicitAccountFunding.js +1 -1
  105. package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +94 -31
  106. package/dist/esm/core/signingEngine/flows/signNear/shared/implicitAccountFundingPort.js +1 -8
  107. package/dist/esm/core/signingEngine/flows/signNear/shared/operationStepUpPreparation.js +1 -38
  108. package/dist/esm/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +53 -8
  109. package/dist/esm/core/signingEngine/flows/signNear/signDelegate.js +5 -5
  110. package/dist/esm/core/signingEngine/flows/signNear/signNear.js +30 -44
  111. package/dist/esm/core/signingEngine/flows/signNear/signNep413.js +21 -12
  112. package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +10 -9
  113. package/dist/esm/core/signingEngine/interfaces/ecdsaChainTarget.js +1 -1
  114. package/dist/esm/core/signingEngine/nonce/nonceLaneKeys.js +1 -35
  115. package/dist/esm/core/signingEngine/nonce/nonceTypes.js +2 -26
  116. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/httpRequest.js +4 -3
  117. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.js +5 -1
  118. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +112 -162
  119. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePoolPolicy.js +31 -0
  120. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +1 -1
  121. package/dist/esm/core/signingEngine/session/availability/availableSigningLanes.js +3 -913
  122. package/dist/esm/core/signingEngine/session/emailOtp/challengeDelivery.js +1 -45
  123. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.js +1 -81
  124. package/dist/esm/core/signingEngine/session/identity/clientSessionPersistenceState.js +1 -43
  125. package/dist/esm/core/signingEngine/session/identity/emailOtpEcdsaDerivationIdentity.js +1 -9
  126. package/dist/esm/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +3 -125
  127. package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +3 -19
  128. package/dist/esm/core/signingEngine/session/identity/laneIdentity.js +2 -106
  129. package/dist/esm/core/signingEngine/session/keyMaterialBrands.js +1 -1
  130. package/dist/esm/core/signingEngine/session/lifecycle/walletSessionFailure.js +1 -1
  131. package/dist/esm/core/signingEngine/session/material/activeEcdsaCapabilityRuntime.js +1 -114
  132. package/dist/esm/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +2 -2
  133. package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +2 -187
  134. package/dist/esm/core/signingEngine/session/material/ecdsaRoleLocalMaterialResolver.js +2 -18
  135. package/dist/esm/core/signingEngine/session/material/ecdsaSigningCapability.js +2 -130
  136. package/dist/esm/core/signingEngine/session/material/linkedEcdsaHolderRuntime.js +1 -25
  137. package/dist/esm/core/signingEngine/session/material/nearEd25519YaoMaterialActivation.js +1 -73
  138. package/dist/esm/core/signingEngine/session/material/walletSigningStateFailure.js +1 -69
  139. package/dist/esm/core/signingEngine/session/operationState/preparedOperation.js +1 -5
  140. package/dist/esm/core/signingEngine/session/operationState/transactionState.js +0 -1
  141. package/dist/esm/core/signingEngine/session/passkey/prfCache.js +1 -5
  142. package/dist/esm/core/signingEngine/session/persistence/durableSealedSessionCommands.js +1 -9
  143. package/dist/esm/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.js +3 -202
  144. package/dist/esm/core/signingEngine/session/persistence/sealedSessionRecords.js +4 -83
  145. package/dist/esm/core/signingEngine/session/persistence/sealedSessionStore.js +2 -2
  146. package/dist/esm/core/signingEngine/session/planning/planner.js +2 -13
  147. package/dist/esm/core/signingEngine/session/sealedRecovery/materialActivationKey.js +1 -8
  148. package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbWalletSessionCredential.js +2 -1
  149. package/dist/esm/core/signingEngine/session/warmCapabilities/sealedRefreshParity.js +2 -41
  150. package/dist/esm/core/signingEngine/stepUpConfirmation/intentDigestPreparation.js +1 -14
  151. package/dist/esm/core/signingEngine/stepUpConfirmation/types.js +1 -7
  152. package/dist/esm/core/signingEngine/threshold/commitQueueShared.js +1 -127
  153. package/dist/esm/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +3 -297
  154. package/dist/esm/core/signingEngine/threshold/ecdsa/operationStepUp.js +10 -24
  155. package/dist/esm/core/signingEngine/threshold/ed25519/walletSession.js +7 -209
  156. package/dist/esm/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.js +5 -208
  157. package/dist/esm/core/signingEngine/threshold/sessionPolicy.js +3 -9
  158. package/dist/esm/core/signingEngine/uiConfirm/nearFundingNotice.js +1 -17
  159. package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +2 -173
  160. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +3 -3
  161. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +2 -2
  162. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +1 -1
  163. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +5 -4
  164. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +2 -2
  165. package/dist/esm/core/signingEngine/uiConfirm/ui/surface-resize-events.js +1 -6
  166. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/formatters.js +1 -10
  167. package/dist/esm/core/signingEngine/webauthnAuth/credentials/credentialExtensions.js +1 -19
  168. package/dist/esm/core/signingEngine/webauthnAuth/credentials/helpers.js +2 -170
  169. package/dist/esm/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.js +27 -5
  170. package/dist/esm/core/signingEngine/workerManager/validation.js +1 -104
  171. package/dist/esm/core/signingEngine/workerManager/workerTypes.js +1 -33
  172. package/dist/esm/core/types/rpc.js +1 -4
  173. package/dist/esm/core/types/sdkSentEvents.js +1 -24
  174. package/dist/esm/core/walletRuntimePaths/base.js +1 -28
  175. package/dist/esm/externalEvm/controller.js +7 -7
  176. package/dist/esm/index.js +8 -7
  177. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +9 -9
  178. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +1 -2
  179. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +9 -185
  180. package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +303 -0
  181. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +31 -5
  182. package/dist/esm/react/components/AccountMenuButton/index.js +21 -13
  183. package/dist/esm/react/components/AccountMenuButton/types.js +2 -1
  184. package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +5 -17
  185. package/dist/esm/react/components/QRCodeScanner.js +5 -5
  186. package/dist/esm/react/components/ShowQRCode.js +13 -13
  187. package/dist/esm/react/context/SeamsWebProvider.js +1 -2
  188. package/dist/esm/react/context/index.js +8 -10
  189. package/dist/esm/react/context/seamsManagerSingleton.js +1 -1
  190. package/dist/esm/react/context/useLoginStateRefresher.js +10 -13
  191. package/dist/esm/react/context/useNearProvisioningStateRefresh.js +3 -3
  192. package/dist/esm/react/context/useSeamsContextValue.js +33 -81
  193. package/dist/esm/react/context/useSeamsWithSdkFlow.js +22 -51
  194. package/dist/esm/react/context/useWalletIframeLifecycle.js +20 -110
  195. package/dist/esm/react/hooks/useAccountInput.js +10 -13
  196. package/dist/esm/react/hooks/useDeviceLinking.js +1 -1
  197. package/dist/esm/react/hooks/useNearClient.js +1 -1
  198. package/dist/esm/react/hooks/useQRCamera.js +2 -8
  199. package/dist/esm/react/hooks/useWallet.js +5 -6
  200. package/dist/esm/react/hooks/useWalletAuth.js +3 -4
  201. package/dist/esm/react/hooks/useWalletDevices.js +2 -2
  202. package/dist/esm/react/index.js +4 -4
  203. package/dist/esm/react/transactionReview/TransactionReviewHost.js +1 -1
  204. package/dist/esm/react/transactionReview/boundCalls.js +5 -39
  205. package/dist/esm/react/transactionReview/controller.js +3 -4
  206. package/dist/esm/react/transactionReview/snapshot.js +1 -1
  207. package/dist/esm/react/utils/walletIframe.js +11 -52
  208. package/dist/esm/sdk/ConfirmationDrawer-DY0_yeUV.js +1 -0
  209. package/dist/esm/sdk/NonceCoordinator-CFFq8-Q9.js +1 -0
  210. package/dist/esm/sdk/accountLifecycle-CAMVowDl.js +1 -0
  211. package/dist/esm/sdk/activeWalletSession-DiZcKjB_.js +1 -0
  212. package/dist/esm/sdk/adapters-DdDOQzl4.js +2 -0
  213. package/dist/esm/sdk/appearance-ZGVLwA4N.js +1 -0
  214. package/dist/esm/sdk/authenticatorOptions-DMLnDWT2.js +1 -0
  215. package/dist/esm/sdk/authorizationAdmission-Ckx6q6tp.js +1 -0
  216. package/dist/esm/sdk/bytes-BBYkulRB.js +1 -0
  217. package/dist/esm/sdk/canonicalPrimitives-CKPGgpxg.js +1 -0
  218. package/dist/esm/sdk/canonicalSignerErrorCode-DEHsPxNm.js +1 -0
  219. package/dist/esm/sdk/capabilityKinds-CKQ4Uqnv.js +1 -0
  220. package/dist/esm/sdk/chains-CiYQT1K4.js +1 -0
  221. package/dist/esm/sdk/challengeDelivery-DxXAkOfS.js +1 -0
  222. package/dist/esm/sdk/clientSessionPersistenceState-CImFWDj6.js +1 -0
  223. package/dist/esm/sdk/commitQueue-iBNUt9Bz.js +1 -0
  224. package/dist/esm/sdk/configBuilder-ZiZwFKt4.js +1 -0
  225. package/dist/esm/sdk/configHelpers-D8Ivi6p8.js +1 -0
  226. package/dist/esm/sdk/digestEncoding-Dzc1rzWV.js +1 -0
  227. package/dist/esm/sdk/display-ClqZq-Xt.js +1 -0
  228. package/dist/esm/sdk/ecdsaCapabilityManifest-BlzJAQF8.js +1 -0
  229. package/dist/esm/sdk/ecdsaChainTarget-C8ZtMZ8l.js +1 -0
  230. package/dist/esm/sdk/ecdsaDerivationClientWasm-CVeNEou2.js +1 -0
  231. package/dist/esm/sdk/ecdsaDerivationExport-BZFHSMCv.js +1 -0
  232. package/dist/esm/sdk/ecdsaWalletRecords-D4WeYc7H.js +1 -0
  233. package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-B8HzTh4T.js +1 -0
  234. package/dist/esm/sdk/enrichDisplayModelWithAbi-69bNckvi.js +1 -0
  235. package/dist/esm/sdk/evmCryptoWasm-BXsIyRon.js +1 -0
  236. package/dist/esm/sdk/export-viewer-host-CsFeiIhd.js +1 -0
  237. package/dist/esm/sdk/exportKeypairOperation-DGQIYML3.js +1 -0
  238. package/dist/esm/sdk/helpers-Ddy72ULN.js +1 -0
  239. package/dist/esm/sdk/host-B1CdRGoI.js +1 -0
  240. package/dist/esm/sdk/intentDigest-CE-tLw87.js +1 -0
  241. package/dist/esm/sdk/jsxRuntime.module-BcZNe_OA.js +2 -0
  242. package/dist/esm/sdk/lanes-DnBwWv4l.js +1 -0
  243. package/dist/esm/sdk/localOnly-ClCo6602.js +1 -0
  244. package/dist/esm/sdk/messages-vxz27Way.js +1 -0
  245. package/dist/esm/sdk/mountExportPrivateKeySurface-CBZ0wRYj.js +1 -0
  246. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-B1qhFF6G.js +2 -0
  247. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-fWQI3rYj.js +1 -0
  248. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-B0d1AG3u.js +1 -0
  249. package/dist/esm/sdk/nonceLaneKeys-Fkvk2UPy.js +1 -0
  250. package/dist/esm/sdk/normalization-CpLZcL2f.js +1 -0
  251. package/dist/esm/sdk/normalization-DCvuCvh0.js +1 -0
  252. package/dist/esm/sdk/normalize-kUDm5zfS.js +1 -0
  253. package/dist/esm/sdk/operationFingerprint-CTR9G1NT.js +1 -0
  254. package/dist/esm/sdk/passkey-custody-BQj44jEM.js +1 -0
  255. package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-yJN8VAHn.js +1 -0
  256. package/dist/esm/sdk/presignaturePool-DwlTReFO.js +1 -0
  257. package/dist/esm/sdk/presignatures-DB2IPD-A.js +1 -0
  258. package/dist/esm/sdk/prfCache-BMpqZZ-v.js +1 -0
  259. package/dist/esm/sdk/primitives-CAcl7ON7.js +1 -0
  260. package/dist/esm/sdk/promptText-D2f5Rg0h.js +1 -0
  261. package/dist/esm/sdk/recovery-entrypoint-Bl5GgbW9.js +1 -0
  262. package/dist/esm/sdk/registration-C4sALQZO.js +1 -0
  263. package/dist/esm/sdk/registration-CEqVAgNJ.js +1 -0
  264. package/dist/esm/sdk/registrationAccounts-D4RVetMz.js +1 -0
  265. package/dist/esm/sdk/registrationAuthMethodInput-6ccY2Vuh.js +1 -0
  266. package/dist/esm/sdk/registrationIds-CdPqm-Ya.js +1 -0
  267. package/dist/esm/sdk/registrationIntent-DOkZcKSP.js +1 -0
  268. package/dist/esm/sdk/registrationSignerPlan-B9GCvpTV.js +1 -0
  269. package/dist/esm/sdk/requireStepUpAuth-DCVqmeee.js +1 -0
  270. package/dist/esm/sdk/routerAbNormalSigning-BG75eyI2.js +1 -0
  271. package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  272. package/dist/esm/sdk/runtime-auth-tgfe70hU.js +1 -0
  273. package/dist/esm/sdk/runtime-device-link-BUxuQupR.js +1 -0
  274. package/dist/esm/sdk/runtime-ecdsa-tempo-DOBk_EtI.js +1 -0
  275. package/dist/esm/sdk/runtime-email-otp-CsAJKvYC.js +1 -0
  276. package/dist/esm/sdk/runtime-export-7REbcnBl.js +1 -0
  277. package/dist/esm/sdk/runtime-near-BA0DQf6H.js +1 -0
  278. package/dist/esm/sdk/runtime-preferences-cRViPE8a.js +1 -0
  279. package/dist/esm/sdk/runtime-recovery-RRc8Yz1y.js +1 -0
  280. package/dist/esm/sdk/runtime-recovery-codes-BZMiAR_5.js +1 -0
  281. package/dist/esm/sdk/sdkSentEvents-D3q1h-Uo.js +1 -0
  282. package/dist/esm/sdk/secp256k1-DSLttQND.js +1 -0
  283. package/dist/esm/sdk/secureRandomId-BIekT8bE.js +1 -0
  284. package/dist/esm/sdk/sessionPolicy-J-RrlPZQ.js +1 -0
  285. package/dist/esm/sdk/shared-DdfxBUGY.js +6 -0
  286. package/dist/esm/sdk/signEvmFamily-KUNWKVeh.js +1 -0
  287. package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-Dc57bJ3V.js +1 -0
  288. package/dist/esm/sdk/signEvmWithUiConfirm-CqxL7UbT.js +1 -0
  289. package/dist/esm/sdk/signNear-CO5bx24Z.js +1 -0
  290. package/dist/esm/sdk/signatureUses-CjJ233KX.js +1 -0
  291. package/dist/esm/sdk/signerDomain-vQmlnsbF.js +1 -0
  292. package/dist/esm/sdk/signingFlow-vrXxrhlG.js +2 -0
  293. package/dist/esm/sdk/signingQueue-BrGJXBqe.js +1 -0
  294. package/dist/esm/sdk/signingSessionSeal-CDLUmAFY.js +1 -0
  295. package/dist/esm/sdk/singletons-8UH3gOnZ.js +1 -0
  296. package/dist/esm/sdk/theme-_AUTWLS_.js +1 -0
  297. package/dist/esm/sdk/thresholdEcdsa-CO7xo1So.js +1 -0
  298. package/dist/esm/sdk/trace-BvbCxdXF.js +1 -0
  299. package/dist/esm/sdk/transaction-activity-D40ih2j-.js +1 -0
  300. package/dist/esm/sdk/transactionReviewAdmission-C-a3ctCJ.js +1 -0
  301. package/dist/esm/sdk/transactionState-DVinJk4K.js +1 -0
  302. package/dist/esm/sdk/tx-confirm-ui.js +7 -11
  303. package/dist/esm/sdk/types-BNUuaUtl.js +1 -0
  304. package/dist/esm/sdk/types-D3GM-uHR.js +1 -0
  305. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  306. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  307. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  308. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  309. package/dist/esm/sdk/wallet-recovery-C1kesLCF.js +1 -0
  310. package/dist/esm/sdk/wallet-ui.css +1 -1
  311. package/dist/esm/sdk/walletAuthMethodRecord-CXedSgpV.js +1 -0
  312. package/dist/esm/sdk/walletAuthority-B5hXHWpK.js +1 -0
  313. package/dist/esm/sdk/walletCustodyEcdsaContinuity-abNZ_dvX.js +1 -0
  314. package/dist/esm/sdk/walletIframeIdentity-DJ0KOBHg.js +1 -0
  315. package/dist/esm/sdk/walletOwnershipGeneration-DoXVMDWe.js +1 -0
  316. package/dist/esm/sdk/walletRecoveryCommit-Cc9AqHr0.js +1 -0
  317. package/dist/esm/sdk/walletRecoveryRotate-DWTAFYiv.js +1 -0
  318. package/dist/esm/sdk/walletSessionAuthorizationProjection-DWBksIJR.js +1 -0
  319. package/dist/esm/sdk/walletSessionAuthorizationStatus-o1VgsLhA.js +1 -0
  320. package/dist/esm/sdk/walletSessionAuthorizationStore-gEYPmu-G.js +1 -0
  321. package/dist/esm/sdk/walletSessionFailure-Bu4VPKTz.js +1 -0
  322. package/dist/esm/sdk/warmSessionHydration-DgjuUacN.js +1 -0
  323. package/dist/esm/sdk/webauthnP256-BEz4DEAs.js +1 -0
  324. package/dist/esm/sdk/webauthnPromptCoordinator-BEudHQBr.js +1 -0
  325. package/dist/esm/shared-ts/src/authorization/capabilityKinds.js +1 -7
  326. package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +2 -20
  327. package/dist/esm/shared-ts/src/authorization/index.js +1 -2
  328. package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +1 -20
  329. package/dist/esm/shared-ts/src/authorization/walletAuthority.js +4 -51
  330. package/dist/esm/shared-ts/src/authorization/walletSessionIssuance.js +1 -112
  331. package/dist/esm/shared-ts/src/device-linking/activeWalletSession.js +13 -3
  332. package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +6 -116
  333. package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +3 -270
  334. package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +2 -2
  335. package/dist/esm/shared-ts/src/device-linking/deviceManagement.js +1 -12
  336. package/dist/esm/shared-ts/src/device-linking/digests.js +1 -109
  337. package/dist/esm/shared-ts/src/device-linking/index.js +0 -2
  338. package/dist/esm/shared-ts/src/device-linking/parsers.js +7 -921
  339. package/dist/esm/shared-ts/src/device-linking/requestProof.js +1 -19
  340. package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +5 -358
  341. package/dist/esm/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +1 -172
  342. package/dist/esm/shared-ts/src/device-linking/wireFields.js +4 -5
  343. package/dist/esm/shared-ts/src/near/actions.js +1 -13
  344. package/dist/esm/shared-ts/src/near/nearClient.js +1 -1
  345. package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +3 -59
  346. package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +4 -8
  347. package/dist/esm/shared-ts/src/passkey-custody/index.js +0 -1
  348. package/dist/esm/shared-ts/src/signing-lanes/index.js +0 -1
  349. package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +0 -59
  350. package/dist/esm/shared-ts/src/threshold/ed25519OperationFingerprint.js +1 -1
  351. package/dist/esm/shared-ts/src/threshold/keyMaterialBrands.js +1 -4
  352. package/dist/esm/shared-ts/src/threshold/participants.js +1 -2
  353. package/dist/esm/shared-ts/src/threshold/signingRootScope.js +1 -4
  354. package/dist/esm/shared-ts/src/utils/authenticatorOptions.js +1 -12
  355. package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +2 -5
  356. package/dist/esm/shared-ts/src/utils/domainIds.js +1 -7
  357. package/dist/esm/shared-ts/src/utils/ecdsaCapabilityActivation.js +1 -16
  358. package/dist/esm/shared-ts/src/utils/ecdsaServerTiming.js +6 -1
  359. package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +1 -23
  360. package/dist/esm/shared-ts/src/utils/emailOtpRecoveryKey.js +1 -42
  361. package/dist/esm/shared-ts/src/utils/errors.js +1 -43
  362. package/dist/esm/shared-ts/src/utils/index.js +18 -22
  363. package/dist/esm/shared-ts/src/utils/near.js +2 -74
  364. package/dist/esm/shared-ts/src/utils/normalize.js +1 -22
  365. package/dist/esm/shared-ts/src/utils/registrationAuthMethodInput.js +1 -74
  366. package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +6 -275
  367. package/dist/esm/shared-ts/src/utils/registrationIds.js +1 -203
  368. package/dist/esm/shared-ts/src/utils/registrationIntent.js +1 -389
  369. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +2 -434
  370. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +6 -414
  371. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +1 -334
  372. package/dist/esm/shared-ts/src/utils/routerAbEd25519YaoDigests.js +2 -40
  373. package/dist/esm/shared-ts/src/utils/routerAbNormalSigningIdentity.js +1 -1
  374. package/dist/esm/shared-ts/src/utils/signingSessionSeal.js +1 -6
  375. package/dist/esm/shared-ts/src/utils/thresholdEcdsaKeyHandle.js +1 -6
  376. package/dist/esm/shared-ts/src/utils/validation.js +2 -17
  377. package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +1 -28
  378. package/dist/esm/shared-ts/src/utils/walletAuthMethodRecord.js +1 -11
  379. package/dist/esm/shared-ts/src/utils/walletCapabilityBindings.js +1 -7
  380. package/dist/esm/shared-ts/src/wallet-recovery/index.js +3 -5
  381. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeIssuance.js +1 -35
  382. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +0 -32
  383. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +1 -15
  384. package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +0 -11
  385. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +1 -1
  386. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +2 -42
  387. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +3 -53
  388. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryRotation.js +2 -63
  389. package/dist/esm/threshold.js +1 -1
  390. package/dist/esm/utils/intentDigest.js +1 -62
  391. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  392. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
  393. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
  394. package/dist/public/headers.manifest.json +1 -1
  395. package/dist/public/sdk/ConfirmationDrawer-DY0_yeUV.js +1 -0
  396. package/dist/public/sdk/NonceCoordinator-CFFq8-Q9.js +1 -0
  397. package/dist/public/sdk/accountLifecycle-CAMVowDl.js +1 -0
  398. package/dist/public/sdk/activeWalletSession-DiZcKjB_.js +1 -0
  399. package/dist/public/sdk/adapters-DdDOQzl4.js +2 -0
  400. package/dist/public/sdk/appearance-ZGVLwA4N.js +1 -0
  401. package/dist/public/sdk/authenticatorOptions-DMLnDWT2.js +1 -0
  402. package/dist/public/sdk/authorizationAdmission-Ckx6q6tp.js +1 -0
  403. package/dist/public/sdk/bytes-BBYkulRB.js +1 -0
  404. package/dist/public/sdk/canonicalPrimitives-CKPGgpxg.js +1 -0
  405. package/dist/public/sdk/canonicalSignerErrorCode-DEHsPxNm.js +1 -0
  406. package/dist/public/sdk/capabilityKinds-CKQ4Uqnv.js +1 -0
  407. package/dist/public/sdk/chains-CiYQT1K4.js +1 -0
  408. package/dist/public/sdk/challengeDelivery-DxXAkOfS.js +1 -0
  409. package/dist/public/sdk/clientSessionPersistenceState-CImFWDj6.js +1 -0
  410. package/dist/public/sdk/commitQueue-iBNUt9Bz.js +1 -0
  411. package/dist/public/sdk/configBuilder-ZiZwFKt4.js +1 -0
  412. package/dist/public/sdk/configHelpers-D8Ivi6p8.js +1 -0
  413. package/dist/public/sdk/digestEncoding-Dzc1rzWV.js +1 -0
  414. package/dist/public/sdk/display-ClqZq-Xt.js +1 -0
  415. package/dist/public/sdk/ecdsaCapabilityManifest-BlzJAQF8.js +1 -0
  416. package/dist/public/sdk/ecdsaChainTarget-C8ZtMZ8l.js +1 -0
  417. package/dist/public/sdk/ecdsaDerivationClientWasm-CVeNEou2.js +1 -0
  418. package/dist/public/sdk/ecdsaDerivationExport-BZFHSMCv.js +1 -0
  419. package/dist/public/sdk/ecdsaWalletRecords-D4WeYc7H.js +1 -0
  420. package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-B8HzTh4T.js +1 -0
  421. package/dist/public/sdk/enrichDisplayModelWithAbi-69bNckvi.js +1 -0
  422. package/dist/public/sdk/evmCryptoWasm-BXsIyRon.js +1 -0
  423. package/dist/public/sdk/export-viewer-host-CsFeiIhd.js +1 -0
  424. package/dist/public/sdk/exportKeypairOperation-DGQIYML3.js +1 -0
  425. package/dist/public/sdk/helpers-Ddy72ULN.js +1 -0
  426. package/dist/public/sdk/host-B1CdRGoI.js +1 -0
  427. package/dist/public/sdk/intentDigest-CE-tLw87.js +1 -0
  428. package/dist/public/sdk/jsxRuntime.module-BcZNe_OA.js +2 -0
  429. package/dist/public/sdk/lanes-DnBwWv4l.js +1 -0
  430. package/dist/public/sdk/localOnly-ClCo6602.js +1 -0
  431. package/dist/public/sdk/messages-vxz27Way.js +1 -0
  432. package/dist/public/sdk/mountExportPrivateKeySurface-CBZ0wRYj.js +1 -0
  433. package/dist/public/sdk/mountRecoveryCodeBackupSurface-B1qhFF6G.js +2 -0
  434. package/dist/public/sdk/nearEd25519YaoMaterialActivation-fWQI3rYj.js +1 -0
  435. package/dist/public/sdk/nearEd25519YaoSigningPreparation-B0d1AG3u.js +1 -0
  436. package/dist/public/sdk/nonceLaneKeys-Fkvk2UPy.js +1 -0
  437. package/dist/public/sdk/normalization-CpLZcL2f.js +1 -0
  438. package/dist/public/sdk/normalization-DCvuCvh0.js +1 -0
  439. package/dist/public/sdk/normalize-kUDm5zfS.js +1 -0
  440. package/dist/public/sdk/operationFingerprint-CTR9G1NT.js +1 -0
  441. package/dist/public/sdk/passkey-custody-BQj44jEM.js +1 -0
  442. package/dist/public/sdk/pendingWalletRecoveryCodeBackup-yJN8VAHn.js +1 -0
  443. package/dist/public/sdk/presignaturePool-DwlTReFO.js +1 -0
  444. package/dist/public/sdk/presignatures-DB2IPD-A.js +1 -0
  445. package/dist/public/sdk/prfCache-BMpqZZ-v.js +1 -0
  446. package/dist/public/sdk/primitives-CAcl7ON7.js +1 -0
  447. package/dist/public/sdk/promptText-D2f5Rg0h.js +1 -0
  448. package/dist/public/sdk/recovery-entrypoint-Bl5GgbW9.js +1 -0
  449. package/dist/public/sdk/registration-C4sALQZO.js +1 -0
  450. package/dist/public/sdk/registration-CEqVAgNJ.js +1 -0
  451. package/dist/public/sdk/registrationAccounts-D4RVetMz.js +1 -0
  452. package/dist/public/sdk/registrationAuthMethodInput-6ccY2Vuh.js +1 -0
  453. package/dist/public/sdk/registrationIds-CdPqm-Ya.js +1 -0
  454. package/dist/public/sdk/registrationIntent-DOkZcKSP.js +1 -0
  455. package/dist/public/sdk/registrationSignerPlan-B9GCvpTV.js +1 -0
  456. package/dist/public/sdk/requireStepUpAuth-DCVqmeee.js +1 -0
  457. package/dist/public/sdk/routerAbNormalSigning-BG75eyI2.js +1 -0
  458. package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  459. package/dist/public/sdk/runtime-auth-tgfe70hU.js +1 -0
  460. package/dist/public/sdk/runtime-device-link-BUxuQupR.js +1 -0
  461. package/dist/public/sdk/runtime-ecdsa-tempo-DOBk_EtI.js +1 -0
  462. package/dist/public/sdk/runtime-email-otp-CsAJKvYC.js +1 -0
  463. package/dist/public/sdk/runtime-export-7REbcnBl.js +1 -0
  464. package/dist/public/sdk/runtime-near-BA0DQf6H.js +1 -0
  465. package/dist/public/sdk/runtime-preferences-cRViPE8a.js +1 -0
  466. package/dist/public/sdk/runtime-recovery-RRc8Yz1y.js +1 -0
  467. package/dist/public/sdk/runtime-recovery-codes-BZMiAR_5.js +1 -0
  468. package/dist/public/sdk/sdkSentEvents-D3q1h-Uo.js +1 -0
  469. package/dist/public/sdk/secp256k1-DSLttQND.js +1 -0
  470. package/dist/public/sdk/secureRandomId-BIekT8bE.js +1 -0
  471. package/dist/public/sdk/sessionPolicy-J-RrlPZQ.js +1 -0
  472. package/dist/public/sdk/shared-DdfxBUGY.js +6 -0
  473. package/dist/public/sdk/signEvmFamily-KUNWKVeh.js +1 -0
  474. package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-Dc57bJ3V.js +1 -0
  475. package/dist/public/sdk/signEvmWithUiConfirm-CqxL7UbT.js +1 -0
  476. package/dist/public/sdk/signNear-CO5bx24Z.js +1 -0
  477. package/dist/public/sdk/signatureUses-CjJ233KX.js +1 -0
  478. package/dist/public/sdk/signerDomain-vQmlnsbF.js +1 -0
  479. package/dist/public/sdk/signingFlow-vrXxrhlG.js +2 -0
  480. package/dist/public/sdk/signingQueue-BrGJXBqe.js +1 -0
  481. package/dist/public/sdk/signingSessionSeal-CDLUmAFY.js +1 -0
  482. package/dist/public/sdk/singletons-8UH3gOnZ.js +1 -0
  483. package/dist/public/sdk/theme-_AUTWLS_.js +1 -0
  484. package/dist/public/sdk/thresholdEcdsa-CO7xo1So.js +1 -0
  485. package/dist/public/sdk/trace-BvbCxdXF.js +1 -0
  486. package/dist/public/sdk/transaction-activity-D40ih2j-.js +1 -0
  487. package/dist/public/sdk/transactionReviewAdmission-C-a3ctCJ.js +1 -0
  488. package/dist/public/sdk/transactionState-DVinJk4K.js +1 -0
  489. package/dist/public/sdk/tx-confirm-ui.js +7 -11
  490. package/dist/public/sdk/types-BNUuaUtl.js +1 -0
  491. package/dist/public/sdk/types-D3GM-uHR.js +1 -0
  492. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  493. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  494. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  495. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  496. package/dist/public/sdk/wallet-recovery-C1kesLCF.js +1 -0
  497. package/dist/public/sdk/wallet-ui.css +1 -1
  498. package/dist/public/sdk/walletAuthMethodRecord-CXedSgpV.js +1 -0
  499. package/dist/public/sdk/walletAuthority-B5hXHWpK.js +1 -0
  500. package/dist/public/sdk/walletCustodyEcdsaContinuity-abNZ_dvX.js +1 -0
  501. package/dist/public/sdk/walletIframeIdentity-DJ0KOBHg.js +1 -0
  502. package/dist/public/sdk/walletOwnershipGeneration-DoXVMDWe.js +1 -0
  503. package/dist/public/sdk/walletRecoveryCommit-Cc9AqHr0.js +1 -0
  504. package/dist/public/sdk/walletRecoveryRotate-DWTAFYiv.js +1 -0
  505. package/dist/public/sdk/walletSessionAuthorizationProjection-DWBksIJR.js +1 -0
  506. package/dist/public/sdk/walletSessionAuthorizationStatus-o1VgsLhA.js +1 -0
  507. package/dist/public/sdk/walletSessionAuthorizationStore-gEYPmu-G.js +1 -0
  508. package/dist/public/sdk/walletSessionFailure-Bu4VPKTz.js +1 -0
  509. package/dist/public/sdk/warmSessionHydration-DgjuUacN.js +1 -0
  510. package/dist/public/sdk/webauthnP256-BEz4DEAs.js +1 -0
  511. package/dist/public/sdk/webauthnPromptCoordinator-BEudHQBr.js +1 -0
  512. package/dist/public/sdk/workers/device-linking-key.worker.js +18 -0
  513. package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +1490 -1268
  514. package/dist/public/sdk/workers/ecdsa-online-client.worker.js +96 -0
  515. package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +101 -1
  516. package/dist/public/sdk/workers/email-otp.worker.js +267 -237
  517. package/dist/public/sdk/workers/evm-crypto.worker.js +12 -8
  518. package/dist/public/sdk/workers/passkey-mpc-export.worker.js +30 -1
  519. package/dist/public/sdk/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  520. package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  521. package/dist/public/sdk/workers/shamir3pass.worker.js +10 -8
  522. package/dist/public/sdk/workers/tempo-signer.worker.js +12 -8
  523. package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +3 -1
  524. package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
  525. package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
  526. package/dist/public/wallet-assets.manifest.json +391 -295
  527. package/dist/public/wallet-service/index.html +4 -4
  528. package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +2 -1
  529. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +10 -0
  530. package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +2 -1
  531. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +3 -1
  532. package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +0 -9
  533. package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +1 -1
  534. package/dist/types/wallet/build-paths.d.ts +0 -4
  535. package/dist/types/wallet/src/SeamsWeb/SeamsWeb.d.ts +26 -146
  536. package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfaceAssembly.d.ts +7 -6
  537. package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfacePorts.d.ts +2 -4
  538. package/dist/types/wallet/src/SeamsWeb/assembly/createWalletIframeRouter.d.ts +2 -2
  539. package/dist/types/wallet/src/SeamsWeb/assembly/initializeBrowserSigningRuntime.d.ts +0 -2
  540. package/dist/types/wallet/src/SeamsWeb/index.d.ts +1 -1
  541. package/dist/types/wallet/src/SeamsWeb/operations/auth/login.d.ts +2 -8
  542. package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockCompletion.d.ts +26 -0
  543. package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockPendingRegistration.d.ts +14 -0
  544. package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockSessionPolicy.d.ts +16 -0
  545. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/challenge.d.ts +2 -2
  546. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.d.ts +3 -2
  547. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/revokeAuthMethod.d.ts +17 -1
  548. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDevice.d.ts +0 -7
  549. package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostComposition.d.ts +2 -0
  550. package/dist/types/wallet/src/SeamsWeb/operations/near/actions.d.ts +4 -21
  551. package/dist/types/wallet/src/SeamsWeb/operations/near/delegateAction.d.ts +4 -14
  552. package/dist/types/wallet/src/SeamsWeb/operations/near/signDelegateAction.d.ts +14 -0
  553. package/dist/types/wallet/src/SeamsWeb/operations/near/signNEP413.d.ts +2 -2
  554. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.d.ts +11 -11
  555. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.d.ts +18 -4
  556. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +4 -20
  557. package/dist/types/wallet/src/SeamsWeb/operations/registration/registration.d.ts +10 -4
  558. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationEd25519Yao.d.ts +1 -1
  559. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationSignerSet.d.ts +1 -0
  560. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTerminalCommit.d.ts +0 -4
  561. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTiming.d.ts +2 -3
  562. package/dist/types/wallet/src/SeamsWeb/operations/tempo/index.d.ts +0 -3
  563. package/dist/types/wallet/src/SeamsWeb/publicApi/auth.d.ts +4 -13
  564. package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +22 -43
  565. package/dist/types/wallet/src/SeamsWeb/publicApi/devices.d.ts +3 -21
  566. package/dist/types/wallet/src/SeamsWeb/publicApi/evm.d.ts +10 -16
  567. package/dist/types/wallet/src/SeamsWeb/publicApi/evmFamilyCommands.d.ts +6 -0
  568. package/dist/types/wallet/src/SeamsWeb/publicApi/index.d.ts +2 -2
  569. package/dist/types/wallet/src/SeamsWeb/publicApi/keyExport.d.ts +8 -16
  570. package/dist/types/wallet/src/SeamsWeb/publicApi/near.d.ts +10 -10
  571. package/dist/types/wallet/src/SeamsWeb/publicApi/nearCommands.d.ts +17 -0
  572. package/dist/types/wallet/src/SeamsWeb/publicApi/placement.d.ts +90 -0
  573. package/dist/types/wallet/src/SeamsWeb/publicApi/placement.typecheck.d.ts +2 -0
  574. package/dist/types/wallet/src/SeamsWeb/publicApi/session.d.ts +3 -0
  575. package/dist/types/wallet/src/SeamsWeb/publicApi/tempo.d.ts +11 -11
  576. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +106 -243
  577. package/dist/types/wallet/src/SeamsWeb/publicApi/waitForNearAccount.d.ts +27 -0
  578. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +33 -78
  579. package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +8 -31
  580. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/deviceCommands.d.ts +4 -0
  581. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/emailOtpCommands.d.ts +4 -0
  582. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/evmFamilyCommands.d.ts +6 -0
  583. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/inboundMessages.d.ts +62 -0
  584. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/nearCommands.d.ts +6 -0
  585. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/placementCommands.d.ts +31 -0
  586. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/preferenceState.d.ts +35 -0
  587. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/preferences.d.ts +10 -0
  588. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/registrationCommands.d.ts +6 -0
  589. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +36 -121
  590. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/sessionCommands.d.ts +6 -0
  591. package/dist/types/wallet/src/SeamsWeb/walletIframe/coordinator.d.ts +29 -35
  592. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +98 -0
  593. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/controller.d.ts +2 -2
  594. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/context.d.ts +11 -9
  595. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createDeviceDomain.d.ts +20 -0
  596. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEmailOtpCommands.d.ts +11 -0
  597. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEvmFamilyCommands.d.ts +8 -0
  598. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createNearCommands.d.ts +4 -0
  599. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createPlacementCommands.d.ts +11 -0
  600. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createRegistrationCommands.d.ts +4 -0
  601. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createSessionCommands.d.ts +16 -0
  602. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/placement.d.ts +3 -0
  603. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/walletIframeHandler.types.d.ts +7 -3
  604. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/hostedWalletSeamsSession.d.ts +2 -0
  605. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/reconcileWalletPlacement.d.ts +10 -0
  606. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +4 -4
  607. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestWalletMove.d.ts +11 -0
  608. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeContext.d.ts +5 -3
  609. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeLoader.d.ts +0 -1
  610. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/sessionObserver.d.ts +39 -0
  611. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/walletMoveLocator.d.ts +5 -0
  612. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/walletMutationGuard.d.ts +3 -0
  613. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/configuration.d.ts +30 -0
  614. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/emailOtpLifecycle.d.ts +43 -0
  615. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionState.d.ts +15 -0
  616. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/facadeBoundary.d.ts +14 -0
  617. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +35 -100
  618. package/dist/types/wallet/src/core/config/chains.d.ts +1 -3
  619. package/dist/types/wallet/src/core/config/configBuilder.d.ts +16 -6
  620. package/dist/types/wallet/src/core/config/defaultConfigs.d.ts +3 -4
  621. package/dist/types/wallet/src/core/config/defineConfig.d.ts +3 -6
  622. package/dist/types/wallet/src/core/config/presignatures.d.ts +3 -0
  623. package/dist/types/wallet/src/core/diagnostics/registration.d.ts +2 -0
  624. package/dist/types/wallet/src/core/indexedDB/normalization.d.ts +5 -0
  625. package/dist/types/wallet/src/core/indexedDB/passkeyClientDB.types.d.ts +2 -2
  626. package/dist/types/wallet/src/core/indexedDB/pendingWalletRegistrationCommit.d.ts +0 -10
  627. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/accountSignerRows.d.ts +44 -0
  628. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.d.ts +0 -2
  629. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.d.ts +0 -5
  630. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/manager.d.ts +11 -0
  631. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/nonceLeaseRows.d.ts +23 -0
  632. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +1 -0
  633. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/signerOutboxRows.d.ts +15 -0
  634. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletOwnershipGeneration.d.ts +6 -0
  635. package/dist/types/wallet/src/core/indexedDB/unifiedIndexedDBManager.d.ts +1 -1
  636. package/dist/types/wallet/src/core/rpcClients/near/accountExists.d.ts +3 -0
  637. package/dist/types/wallet/src/core/rpcClients/near/rpcCalls.d.ts +1 -14
  638. package/dist/types/wallet/src/core/rpcClients/relayer/ecdsaPrepareSession.d.ts +13 -0
  639. package/dist/types/wallet/src/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.d.ts +3 -3
  640. package/dist/types/wallet/src/core/rpcClients/relayer/relayerHttp.d.ts +17 -0
  641. package/dist/types/wallet/src/core/rpcClients/relayer/routerAbNormalSigning.d.ts +19 -3
  642. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +29 -40
  643. package/dist/types/wallet/src/core/rpcClients/relayer/walletSessionAuthorizationStatus.d.ts +34 -0
  644. package/dist/types/wallet/src/core/signingEngine/assembly/ports/shared.d.ts +1 -1
  645. package/dist/types/wallet/src/core/signingEngine/assembly/ports/warmSigning.d.ts +2 -1
  646. package/dist/types/wallet/src/core/signingEngine/assembly/warmup.d.ts +2 -14
  647. package/dist/types/wallet/src/core/signingEngine/chains/near/nearSignerWasm.d.ts +2 -6
  648. package/dist/types/wallet/src/core/signingEngine/flows/recovery/public.d.ts +1 -1
  649. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpPublic.d.ts +1 -32
  650. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.d.ts +3 -82
  651. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.d.ts +62 -1
  652. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/requireEvmFamilyStepUpAuth.d.ts +1 -1
  653. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/secp256k1.d.ts +4 -55
  654. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlow.d.ts +1 -1
  655. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/thresholdAdmission.d.ts +3 -2
  656. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.d.ts +33 -1
  657. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signatureOnlySigning.d.ts +16 -2
  658. package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNear.d.ts +1 -2
  659. package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNep413.d.ts +1 -1
  660. package/dist/types/wallet/src/core/signingEngine/interfaces/ecdsaChainTarget.d.ts +1 -1
  661. package/dist/types/wallet/src/core/signingEngine/interfaces/near.d.ts +3 -0
  662. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.d.ts +9 -5
  663. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignaturePoolPolicy.d.ts +5 -0
  664. package/dist/types/wallet/src/core/signingEngine/session/SigningSessionCoordinator.d.ts +1 -7
  665. package/dist/types/wallet/src/core/signingEngine/session/availability/persistedAvailableSigningLanes.d.ts +1 -1
  666. package/dist/types/wallet/src/core/signingEngine/session/availability/readiness.d.ts +0 -17
  667. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.d.ts +2 -2
  668. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.d.ts +2 -33
  669. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/exportRecovery.d.ts +2 -2
  670. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/exportRecoveryRuntime.d.ts +14 -3
  671. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/publicTypes.d.ts +1 -2
  672. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/workerEnrollment.d.ts +0 -12
  673. package/dist/types/wallet/src/core/signingEngine/session/lanes/walletExecutionLaneHydration.d.ts +11 -25
  674. package/dist/types/wallet/src/core/signingEngine/session/lifecycle/walletSessionStatus.d.ts +0 -8
  675. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSigningCapability.d.ts +2 -2
  676. package/dist/types/wallet/src/core/signingEngine/session/operationState/preparedOperation.d.ts +0 -8
  677. package/dist/types/wallet/src/core/signingEngine/session/operationState/trace.d.ts +1 -1
  678. package/dist/types/wallet/src/core/signingEngine/session/operationState/transactionState.d.ts +0 -1
  679. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.d.ts +2 -0
  680. package/dist/types/wallet/src/core/signingEngine/session/public.d.ts +1 -1
  681. package/dist/types/wallet/src/core/signingEngine/session/routerAbSigningWalletSession.d.ts +2 -0
  682. package/dist/types/wallet/src/core/signingEngine/session/userPreferences.d.ts +8 -11
  683. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReader.d.ts +2 -1
  684. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReaderCore.d.ts +2 -1
  685. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.d.ts +6 -12
  686. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/operationStepUp.d.ts +6 -5
  687. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +6 -17
  688. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.d.ts +1 -0
  689. package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyDriver.d.ts +0 -1
  690. package/dist/types/wallet/src/core/signingEngine/walletCustody/walletRegistrationEd25519.d.ts +17 -0
  691. package/dist/types/wallet/src/core/signingEngine/workerManager/SignerWorkerManager.d.ts +0 -1
  692. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignLifecycle.d.ts +0 -2
  693. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.d.ts +9 -0
  694. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTransport.d.ts +0 -5
  695. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +15 -27
  696. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/enrollment.d.ts +1 -17
  697. package/dist/types/wallet/src/core/types/rpc.d.ts +0 -1
  698. package/dist/types/wallet/src/core/types/sdkPublicResults.d.ts +1 -0
  699. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +2 -0
  700. package/dist/types/wallet/src/core/types/seams.d.ts +12 -9
  701. package/dist/types/wallet/src/core/types/signer-worker.d.ts +2 -1
  702. package/dist/types/wallet/src/externalEvm/controller.d.ts +5 -1
  703. package/dist/types/wallet/src/index.d.ts +5 -2
  704. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletRegionSection.d.ts +54 -0
  705. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +7 -2
  706. package/dist/types/wallet/src/react/components/AccountMenuButton/index.d.ts +1 -1
  707. package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +1 -0
  708. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/public.d.ts +1 -1
  709. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +2 -5
  710. package/dist/types/wallet/src/react/context/SeamsWebProvider.d.ts +0 -5
  711. package/dist/types/wallet/src/react/context/useLoginStateRefresher.d.ts +1 -1
  712. package/dist/types/wallet/src/react/context/useNearProvisioningStateRefresh.d.ts +1 -1
  713. package/dist/types/wallet/src/react/context/useSeamsContextValue.d.ts +2 -2
  714. package/dist/types/wallet/src/react/context/useWalletIframeLifecycle.d.ts +4 -2
  715. package/dist/types/wallet/src/react/hooks/useQRCamera.d.ts +1 -7
  716. package/dist/types/wallet/src/react/hooks/useWallet.d.ts +5 -6
  717. package/dist/types/wallet/src/react/hooks/useWalletAuth.d.ts +1 -1
  718. package/dist/types/wallet/src/react/hooks/useWalletDevices.d.ts +1 -1
  719. package/dist/types/wallet/src/react/index.d.ts +2 -2
  720. package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +0 -26
  721. package/dist/types/wallet/src/react/types.d.ts +12 -20
  722. package/dist/types/wallet/src/react/utils/walletIframe.d.ts +2 -6
  723. package/dist/workers/device-linking-key.worker.js +18 -0
  724. package/dist/workers/ecdsa-derivation-client.worker.js +1490 -1268
  725. package/dist/workers/ecdsa-online-client.worker.js +96 -0
  726. package/dist/workers/ecdsa-presign-client.worker.js +101 -1
  727. package/dist/workers/email-otp.worker.js +267 -237
  728. package/dist/workers/evm-crypto.worker.js +12 -8
  729. package/dist/workers/passkey-mpc-export.worker.js +30 -1
  730. package/dist/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  731. package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  732. package/dist/workers/shamir3pass.worker.js +10 -8
  733. package/dist/workers/tempo-signer.worker.js +12 -8
  734. package/dist/workers/wallet-custody-ceremony.worker.js +3 -1
  735. package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
  736. package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
  737. package/package.json +1 -1
  738. package/dist/esm/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +0 -817
  739. package/dist/esm/SeamsWeb/assembly/browserWorkerWarmupPolicy.js +0 -31
  740. package/dist/esm/SeamsWeb/assembly/configureBrowserIndexedDB.js +0 -10
  741. package/dist/esm/SeamsWeb/assembly/createBrowserRecoveryPublicDeps.js +0 -95
  742. package/dist/esm/SeamsWeb/assembly/createBrowserSigningRuntime.js +0 -34
  743. package/dist/esm/SeamsWeb/assembly/createBrowserSigningStores.js +0 -39
  744. package/dist/esm/SeamsWeb/assembly/createBrowserStepUpRuntime.js +0 -34
  745. package/dist/esm/SeamsWeb/assembly/createBrowserWarmSessionPublicDeps.js +0 -29
  746. package/dist/esm/SeamsWeb/assembly/initializeBrowserSigningRuntime.js +0 -19
  747. package/dist/esm/SeamsWeb/assembly/runtimeConfig.js +0 -12
  748. package/dist/esm/SeamsWeb/operations/auth/login.js +0 -4383
  749. package/dist/esm/SeamsWeb/operations/auth/scheduleEcdsaSessionPresignaturePrefill.js +0 -41
  750. package/dist/esm/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.js +0 -64
  751. package/dist/esm/SeamsWeb/operations/auth/walletAuth.js +0 -142
  752. package/dist/esm/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.js +0 -33
  753. package/dist/esm/SeamsWeb/operations/auth/walletUnlockSubject.js +0 -288
  754. package/dist/esm/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.js +0 -72
  755. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +0 -191
  756. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/challenge.js +0 -247
  757. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +0 -568
  758. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.js +0 -69
  759. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/registrationAuthority.js +0 -62
  760. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.js +0 -69
  761. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/walletActivation.js +0 -95
  762. package/dist/esm/SeamsWeb/operations/authMethods/passkey/addPasskey.js +0 -260
  763. package/dist/esm/SeamsWeb/operations/authMethods/passkey/ecdsaBootstrap.js +0 -17
  764. package/dist/esm/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.js +0 -34
  765. package/dist/esm/SeamsWeb/operations/authMethods/passkey/localUnlock.js +0 -16
  766. package/dist/esm/SeamsWeb/operations/authMethods/passkey/loginAssertion.js +0 -25
  767. package/dist/esm/SeamsWeb/operations/authMethods/passkey/registrationAuthority.js +0 -84
  768. package/dist/esm/SeamsWeb/operations/authMethods/revokeAuthMethod.js +0 -205
  769. package/dist/esm/SeamsWeb/operations/authMethods/sourcePasskeyProof.js +0 -12
  770. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.js +0 -444
  771. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingComposition.js +0 -106
  772. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.js +0 -194
  773. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +0 -524
  774. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.js +0 -135
  775. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingResume.js +0 -212
  776. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingTargetCredential.js +0 -63
  777. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingTargetEd25519ExportRoot.js +0 -61
  778. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +0 -337
  779. package/dist/esm/SeamsWeb/operations/devices/linkDevice.js +0 -75
  780. package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlow.js +0 -1383
  781. package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlowSupport.js +0 -143
  782. package/dist/esm/SeamsWeb/operations/devices/linkDeviceTargetActivation.js +0 -119
  783. package/dist/esm/SeamsWeb/operations/devices/walletHostComposition.js +0 -130
  784. package/dist/esm/SeamsWeb/operations/devices/walletHostOwnerAuthority.js +0 -191
  785. package/dist/esm/SeamsWeb/operations/evm/index.js +0 -35
  786. package/dist/esm/SeamsWeb/operations/near/actions.js +0 -484
  787. package/dist/esm/SeamsWeb/operations/near/commandSubject.js +0 -14
  788. package/dist/esm/SeamsWeb/operations/near/index.js +0 -37
  789. package/dist/esm/SeamsWeb/operations/near/signNEP413.js +0 -116
  790. package/dist/esm/SeamsWeb/operations/recovery/accountSync.js +0 -21
  791. package/dist/esm/SeamsWeb/operations/recovery/recoveryWalletBinding.js +0 -43
  792. package/dist/esm/SeamsWeb/operations/recovery/syncAccount.js +0 -912
  793. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCodeBackup.js +0 -100
  794. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryRotation.js +0 -213
  795. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.js +0 -184
  796. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryUnlock.js +0 -247
  797. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.js +0 -134
  798. package/dist/esm/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +0 -354
  799. package/dist/esm/SeamsWeb/operations/registration/registration.js +0 -3818
  800. package/dist/esm/SeamsWeb/operations/registration/registrationEd25519Yao.js +0 -166
  801. package/dist/esm/SeamsWeb/operations/registration/registrationSignerSet.js +0 -60
  802. package/dist/esm/SeamsWeb/operations/registration/registrationStrictEcdsa.js +0 -343
  803. package/dist/esm/SeamsWeb/operations/registration/registrationTerminalCommit.js +0 -296
  804. package/dist/esm/SeamsWeb/operations/registration/registrationTiming.js +0 -682
  805. package/dist/esm/SeamsWeb/operations/session/thresholdEcdsaProvisioning.js +0 -36
  806. package/dist/esm/SeamsWeb/operations/session/thresholdWarmSessionBootstrap.js +0 -20
  807. package/dist/esm/SeamsWeb/publicApi/awaitNearReady.js +0 -72
  808. package/dist/esm/SeamsWeb/publicApi/preferences.js +0 -61
  809. package/dist/esm/SeamsWeb/publicApi/recovery.js +0 -19
  810. package/dist/esm/SeamsWeb/publicApi/types.js +0 -10
  811. package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +0 -3917
  812. package/dist/esm/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.js +0 -29
  813. package/dist/esm/core/browser/walletIframe/events.js +0 -6
  814. package/dist/esm/core/browser/walletIframe/host-mode.js +0 -9
  815. package/dist/esm/core/config/managedRuntimeScope.js +0 -16
  816. package/dist/esm/core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.js +0 -144
  817. package/dist/esm/core/platform/browser/createBrowserPlatformRuntime.js +0 -535
  818. package/dist/esm/core/platform/secretSources.js +0 -111
  819. package/dist/esm/core/platform/signerCoreCommandAdapters.js +0 -122
  820. package/dist/esm/core/rpcClients/near/rpcCalls.js +0 -376
  821. package/dist/esm/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.js +0 -67
  822. package/dist/esm/core/rpcClients/relayer/passkeyCustodyEnvelope.js +0 -218
  823. package/dist/esm/core/rpcClients/relayer/sealedRefreshCapabilities.js +0 -148
  824. package/dist/esm/core/rpcClients/relayer/thresholdEcdsa.js +0 -235
  825. package/dist/esm/core/rpcClients/relayer/walletRecoveryGoogleEmailOtp.js +0 -161
  826. package/dist/esm/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +0 -718
  827. package/dist/esm/core/signingEngine/assembly/createManagers.js +0 -80
  828. package/dist/esm/core/signingEngine/assembly/createPorts.js +0 -54
  829. package/dist/esm/core/signingEngine/assembly/ports/emailOtp.js +0 -30
  830. package/dist/esm/core/signingEngine/assembly/ports/evmFamily.js +0 -73
  831. package/dist/esm/core/signingEngine/assembly/ports/near.js +0 -21
  832. package/dist/esm/core/signingEngine/assembly/ports/recovery.js +0 -75
  833. package/dist/esm/core/signingEngine/assembly/ports/registration.js +0 -22
  834. package/dist/esm/core/signingEngine/assembly/ports/session.js +0 -25
  835. package/dist/esm/core/signingEngine/assembly/ports/shared.js +0 -39
  836. package/dist/esm/core/signingEngine/assembly/ports/stepUpRuntime.js +0 -67
  837. package/dist/esm/core/signingEngine/assembly/ports/warmSigning.js +0 -92
  838. package/dist/esm/core/signingEngine/assembly/warmup.js +0 -64
  839. package/dist/esm/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +0 -427
  840. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportFlow.js +0 -660
  841. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +0 -249
  842. package/dist/esm/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +0 -353
  843. package/dist/esm/core/signingEngine/flows/recovery/exportKeypairOperation.js +0 -213
  844. package/dist/esm/core/signingEngine/flows/recovery/exportLaneSelection.js +0 -283
  845. package/dist/esm/core/signingEngine/flows/recovery/keyExportConfirmation.js +0 -325
  846. package/dist/esm/core/signingEngine/flows/recovery/keyExportFlow.js +0 -81
  847. package/dist/esm/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +0 -192
  848. package/dist/esm/core/signingEngine/flows/recovery/public.js +0 -26
  849. package/dist/esm/core/signingEngine/flows/recovery/stepUpAuthorization.js +0 -139
  850. package/dist/esm/core/signingEngine/flows/registration/nearProvisioningRegistry.js +0 -79
  851. package/dist/esm/core/signingEngine/flows/registration/public.js +0 -85
  852. package/dist/esm/core/signingEngine/flows/registration/services/ecdsaRegistrationSessions.js +0 -77
  853. package/dist/esm/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +0 -82
  854. package/dist/esm/core/signingEngine/flows/registration/session.js +0 -24
  855. package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpPublic.js +0 -123
  856. package/dist/esm/core/signingEngine/nonce/NonceCoordinator.js +0 -1026
  857. package/dist/esm/core/signingEngine/nonce/evmNonceLane.js +0 -182
  858. package/dist/esm/core/signingEngine/nonce/nearNonceLane.js +0 -669
  859. package/dist/esm/core/signingEngine/nonce/nonceDiagnostics.js +0 -232
  860. package/dist/esm/core/signingEngine/nonce/nonceLeaseState.js +0 -128
  861. package/dist/esm/core/signingEngine/nonce/nonceUtils.js +0 -33
  862. package/dist/esm/core/signingEngine/session/SigningSessionCoordinator.js +0 -344
  863. package/dist/esm/core/signingEngine/session/authority/authorityOperationResolver.js +0 -114
  864. package/dist/esm/core/signingEngine/session/availability/canonicalLaneInventory.js +0 -127
  865. package/dist/esm/core/signingEngine/session/availability/clientSessionExpiryInvalidator.js +0 -72
  866. package/dist/esm/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +0 -214
  867. package/dist/esm/core/signingEngine/session/availability/readiness.js +0 -464
  868. package/dist/esm/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.js +0 -130
  869. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaBootstrapCommit.js +0 -106
  870. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLifecycleRuntime.js +0 -47
  871. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLogin.js +0 -930
  872. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaPublication.js +0 -414
  873. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaRecovery.js +0 -264
  874. package/dist/esm/core/signingEngine/session/emailOtp/ed25519ExportContext.js +0 -373
  875. package/dist/esm/core/signingEngine/session/emailOtp/exportRecovery.js +0 -284
  876. package/dist/esm/core/signingEngine/session/emailOtp/exportRecoveryRuntime.js +0 -50
  877. package/dist/esm/core/signingEngine/session/emailOtp/persistedSnapshot.js +0 -22
  878. package/dist/esm/core/signingEngine/session/emailOtp/publicTypes.js +0 -38
  879. package/dist/esm/core/signingEngine/session/emailOtp/routePlan.js +0 -60
  880. package/dist/esm/core/signingEngine/session/emailOtp/runtimeConfig.js +0 -24
  881. package/dist/esm/core/signingEngine/session/emailOtp/sealedRefreshPolicy.js +0 -49
  882. package/dist/esm/core/signingEngine/session/emailOtp/sealedRestoreOrchestrator.js +0 -234
  883. package/dist/esm/core/signingEngine/session/emailOtp/sealedRuntimePurpose.js +0 -16
  884. package/dist/esm/core/signingEngine/session/emailOtp/sealedSessionRegistry.js +0 -40
  885. package/dist/esm/core/signingEngine/session/emailOtp/status.js +0 -72
  886. package/dist/esm/core/signingEngine/session/emailOtp/walletUnlock.js +0 -168
  887. package/dist/esm/core/signingEngine/session/emailOtp/warmSessionRuntime.js +0 -70
  888. package/dist/esm/core/signingEngine/session/emailOtp/workerEnrollment.js +0 -159
  889. package/dist/esm/core/signingEngine/session/emailOtp/workerRequests.js +0 -84
  890. package/dist/esm/core/signingEngine/session/emailOtp/zeroize.js +0 -9
  891. package/dist/esm/core/signingEngine/session/identity/exactWalletSessionCredential.js +0 -104
  892. package/dist/esm/core/signingEngine/session/identity/exactWalletSessionReader.js +0 -54
  893. package/dist/esm/core/signingEngine/session/identity/ownerLaneScope.js +0 -185
  894. package/dist/esm/core/signingEngine/session/lanes/walletExecutionLaneHydration.js +0 -194
  895. package/dist/esm/core/signingEngine/session/lifecycle/canonicalWalletSessionStatus.js +0 -32
  896. package/dist/esm/core/signingEngine/session/lifecycle/walletSessionStatus.js +0 -123
  897. package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityHydration.js +0 -75
  898. package/dist/esm/core/signingEngine/session/material/ecdsaSealedRuntime.js +0 -197
  899. package/dist/esm/core/signingEngine/session/material/mpcCapabilityHydration.js +0 -79
  900. package/dist/esm/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.js +0 -122
  901. package/dist/esm/core/signingEngine/session/material/restorableMpcMaterialRef.internal.js +0 -21
  902. package/dist/esm/core/signingEngine/session/passkey/ecdsaBootstrap.js +0 -184
  903. package/dist/esm/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +0 -205
  904. package/dist/esm/core/signingEngine/session/passkey/ecdsaRecovery.js +0 -84
  905. package/dist/esm/core/signingEngine/session/passkey/ecdsaSessionProvision.js +0 -224
  906. package/dist/esm/core/signingEngine/session/passkey/ecdsaWarmCapabilityBootstrap.js +0 -147
  907. package/dist/esm/core/signingEngine/session/passkey/ed25519Provisioner.js +0 -55
  908. package/dist/esm/core/signingEngine/session/passkey/ed25519SessionProvision.js +0 -228
  909. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +0 -536
  910. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +0 -94
  911. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoSealedSession.js +0 -57
  912. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +0 -281
  913. package/dist/esm/core/signingEngine/session/passkey/passkeyCustodySessionCache.js +0 -90
  914. package/dist/esm/core/signingEngine/session/passkey/public.js +0 -15
  915. package/dist/esm/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.js +0 -247
  916. package/dist/esm/core/signingEngine/session/persistence/clientSessionPersistence.js +0 -135
  917. package/dist/esm/core/signingEngine/session/persistence/walletSessionAuthorizationProjection.js +0 -51
  918. package/dist/esm/core/signingEngine/session/planning/operationIdBinding.js +0 -36
  919. package/dist/esm/core/signingEngine/session/postconditions/runtimePostconditions.js +0 -163
  920. package/dist/esm/core/signingEngine/session/public.js +0 -44
  921. package/dist/esm/core/signingEngine/session/routerAbSigningWalletSession.js +0 -119
  922. package/dist/esm/core/signingEngine/session/sealedRecovery/exactRecordLookup.js +0 -148
  923. package/dist/esm/core/signingEngine/session/sealedRecovery/recoveryRecord.js +0 -248
  924. package/dist/esm/core/signingEngine/session/sealedRecovery/restoreCoordinator.js +0 -229
  925. package/dist/esm/core/signingEngine/session/userPreferences.js +0 -212
  926. package/dist/esm/core/signingEngine/session/warmCapabilities/capabilityReader.js +0 -62
  927. package/dist/esm/core/signingEngine/session/warmCapabilities/capabilityReaderCore.js +0 -293
  928. package/dist/esm/core/signingEngine/session/warmCapabilities/clearVolatileWarmSigningMaterial.js +0 -44
  929. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaBootstrapPersistence.js +0 -107
  930. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaBootstrapQueue.js +0 -22
  931. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.js +0 -93
  932. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefillSigningMaterialSource.js +0 -50
  933. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.js +0 -9
  934. package/dist/esm/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.js +0 -251
  935. package/dist/esm/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +0 -98
  936. package/dist/esm/core/signingEngine/session/warmCapabilities/public.js +0 -31
  937. package/dist/esm/core/signingEngine/session/warmCapabilities/readModel.js +0 -155
  938. package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.js +0 -256
  939. package/dist/esm/core/signingEngine/session/warmCapabilities/statusReader.js +0 -100
  940. package/dist/esm/core/signingEngine/session/warmCapabilities/transitions.js +0 -47
  941. package/dist/esm/core/signingEngine/session/warmCapabilities/types.js +0 -122
  942. package/dist/esm/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.js +0 -45
  943. package/dist/esm/core/signingEngine/stepUpConfirmation/channel/confirmCommon.js +0 -89
  944. package/dist/esm/core/signingEngine/stepUpConfirmation/channel/confirmTypes.js +0 -12
  945. package/dist/esm/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.js +0 -31
  946. package/dist/esm/core/signingEngine/stepUpConfirmation/otpPrompt/exportAuthorization.js +0 -108
  947. package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +0 -271
  948. package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.js +0 -167
  949. package/dist/esm/core/signingEngine/stepUpConfirmation/userConfirmationType.js +0 -15
  950. package/dist/esm/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.js +0 -67
  951. package/dist/esm/core/signingEngine/threshold/ecdsa/activation.js +0 -267
  952. package/dist/esm/core/signingEngine/threshold/ecdsa/bootstrapSession.js +0 -115
  953. package/dist/esm/core/signingEngine/threshold/ecdsa/postRegistrationSessionActivation.js +0 -132
  954. package/dist/esm/core/signingEngine/threshold/ecdsa/signingQueue.js +0 -16
  955. package/dist/esm/core/signingEngine/threshold/ed25519/commitQueue.js +0 -16
  956. package/dist/esm/core/signingEngine/threshold/ed25519/connectSession.js +0 -137
  957. package/dist/esm/core/signingEngine/threshold/ed25519/yaoActiveClientRegistry.js +0 -146
  958. package/dist/esm/core/signingEngine/threshold/ed25519/yaoClient.js +0 -563
  959. package/dist/esm/core/signingEngine/threshold/ed25519/yaoPageLifecycleOwner.js +0 -23
  960. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcExportManager.js +0 -233
  961. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +0 -493
  962. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +0 -746
  963. package/dist/esm/core/signingEngine/uiConfirm/UiConfirmManager.js +0 -599
  964. package/dist/esm/core/signingEngine/uiConfirm/confirmationReadinessRegistry.js +0 -41
  965. package/dist/esm/core/signingEngine/uiConfirm/exportConfirmRequest.js +0 -149
  966. package/dist/esm/core/signingEngine/uiConfirm/handlers/determineConfirmationConfig.js +0 -82
  967. package/dist/esm/core/signingEngine/uiConfirm/handlers/flowOrchestrator.js +0 -363
  968. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +0 -337
  969. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/request.js +0 -120
  970. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/localOnly.js +0 -149
  971. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/registration.js +0 -235
  972. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/requestRegistrationCredentialConfirmation.js +0 -178
  973. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/signing.js +0 -684
  974. package/dist/esm/core/signingEngine/uiConfirm/handlers/handlePromptFromWorker.js +0 -90
  975. package/dist/esm/core/signingEngine/uiConfirm/ui/appearance.js +0 -27
  976. package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-ui.js +0 -516
  977. package/dist/esm/core/signingEngine/uiConfirm/ui/export-private-key-reveal.js +0 -155
  978. package/dist/esm/core/signingEngine/uiConfirm/ui/export-viewer-host.js +0 -207
  979. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.js +0 -318
  980. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +0 -518
  981. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.js +0 -80
  982. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountExportPrivateKeySurface.js +0 -86
  983. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +0 -82
  984. package/dist/esm/core/signingEngine/uiConfirm/ui/surface-measurement-binding.js +0 -12
  985. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-activity.js +0 -46
  986. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/abi/abiDecode.js +0 -315
  987. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/abi/enrichDisplayModelWithAbi.js +0 -77
  988. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/confirmation-tree.js +0 -27
  989. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/renderers/fallback.js +0 -52
  990. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/renderers/types.js +0 -62
  991. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +0 -249
  992. package/dist/esm/core/signingEngine/uiConfirm/warmSessionUiConfirm.js +0 -65
  993. package/dist/esm/core/signingEngine/walletCustody/activateEd25519Capability.js +0 -122
  994. package/dist/esm/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.js +0 -94
  995. package/dist/esm/core/signingEngine/walletCustody/ceremonyDriver.js +0 -171
  996. package/dist/esm/core/signingEngine/walletCustody/ceremonyStepRunner.js +0 -20
  997. package/dist/esm/core/signingEngine/walletCustody/ed25519ActiveClient.js +0 -100
  998. package/dist/esm/core/signingEngine/walletCustody/ed25519Projection.js +0 -32
  999. package/dist/esm/core/signingEngine/walletCustody/ed25519SeedMaterial.js +0 -92
  1000. package/dist/esm/core/signingEngine/walletCustody/emailOtpLink.js +0 -132
  1001. package/dist/esm/core/signingEngine/walletCustody/joinCustodyWire.js +0 -64
  1002. package/dist/esm/core/signingEngine/walletCustody/openCustodyCache.js +0 -126
  1003. package/dist/esm/core/signingEngine/walletCustody/passkeyLink.js +0 -180
  1004. package/dist/esm/core/signingEngine/walletCustody/recoveryReplacementEnvelope.js +0 -60
  1005. package/dist/esm/core/signingEngine/walletCustody/registrationCeremony.js +0 -460
  1006. package/dist/esm/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +0 -258
  1007. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryCredential.js +0 -23
  1008. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEcdsa.js +0 -75
  1009. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEd25519.js +0 -129
  1010. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryManifest.js +0 -178
  1011. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryRotation.js +0 -102
  1012. package/dist/esm/core/signingEngine/webauthnAuth/credentials/collectAuthenticationCredentialForChallengeB64u.js +0 -154
  1013. package/dist/esm/core/signingEngine/webauthnAuth/device/signerSlot.js +0 -25
  1014. package/dist/esm/core/signingEngine/webauthnAuth/walletOriginWebAuthn.js +0 -109
  1015. package/dist/esm/core/signingEngine/workerManager/SignerWorkerManager.js +0 -68
  1016. package/dist/esm/core/signingEngine/workerManager/deviceLinkingPorts.js +0 -342
  1017. package/dist/esm/core/signingEngine/workerManager/deviceLinkingSourceContribution.js +0 -158
  1018. package/dist/esm/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +0 -13
  1019. package/dist/esm/core/signingEngine/workerManager/ecdsaPresignLifecycle.js +0 -6
  1020. package/dist/esm/core/signingEngine/workerManager/workerTransport.js +0 -734
  1021. package/dist/esm/core/types/confirmationConfig.js +0 -39
  1022. package/dist/esm/core/types/secure-confirm-worker.js +0 -22
  1023. package/dist/esm/core/walletRuntimePaths/emailOtpWorker.js +0 -12
  1024. package/dist/esm/core/walletRuntimePaths/multichainWorkers.js +0 -25
  1025. package/dist/esm/core/walletRuntimePaths/walletCustodyCeremonyWorker.js +0 -18
  1026. package/dist/esm/core/walletRuntimePaths/workers.js +0 -93
  1027. package/dist/esm/react/context/useEagerPrewarm.js +0 -38
  1028. package/dist/esm/sdk/ConfirmationDrawer-DrsREojk.js +0 -1
  1029. package/dist/esm/sdk/EvmClient-DoxytQaJ.js +0 -1
  1030. package/dist/esm/sdk/NearClient-vJ65Wjrq.js +0 -1
  1031. package/dist/esm/sdk/NonceCoordinator-BBeadCSq.js +0 -1
  1032. package/dist/esm/sdk/accountLifecycle-EyfYPnuT.js +0 -1
  1033. package/dist/esm/sdk/actions-DZLxCcrU.js +0 -1
  1034. package/dist/esm/sdk/adapters-DtAyuoiA.js +0 -2
  1035. package/dist/esm/sdk/base-Xtd32asf.js +0 -1
  1036. package/dist/esm/sdk/bytes-t5S5mkat.js +0 -1
  1037. package/dist/esm/sdk/canonicalPrimitives-MPGET2cl.js +0 -1
  1038. package/dist/esm/sdk/canonicalSignerErrorCode-C0hh_SVi.js +0 -1
  1039. package/dist/esm/sdk/capabilityKinds-XaXXiD2B.js +0 -1
  1040. package/dist/esm/sdk/chains-yAls2d9X.js +0 -1
  1041. package/dist/esm/sdk/challengeDelivery-cAsaUC6U.js +0 -1
  1042. package/dist/esm/sdk/configHelpers-CseiVoZD.js +0 -1
  1043. package/dist/esm/sdk/csp-stylesheet-B1fAhrGB.js +0 -2
  1044. package/dist/esm/sdk/defaultConfigs-CWpApkMq.js +0 -1
  1045. package/dist/esm/sdk/display-jK7_hYho.js +0 -1
  1046. package/dist/esm/sdk/domainIds-GDzjOs6i.js +0 -1
  1047. package/dist/esm/sdk/ecdsaCapabilityManifest-CHFu-QrV.js +0 -1
  1048. package/dist/esm/sdk/ecdsaChainTarget-CRcRR78w.js +0 -1
  1049. package/dist/esm/sdk/ecdsaPresignLifecycle-CQnCxSlq.js +0 -1
  1050. package/dist/esm/sdk/ecdsaPresignPoolIdentity-Ci-ovDlv.js +0 -1
  1051. package/dist/esm/sdk/ecdsaWalletRecords-Cm1DdexN.js +0 -1
  1052. package/dist/esm/sdk/enrichDisplayModelWithAbi-CR-4ebuU.js +0 -1
  1053. package/dist/esm/sdk/evmCryptoWasm-CwEXiLrC.js +0 -1
  1054. package/dist/esm/sdk/evmFamilyEcdsaIdentity-Br3iFdQx.js +0 -1
  1055. package/dist/esm/sdk/exactSessionState-CjD8gekO.js +0 -210
  1056. package/dist/esm/sdk/exactSigningLaneIdentity-olheZx_n.js +0 -1
  1057. package/dist/esm/sdk/export-viewer-host-jo7h_0wl.js +0 -1
  1058. package/dist/esm/sdk/helpers-D4QckQhq.js +0 -1
  1059. package/dist/esm/sdk/host-BAqOYnju.js +0 -1
  1060. package/dist/esm/sdk/intentDigest-CB6zy3lN.js +0 -1
  1061. package/dist/esm/sdk/jsxRuntime.module-CoHsKD_3.js +0 -1
  1062. package/dist/esm/sdk/keyMaterialBrands-uVZHfAh3.js +0 -1
  1063. package/dist/esm/sdk/localOnly-DBQRG6Qh.js +0 -1
  1064. package/dist/esm/sdk/messages-Cv2j4SKI.js +0 -1
  1065. package/dist/esm/sdk/mountExportPrivateKeySurface-G7Z_9JMQ.js +0 -1
  1066. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-BBCTaQsu.js +0 -2
  1067. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-DQIw8ho3.js +0 -1
  1068. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-Bp_CvWRz.js +0 -1
  1069. package/dist/esm/sdk/nearRpcResults--cBcfmp4.js +0 -1
  1070. package/dist/esm/sdk/nonceLaneKeys-BBYi4g51.js +0 -1
  1071. package/dist/esm/sdk/normalization-BGPR6osg.js +0 -1
  1072. package/dist/esm/sdk/operationFingerprint-5-wH2Ht8.js +0 -1
  1073. package/dist/esm/sdk/operationFingerprint-DtQb0pdp.js +0 -1
  1074. package/dist/esm/sdk/passkey-custody-LP4UTFbn.js +0 -1
  1075. package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-BNk4ebsY.js +0 -1
  1076. package/dist/esm/sdk/prfCache-Mbo7_USg.js +0 -1
  1077. package/dist/esm/sdk/promptText-s8TQ6ckX.js +0 -1
  1078. package/dist/esm/sdk/recovery-entrypoint-DkT8sFO5.js +0 -1
  1079. package/dist/esm/sdk/registration-Btozh7uh.js +0 -1
  1080. package/dist/esm/sdk/registration-CSAG_h4Y.js +0 -1
  1081. package/dist/esm/sdk/registrationAccounts-DIeEVy6W.js +0 -1
  1082. package/dist/esm/sdk/registrationIds-BIel5S0i.js +0 -1
  1083. package/dist/esm/sdk/registrationIntent-DV1GYZ3K.js +0 -1
  1084. package/dist/esm/sdk/registrationPreparationPreload-vOCqNuG4.js +0 -1
  1085. package/dist/esm/sdk/registrationSignerPlan-FzD3TwxB.js +0 -1
  1086. package/dist/esm/sdk/relayerHttp-DaPeS929.js +0 -1
  1087. package/dist/esm/sdk/routePlan-B_KJaPtm.js +0 -1
  1088. package/dist/esm/sdk/router-Dd3fFHk3.js +0 -1
  1089. package/dist/esm/sdk/routerAbNormalSigning-D_fHjq5l.js +0 -1
  1090. package/dist/esm/sdk/runtime-auth-B2M91rSx.js +0 -1
  1091. package/dist/esm/sdk/runtime-device-link-ojjPSRaG.js +0 -1
  1092. package/dist/esm/sdk/runtime-ecdsa-tempo-CE4JLgmn.js +0 -1
  1093. package/dist/esm/sdk/runtime-email-otp-DDwtKVAe.js +0 -1
  1094. package/dist/esm/sdk/runtime-export-JXYk8sQ-.js +0 -1
  1095. package/dist/esm/sdk/runtime-near-BB8AG6dV.js +0 -1
  1096. package/dist/esm/sdk/runtime-preferences-DKFZYccW.js +0 -1
  1097. package/dist/esm/sdk/runtime-recovery-C_XjsDBg.js +0 -1
  1098. package/dist/esm/sdk/runtime-recovery-codes-CWp839mH.js +0 -1
  1099. package/dist/esm/sdk/runtimeContext-BpObgzbj.js +0 -6
  1100. package/dist/esm/sdk/runtimeLoader-DjgBf_yF.js +0 -1
  1101. package/dist/esm/sdk/sdkSentEvents-_RGAEeld.js +0 -1
  1102. package/dist/esm/sdk/secp256k1-B_6W9QDJ.js +0 -1
  1103. package/dist/esm/sdk/secureRandomId-CTdlJ5Mx.js +0 -1
  1104. package/dist/esm/sdk/sessionPolicy-CNVK7nJ6.js +0 -1
  1105. package/dist/esm/sdk/shared-j_KsFbCT.js +0 -1
  1106. package/dist/esm/sdk/signEvmFamily-CcLVBm0f.js +0 -1
  1107. package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-DgTbh6jX.js +0 -1
  1108. package/dist/esm/sdk/signEvmWithUiConfirm-ChreN7aZ.js +0 -1
  1109. package/dist/esm/sdk/signNear-mWbTE2Dl.js +0 -1
  1110. package/dist/esm/sdk/signatureUses-CQkkUcwT.js +0 -1
  1111. package/dist/esm/sdk/signerDomain-BhUTzDmF.js +0 -1
  1112. package/dist/esm/sdk/signerLoader-By0IY24G.js +0 -1
  1113. package/dist/esm/sdk/signingFlow-LUWrZi2d.js +0 -2
  1114. package/dist/esm/sdk/signingSessionSeal-Mr2Xp44o.js +0 -1
  1115. package/dist/esm/sdk/trace-M34pNGuF.js +0 -1
  1116. package/dist/esm/sdk/transaction-activity-BbDod7ji.js +0 -1
  1117. package/dist/esm/sdk/transactionReview-CBE5oH4c.js +0 -1
  1118. package/dist/esm/sdk/transactionReviewAdmission-0ZgWs6q3.js +0 -1
  1119. package/dist/esm/sdk/transactionState-9d7f3xVj.js +0 -1
  1120. package/dist/esm/sdk/types-M7vxrYtJ.js +0 -1
  1121. package/dist/esm/sdk/validation-dC1-_uyG.js +0 -1
  1122. package/dist/esm/sdk/wallet-recovery-CcDZ1hMH.js +0 -1
  1123. package/dist/esm/sdk/walletAuthority-CoWSeqvQ.js +0 -1
  1124. package/dist/esm/sdk/walletCustodyEcdsaContinuity-B7xi7nwh.js +0 -1
  1125. package/dist/esm/sdk/walletIframeIdentity-C0b0XMQF.js +0 -1
  1126. package/dist/esm/sdk/walletRecoveryCommit-ljxVeo-d.js +0 -1
  1127. package/dist/esm/sdk/walletRecoveryRotate-HztDcDaY.js +0 -1
  1128. package/dist/esm/sdk/warmSessionHydration-BPGM0YRU.js +0 -1
  1129. package/dist/esm/sdk/webauthnP256-qu06GNFm.js +0 -1
  1130. package/dist/esm/sdk/webauthnPromptCoordinator-DO-qfECu.js +0 -1
  1131. package/dist/esm/shared-ts/src/authorization/walletCustodyOperation.js +0 -16
  1132. package/dist/esm/shared-ts/src/device-linking/contracts.js +0 -8
  1133. package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +0 -167
  1134. package/dist/esm/shared-ts/src/passkey-custody/ceremonyCommitPayload.js +0 -43
  1135. package/dist/esm/shared-ts/src/signing-lanes/participants.js +0 -256
  1136. package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +0 -479
  1137. package/dist/esm/shared-ts/src/threshold/secp256k1.js +0 -6
  1138. package/dist/esm/shared-ts/src/utils/addAuthMethodRegistration.js +0 -103
  1139. package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +0 -43
  1140. package/dist/esm/shared-ts/src/utils/exactKeys.js +0 -17
  1141. package/dist/esm/shared-ts/src/utils/routerAbTraceContext.js +0 -36
  1142. package/dist/esm/shared-ts/src/utils/walletAddSignerActivation.js +0 -32
  1143. package/dist/public/sdk/ConfirmationDrawer-DrsREojk.js +0 -1
  1144. package/dist/public/sdk/EvmClient-DoxytQaJ.js +0 -1
  1145. package/dist/public/sdk/NearClient-vJ65Wjrq.js +0 -1
  1146. package/dist/public/sdk/NonceCoordinator-BBeadCSq.js +0 -1
  1147. package/dist/public/sdk/accountLifecycle-EyfYPnuT.js +0 -1
  1148. package/dist/public/sdk/actions-DZLxCcrU.js +0 -1
  1149. package/dist/public/sdk/adapters-DtAyuoiA.js +0 -2
  1150. package/dist/public/sdk/base-Xtd32asf.js +0 -1
  1151. package/dist/public/sdk/bytes-t5S5mkat.js +0 -1
  1152. package/dist/public/sdk/canonicalPrimitives-MPGET2cl.js +0 -1
  1153. package/dist/public/sdk/canonicalSignerErrorCode-C0hh_SVi.js +0 -1
  1154. package/dist/public/sdk/capabilityKinds-XaXXiD2B.js +0 -1
  1155. package/dist/public/sdk/chains-yAls2d9X.js +0 -1
  1156. package/dist/public/sdk/challengeDelivery-cAsaUC6U.js +0 -1
  1157. package/dist/public/sdk/configHelpers-CseiVoZD.js +0 -1
  1158. package/dist/public/sdk/csp-stylesheet-B1fAhrGB.js +0 -2
  1159. package/dist/public/sdk/defaultConfigs-CWpApkMq.js +0 -1
  1160. package/dist/public/sdk/display-jK7_hYho.js +0 -1
  1161. package/dist/public/sdk/domainIds-GDzjOs6i.js +0 -1
  1162. package/dist/public/sdk/ecdsaCapabilityManifest-CHFu-QrV.js +0 -1
  1163. package/dist/public/sdk/ecdsaChainTarget-CRcRR78w.js +0 -1
  1164. package/dist/public/sdk/ecdsaPresignLifecycle-CQnCxSlq.js +0 -1
  1165. package/dist/public/sdk/ecdsaPresignPoolIdentity-Ci-ovDlv.js +0 -1
  1166. package/dist/public/sdk/ecdsaWalletRecords-Cm1DdexN.js +0 -1
  1167. package/dist/public/sdk/enrichDisplayModelWithAbi-CR-4ebuU.js +0 -1
  1168. package/dist/public/sdk/evmCryptoWasm-CwEXiLrC.js +0 -1
  1169. package/dist/public/sdk/evmFamilyEcdsaIdentity-Br3iFdQx.js +0 -1
  1170. package/dist/public/sdk/exactSessionState-CjD8gekO.js +0 -210
  1171. package/dist/public/sdk/exactSigningLaneIdentity-olheZx_n.js +0 -1
  1172. package/dist/public/sdk/export-viewer-host-jo7h_0wl.js +0 -1
  1173. package/dist/public/sdk/helpers-D4QckQhq.js +0 -1
  1174. package/dist/public/sdk/host-BAqOYnju.js +0 -1
  1175. package/dist/public/sdk/intentDigest-CB6zy3lN.js +0 -1
  1176. package/dist/public/sdk/jsxRuntime.module-CoHsKD_3.js +0 -1
  1177. package/dist/public/sdk/keyMaterialBrands-uVZHfAh3.js +0 -1
  1178. package/dist/public/sdk/localOnly-DBQRG6Qh.js +0 -1
  1179. package/dist/public/sdk/messages-Cv2j4SKI.js +0 -1
  1180. package/dist/public/sdk/mountExportPrivateKeySurface-G7Z_9JMQ.js +0 -1
  1181. package/dist/public/sdk/mountRecoveryCodeBackupSurface-BBCTaQsu.js +0 -2
  1182. package/dist/public/sdk/nearEd25519YaoMaterialActivation-DQIw8ho3.js +0 -1
  1183. package/dist/public/sdk/nearEd25519YaoSigningPreparation-Bp_CvWRz.js +0 -1
  1184. package/dist/public/sdk/nearRpcResults--cBcfmp4.js +0 -1
  1185. package/dist/public/sdk/nonceLaneKeys-BBYi4g51.js +0 -1
  1186. package/dist/public/sdk/normalization-BGPR6osg.js +0 -1
  1187. package/dist/public/sdk/operationFingerprint-5-wH2Ht8.js +0 -1
  1188. package/dist/public/sdk/operationFingerprint-DtQb0pdp.js +0 -1
  1189. package/dist/public/sdk/passkey-custody-LP4UTFbn.js +0 -1
  1190. package/dist/public/sdk/pendingWalletRecoveryCodeBackup-BNk4ebsY.js +0 -1
  1191. package/dist/public/sdk/prfCache-Mbo7_USg.js +0 -1
  1192. package/dist/public/sdk/promptText-s8TQ6ckX.js +0 -1
  1193. package/dist/public/sdk/recovery-entrypoint-DkT8sFO5.js +0 -1
  1194. package/dist/public/sdk/registration-Btozh7uh.js +0 -1
  1195. package/dist/public/sdk/registration-CSAG_h4Y.js +0 -1
  1196. package/dist/public/sdk/registrationAccounts-DIeEVy6W.js +0 -1
  1197. package/dist/public/sdk/registrationIds-BIel5S0i.js +0 -1
  1198. package/dist/public/sdk/registrationIntent-DV1GYZ3K.js +0 -1
  1199. package/dist/public/sdk/registrationPreparationPreload-vOCqNuG4.js +0 -1
  1200. package/dist/public/sdk/registrationSignerPlan-FzD3TwxB.js +0 -1
  1201. package/dist/public/sdk/relayerHttp-DaPeS929.js +0 -1
  1202. package/dist/public/sdk/routePlan-B_KJaPtm.js +0 -1
  1203. package/dist/public/sdk/router-Dd3fFHk3.js +0 -1
  1204. package/dist/public/sdk/routerAbNormalSigning-D_fHjq5l.js +0 -1
  1205. package/dist/public/sdk/runtime-auth-B2M91rSx.js +0 -1
  1206. package/dist/public/sdk/runtime-device-link-ojjPSRaG.js +0 -1
  1207. package/dist/public/sdk/runtime-ecdsa-tempo-CE4JLgmn.js +0 -1
  1208. package/dist/public/sdk/runtime-email-otp-DDwtKVAe.js +0 -1
  1209. package/dist/public/sdk/runtime-export-JXYk8sQ-.js +0 -1
  1210. package/dist/public/sdk/runtime-near-BB8AG6dV.js +0 -1
  1211. package/dist/public/sdk/runtime-preferences-DKFZYccW.js +0 -1
  1212. package/dist/public/sdk/runtime-recovery-C_XjsDBg.js +0 -1
  1213. package/dist/public/sdk/runtime-recovery-codes-CWp839mH.js +0 -1
  1214. package/dist/public/sdk/runtimeContext-BpObgzbj.js +0 -6
  1215. package/dist/public/sdk/runtimeLoader-DjgBf_yF.js +0 -1
  1216. package/dist/public/sdk/sdkSentEvents-_RGAEeld.js +0 -1
  1217. package/dist/public/sdk/secp256k1-B_6W9QDJ.js +0 -1
  1218. package/dist/public/sdk/secureRandomId-CTdlJ5Mx.js +0 -1
  1219. package/dist/public/sdk/sessionPolicy-CNVK7nJ6.js +0 -1
  1220. package/dist/public/sdk/shared-j_KsFbCT.js +0 -1
  1221. package/dist/public/sdk/signEvmFamily-CcLVBm0f.js +0 -1
  1222. package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-DgTbh6jX.js +0 -1
  1223. package/dist/public/sdk/signEvmWithUiConfirm-ChreN7aZ.js +0 -1
  1224. package/dist/public/sdk/signNear-mWbTE2Dl.js +0 -1
  1225. package/dist/public/sdk/signatureUses-CQkkUcwT.js +0 -1
  1226. package/dist/public/sdk/signerDomain-BhUTzDmF.js +0 -1
  1227. package/dist/public/sdk/signerLoader-By0IY24G.js +0 -1
  1228. package/dist/public/sdk/signingFlow-LUWrZi2d.js +0 -2
  1229. package/dist/public/sdk/signingSessionSeal-Mr2Xp44o.js +0 -1
  1230. package/dist/public/sdk/trace-M34pNGuF.js +0 -1
  1231. package/dist/public/sdk/transaction-activity-BbDod7ji.js +0 -1
  1232. package/dist/public/sdk/transactionReview-CBE5oH4c.js +0 -1
  1233. package/dist/public/sdk/transactionReviewAdmission-0ZgWs6q3.js +0 -1
  1234. package/dist/public/sdk/transactionState-9d7f3xVj.js +0 -1
  1235. package/dist/public/sdk/types-M7vxrYtJ.js +0 -1
  1236. package/dist/public/sdk/validation-dC1-_uyG.js +0 -1
  1237. package/dist/public/sdk/wallet-recovery-CcDZ1hMH.js +0 -1
  1238. package/dist/public/sdk/walletAuthority-CoWSeqvQ.js +0 -1
  1239. package/dist/public/sdk/walletCustodyEcdsaContinuity-B7xi7nwh.js +0 -1
  1240. package/dist/public/sdk/walletIframeIdentity-C0b0XMQF.js +0 -1
  1241. package/dist/public/sdk/walletRecoveryCommit-ljxVeo-d.js +0 -1
  1242. package/dist/public/sdk/walletRecoveryRotate-HztDcDaY.js +0 -1
  1243. package/dist/public/sdk/warmSessionHydration-BPGM0YRU.js +0 -1
  1244. package/dist/public/sdk/webauthnP256-qu06GNFm.js +0 -1
  1245. package/dist/public/sdk/webauthnPromptCoordinator-DO-qfECu.js +0 -1
  1246. package/dist/public/sdk/workers/evm_crypto.wasm +0 -0
  1247. package/dist/public/sdk/workers/near_signer.wasm +0 -0
  1248. package/dist/public/sdk/workers/tempo_signer.wasm +0 -0
  1249. package/dist/types/wallet/src/SeamsWeb/assembly/browserWorkerWarmupPolicy.d.ts +0 -4
  1250. package/dist/types/wallet/src/SeamsWeb/assembly/configureBrowserIndexedDB.d.ts +0 -3
  1251. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletAuth.d.ts +0 -56
  1252. package/dist/types/wallet/src/SeamsWeb/operations/evm/index.d.ts +0 -9
  1253. package/dist/types/wallet/src/SeamsWeb/operations/near/index.d.ts +0 -11
  1254. package/dist/types/wallet/src/SeamsWeb/operations/recovery/accountSync.d.ts +0 -19
  1255. package/dist/types/wallet/src/SeamsWeb/publicApi/awaitNearReady.d.ts +0 -27
  1256. package/dist/types/wallet/src/SeamsWeb/publicApi/devices.typecheck.d.ts +0 -2
  1257. package/dist/types/wallet/src/SeamsWeb/publicApi/preferences.d.ts +0 -8
  1258. package/dist/types/wallet/src/SeamsWeb/publicApi/recovery.d.ts +0 -14
  1259. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/config-guards.d.ts +0 -15
  1260. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/registrationPreparationPreload.d.ts +0 -2
  1261. package/dist/types/wallet/src/core/signingEngine/flows/registration/public.d.ts +0 -68
  1262. package/dist/types/wallet/src/react/context/useEagerPrewarm.d.ts +0 -3
  1263. package/dist/workers/evm_crypto.wasm +0 -0
  1264. package/dist/workers/near_signer.wasm +0 -0
  1265. package/dist/workers/tempo_signer.wasm +0 -0
  1266. /package/dist/esm/sdk/{accountIds-C3Ihsd2c.js → accountIds-BzZs7YoX.js} +0 -0
  1267. /package/dist/esm/sdk/{base64-ojm5DKcF.js → base64-CsEj-_bC.js} +0 -0
  1268. /package/dist/esm/sdk/{browser-CsOGMbMy.js → browser-D4wUl_77.js} +0 -0
  1269. /package/dist/esm/sdk/{errors-DfbnsXjO.js → errors-BZO3LF6G.js} +0 -0
  1270. /package/dist/esm/sdk/{events-BJyVcnsn.js → events-DsQJQ0Cl.js} +0 -0
  1271. /package/dist/esm/sdk/{executeWorkerOperation-CrFf3FkL.js → executeWorkerOperation-BInr8RYN.js} +0 -0
  1272. /package/dist/esm/sdk/{jsonRpc-C85RYR0A.js → jsonRpc-DrCYQIM9.js} +0 -0
  1273. /package/dist/esm/sdk/{keccak-zexutGfG.js → keccak-B02Fekdh.js} +0 -0
  1274. /package/dist/esm/sdk/{profileAccountProjection-DHCaMtOu.js → profileAccountProjection-DmmfMood.js} +0 -0
  1275. /package/dist/esm/sdk/{signerSlot-BQ1g5JNV.js → signerSlot-Dto7dObP.js} +0 -0
  1276. /package/dist/esm/sdk/{surface-measurement-reporter-OICExWKE.js → surface-measurement-reporter-IlPOI3QK.js} +0 -0
  1277. /package/dist/public/sdk/{accountIds-C3Ihsd2c.js → accountIds-BzZs7YoX.js} +0 -0
  1278. /package/dist/public/sdk/{base64-ojm5DKcF.js → base64-CsEj-_bC.js} +0 -0
  1279. /package/dist/public/sdk/{browser-CsOGMbMy.js → browser-D4wUl_77.js} +0 -0
  1280. /package/dist/public/sdk/{errors-DfbnsXjO.js → errors-BZO3LF6G.js} +0 -0
  1281. /package/dist/public/sdk/{events-BJyVcnsn.js → events-DsQJQ0Cl.js} +0 -0
  1282. /package/dist/public/sdk/{executeWorkerOperation-CrFf3FkL.js → executeWorkerOperation-BInr8RYN.js} +0 -0
  1283. /package/dist/public/sdk/{jsonRpc-C85RYR0A.js → jsonRpc-DrCYQIM9.js} +0 -0
  1284. /package/dist/public/sdk/{keccak-zexutGfG.js → keccak-B02Fekdh.js} +0 -0
  1285. /package/dist/public/sdk/{profileAccountProjection-DHCaMtOu.js → profileAccountProjection-DmmfMood.js} +0 -0
  1286. /package/dist/public/sdk/{signerSlot-BQ1g5JNV.js → signerSlot-Dto7dObP.js} +0 -0
  1287. /package/dist/public/sdk/{surface-measurement-reporter-OICExWKE.js → surface-measurement-reporter-IlPOI3QK.js} +0 -0
@@ -1,603 +1,94 @@
1
- import { parseMpcMaterialActivationRef, parseWalletAuthMethodId } from "../shared-ts/src/utils/domainIds.js";
2
- import { isObject } from "../shared-ts/src/utils/validation.js";
3
- import { sha256HexUtf8 } from "../shared-ts/src/utils/digests.js";
4
- import { WalletSessionStatusReadScope } from "../core/rpcClients/relayer/walletSessionAuthorizationStatus.js";
5
- import { RegistrationEventPhase, UnlockEventPhase, createRegistrationFlowEvent, createUnlockFlowEvent } from "../core/types/sdkSentEvents.js";
6
- import { readNearProvisioningState } from "../core/signingEngine/flows/registration/nearProvisioningRegistry.js";
7
- import { createServerAllocatedWalletId } from "../shared-ts/src/utils/registrationIds.js";
8
- import { nearAccountBindingFromRaw } from "../shared-ts/src/utils/walletCapabilityBindings.js";
1
+ import { createApplicationPlacementCommands } from "./walletIframe/client/placementCommands.js";
2
+ import { ClientPreferenceState } from "./walletIframe/client/preferenceState.js";
3
+ import { createApplicationPreferences } from "./walletIframe/client/preferences.js";
4
+ import { createApplicationDeviceCommands } from "./walletIframe/client/deviceCommands.js";
5
+ import { createApplicationNearCommands } from "./walletIframe/client/nearCommands.js";
6
+ import { createApplicationEvmFamilyCommands } from "./walletIframe/client/evmFamilyCommands.js";
9
7
  import { resolvePrimaryNearRpcUrl } from "../core/config/chains.js";
10
- import { configuredThresholdEcdsaChainTargets, nearAccountRefFromAccountId, thresholdEcdsaChainTargetFromRequest, thresholdEcdsaChainTargetsEqual, toWalletId, walletSessionRefFromSession } from "../core/signingEngine/interfaces/ecdsaChainTarget.js";
11
- import { parseExactEcdsaSigningLaneIdentity, parseExactEd25519ExportMaterialIdentity } from "../core/signingEngine/session/identity/exactSigningLaneIdentity.js";
12
- import { isRegistrationBenchmarkDiagnosticsEnabled } from "../core/signingEngine/walletCustody/ceremonyDriver.js";
13
- import { isEmailOtpWalletAuthAuthority, parseWalletAuthAuthorityRef } from "../shared-ts/src/utils/walletAuthAuthority.js";
14
- import { IndexedDbEcdsaCapabilityManifestStore } from "../core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js";
15
- import { parseLinkedDeviceApprovalResultV1 } from "../shared-ts/src/device-linking/parsers.js";
16
- import "../shared-ts/src/device-linking/index.js";
17
- import { isUserCancellationError, toError } from "../shared-ts/src/utils/errors.js";
18
- import { cloneAuthenticatorOptions } from "../shared-ts/src/utils/authenticatorOptions.js";
19
- import { walletSessionAuthorizations } from "../core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js";
20
- import { resolveLinkedEcdsaHolderRuntimeV1 } from "../core/signingEngine/session/material/linkedEcdsaHolderRuntime.js";
21
- import { MinimalNearClient } from "../core/rpcClients/near/NearClient.js";
22
- import { resolveAppearanceTheme, resolveThemePalette } from "../core/config/configHelpers.js";
23
8
  import { buildConfigsFromEnv } from "../core/config/defaultConfigs.js";
24
- import { IndexedDBManager } from "../core/indexedDB/index.js";
25
- import { activateEmailOtpWalletAfterUnlock, persistVerifiedEmailOtpAuthorityAfterUnlock, walletAuthAuthorityRefForVerifiedEmailOtpUnlock } from "./operations/authMethods/emailOtp/walletActivation.js";
26
- import { __isWalletIframeHostMode } from "../core/browser/walletIframe/host-mode.js";
27
- import { readUnlockedEd25519ExportRootLinkingCapabilityV1, walletCustodyCeremonyTransportFromWorkerContextV1 } from "../core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js";
28
- import { resolveAmbiguousEcdsaActivationForSelectedAuthMethod } from "./assembly/browserSigningSurfaceAssembly.js";
29
- import { BrowserSigningSurface } from "./signingSurface/BrowserSigningSurface.js";
30
- import { WALLET_IFRAME_TRANSPORT_TIMING_LABEL } from "./operations/registration/registrationTiming.js";
31
- import { resumePendingEcdsaRegistrationFromStoredCommit, resumePendingNearRegistrations } from "./operations/registration/pendingRegistrationRecovery.js";
32
- import { showWalletRecoveryCodesUi } from "./operations/recovery/walletRecoveryCodeBackup.js";
33
- import { pendingWalletRecoveryCodeBackupRepository } from "../core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.js";
34
- import { requestEmailOtpChallenge, requestEmailOtpEnrollmentChallenge, resolveGoogleEmailOtpProvider } from "./operations/authMethods/emailOtp/challenge.js";
35
- import { addWalletSigner, registerWallet } from "./operations/registration/registration.js";
36
- import { resumePendingWalletRecoveries } from "./operations/recovery/walletRecoveryCommit.js";
37
- import { addPasskeyWalletAuthMethod } from "./operations/authMethods/passkey/addPasskey.js";
38
- import { revokeWalletAuthMethodOperation } from "./operations/authMethods/revokeAuthMethod.js";
39
- import { addEmailOtpWalletAuthMethod } from "./operations/authMethods/emailOtp/addEmailOtp.js";
9
+ import { MinimalNearClient } from "../core/rpcClients/near/NearClient.js";
10
+ import { requestWalletCustodyEmailOtpChallenge } from "../core/rpcClients/relayer/walletRecoveryRotate.js";
11
+ import { configuredThresholdEcdsaChainTargets } from "../core/signingEngine/interfaces/ecdsaChainTarget.js";
12
+ import { resolveConfiguredChainTarget } from "./publicApi/chainTargets.js";
13
+ import { createApplicationPublicApi } from "./publicApi/createPublicApi.js";
14
+ import { createApplicationEmailOtpCommands } from "./walletIframe/client/emailOtpCommands.js";
15
+ import { createApplicationRegistrationCommands } from "./walletIframe/client/registrationCommands.js";
16
+ import { createApplicationSessionCommands } from "./walletIframe/client/sessionCommands.js";
40
17
  import { WalletIframeCoordinator } from "./walletIframe/coordinator.js";
18
+ import { walletIdFromString } from "../shared-ts/src/utils/registrationIds.js";
41
19
  import { parseWalletIframeExactSessionIdentity } from "./walletIframe/shared/exactSessionState.js";
42
- import { resolveBrowserWorkerWarmupPolicy } from "./assembly/browserWorkerWarmupPolicy.js";
43
- import { configureBrowserIndexedDB } from "./assembly/configureBrowserIndexedDB.js";
44
- import { createBrowserHostPlatformRuntime, createBrowserSigningRuntime } from "./assembly/createBrowserSigningRuntime.js";
45
- import { scheduleRestoredSessionPresignaturePrefills } from "./walletIframe/host/restoredSessionPresignaturePrefill.js";
46
- import { createBrowserSigningStores } from "./assembly/createBrowserSigningStores.js";
47
- import { initializeBrowserSigningRuntime } from "./assembly/initializeBrowserSigningRuntime.js";
48
- import { assertWalletRuntimePostconditions } from "../core/signingEngine/session/postconditions/runtimePostconditions.js";
49
- import { resolveExactLinkedEmailOtpAuthority, resolveLinkedDeviceEmailOtpAuthoritySelection, unlockLinkedDeviceEmailOtpWallet } from "./operations/auth/login.js";
50
- import { getWalletSessionDomain, prefillRouterAbEcdsaDerivationPresignaturePoolDomain } from "./operations/auth/walletAuth.js";
51
- import { LINKED_DEVICE_SESSION_HTTP_BASE_PATH_V1 } from "./operations/devices/deviceLinkingHttpTransport.js";
52
- import { createWalletIframeLinkedDeviceManagementPortV1 } from "./publicApi/devices.js";
53
- import { resolveConfiguredChainTarget } from "./publicApi/chainTargets.js";
54
- import { buildNearWalletRegistrationSignerSetSelection, resolvePasskeyRegistrationAccountProvisioning } from "./operations/registration/registrationSignerSet.js";
55
- import { requireTempoFeeTokenPreferenceSigningRequest } from "../core/signingEngine/chains/tempo/feeToken.js";
56
- import { createPublicApi } from "./publicApi/createPublicApi.js";
57
- import { createWalletHostOwnerAuthoritiesV1 } from "./operations/devices/walletHostOwnerAuthority.js";
58
- import { createWalletHostCompositionV1 } from "./operations/devices/walletHostComposition.js";
59
- import { createDeviceLinkingEcdsaSourceContributionMetadataReaderV1, createDeviceLinkingEd25519SourceContributionPortV1, createDeviceLinkingSourceContributionPortV1 } from "../core/signingEngine/workerManager/deviceLinkingSourceContribution.js";
60
- import { beginGoogleEmailOtpWalletAuth } from "./operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js";
61
- import { acknowledgeWalletRecoveryBackup, readWalletRecoveryCodeStatus, requestWalletCustodyEmailOtpChallenge } from "../core/rpcClients/relayer/walletRecoveryRotate.js";
62
- import { rotateWalletRecoveryCodes } from "./operations/recovery/walletRecoveryRotation.js";
20
+ import { deliverNearProvisioningStateChanged, normalizeExportKeypairWithUIInput, normalizeResolveExactKeyExportLaneInput, normalizeResolveExactKeyExportLaneResult, resolveRuntimeAppearance } from "./walletIframe/shared/facadeBoundary.js";
63
21
  //#region src/SeamsWeb/SeamsWeb.ts
64
- async function googleEmailOtpUnlockExecution(provenance, walletAuthMethodId) {
65
- if (provenance.kind === "device_link") return "authority";
66
- const pendingRows = await IndexedDBManager.listPendingWalletRegistrationCommits();
67
- for (const pending of pendingRows) if (pending.operation === "near_provisioning" && pending.signerPlanKind === "near_ed25519_and_evm_family_ecdsa" && pending.walletAuthMethodId === walletAuthMethodId) return "authority";
68
- return "ordinary";
69
- }
70
- function requireWalletAuthMethodId(value) {
71
- const parsed = parseWalletAuthMethodId(value);
72
- if (!parsed.ok) throw new Error("Email OTP unlock returned an invalid wallet auth method id");
73
- return parsed.value;
74
- }
75
- function exactEmailOtpAuthorityRefFromLoginResult(result) {
76
- const authority = result.recovery.verifiedAuthorityProjection.authority;
77
- const authorityRef = parseWalletAuthAuthorityRef({
78
- kind: "wallet_auth_authority_ref",
79
- walletId: authority.walletId,
80
- walletAuthMethodId: result.authorization.record.authMethodId,
81
- authorityDigest: authority.authorityDigestB64u
82
- });
83
- if (!authorityRef) throw new Error("Email OTP unlock returned an invalid authority reference");
84
- return authorityRef;
85
- }
86
- function nowMs() {
87
- return typeof performance !== "undefined" && typeof performance.now === "function" ? performance.now() : Date.now();
88
- }
89
- function createEmailOtpUnlockTimings() {
90
- return {
91
- emailOtpProofVerificationMs: 0,
92
- walletUnlockExchangeMs: 0,
93
- ecdsaMaterialRestoreMs: 0,
94
- signingSessionSealApplyMs: 0,
95
- warmCapabilityPersistenceMs: 0,
96
- activeRuntimeConstructionMs: 0,
97
- emailHashLookupMs: 0,
98
- workerUnlockAndSessionBootstrapMs: 0,
99
- walletStateActivationMs: 0,
100
- runtimePostconditionMs: 0,
101
- walletIframeRoundTripMs: 0
102
- };
103
- }
104
- function recordEmailOtpUnlockTiming(timings, bucket, startedAtMs) {
105
- addEmailOtpUnlockTiming(timings, bucket, nowMs() - startedAtMs);
106
- }
107
- function recordEmailOtpUnlockElapsedTiming(timings, bucket, durationMs) {
108
- addEmailOtpUnlockTiming(timings, bucket, durationMs);
109
- }
110
- function addEmailOtpUnlockTiming(timings, bucket, durationMs) {
111
- const deltaMs = Math.max(0, Math.round(durationMs));
112
- timings[bucket] += deltaMs;
113
- if (!isEmailOtpUnlockDiagnosticsEnabled()) return;
114
- console.info("[EmailOtpUnlock] timing", {
115
- bucket,
116
- deltaMs,
117
- accumulatedMs: timings[bucket]
118
- });
119
- }
120
- function isEmailOtpUnlockDiagnosticsEnabled() {
121
- return Reflect.get(globalThis, "__SEAMS_EMAIL_OTP_UNLOCK_DIAGNOSTICS") === true;
122
- }
123
- function logEmailOtpUnlockTimingSummary(input) {
124
- if (!isEmailOtpUnlockDiagnosticsEnabled()) return;
125
- const topBuckets = Object.entries(input.timings).filter(([, durationMs]) => durationMs > 0).sort((left, right) => right[1] - left[1]).slice(0, 5).map(([bucket, durationMs]) => ({
126
- bucket,
127
- durationMs
128
- }));
129
- const errorMessage = input.error instanceof Error ? input.error.message : input.error ? String(input.error) : "";
130
- const summary = {
131
- kind: "email_otp_unlock_timing_summary_v1",
132
- status: input.status,
133
- mode: input.mode,
134
- walletId: input.walletId,
135
- prewarm: input.prewarm,
136
- ...input.chainTarget ? { chainTarget: input.chainTarget } : {},
137
- totalElapsedMs: Math.max(0, Math.round(nowMs() - input.startedAtMs)),
138
- timings: input.timings,
139
- topBuckets,
140
- ...errorMessage ? { errorMessage } : {}
141
- };
142
- console.info("[EmailOtpUnlock] timing summary", summary);
143
- }
144
- function emailOtpUnlockPrewarmScopeFromBinding(nearAccountBinding) {
145
- if (!nearAccountBinding) return { kind: "global" };
146
- return {
147
- kind: "near_account_bound",
148
- walletId: String(nearAccountBinding.wallet.walletId),
149
- nearAccountId: String(nearAccountBinding.nearAccountId)
150
- };
151
- }
152
- function emailOtpUnlockPrewarmRequestFromOptions(opts) {
153
- if (opts?.iframe) return { kind: "iframe_and_local_resources" };
154
- if (opts?.workers) return { kind: "local_worker_resources" };
155
- return null;
156
- }
157
- function emailOtpUnlockPrewarmSnapshot(args) {
158
- if (args.record.kind === "none") return { kind: "not_prewarmed" };
159
- const scope = args.record.scope;
160
- return {
161
- kind: "prewarm_attempted",
162
- status: args.record.status,
163
- completedAtMs: args.record.completedAtMs,
164
- ageMs: Math.max(0, Math.round(args.nowMs - args.record.completedAtMs)),
165
- request: args.record.request,
166
- scope,
167
- walletMatches: scope.kind === "global" || scope.walletId === args.walletId
168
- };
169
- }
170
- function emailOtpUnlockActiveRuntimeState(inventory) {
171
- return {
172
- kind: "email_otp_unlock_active_runtime_state_v1",
173
- inventory
174
- };
175
- }
176
- function buildEmailOtpEcdsaUnlockActivationPlan(args) {
177
- if (args.result.authorization.record.walletId !== args.walletSession.walletId) throw new Error("Email OTP unlock authorization does not match the wallet session");
178
- return {
179
- kind: "email_otp_unlock_activation_plan_v1",
180
- mode: "evm_family_ecdsa",
181
- activeAuthorization: args.result.authorization,
182
- authorizations: args.result.authorizations,
183
- runtimeState: emailOtpUnlockActiveRuntimeState(args.runtimeInventory)
184
- };
185
- }
186
- function logEmailOtpUnlockActivationPlan(plan) {
187
- if (!isEmailOtpUnlockDiagnosticsEnabled()) return;
188
- console.info("[EmailOtpUnlock] activation plan constructed", {
189
- kind: plan.kind,
190
- mode: plan.mode,
191
- walletId: plan.activeAuthorization.record.walletId,
192
- authorityDigest: plan.activeAuthorization.record.authorityDigestB64u,
193
- walletSessionIds: plan.authorizations.map((authorization) => authorization.operationCredential.walletSessionId),
194
- runtimeTargetCount: plan.runtimeState.inventory.ecdsaByTarget.size
195
- });
196
- }
197
- function nearAccountBindingKindFromId(nearAccountId) {
198
- return nearAccountId.length === 64 && /^[0-9a-f]+$/i.test(nearAccountId) ? "implicit_near_account" : "named_near_account";
199
- }
200
- function requireNearAccountBindingForOperation(args) {
201
- const walletId = String(args.walletId || "").trim();
202
- const nearAccountId = String(args.nearAccountId || "").trim();
203
- if (!walletId || !nearAccountId) throw new Error(`[SeamsWeb] ${args.operation} requires walletId and nearAccountId`);
204
- const parsed = nearAccountBindingFromRaw({
205
- kind: nearAccountBindingKindFromId(nearAccountId),
206
- wallet: { walletId },
207
- nearAccountId
208
- });
209
- if (!parsed.ok) throw new Error(`[SeamsWeb] ${args.operation} requires a valid NEAR account binding`);
210
- return parsed.value;
211
- }
212
- function resolvePrewarmNearAccountBinding(opts) {
213
- const walletId = String(opts?.walletId || "").trim();
214
- const nearAccountId = String(opts?.nearAccountId || "").trim();
215
- if (!walletId && !nearAccountId) return void 0;
216
- return requireNearAccountBindingForOperation({
217
- walletId,
218
- nearAccountId,
219
- operation: "prewarm"
220
- });
221
- }
222
- function requireConcreteEcdsaChainTarget(value, operation) {
223
- if (!isObject(value)) throw new Error(`[SeamsWeb] ${operation} requires a concrete ECDSA chainTarget`);
224
- return thresholdEcdsaChainTargetFromRequest(value);
225
- }
226
- function normalizeResolveExactKeyExportLaneInput(input) {
227
- switch (input.kind) {
228
- case "ecdsa": return {
229
- kind: "ecdsa",
230
- walletSession: walletSessionRefFromSession(input.walletSession),
231
- chainTarget: thresholdEcdsaChainTargetFromRequest(input.chainTarget)
232
- };
233
- case "ed25519": return {
234
- kind: "ed25519",
235
- walletSession: walletSessionRefFromSession(input.walletSession),
236
- nearAccount: nearAccountRefFromAccountId(input.nearAccount.accountId)
237
- };
238
- }
239
- }
240
- function normalizeResolveExactKeyExportLaneResult(result) {
241
- switch (result.kind) {
242
- case "relink_required": return {
243
- kind: "relink_required",
244
- reason: result.reason
245
- };
246
- case "ecdsa": return {
247
- kind: "ecdsa",
248
- laneIdentity: parseExactEcdsaSigningLaneIdentity(result.laneIdentity)
249
- };
250
- case "ed25519": {
251
- const materialActivation = parseMpcMaterialActivationRef(result.materialActivation);
252
- if (!materialActivation.ok) throw new Error(materialActivation.error.message);
253
- return {
254
- kind: "ed25519",
255
- laneIdentity: parseExactEd25519ExportMaterialIdentity(result.laneIdentity),
256
- materialActivation: materialActivation.value
257
- };
258
- }
259
- }
260
- }
261
- function normalizeExportKeypairWithUIInput(input, theme) {
262
- const resolvedOptions = {
263
- ...input.options,
264
- theme: input.options.theme ?? theme
265
- };
266
- switch (input.kind) {
267
- case "ecdsa": {
268
- const laneIdentity = parseExactEcdsaSigningLaneIdentity(input.laneIdentity);
269
- if (String(laneIdentity.signer.walletId) !== String(input.walletSession.walletId)) throw new Error("[SeamsWeb] key export lane wallet does not match wallet session");
270
- if (!thresholdEcdsaChainTargetsEqual(laneIdentity.signer.chainTarget, input.chainTarget)) throw new Error("[SeamsWeb] key export lane chain target does not match request target");
271
- return {
272
- kind: "ecdsa",
273
- chainTarget: input.chainTarget,
274
- walletSession: input.walletSession,
275
- laneIdentity,
276
- options: resolvedOptions
277
- };
278
- }
279
- case "ed25519": {
280
- const laneIdentity = parseExactEd25519ExportMaterialIdentity(input.laneIdentity);
281
- const materialActivation = parseMpcMaterialActivationRef(input.materialActivation);
282
- if (!materialActivation.ok) throw new Error(materialActivation.error.message);
283
- if (String(laneIdentity.signer.account.wallet.walletId) !== String(input.walletSession.walletId)) throw new Error("[SeamsWeb] Ed25519 export lane wallet does not match wallet session");
284
- if (String(laneIdentity.signer.account.nearAccountId) !== String(input.nearAccount.accountId)) throw new Error("[SeamsWeb] Ed25519 export lane does not match the NEAR account");
285
- return {
286
- kind: "ed25519",
287
- nearAccount: nearAccountRefFromAccountId(input.nearAccount.accountId),
288
- walletSession: input.walletSession,
289
- laneIdentity,
290
- materialActivation: materialActivation.value,
291
- options: resolvedOptions
292
- };
293
- }
294
- }
295
- }
296
- function resolveRuntimeAppearance(current, input) {
297
- const rawInput = input;
298
- return {
299
- theme: resolveAppearanceTheme({
300
- value: rawInput.theme,
301
- fallback: current.theme,
302
- legacyTokens: rawInput.tokens
303
- }),
304
- palette: resolveThemePalette({
305
- value: rawInput.palette,
306
- fallback: current.palette
307
- })
308
- };
309
- }
310
- function resolveSeamsWebRuntimeMode(internalOptions) {
311
- if (internalOptions?.kind === "wallet_host") return "wallet_host";
312
- return "application";
313
- }
314
- function resolveSeamsWebLifecycleEventSource(args) {
315
- switch (args.mode) {
316
- case "wallet_host": return {
317
- kind: "signing_engine",
318
- source: args.signingEngine
319
- };
320
- case "application": return {
321
- kind: "wallet_iframe",
322
- source: args.walletIframe
323
- };
324
- }
325
- }
326
- function subscribeToSeamsWebLifecycleEvents(eventSource, listener) {
327
- switch (eventSource.kind) {
328
- case "signing_engine":
329
- case "wallet_iframe": return eventSource.source.onSdkLifecycleEvent(listener);
330
- }
331
- }
332
- function deliverNearProvisioningStateChanged(listener, event) {
333
- if (event.event === "registration.near_provisioning_changed") listener(event);
334
- }
335
- function reportWalletRecoveryStartupResult(result) {
336
- switch (result.kind) {
337
- case "completed": return;
338
- case "pending":
339
- console.warn("[SeamsWeb] pending wallet recovery replay remains pending:", result.recoveryOperationId, result.failure);
340
- return;
341
- case "discarded":
342
- console.warn("[SeamsWeb] pending wallet recovery was refused and discarded:", result.recoveryOperationId);
343
- return;
344
- case "corrupt":
345
- console.warn("[SeamsWeb] pending wallet recovery replay record is corrupt:", result.recoveryOperationId);
346
- return;
347
- }
348
- }
349
- const ecdsaCapabilityManifestStore = new IndexedDbEcdsaCapabilityManifestStore();
350
- function createSeamsWebDeviceDomainV1(args) {
351
- switch (args.mode) {
352
- case "application": return {
353
- domain: {
354
- kind: "iframe",
355
- linkedDeviceManagement: createWalletIframeLinkedDeviceManagementPortV1({ walletIframe: args.walletIframe })
356
- },
357
- resumePendingAcknowledgementsV1: noopDeviceLinkingAcknowledgementResumeV1,
358
- dispose: noopDeviceLinkingDisposeV1
359
- };
360
- case "wallet_host": {
361
- const composition = createWalletHostCompositionV1({
362
- authenticator: args.platform.authenticator,
363
- http: args.platform.http,
364
- relayerUrl: String(args.configs.network.relayer?.url || "").trim(),
365
- publishableKey: args.configs.registration.publishableKey,
366
- projectEnvironmentId: args.configs.registration.projectEnvironmentId,
367
- ownerRequest: args.ownerAuthorities.ownerRequest,
368
- ownerApprovalUpdates: createWalletHostOwnerApprovalUpdatesV1({
369
- request: args.ownerAuthorities.ownerRequest,
370
- pollIntervalMs: 1e3
371
- }),
372
- ownerAuthorization: args.ownerAuthorities.ownerAuthorization,
373
- sourceContribution: args.sourceContribution,
374
- custodyCeremonyTransport: walletCustodyCeremonyTransportFromWorkerContextV1(args.signingEngine.getSignerWorkerContext()),
375
- managementRequest: args.ownerAuthorities.managementRequest,
376
- nowMs: Date.now,
377
- pollIntervalMs: 1e3
378
- });
379
- return {
380
- domain: {
381
- kind: "direct",
382
- linkedDeviceManagement: composition.linkedDeviceManagement,
383
- deviceLinkingPorts: composition.deviceLinkingPorts
384
- },
385
- resumePendingAcknowledgementsV1: composition.deviceLinkingPorts.resumePendingAcknowledgementsV1,
386
- dispose: composition.dispose
387
- };
388
- }
389
- }
390
- }
391
- function noopDeviceLinkingDisposeV1() {}
392
- async function noopDeviceLinkingAcknowledgementResumeV1() {}
393
- function resumeDeviceLinkingAcknowledgementsInBackgroundV1(resume) {
394
- resume().catch(reportDeviceLinkingAcknowledgementResumeFailureV1);
395
- }
396
- function reportDeviceLinkingAcknowledgementResumeFailureV1(error) {
397
- console.warn("[SeamsWeb] pending linked-device acknowledgement replay failed:", error instanceof Error ? error.message : String(error || "unknown error"));
398
- }
399
- function createWalletHostOwnerApprovalUpdatesV1(args) {
400
- return {
401
- getApprovalV1: async (input) => await requestWalletHostApprovalV1(args.request, input),
402
- subscribeApprovalV1: async (input) => createWalletHostApprovalSubscriptionV1({
403
- ...args,
404
- input
405
- })
406
- };
407
- }
408
- function createWalletHostEcdsaSourceContributionMetadataReaderV1(args) {
409
- return createDeviceLinkingEcdsaSourceContributionMetadataReaderV1({
410
- readActiveEcdsaCapabilityManifestV1: async ({ materialActivation }) => {
411
- const authentication = args.signingEngine.readWalletAuthenticationState();
412
- if (authentication.kind !== "authenticated") throw new Error("ECDSA source metadata requires an authenticated wallet");
413
- let lookup = await ecdsaCapabilityManifestStore.lookupByMaterialActivation({
414
- walletId: authentication.walletId,
415
- materialActivation
416
- });
417
- if (lookup.kind === "ambiguous_authority") lookup = await resolveAmbiguousEcdsaActivationForSelectedAuthMethod({
418
- walletId: authentication.walletId,
419
- materialActivation,
420
- authorities: lookup.authorities
421
- });
422
- if (lookup.kind !== "active") throw new Error(`ECDSA source metadata manifest is ${lookup.kind}`);
423
- return lookup.manifest;
424
- },
425
- readLinkedEcdsaHolderV1: ({ materialActivation }) => {
426
- const authentication = args.signingEngine.readWalletAuthenticationState();
427
- if (authentication.kind !== "authenticated") return null;
428
- return resolveLinkedEcdsaHolderRuntimeV1({
429
- walletId: authentication.walletId,
430
- materialActivation
431
- });
432
- }
433
- });
434
- }
435
- function createWalletHostDeviceDomainConstructionV1(args) {
436
- const relayerUrl = String(args.configs.network.relayer?.url || "").trim();
437
- const platform = createBrowserHostPlatformRuntime(args.signingEngine.getSignerWorkerContext());
438
- const ownerAuthorities = createWalletHostOwnerAuthoritiesV1({
439
- http: platform.http,
440
- relayerUrl,
441
- walletSessions: walletSessionAuthorizations,
442
- resolveSelectedWalletAuthority: IndexedDBManager.resolveSelectedWalletAuthority.bind(IndexedDBManager),
443
- readWalletAuthenticationState: args.signingEngine.readWalletAuthenticationState.bind(args.signingEngine),
444
- readUnlockedEd25519ExportRootCapabilityV1: readUnlockedEd25519ExportRootLinkingCapabilityV1
445
- });
446
- return {
447
- platform,
448
- ownerAuthorities,
449
- sourceContribution: createWalletHostDeviceLinkingSourceContributionPortV1({
450
- signingEngine: args.signingEngine,
451
- ownerRequest: ownerAuthorities.ownerRequest,
452
- readEcdsaMetadataV1: createWalletHostEcdsaSourceContributionMetadataReaderV1({ signingEngine: args.signingEngine })
453
- })
454
- };
455
- }
456
- function createWalletHostDeviceLinkingSourceContributionPortV1(args) {
457
- const workerContext = args.signingEngine.getSignerWorkerContext();
458
- return createDeviceLinkingSourceContributionPortV1({
459
- workerContext,
460
- ed25519: createDeviceLinkingEd25519SourceContributionPortV1({
461
- workerContext,
462
- executeSourcePreservingV1: async ({ linkSessionId, targetRequestJson, authentication }) => {
463
- const response = await args.ownerRequest.requestOwnerV1({
464
- method: "POST",
465
- canonicalPath: `${LINKED_DEVICE_SESSION_HTTP_BASE_PATH_V1}/${String(linkSessionId)}/source-contribution/execute`,
466
- body: JSON.parse(targetRequestJson),
467
- authentication
468
- });
469
- if (response.status < 200 || response.status >= 300) throw new Error(`Wallet-host Ed25519 source-preserving request failed with HTTP ${response.status}`);
470
- return response.body;
471
- }
472
- }),
473
- readEcdsaMetadataV1: args.readEcdsaMetadataV1
474
- });
475
- }
476
- async function requestWalletHostApprovalV1(request, input) {
477
- const response = await request.requestOwnerV1({
478
- method: "GET",
479
- canonicalPath: `${LINKED_DEVICE_SESSION_HTTP_BASE_PATH_V1}/${String(input.linkSessionId)}/approval`,
480
- authentication: input.authentication
481
- });
482
- if (response.status < 200 || response.status >= 300) throw new Error(`Wallet-host approval request failed with HTTP ${response.status}`);
483
- return parseLinkedDeviceApprovalResultV1(response.body);
484
- }
485
- function createWalletHostApprovalSubscriptionV1(args) {
486
- let closed = false;
487
- let timer = null;
488
- const poll = async () => {
489
- if (closed) return;
490
- try {
491
- const result = await requestWalletHostApprovalV1(args.request, args.input);
492
- if (!closed) args.input.onResult(result);
493
- } catch {}
494
- if (!closed) timer = setTimeout(() => void poll(), args.pollIntervalMs);
495
- };
496
- poll();
497
- return { close: () => {
498
- closed = true;
499
- if (timer) clearTimeout(timer);
500
- timer = null;
501
- } };
502
- }
503
22
  /**
504
23
  * Main SeamsWeb class that provides framework-agnostic passkey operations
505
24
  * with flexible event-based callbacks for custom UX implementation
506
25
  */
507
26
  var SeamsWeb = class {
508
- constructor(configs, nearClient, internalOptions) {
509
- this.emailOtpUnlockPrewarmRecord = { kind: "none" };
510
- this.configs = buildConfigsFromEnv(configs, { ...internalOptions?.kind === "wallet_host" ? { allowDirectWalletMode: "wallet_host" } : {} });
511
- configureBrowserIndexedDB(this.configs);
27
+ constructor(configs, nearClient) {
28
+ this.preferenceState = new ClientPreferenceState();
29
+ this.configs = buildConfigsFromEnv(configs);
512
30
  this.nearClient = nearClient || new MinimalNearClient(resolvePrimaryNearRpcUrl(this.configs.network.chains));
513
- const browserSigningStores = createBrowserSigningStores(IndexedDBManager);
514
- const browserSigningSurface = new BrowserSigningSurface(this.configs, this.nearClient, {
515
- managerStores: browserSigningStores.managerStores,
516
- signingEngineStores: browserSigningStores.signingEngineStores,
517
- sealedSigningSessionStore: browserSigningStores.sealedSigningSessionStore,
518
- ed25519YaoPublicCapabilityReferences: browserSigningStores.ed25519YaoPublicCapabilityReferences,
519
- createRuntime: createBrowserSigningRuntime,
520
- initializeRuntime: initializeBrowserSigningRuntime,
521
- workerWarmupPolicy: resolveBrowserWorkerWarmupPolicy(this.configs)
522
- });
523
- this.signingEngine = browserSigningSurface;
524
31
  this.appearance = this.configs.ui.appearance;
525
- this.theme = this.appearance.theme.mode;
526
- try {
527
- this.signingEngine.setAppearance(this.appearance);
528
- } catch {}
529
- const userPreferences = this.signingEngine.getUserPreferences();
32
+ this.config = {
33
+ setTheme: this.updateTheme.bind(this),
34
+ setAppearance: this.updateAppearance.bind(this),
35
+ chainTarget: resolveConfiguredChainTarget.bind(null, this.configs.network.chains),
36
+ configuredChainTargets: configuredThresholdEcdsaChainTargets.bind(null, this.configs.network.chains)
37
+ };
38
+ const userPreferences = this.preferenceState;
530
39
  this.walletIframe = new WalletIframeCoordinator({
531
40
  configs: this.configs,
532
- signingEngine: this.signingEngine,
533
41
  userPreferences,
534
- getAppearance: () => this.appearance
535
- });
536
- const deviceDomainMode = resolveSeamsWebRuntimeMode(internalOptions);
537
- const deviceDomain = deviceDomainMode === "wallet_host" ? createSeamsWebDeviceDomainV1({
538
- mode: deviceDomainMode,
539
- configs: this.configs,
540
- signingEngine: browserSigningSurface,
541
- walletIframe: this.walletIframe,
542
- ...createWalletHostDeviceDomainConstructionV1({
543
- configs: this.configs,
544
- signingEngine: browserSigningSurface
545
- })
546
- }) : createSeamsWebDeviceDomainV1({
547
- mode: deviceDomainMode,
548
- configs: this.configs,
549
- signingEngine: browserSigningSurface,
550
- walletIframe: this.walletIframe
42
+ getAppearance: this.getAppearance.bind(this)
551
43
  });
552
- this.deviceLinkingDispose = deviceDomain.dispose;
553
- this.resumePendingAcknowledgementsV1 = deviceDomain.resumePendingAcknowledgementsV1;
554
- this.lifecycleEventSource = resolveSeamsWebLifecycleEventSource({
555
- mode: resolveSeamsWebRuntimeMode(internalOptions),
556
- signingEngine: this.signingEngine,
557
- walletIframe: this.walletIframe
558
- });
559
- const publicApi = createPublicApi({
560
- signingEngine: this.signingEngine,
44
+ this.connection = {
45
+ connect: this.walletIframe.connect.bind(this.walletIframe),
46
+ getState: this.walletIframe.getConnectionState.bind(this.walletIframe),
47
+ onChange: this.walletIframe.onConnectionChange.bind(this.walletIframe),
48
+ dispose: this.disposeClient.bind(this)
49
+ };
50
+ this.events = { subscribe: this.walletIframe.onSdkLifecycleEvent.bind(this.walletIframe) };
51
+ this.authMenu = {
52
+ open: this.walletIframe.openHostedAuthMenu.bind(this.walletIframe),
53
+ cancel: this.walletIframe.cancelHostedAuthMenu.bind(this.walletIframe),
54
+ onExternalAuthRequest: this.walletIframe.onHostedAuthMenuExternalAuthRequest.bind(this.walletIframe),
55
+ resolveExternalAuth: this.walletIframe.resolveHostedAuthMenuExternalAuth.bind(this.walletIframe)
56
+ };
57
+ this.placement = createApplicationPlacementCommands(this.walletIframe);
58
+ const preferences = createApplicationPreferences(userPreferences, this.walletIframe);
59
+ this.disposePreferences = preferences.dispose;
60
+ const deviceDomain = createApplicationDeviceCommands(this.walletIframe);
61
+ const registrationCommands = createApplicationRegistrationCommands(this.walletIframe);
62
+ const sessionCommands = createApplicationSessionCommands(this.walletIframe);
63
+ const emailOtpCommands = createApplicationEmailOtpCommands(this.walletIframe);
64
+ const publicApi = createApplicationPublicApi({
65
+ createNearCommands: createApplicationNearCommands.bind(null, this.walletIframe, preferences.beforeSigning),
66
+ createEvmFamilyCommands: createApplicationEvmFamilyCommands.bind(null, this.walletIframe, preferences.beforeSigning),
561
67
  nearClient: this.nearClient,
562
68
  configs: this.configs,
563
- getTheme: () => this.theme,
564
- userPreferences,
565
- getWalletIframe: () => this.walletIframe,
566
- getWalletAuthDeps: () => this.getWalletAuthDeps(),
69
+ preferences: preferences.capability,
70
+ getWalletIframe: this.getWalletIframe.bind(this),
567
71
  auth: {
568
- requestEmailOtpChallenge: async (args) => await this.requestEmailOtpChallengeDomain(args),
569
- requestEmailOtpSigningSessionChallenge: async (args) => await this.requestEmailOtpSigningSessionChallengeDomain(args),
570
- refreshEmailOtpSigningSession: async (args) => await this.refreshEmailOtpSigningSessionDomain(args),
571
- loginWithEmailOtpEcdsaCapability: async (args) => await this.loginWithEmailOtpEcdsaCapabilityDomain(args),
572
- unlockAddedEmailOtpWallet: async (args) => await this.loginWithLinkedEmailOtpWalletDomain(args),
573
- beginGoogleEmailOtpWalletAuth: async (args) => await this.beginGoogleEmailOtpWalletAuthDomain(args)
72
+ ...sessionCommands,
73
+ ...emailOtpCommands
574
74
  },
575
75
  registration: {
576
- resumePendingEcdsaRegistration: async (args) => await this.resumePendingEcdsaRegistrationDomain(args),
577
- getNearProvisioningState: async (args) => await this.getNearProvisioningStateDomain(args),
578
- onNearProvisioningStateChanged: (listener) => subscribeToSeamsWebLifecycleEvents(this.lifecycleEventSource, deliverNearProvisioningStateChanged.bind(null, listener)),
579
- addWalletSigner: async (args) => await this.registerWalletSignerDomain(args),
580
- addPasskey: async (args) => await this.addPasskeyDomain(args),
581
- addEmailOtp: async (args) => await this.addEmailOtpDomain(args),
582
- revokeAuthMethod: async (args) => await this.revokeAuthMethodDomain(args),
583
- registerWallet: async (args) => await this.registerWalletDomain(args),
584
- registerPasskey: async (options) => await this.registerPasskeyDomain(options),
585
- requestEmailOtpEnrollmentChallenge: async (args) => await this.requestEmailOtpEnrollmentChallengeDomain(args),
586
- enrollEmailOtp: async (args) => await this.enrollEmailOtpDomain(args)
76
+ ...registrationCommands,
77
+ onNearAccountChange: this.onNearAccountChange.bind(this)
587
78
  },
588
79
  recovery: {
589
- getWalletRecoveryCodeStatus: async (args) => await this.getWalletRecoveryCodeStatusDomain(args),
590
- acknowledgeWalletRecoveryCodeBackup: async (args) => await this.acknowledgeWalletRecoveryCodeBackupDomain(args),
591
- requestWalletCustodyEmailOtpChallenge: async (args) => await this.requestWalletCustodyEmailOtpChallengeDomain(args),
592
- rotateWalletRecoveryCodes: async (args) => await this.rotateWalletRecoveryCodesDomain(args)
80
+ syncAccount: this.syncAccountDomain.bind(this),
81
+ getCodeStatus: this.getCodeStatusDomain.bind(this),
82
+ confirmBackup: this.confirmBackupDomain.bind(this),
83
+ requestWalletCustodyEmailOtpChallenge: this.requestWalletCustodyEmailOtpChallengeDomain.bind(this),
84
+ rotateCodes: this.rotateCodesDomain.bind(this)
593
85
  },
594
- devices: { ...deviceDomain.domain },
86
+ devices: { ...deviceDomain },
595
87
  keys: {
596
- resolveExactKeyExportLane: async (input) => await this.resolveExactKeyExportLaneDomain(input),
597
- exportKeypairWithUI: async (input) => await this.exportKeypairWithUIDomain(input)
88
+ resolveExactKeyExportLane: this.resolveExactKeyExportLaneDomain.bind(this),
89
+ exportKeypairWithUI: this.exportKeypairWithUIDomain.bind(this)
598
90
  }
599
91
  });
600
- this.walletIframeControls = publicApi.walletIframeControls;
601
92
  this.preferences = publicApi.preferences;
602
93
  this.auth = publicApi.auth;
603
94
  this.registration = publicApi.registration;
@@ -607,881 +98,68 @@ var SeamsWeb = class {
607
98
  this.near = publicApi.near;
608
99
  this.tempo = publicApi.tempo;
609
100
  this.evm = publicApi.evm;
610
- this.resumePendingRegistrationOnStartup();
611
- resumeDeviceLinkingAcknowledgementsInBackgroundV1(deviceDomain.resumePendingAcknowledgementsV1);
612
- }
613
- /**
614
- * Initialize the hidden wallet service iframe client (optional) and warm critical resources.
615
- * Always warms local resources; initializes iframe when wallet mode is `iframe`.
616
- * Idempotent and safe to call multiple times.
617
- */
618
- async initWalletIframe(walletId) {
619
- return await this.walletIframe.init(walletId);
620
101
  }
621
102
  async getWalletIframeExactSessionState() {
622
103
  return await this.walletIframe.getExactSessionState();
623
104
  }
624
- /** @internal One wallet-host restore owns all configured-chain prefills. */
625
- async prefillRestoredWalletSession(state) {
626
- await scheduleRestoredSessionPresignaturePrefills({
627
- state,
628
- chainTargets: this.configuredChainTargets(),
629
- prefill: prefillRouterAbEcdsaDerivationPresignaturePoolDomain.bind(null, this.getWalletAuthDeps())
630
- });
631
- }
632
- async openHostedAuthMenu(request, anchorElement) {
633
- return await this.walletIframe.openHostedAuthMenu(request, anchorElement);
634
- }
635
- async cancelHostedAuthMenu(args) {
636
- await this.walletIframe.cancelHostedAuthMenu(args);
637
- }
638
- onHostedAuthMenuExternalAuthRequest(listener) {
639
- return this.walletIframe.onHostedAuthMenuExternalAuthRequest(listener);
640
- }
641
- onHostedAuthMenuDemoEmailOtpDelivery(listener) {
642
- return this.walletIframe.onHostedAuthMenuDemoEmailOtpDelivery(listener);
643
- }
644
- async resolveHostedAuthMenuExternalAuth(resolution) {
645
- await this.walletIframe.resolveHostedAuthMenuExternalAuth(resolution);
646
- }
647
105
  async lockWalletIframeExactSession(identity) {
648
106
  const parsedIdentity = parseWalletIframeExactSessionIdentity(identity);
649
107
  return await this.walletIframe.lockExactSession(parsedIdentity);
650
108
  }
651
- /** True when the wallet iframe client is connected and ready. */
652
- isWalletIframeReady() {
653
- return this.walletIframeControls.isWalletIframeReady();
654
- }
655
- /** Subscribe to wallet iframe ready state transitions. */
656
- onWalletIframeReady(listener) {
657
- return this.walletIframeControls.onWalletIframeReady(listener);
658
- }
659
- /** Subscribe to wallet-host login status updates. */
660
- onWalletIframeLoginStatusChanged(listener) {
661
- return this.walletIframeControls.onWalletIframeLoginStatusChanged(listener);
662
- }
663
- /** Subscribe to typed lifecycle events emitted by the wallet boundary. */
664
- onSdkLifecycleEvent(listener) {
665
- return subscribeToSeamsWebLifecycleEvents(this.lifecycleEventSource, listener);
666
- }
667
- /** Subscribe to wallet-host preference updates. */
668
- onWalletIframePreferencesChanged(listener) {
669
- return this.walletIframeControls.onWalletIframePreferencesChanged(listener);
670
- }
671
- getContext() {
672
- return {
673
- signingEngine: this.signingEngine,
674
- nearClient: this.nearClient,
675
- configs: this.configs,
676
- theme: this.theme,
677
- resumePendingAcknowledgementsV1: this.resumePendingAcknowledgementsAfterExactUnlockV1.bind(this)
678
- };
679
- }
680
- resumePendingAcknowledgementsAfterExactUnlockV1() {
681
- resumeDeviceLinkingAcknowledgementsInBackgroundV1(this.resumePendingAcknowledgementsV1);
682
- }
683
- async resumePendingRegistrationOnStartup() {
684
- if (IndexedDBManager.isDisabled()) return;
685
- const relayerUrl = String(this.configs.network.relayer?.url || "").trim();
686
- if (!relayerUrl) return;
687
- try {
688
- const results = await resumePendingNearRegistrations({ relayerUrl });
689
- for (const result of results) if (result.kind === "failed") console.warn("[SeamsWeb] pending registration replay remains pending:", result.registrationCeremonyId, result.error);
690
- } catch (error) {
691
- console.warn("[SeamsWeb] pending registration startup replay failed:", error instanceof Error ? error.message : String(error || "unknown error"));
692
- }
109
+ disposeClient() {
693
110
  try {
694
- const recoveryResults = await resumePendingWalletRecoveries({ relayUrl: relayerUrl });
695
- for (const result of recoveryResults) reportWalletRecoveryStartupResult(result);
696
- } catch (error) {
697
- console.warn("[SeamsWeb] pending wallet recovery startup replay failed:", error instanceof Error ? error.message : String(error || "unknown error"));
111
+ this.walletIframe.dispose();
112
+ } finally {
113
+ this.disposePreferences();
698
114
  }
699
115
  }
700
- dispose() {
701
- this.deviceLinkingDispose();
702
- this.walletIframe.dispose();
703
- this.signingEngine.dispose();
116
+ get theme() {
117
+ return this.appearance.theme.mode;
704
118
  }
705
- getWalletAuthDeps() {
706
- return {
707
- getContext: () => this.getContext(),
708
- walletIframe: this.walletIframe,
709
- signingEngine: this.signingEngine,
710
- nearClient: this.nearClient,
711
- initWalletIframe: async (walletId) => {
712
- return await this.initWalletIframe(walletId);
713
- }
714
- };
715
- }
716
- setTheme(next) {
119
+ updateTheme(next) {
717
120
  if (next !== "light" && next !== "dark") return;
718
- this.setAppearance({ theme: {
121
+ this.updateAppearance({ theme: {
719
122
  ...this.appearance.theme,
720
123
  mode: next
721
124
  } });
722
125
  }
723
126
  /**
724
- * Resolve one configured ECDSA chain target by network slug, chain id, or
725
- * family — the value every EVM-family signing and export call takes.
726
- *
727
- * Throws when the selector matches no configured chain, or more than one.
728
- * Every configured chain is named in the error, so an ambiguous selector is
729
- * a clear failure rather than a silent first-match pick.
730
- *
731
- * @example seams.chainTarget('tempo-testnet')
732
- */
733
- chainTarget(selector) {
734
- return resolveConfiguredChainTarget(this.configs.network.chains, selector);
735
- }
736
- /** Every ECDSA chain target this client is configured for. */
737
- configuredChainTargets() {
738
- return configuredThresholdEcdsaChainTargets(this.configs.network.chains);
739
- }
740
- /**
741
127
  * Update resolved appearance at runtime.
742
- * This is the canonical internal propagation path for local signing UI,
743
- * wallet-host documents, and app-origin wallet iframe mode. Appearance is
128
+ * Forward appearance to the wallet-host document. Appearance is
744
129
  * excluded from the runtime-reset fingerprint, so warm signing-session state
745
130
  * is preserved. Fire-and-forget; never throws.
746
131
  */
747
- setAppearance(appearance) {
132
+ updateAppearance(appearance) {
748
133
  const normalizedAppearance = resolveRuntimeAppearance(this.appearance, appearance);
749
134
  this.appearance = normalizedAppearance;
750
- this.theme = normalizedAppearance.theme.mode;
751
- try {
752
- this.signingEngine.setAppearance(normalizedAppearance);
753
- } catch {}
754
- if (__isWalletIframeHostMode()) try {
755
- document.documentElement.setAttribute("data-seams-theme", this.theme);
756
- } catch {}
757
- if (this.walletIframe.shouldUseWalletIframe()) (async () => {
758
- try {
759
- await (await this.walletIframe.requireRouter()).setAppearance(normalizedAppearance);
760
- } catch {}
761
- })();
762
- }
763
- setWalletIframeSurfaceMeasurementBinding(binding) {
764
- this.signingEngine.setWalletIframeSurfaceMeasurementBinding(binding);
135
+ this.synchronizeAppearance(normalizedAppearance);
765
136
  }
766
- /**
767
- * Pre-warm resources on a best-effort basis without changing visible state.
768
- * - When iframe=true, initializes the wallet iframe client.
769
- * - When workers=true, warms local critical resources only outside app-origin iframe mode.
770
- * - When both are false/omitted, does nothing.
771
- */
772
- async prewarm(opts) {
773
- const iframe = !!opts?.iframe;
774
- const workers = !!opts?.workers;
775
- const nearAccountBinding = resolvePrewarmNearAccountBinding(opts);
776
- const prewarmRequest = emailOtpUnlockPrewarmRequestFromOptions(opts);
777
- const prewarmScope = emailOtpUnlockPrewarmScopeFromBinding(nearAccountBinding);
778
- const tasks = [];
779
- if (iframe) tasks.push(this.initWalletIframe(nearAccountBinding?.wallet.walletId));
780
- else if (workers && !this.walletIframe.shouldUseWalletIframe()) {
781
- const accountContext = nearAccountBinding ? {
782
- kind: "near_account_bound",
783
- account: nearAccountBinding
784
- } : { kind: "none" };
785
- tasks.push(this.signingEngine.warmCriticalResources(accountContext));
786
- tasks.push(this.signingEngine.prewarmEcdsaRegistrationCrypto());
787
- }
788
- if (tasks.length === 0) return;
789
- let status = "succeeded";
137
+ async synchronizeAppearance(appearance) {
790
138
  try {
791
- await Promise.all(tasks);
792
- } catch {
793
- status = "failed";
794
- }
795
- if (prewarmRequest) this.emailOtpUnlockPrewarmRecord = {
796
- kind: "attempted",
797
- status,
798
- completedAtMs: Date.now(),
799
- request: prewarmRequest,
800
- scope: prewarmScope
801
- };
802
- }
803
- emitWalletIframeTransportTimingSummary(input) {
804
- if (!isRegistrationBenchmarkDiagnosticsEnabled()) return;
805
- const diagnostics = this.walletIframe.getTransportDiagnosticsSnapshot();
806
- if (!diagnostics) return;
807
- const { kind: transportKind, ...timings } = diagnostics;
808
- console.info(WALLET_IFRAME_TRANSPORT_TIMING_LABEL, {
809
- kind: "wallet_iframe_registration_transport_timing_v1",
810
- operation: input.operation,
811
- walletId: input.walletId,
812
- transportKind,
813
- ...timings
814
- });
815
- }
816
- async registerWalletDomain(args) {
817
- if (this.walletIframe.shouldUseWalletIframe()) try {
818
- const walletRouterId = args.wallet.kind === "provided" ? String(args.wallet.walletId) : void 0;
819
- const router = await this.walletIframe.requireRouter(walletRouterId);
820
- this.emitWalletIframeTransportTimingSummary({
821
- operation: "registerWallet",
822
- walletId: walletRouterId ?? null
823
- });
824
- const res = await router.registerWallet(args);
825
- const registeredWalletId = res.success ? String(res.walletId || "").trim() : "";
826
- if (registeredWalletId) (async () => {
827
- try {
828
- await this.initWalletIframe(registeredWalletId);
829
- } catch {}
830
- })();
831
- await args.options?.afterCall?.(true, res);
832
- return res;
833
- } catch (error) {
834
- const e = toError(error);
835
- await args.options?.onError?.(e);
836
- await args.options?.afterCall?.(false);
837
- throw e;
838
- }
839
- return await registerWallet({
840
- context: this.getContext(),
841
- authMethod: args.authMethod,
842
- wallet: args.wallet,
843
- signerSelection: args.signerSelection,
844
- options: args.options || {},
845
- authenticatorOptions: cloneAuthenticatorOptions(this.configs.webauthn.authenticatorOptions)
846
- });
847
- }
848
- async getNearProvisioningStateDomain(args) {
849
- const walletId = toWalletId(args.walletId);
850
- if (this.walletIframe.shouldUseWalletIframe()) return await (await this.walletIframe.requireRouter(String(walletId))).getNearProvisioningState({ walletId });
851
- const live = readNearProvisioningState(walletId);
852
- if (live) return live;
853
- return await this.getContext().signingEngine.getWalletNearProvisioningState(walletId);
854
- }
855
- async resumePendingEcdsaRegistrationDomain(args) {
856
- if (this.walletIframe.shouldUseWalletIframe()) return await (await this.walletIframe.requireRouter(String(args.walletId))).resumePendingEcdsaRegistration(args);
857
- const relayerUrl = String(this.configs.network.relayer?.url || "").trim();
858
- if (!relayerUrl) throw new Error("pending ECDSA registration recovery requires a relayer URL");
859
- return await resumePendingEcdsaRegistrationFromStoredCommit({
860
- relayerUrl,
861
- request: args,
862
- signingSurface: this.signingEngine
863
- });
864
- }
865
- async registerWalletSignerDomain(args) {
866
- if (this.walletIframe.shouldUseWalletIframe()) try {
867
- const res = await (await this.walletIframe.requireRouter(String(args.walletId || ""))).addWalletSigner(args);
868
- await args.options?.afterCall?.(true, res);
869
- return res;
870
- } catch (error) {
871
- const e = toError(error);
872
- await args.options?.onError?.(e);
873
- await args.options?.afterCall?.(false);
874
- throw e;
875
- }
876
- return await addWalletSigner({
877
- context: this.getContext(),
878
- walletId: args.walletId,
879
- rpId: args.rpId,
880
- signerSelection: args.signerSelection,
881
- options: args.options || {}
882
- });
883
- }
884
- async addPasskeyDomain(args) {
885
- if (this.walletIframe.shouldUseWalletIframe()) try {
886
- const result = await (await this.walletIframe.requireRouter(String(args.walletId || ""))).addPasskey(args);
887
- await args.options?.afterCall?.(true, result);
888
- return result;
889
- } catch (error) {
890
- const normalized = toError(error);
891
- await args.options?.onError?.(normalized);
892
- await args.options?.afterCall?.(false);
893
- throw normalized;
894
- }
895
- return await addPasskeyWalletAuthMethod({
896
- context: this.getContext(),
897
- walletId: args.walletId,
898
- rpId: args.rpId,
899
- options: args.options
900
- });
901
- }
902
- async revokeAuthMethodDomain(args) {
903
- if (this.walletIframe.shouldUseWalletIframe()) return await (await this.walletIframe.requireRouter(String(args.walletId || ""))).revokeAuthMethod(args);
904
- return await revokeWalletAuthMethodOperation({
905
- context: this.getContext(),
906
- walletId: args.walletId,
907
- walletAuthMethodId: args.walletAuthMethodId
908
- });
909
- }
910
- async addEmailOtpDomain(args) {
911
- if (this.walletIframe.shouldUseWalletIframe()) try {
912
- const result = await (await this.walletIframe.requireRouter(String(args.walletId || ""))).addEmailOtp(args);
913
- await args.options?.afterCall?.(true, result);
914
- return result;
915
- } catch (error) {
916
- const normalized = toError(error);
917
- await args.options?.onError?.(normalized);
918
- await args.options?.afterCall?.(false);
919
- throw normalized;
920
- }
921
- return await addEmailOtpWalletAuthMethod({
922
- context: this.getContext(),
923
- walletId: args.walletId,
924
- emailAddress: args.emailAddress,
925
- options: args.options
926
- });
927
- }
928
- async registerPasskeyDomain(options = {}) {
929
- if (typeof options === "string") throw new Error("[SeamsWeb] registration.registerPasskey no longer accepts a NEAR account id; call registration.registerPasskey(options) for implicit NEAR registration or registerWallet(...) with explicit sponsored accountProvisioning.");
930
- const { wallet, nearAccountProvisioning, ...registrationOptions } = options || {};
931
- const rpId = this.walletIframe.resolveRegistrationRpId(this.signingEngine.getRpId());
932
- const provisioningPreference = nearAccountProvisioning ?? this.configs.registration.nearAccountProvisioning;
933
- const resolvedWallet = wallet || (provisioningPreference.kind === "relayer_named_subaccount" ? {
934
- kind: "provided",
935
- walletId: createServerAllocatedWalletId()
936
- } : { kind: "server_allocated" });
937
- const accountProvisioning = resolvePasskeyRegistrationAccountProvisioning({
938
- configs: this.configs,
939
- wallet: resolvedWallet,
940
- preference: provisioningPreference
941
- });
942
- return await this.registerWalletDomain({
943
- wallet: resolvedWallet,
944
- authMethod: {
945
- kind: "passkey",
946
- rpId
947
- },
948
- signerSelection: buildNearWalletRegistrationSignerSetSelection({
949
- configs: this.configs,
950
- accountProvisioning,
951
- options: registrationOptions
952
- }),
953
- options: registrationOptions
954
- });
955
- }
956
- emailOtpRegistrationFlowId(walletId, challengeId) {
957
- return `email-otp-registration:${String(walletId || "unknown-wallet").trim() || "unknown-wallet"}:${String(challengeId || "active").trim() || "active"}`;
958
- }
959
- emailOtpUnlockFlowId(walletId, challengeId) {
960
- return `email-otp-unlock:${String(walletId || "unknown-wallet").trim() || "unknown-wallet"}:${String(challengeId || "active").trim() || "active"}`;
961
- }
962
- emitEmailOtpRegistrationEvent(onEvent, input) {
963
- try {
964
- onEvent?.(createRegistrationFlowEvent(input));
139
+ await (await this.walletIframe.requireRouter()).setAppearance(appearance);
965
140
  } catch {}
966
141
  }
967
- emitEmailOtpUnlockEvent(onEvent, input) {
968
- try {
969
- onEvent?.(createUnlockFlowEvent(input));
970
- } catch {}
971
- }
972
- emitEmailOtpRegistrationFailure(onEvent, input) {
973
- this.emitEmailOtpRegistrationEvent(onEvent, {
974
- ...input,
975
- phase: RegistrationEventPhase.FAILED,
976
- status: "failed",
977
- error: { message: input.error.message }
978
- });
979
- }
980
- emitEmailOtpUnlockWorkerProgress(onEvent, args) {
981
- const chainLabel = args.chainTarget.kind === "tempo" ? "Tempo" : "EVM";
982
- const base = {
983
- flowId: args.flowId,
984
- walletId: args.walletId,
985
- authMethod: "email_otp",
986
- ...args.challengeId ? { requestId: args.challengeId } : {}
987
- };
988
- switch (args.progress.code) {
989
- case "otp.verify.succeeded":
990
- this.emitEmailOtpUnlockEvent(onEvent, {
991
- ...base,
992
- phase: UnlockEventPhase.STEP_03_EMAIL_OTP_VERIFY_SUCCEEDED,
993
- status: "succeeded",
994
- interaction: {
995
- kind: "otp_input",
996
- overlay: "hide"
997
- }
998
- });
999
- return UnlockEventPhase.STEP_03_EMAIL_OTP_VERIFY_SUCCEEDED;
1000
- case "signer.ecdsa.bootstrap.started":
1001
- this.emitEmailOtpUnlockEvent(onEvent, {
1002
- ...base,
1003
- phase: UnlockEventPhase.STEP_05_SIGNING_SESSION_WARMUP_STARTED,
1004
- status: "running",
1005
- message: `Preparing ${chainLabel} signing session`,
1006
- data: { chainTarget: args.chainTarget }
1007
- });
1008
- return UnlockEventPhase.STEP_05_SIGNING_SESSION_WARMUP_STARTED;
1009
- case "signer.ecdsa.bootstrap.prepared":
1010
- this.emitEmailOtpUnlockEvent(onEvent, {
1011
- ...base,
1012
- phase: UnlockEventPhase.STEP_05_SIGNING_SESSION_WARMUP_STARTED,
1013
- status: "running",
1014
- message: `Coordinating ${chainLabel} signing session`,
1015
- data: { chainTarget: args.chainTarget }
1016
- });
1017
- return UnlockEventPhase.STEP_05_SIGNING_SESSION_WARMUP_STARTED;
1018
- case "signer.ecdsa.bootstrap.responded":
1019
- this.emitEmailOtpUnlockEvent(onEvent, {
1020
- ...base,
1021
- phase: UnlockEventPhase.STEP_05_SIGNING_SESSION_WARMUP_STARTED,
1022
- status: "running",
1023
- message: `Finalizing ${chainLabel} signing session`,
1024
- data: { chainTarget: args.chainTarget }
1025
- });
1026
- return UnlockEventPhase.STEP_05_SIGNING_SESSION_WARMUP_STARTED;
1027
- case "signer.ecdsa.bootstrap.succeeded":
1028
- this.emitEmailOtpUnlockEvent(onEvent, {
1029
- ...base,
1030
- phase: UnlockEventPhase.STEP_05_SIGNING_SESSION_WARMUP_STARTED,
1031
- status: "running",
1032
- message: `Saving ${chainLabel} signing session`,
1033
- data: { chainTarget: args.chainTarget }
1034
- });
1035
- return UnlockEventPhase.STEP_05_SIGNING_SESSION_WARMUP_STARTED;
1036
- default: return null;
1037
- }
1038
- }
1039
- emitEmailOtpUnlockFailure(onEvent, input) {
1040
- const cancelled = isUserCancellationError(input.error);
1041
- this.emitEmailOtpUnlockEvent(onEvent, {
1042
- ...input,
1043
- phase: cancelled ? UnlockEventPhase.CANCELLED : UnlockEventPhase.FAILED,
1044
- status: cancelled ? "cancelled" : "failed",
1045
- interaction: input.interaction ?? {
1046
- kind: cancelled ? "otp_input" : "none",
1047
- overlay: "hide"
1048
- },
1049
- error: { message: input.error.message }
1050
- });
1051
- }
1052
- async requestEmailOtpChallengeDomain(args) {
1053
- const flowId = this.emailOtpUnlockFlowId(args.walletId);
1054
- this.emitEmailOtpUnlockEvent(args.onEvent, {
1055
- flowId,
1056
- walletId: args.walletId,
1057
- authMethod: "email_otp",
1058
- phase: UnlockEventPhase.STEP_03_EMAIL_OTP_CHALLENGE_STARTED,
1059
- status: "running"
1060
- });
1061
- try {
1062
- if (this.walletIframe.shouldUseWalletIframe()) {
1063
- const result = await (await this.walletIframe.requireRouter(args.walletId)).requestEmailOtpChallenge(args);
1064
- this.emitEmailOtpUnlockEvent(args.onEvent, {
1065
- flowId: this.emailOtpUnlockFlowId(args.walletId, result.challengeId),
1066
- walletId: args.walletId,
1067
- authMethod: "email_otp",
1068
- phase: UnlockEventPhase.STEP_03_EMAIL_OTP_CHALLENGE_SENT,
1069
- status: "succeeded",
1070
- data: {
1071
- challengeId: result.challengeId,
1072
- otpChannel: result.otpChannel
1073
- }
1074
- });
1075
- return result;
1076
- }
1077
- let walletAuthMethodId = args.walletAuthMethodId;
1078
- if (!walletAuthMethodId) {
1079
- const selected = await IndexedDBManager.resolveSelectedWalletAuthority(String(args.walletId || "").trim());
1080
- if (selected.kind === "resolved" && selected.authMethod.kind === "email_otp" && selected.authMethod.status === "active" && String(selected.authMethod.walletId) === String(args.walletId || "").trim()) walletAuthMethodId = String(selected.authMethod.walletAuthMethodId);
1081
- }
1082
- if (!walletAuthMethodId) throw new Error("Email OTP challenge requires an exact walletAuthMethodId");
1083
- const result = await requestEmailOtpChallenge({
1084
- relayUrl: String(args.relayUrl || this.configs.network.relayer.url || "").trim(),
1085
- walletId: String(args.walletId || "").trim(),
1086
- walletAuthMethodId,
1087
- ...args.operation ? { operation: args.operation } : {},
1088
- ...args.operationFingerprintDigest ? { operationFingerprintDigest: args.operationFingerprintDigest } : {}
1089
- });
1090
- this.emitEmailOtpUnlockEvent(args.onEvent, {
1091
- flowId: this.emailOtpUnlockFlowId(args.walletId, result.challengeId),
1092
- walletId: args.walletId,
1093
- authMethod: "email_otp",
1094
- phase: UnlockEventPhase.STEP_03_EMAIL_OTP_CHALLENGE_SENT,
1095
- status: "succeeded",
1096
- data: {
1097
- challengeId: result.challengeId,
1098
- otpChannel: result.otpChannel
1099
- }
1100
- });
1101
- return result;
1102
- } catch (error) {
1103
- const e = toError(error);
1104
- this.emitEmailOtpUnlockFailure(args.onEvent, {
1105
- flowId,
1106
- walletId: args.walletId,
1107
- authMethod: "email_otp",
1108
- error: e
1109
- });
1110
- throw e;
1111
- }
1112
- }
1113
- async requestEmailOtpEnrollmentChallengeDomain(args) {
1114
- const flowId = this.emailOtpRegistrationFlowId(args.walletId);
1115
- this.emitEmailOtpRegistrationEvent(args.onEvent, {
1116
- flowId,
1117
- walletId: args.walletId,
1118
- authMethod: "email_otp",
1119
- phase: RegistrationEventPhase.STEP_04_OTP_CHALLENGE_STARTED,
1120
- status: "running"
1121
- });
1122
- try {
1123
- if (this.walletIframe.shouldUseWalletIframe()) {
1124
- const result = await (await this.walletIframe.requireRouter(args.walletId)).requestEmailOtpEnrollmentChallenge(args);
1125
- this.emitEmailOtpRegistrationEvent(args.onEvent, {
1126
- flowId: this.emailOtpRegistrationFlowId(args.walletId, result.challengeId),
1127
- walletId: args.walletId,
1128
- authMethod: "email_otp",
1129
- phase: RegistrationEventPhase.STEP_04_OTP_CHALLENGE_SENT,
1130
- status: "succeeded",
1131
- data: {
1132
- challengeId: result.challengeId,
1133
- otpChannel: result.otpChannel
1134
- }
1135
- });
1136
- return result;
1137
- }
1138
- const result = await requestEmailOtpEnrollmentChallenge({
1139
- relayUrl: String(args.relayUrl || this.configs.network.relayer.url || "").trim(),
1140
- walletId: String(args.walletId || "").trim()
1141
- });
1142
- this.emitEmailOtpRegistrationEvent(args.onEvent, {
1143
- flowId: this.emailOtpRegistrationFlowId(args.walletId, result.challengeId),
1144
- walletId: args.walletId,
1145
- authMethod: "email_otp",
1146
- phase: RegistrationEventPhase.STEP_04_OTP_CHALLENGE_SENT,
1147
- status: "succeeded",
1148
- data: {
1149
- challengeId: result.challengeId,
1150
- otpChannel: result.otpChannel
1151
- }
1152
- });
1153
- return result;
1154
- } catch (error) {
1155
- const e = toError(error);
1156
- this.emitEmailOtpRegistrationFailure(args.onEvent, {
1157
- flowId,
1158
- walletId: args.walletId,
1159
- authMethod: "email_otp",
1160
- error: e
1161
- });
1162
- throw e;
1163
- }
1164
- }
1165
- async requestEmailOtpSigningSessionChallengeDomain(args) {
1166
- const walletId = args.walletSession.walletId;
1167
- const flowId = this.emailOtpUnlockFlowId(walletId);
1168
- this.emitEmailOtpUnlockEvent(args.onEvent, {
1169
- flowId,
1170
- walletId,
1171
- authMethod: "email_otp",
1172
- phase: UnlockEventPhase.STEP_03_EMAIL_OTP_CHALLENGE_STARTED,
1173
- status: "running"
1174
- });
1175
- try {
1176
- if (this.walletIframe.shouldUseWalletIframe()) {
1177
- const result = await (await this.walletIframe.requireRouter(walletId)).requestEmailOtpSigningSessionChallenge({
1178
- walletSession: args.walletSession,
1179
- chainTarget: args.chainTarget
1180
- });
1181
- this.emitEmailOtpUnlockEvent(args.onEvent, {
1182
- flowId: this.emailOtpUnlockFlowId(walletId, result.challengeId),
1183
- walletId,
1184
- authMethod: "email_otp",
1185
- phase: UnlockEventPhase.STEP_03_EMAIL_OTP_CHALLENGE_SENT,
1186
- status: "succeeded",
1187
- data: {
1188
- challengeId: result.challengeId,
1189
- otpChannel: "email_otp"
1190
- }
1191
- });
1192
- return result;
1193
- }
1194
- const result = await this.signingEngine.requestEmailOtpSigningSessionChallenge({
1195
- walletSession: args.walletSession,
1196
- chainTarget: args.chainTarget
1197
- });
1198
- this.emitEmailOtpUnlockEvent(args.onEvent, {
1199
- flowId: this.emailOtpUnlockFlowId(walletId, result.challengeId),
1200
- walletId,
1201
- authMethod: "email_otp",
1202
- phase: UnlockEventPhase.STEP_03_EMAIL_OTP_CHALLENGE_SENT,
1203
- status: "succeeded",
1204
- data: {
1205
- challengeId: result.challengeId,
1206
- otpChannel: "email_otp"
1207
- }
1208
- });
1209
- return result;
1210
- } catch (error) {
1211
- const e = toError(error);
1212
- this.emitEmailOtpUnlockFailure(args.onEvent, {
1213
- flowId,
1214
- walletId,
1215
- authMethod: "email_otp",
1216
- error: e
1217
- });
1218
- throw e;
1219
- }
1220
- }
1221
- async enrollEmailOtpDomain(args) {
1222
- const flowId = this.emailOtpRegistrationFlowId(args.walletId, args.challengeId);
1223
- this.emitEmailOtpRegistrationEvent(args.onEvent, {
1224
- flowId,
1225
- walletId: args.walletId,
1226
- authMethod: "email_otp",
1227
- phase: RegistrationEventPhase.STEP_04_OTP_VERIFY_STARTED,
1228
- status: "running",
1229
- interaction: {
1230
- kind: "otp_input",
1231
- overlay: "none"
1232
- },
1233
- ...args.challengeId ? { requestId: args.challengeId } : {}
1234
- });
1235
- try {
1236
- if (this.walletIframe.shouldUseWalletIframe()) {
1237
- if (args.clientSecret32) throw new Error("[SeamsWeb] Wallet iframe Email OTP enrollment owns client secret generation; clientSecret32 is not accepted from the app origin.");
1238
- const router = await this.walletIframe.requireRouter(args.walletId);
1239
- const iframeArgs = { ...args };
1240
- delete iframeArgs.clientSecret32;
1241
- delete iframeArgs.onEvent;
1242
- const result = await router.enrollEmailOtp(iframeArgs);
1243
- this.emitEmailOtpRegistrationEvent(args.onEvent, {
1244
- flowId,
1245
- walletId: args.walletId,
1246
- authMethod: "email_otp",
1247
- phase: RegistrationEventPhase.STEP_04_OTP_VERIFY_SUCCEEDED,
1248
- status: "succeeded",
1249
- interaction: {
1250
- kind: "otp_input",
1251
- overlay: "hide"
1252
- },
1253
- ...args.challengeId ? { requestId: args.challengeId } : {},
1254
- data: {
1255
- otpChannel: result.otpChannel,
1256
- enrollmentSealKeyVersion: result.enrollmentSealKeyVersion
1257
- }
1258
- });
1259
- this.emitEmailOtpRegistrationEvent(args.onEvent, {
1260
- flowId,
1261
- walletId: args.walletId,
1262
- authMethod: "email_otp",
1263
- phase: RegistrationEventPhase.STEP_09_EMAIL_OTP_SIGNER_ENROLL_STARTED,
1264
- status: "running",
1265
- ...args.challengeId ? { requestId: args.challengeId } : {}
1266
- });
1267
- this.emitEmailOtpRegistrationEvent(args.onEvent, {
1268
- flowId,
1269
- walletId: args.walletId,
1270
- authMethod: "email_otp",
1271
- phase: RegistrationEventPhase.STEP_09_EMAIL_OTP_SIGNER_ENROLL_SUCCEEDED,
1272
- status: "succeeded",
1273
- ...args.challengeId ? { requestId: args.challengeId } : {},
1274
- data: { unlockKeyVersion: result.unlockKeyVersion }
1275
- });
1276
- return result;
1277
- }
1278
- const result = await this.signingEngine.enrollEmailOtpInternal({
1279
- walletId: toWalletId(args.walletId),
1280
- otpCode: args.otpCode,
1281
- ...args.relayUrl ? { relayUrl: args.relayUrl } : {},
1282
- challengeId: args.challengeId,
1283
- ...args.groupId ? { groupId: args.groupId } : {},
1284
- ...args.clientSecret32 ? { clientSecret32: args.clientSecret32 } : {}
1285
- });
1286
- this.emitEmailOtpRegistrationEvent(args.onEvent, {
1287
- flowId,
1288
- walletId: args.walletId,
1289
- authMethod: "email_otp",
1290
- phase: RegistrationEventPhase.STEP_04_OTP_VERIFY_SUCCEEDED,
1291
- status: "succeeded",
1292
- interaction: {
1293
- kind: "otp_input",
1294
- overlay: "hide"
1295
- },
1296
- ...args.challengeId ? { requestId: args.challengeId } : {},
1297
- data: {
1298
- otpChannel: result.otpChannel,
1299
- enrollmentSealKeyVersion: result.enrollmentSealKeyVersion
1300
- }
1301
- });
1302
- this.emitEmailOtpRegistrationEvent(args.onEvent, {
1303
- flowId,
1304
- walletId: args.walletId,
1305
- authMethod: "email_otp",
1306
- phase: RegistrationEventPhase.STEP_09_EMAIL_OTP_SIGNER_ENROLL_STARTED,
1307
- status: "running",
1308
- ...args.challengeId ? { requestId: args.challengeId } : {}
1309
- });
1310
- this.emitEmailOtpRegistrationEvent(args.onEvent, {
1311
- flowId,
1312
- walletId: args.walletId,
1313
- authMethod: "email_otp",
1314
- phase: RegistrationEventPhase.STEP_09_EMAIL_OTP_SIGNER_ENROLL_SUCCEEDED,
1315
- status: "succeeded",
1316
- ...args.challengeId ? { requestId: args.challengeId } : {},
1317
- data: { unlockKeyVersion: result.unlockKeyVersion }
1318
- });
1319
- return result;
1320
- } catch (error) {
1321
- const e = toError(error);
1322
- this.emitEmailOtpRegistrationFailure(args.onEvent, {
1323
- flowId,
1324
- walletId: args.walletId,
1325
- authMethod: "email_otp",
1326
- ...args.challengeId ? { requestId: args.challengeId } : {},
1327
- error: e
1328
- });
1329
- throw e;
1330
- }
1331
- }
1332
- async getWalletRecoveryCodeStatusDomain(args) {
1333
- const relayUrl = String(this.configs.network.relayer.url || "").trim();
1334
- if (this.walletIframe.shouldUseWalletIframe()) return await (await this.walletIframe.requireRouter(args.walletId)).getWalletRecoveryCodeStatus({ walletId: args.walletId });
1335
- const status = await readWalletRecoveryCodeStatus({
1336
- relayUrl,
1337
- walletId: args.walletId
1338
- });
1339
- return status.kind === "ready" ? {
1340
- ...status,
1341
- pendingLocalBackup: await pendingWalletRecoveryCodeBackupRepository.has(args.walletId)
1342
- } : status;
1343
- }
1344
- async beginGoogleEmailOtpWalletAuthDomain(args) {
1345
- if (this.walletIframe.shouldUseWalletIframe()) return await (await this.walletIframe.requireRouter()).beginGoogleEmailOtpWalletAuth(args);
1346
- return await beginGoogleEmailOtpWalletAuth({
1347
- configs: this.configs,
1348
- resolveGoogleEmailOtpProvider: this.resolveGoogleEmailOtpProviderDomain.bind(this),
1349
- requestEmailOtpChallenge: this.requestEmailOtpChallengeDomain.bind(this),
1350
- prewarmEmailOtpYao: this.prewarmEmailOtpYaoDomain.bind(this),
1351
- registerWallet: this.registerWalletDomain.bind(this),
1352
- loginWithEmailOtpEcdsaCapability: this.loginWithEmailOtpEcdsaCapabilityDomain.bind(this),
1353
- loginWithEmailOtpEd25519YaoCapability: this.loginWithEmailOtpEd25519YaoCapabilityDomain.bind(this),
1354
- resolveLinkedEmailOtpWalletAuth: this.resolveLinkedEmailOtpWalletAuthDomain.bind(this),
1355
- loginWithLinkedEmailOtpWallet: this.loginWithLinkedEmailOtpWalletDomain.bind(this),
1356
- getWalletSession: this.getGoogleEmailOtpWalletSessionDomain.bind(this)
1357
- }, args);
1358
- }
1359
- async resolveGoogleEmailOtpProviderDomain(args) {
1360
- return await resolveGoogleEmailOtpProvider({
1361
- relayUrl: String(args.relayUrl || this.configs.network.relayer.url || "").trim(),
1362
- idToken: args.idToken,
1363
- accountMode: args.accountMode,
1364
- ...args.loginWalletId ? { loginWalletId: args.loginWalletId } : {},
1365
- projectEnvironmentId: this.configs.registration.projectEnvironmentId,
1366
- publishableKey: this.configs.registration.publishableKey,
1367
- ...args.restartRegistrationOffer === true ? { restartRegistrationOffer: true } : {}
1368
- });
1369
- }
1370
- async resolveLinkedEmailOtpWalletAuthDomain(args) {
1371
- const emailHashHex = await this.emailOtpEmailHashHex(args.email);
1372
- const resolution = await resolveLinkedDeviceEmailOtpAuthoritySelection({
1373
- walletIdInput: args.walletId,
1374
- emailHashHex,
1375
- provider: args.provider,
1376
- providerSubjectId: args.providerSubjectId
1377
- });
1378
- switch (resolution.kind) {
1379
- case "none": {
1380
- const foundingMethods = (await IndexedDBManager.listWalletAuthMethodsV2ForWallet(args.walletId)).filter((method) => method.kind === "email_otp" && method.status === "active" && method.emailHashHex.toLowerCase() === emailHashHex);
1381
- const foundingMethod = foundingMethods[0];
1382
- if (foundingMethods.length === 0 || !foundingMethod) {
1383
- const exactLocalFactors = (await IndexedDBManager.listWalletAuthMethodsForWallet(args.walletId)).filter((method) => method.kind === "email_otp" && method.status === "active" && method.emailHashHex.toLowerCase() === emailHashHex && isEmailOtpWalletAuthAuthority(method.authority) && method.authority.factor.provider === "google" && method.authority.factor.providerUserId === args.providerSubjectId);
1384
- const exactLocalFactor = exactLocalFactors[0];
1385
- if (exactLocalFactors.length === 0 || !exactLocalFactor) return { kind: "none" };
1386
- if (exactLocalFactors.length !== 1) return {
1387
- kind: "rejected",
1388
- message: "Multiple active local Email OTP factors match the verified email"
1389
- };
1390
- const exactAuthority = exactLocalFactor.authority;
1391
- if (!exactAuthority || !isEmailOtpWalletAuthAuthority(exactAuthority)) return { kind: "none" };
1392
- return {
1393
- kind: "selected",
1394
- walletAuthMethodId: String(exactAuthority.bindingId),
1395
- execution: "ordinary"
1396
- };
1397
- }
1398
- if (foundingMethods.length !== 1) return {
1399
- kind: "rejected",
1400
- message: "Multiple active local Email OTP authorities match the verified email"
1401
- };
1402
- const authority = await IndexedDBManager.getWalletAuthority(String(foundingMethod.walletAuthorityId));
1403
- if (!authority || authority.state !== "active" || authority.walletId !== foundingMethod.walletId || authority.authorityId !== foundingMethod.walletAuthorityId || authority.provenance.kind !== "wallet_registration" && authority.provenance.kind !== "wallet_recovery") return { kind: "none" };
1404
- await resolveExactLinkedEmailOtpAuthority({
1405
- authMethod: foundingMethod,
1406
- provider: "google",
1407
- providerSubjectId: args.providerSubjectId
1408
- });
1409
- return {
1410
- kind: "selected",
1411
- walletAuthMethodId: String(foundingMethod.walletAuthMethodId),
1412
- execution: await googleEmailOtpUnlockExecution(authority.provenance, foundingMethod.walletAuthMethodId),
1413
- keyFamilies: authority.signerActivations.keyFamilies
1414
- };
1415
- }
1416
- case "selected": return {
1417
- kind: "selected",
1418
- walletAuthMethodId: String(resolution.selection.authMethod.walletAuthMethodId),
1419
- execution: await googleEmailOtpUnlockExecution(resolution.selection.authority.provenance, resolution.selection.authMethod.walletAuthMethodId),
1420
- keyFamilies: resolution.selection.authority.signerActivations.keyFamilies
1421
- };
1422
- case "rejected": return {
1423
- kind: "rejected",
1424
- message: resolution.message
1425
- };
1426
- default: throw new Error("Linked Email OTP authority resolution is invalid");
1427
- }
142
+ getAppearance() {
143
+ return this.appearance;
1428
144
  }
1429
- async loginWithLinkedEmailOtpWalletDomain(args) {
1430
- if (this.walletIframe.shouldUseWalletIframe()) {
1431
- await (await this.walletIframe.requireRouter(String(args.walletId || ""))).unlockAddedEmailOtpWallet({
1432
- walletId: args.walletId,
1433
- walletAuthMethodId: args.walletAuthMethodId,
1434
- email: args.email,
1435
- providerSubjectId: args.providerSubjectId,
1436
- challengeId: args.challengeId,
1437
- otpCode: args.otpCode,
1438
- relayUrl: args.relayUrl
1439
- });
1440
- this.resumePendingAcknowledgementsAfterExactUnlockV1();
1441
- return;
1442
- }
1443
- const emailHashHex = await this.emailOtpEmailHashHex(args.email);
1444
- await unlockLinkedDeviceEmailOtpWallet({
1445
- context: this.getContext(),
1446
- walletIdInput: args.walletId,
1447
- emailHashHex,
1448
- walletAuthMethodId: args.walletAuthMethodId,
1449
- providerSubjectId: args.providerSubjectId,
1450
- challengeId: args.challengeId,
1451
- otpCode: args.otpCode,
1452
- relayUrl: args.relayUrl
145
+ async syncAccountDomain(args) {
146
+ const walletId = args.walletId ? walletIdFromString(args.walletId) : null;
147
+ return await (await this.walletIframe.requireRouter()).syncAccount({
148
+ ...walletId ? { walletId: String(walletId) } : {},
149
+ onEvent: args.options?.onEvent
1453
150
  });
1454
- this.resumePendingAcknowledgementsAfterExactUnlockV1();
1455
151
  }
1456
- async prewarmEmailOtpYaoDomain() {
1457
- await this.signingEngine.prewarmEmailOtpYao();
152
+ getWalletIframe() {
153
+ return this.walletIframe;
1458
154
  }
1459
- async getGoogleEmailOtpWalletSessionDomain(walletId) {
1460
- return await getWalletSessionDomain(this.getWalletAuthDeps(), walletId);
155
+ onNearAccountChange(listener) {
156
+ return this.events.subscribe(deliverNearProvisioningStateChanged.bind(null, listener));
1461
157
  }
1462
- async acknowledgeWalletRecoveryCodeBackupDomain(args) {
1463
- const relayUrl = String(this.configs.network.relayer.url || "").trim();
1464
- if (this.walletIframe.shouldUseWalletIframe()) return await (await this.walletIframe.requireTransportRouter()).acknowledgeWalletRecoveryCodeBackup({ walletId: args.walletId });
1465
- if ((await showWalletRecoveryCodesUi({
1466
- walletId: args.walletId,
1467
- loadStatus: this.getWalletRecoveryCodeStatusDomain.bind(this, args),
1468
- loadPendingBackup: this.loadPendingWalletRecoveryCodeBackupRequest.bind(this, args.walletId)
1469
- }, this.signingEngine.getWalletIframeSurfaceMeasurementBinding(), { appearance: this.appearance })).kind !== "wallet_recovery_codes_backed_up_v1") throw new Error("Pending wallet recovery-code backup was not completed");
1470
- const result = await acknowledgeWalletRecoveryBackup({
1471
- relayUrl,
1472
- walletId: args.walletId
1473
- });
1474
- if (result.kind === "acknowledged") await pendingWalletRecoveryCodeBackupRepository.delete(args.walletId);
1475
- return result;
158
+ async getCodeStatusDomain(args) {
159
+ return await (await this.walletIframe.requireRouter()).getCodeStatus({ walletId: args.walletId });
1476
160
  }
1477
- async loadPendingWalletRecoveryCodeBackupRequest(walletId) {
1478
- const pending = await pendingWalletRecoveryCodeBackupRepository.read(walletId);
1479
- return pending ? {
1480
- kind: "wallet_recovery_code_backup_request_v1",
1481
- walletId: pending.walletId,
1482
- recoveryCodes: pending.recoveryCodes,
1483
- continuation: "pending_backup_must_finish"
1484
- } : null;
161
+ async confirmBackupDomain(args) {
162
+ return await (await this.walletIframe.requireRouter()).confirmBackup({ walletId: args.walletId });
1485
163
  }
1486
164
  async requestWalletCustodyEmailOtpChallengeDomain(args) {
1487
165
  return await requestWalletCustodyEmailOtpChallenge({
@@ -1489,406 +167,8 @@ var SeamsWeb = class {
1489
167
  ...args
1490
168
  });
1491
169
  }
1492
- async rotateWalletRecoveryCodesDomain(args) {
1493
- const relayUrl = String(this.configs.network.relayer.url || "").trim();
1494
- if (this.walletIframe.shouldUseWalletIframe()) return await (await this.walletIframe.requireRouter(args.walletId)).rotateWalletRecoveryCodes(args);
1495
- return await rotateWalletRecoveryCodes({
1496
- context: this.getContext(),
1497
- relayUrl,
1498
- walletId: args.walletId,
1499
- authorization: args.authorization
1500
- });
1501
- }
1502
- async loginWithEmailOtpEd25519YaoCapabilityDomain(args) {
1503
- if (args.authoritySelector.kind !== "wallet_auth_method") throw new Error("Email OTP Ed25519 unlock requires an exact wallet auth method");
1504
- const emailHashHex = await this.emailOtpEmailHashHex(args.emailOtpAuthorityEmail);
1505
- const signer = await this.signingEngine.loginWithEmailOtpWalletCustodyEd25519Internal({
1506
- ...args,
1507
- emailHashHex
1508
- });
1509
- await activateEmailOtpWalletAfterUnlock({
1510
- signingEngine: this.signingEngine,
1511
- nearClient: this.nearClient
1512
- }, {
1513
- kind: "near_ed25519_wallet",
1514
- signer,
1515
- walletAuthMethodId: requireWalletAuthMethodId(args.authoritySelector.walletAuthMethodId)
1516
- });
1517
- }
1518
- async emailOtpEmailHashHex(email) {
1519
- const normalizedEmail = String(email || "").trim().toLowerCase();
1520
- if (!normalizedEmail) throw new Error("[SeamsWeb][email-otp] verified email is required for auth-method hash");
1521
- return sha256HexUtf8(normalizedEmail);
1522
- }
1523
- async loginWithEmailOtpEcdsaCapabilityDomain(args) {
1524
- const walletId = args.walletSession.walletId;
1525
- const flowId = this.emailOtpUnlockFlowId(walletId, args.challengeId);
1526
- const chainTarget = requireConcreteEcdsaChainTarget(args.chainTarget, "Email OTP ECDSA unlock");
1527
- const unlockTiming = {
1528
- startedAtMs: nowMs(),
1529
- timings: createEmailOtpUnlockTimings()
1530
- };
1531
- const prewarm = emailOtpUnlockPrewarmSnapshot({
1532
- record: this.emailOtpUnlockPrewarmRecord,
1533
- walletId,
1534
- nowMs: Date.now()
1535
- });
1536
- this.emitEmailOtpUnlockEvent(args.onEvent, {
1537
- flowId,
1538
- walletId,
1539
- authMethod: "email_otp",
1540
- phase: UnlockEventPhase.STEP_03_EMAIL_OTP_VERIFY_STARTED,
1541
- status: "running",
1542
- interaction: {
1543
- kind: "otp_input",
1544
- overlay: "none"
1545
- },
1546
- ...args.challengeId ? { requestId: args.challengeId } : {}
1547
- });
1548
- try {
1549
- if (this.walletIframe.shouldUseWalletIframe()) {
1550
- const router = await this.walletIframe.requireRouter(walletId);
1551
- const iframeArgs = {
1552
- ...args,
1553
- chainTarget
1554
- };
1555
- delete iframeArgs.onEvent;
1556
- const iframeStartedAtMs = nowMs();
1557
- const result = await router.loginWithEmailOtpEcdsaCapability(iframeArgs);
1558
- const walletIframeRoundTripMs = nowMs() - iframeStartedAtMs;
1559
- recordEmailOtpUnlockElapsedTiming(unlockTiming.timings, "walletIframeRoundTripMs", walletIframeRoundTripMs);
1560
- logEmailOtpUnlockTimingSummary({
1561
- status: "succeeded",
1562
- mode: "evm_family_ecdsa",
1563
- walletId,
1564
- prewarm,
1565
- chainTarget,
1566
- startedAtMs: unlockTiming.startedAtMs,
1567
- timings: unlockTiming.timings
1568
- });
1569
- this.emitEmailOtpUnlockEvent(args.onEvent, {
1570
- flowId,
1571
- walletId,
1572
- authMethod: "email_otp",
1573
- phase: UnlockEventPhase.STEP_03_EMAIL_OTP_VERIFY_SUCCEEDED,
1574
- status: "succeeded",
1575
- interaction: {
1576
- kind: "otp_input",
1577
- overlay: "hide"
1578
- },
1579
- ...args.challengeId ? { requestId: args.challengeId } : {}
1580
- });
1581
- this.emitEmailOtpUnlockEvent(args.onEvent, {
1582
- flowId,
1583
- walletId,
1584
- authMethod: "email_otp",
1585
- phase: UnlockEventPhase.STEP_05_ECDSA_SIGNING_SESSION_READY,
1586
- status: "succeeded",
1587
- ...args.challengeId ? { requestId: args.challengeId } : {},
1588
- data: { chainTarget }
1589
- });
1590
- this.emitEmailOtpUnlockEvent(args.onEvent, {
1591
- flowId,
1592
- walletId,
1593
- authMethod: "email_otp",
1594
- phase: UnlockEventPhase.STEP_07_COMPLETED,
1595
- status: "succeeded",
1596
- ...args.challengeId ? { requestId: args.challengeId } : {}
1597
- });
1598
- return result;
1599
- }
1600
- const workerProgressPhases = /* @__PURE__ */ new Set();
1601
- const markWorkerProgress = (progress) => {
1602
- const phase = this.emitEmailOtpUnlockWorkerProgress(args.onEvent, {
1603
- flowId,
1604
- walletId,
1605
- challengeId: args.challengeId,
1606
- chainTarget,
1607
- progress
1608
- });
1609
- if (phase) workerProgressPhases.add(phase);
1610
- };
1611
- const emitIfWorkerProgressMissing = (input) => {
1612
- if (workerProgressPhases.has(input.phase)) return;
1613
- this.emitEmailOtpUnlockEvent(args.onEvent, input);
1614
- };
1615
- let timingStartedAtMs = nowMs();
1616
- const emailHashHex = await this.emailOtpEmailHashHex(args.emailOtpAuthorityEmail || "");
1617
- recordEmailOtpUnlockTiming(unlockTiming.timings, "emailHashLookupMs", timingStartedAtMs);
1618
- timingStartedAtMs = nowMs();
1619
- const ed25519Selection = args.ed25519Selection.kind === "present" ? args.ed25519Selection : null;
1620
- const result = await this.signingEngine.loginWithEmailOtpEcdsaCapabilityInternal({
1621
- ...args,
1622
- authoritySelector: {
1623
- kind: "wallet_auth_method",
1624
- walletAuthMethodId: args.walletAuthMethodId
1625
- },
1626
- chainTarget,
1627
- emailHashHex,
1628
- ...ed25519Selection ? { ed25519YaoRecovery: {
1629
- kind: "requested",
1630
- providerSubject: args.providerIdentity.providerSubjectId,
1631
- signerSlot: ed25519Selection.signerSlot,
1632
- nearAccountId: ed25519Selection.nearAccountId,
1633
- expectedOperationalPublicKey: ed25519Selection.operationalPublicKey,
1634
- expectedThresholdSessionId: ed25519Selection.thresholdSessionId
1635
- } } : { ed25519YaoRecovery: { kind: "not_requested" } },
1636
- ecdsaBootstrapAuthorization: { kind: "route_plan_auth" },
1637
- providerIdentity: {
1638
- kind: "explicit_provider_user",
1639
- provider: args.providerIdentity.provider,
1640
- providerUserId: args.providerIdentity.providerSubjectId
1641
- },
1642
- onProgress: markWorkerProgress
1643
- });
1644
- await persistVerifiedEmailOtpAuthorityAfterUnlock({
1645
- walletId: String(walletId),
1646
- walletAuthMethodId: String(args.walletAuthMethodId),
1647
- projection: result.recovery.verifiedAuthorityProjection
1648
- });
1649
- let walletActivation;
1650
- if (ed25519Selection) {
1651
- let recoveredEd25519Signer;
1652
- switch (result.ed25519YaoRecovery.kind) {
1653
- case "capability":
1654
- recoveredEd25519Signer = await this.signingEngine.activateEmailOtpEd25519CustodyCapabilityInternal({
1655
- walletSession: args.walletSession,
1656
- providerSubject: args.providerIdentity.providerSubjectId,
1657
- emailHashHex,
1658
- signerSlot: ed25519Selection.signerSlot,
1659
- expectedOperationalPublicKey: ed25519Selection.operationalPublicKey,
1660
- expectedThresholdSessionId: ed25519Selection.thresholdSessionId,
1661
- bootstrap: result.ed25519YaoRecovery.bootstrap,
1662
- activeClientHandle: result.ed25519YaoRecovery.activeClientHandle,
1663
- metadata: result.ed25519YaoRecovery.metadata,
1664
- authority: exactEmailOtpAuthorityRefFromLoginResult(result)
1665
- });
1666
- break;
1667
- case "cache_absent": throw new Error("Email OTP wallet custody material is unavailable; recover with a recovery code");
1668
- case "not_requested": throw new Error("Email OTP capability unlock omitted Ed25519 Yao session material");
1669
- default: throw new Error("Email OTP capability unlock returned an invalid Ed25519 Yao state");
1670
- }
1671
- walletActivation = {
1672
- kind: "near_ed25519_wallet",
1673
- signer: recoveredEd25519Signer,
1674
- walletAuthMethodId: requireWalletAuthMethodId(args.walletAuthMethodId)
1675
- };
1676
- } else {
1677
- if (result.ed25519YaoRecovery.kind !== "not_requested") throw new Error("EVM-family ECDSA Email OTP unlock returned unexpected Ed25519 Yao material");
1678
- walletActivation = {
1679
- kind: "evm_family_ecdsa_wallet",
1680
- walletId,
1681
- walletAuthMethodId: requireWalletAuthMethodId(args.walletAuthMethodId)
1682
- };
1683
- }
1684
- const workerUnlockMs = nowMs() - timingStartedAtMs;
1685
- recordEmailOtpUnlockElapsedTiming(unlockTiming.timings, "workerUnlockAndSessionBootstrapMs", workerUnlockMs);
1686
- recordEmailOtpUnlockElapsedTiming(unlockTiming.timings, "emailOtpProofVerificationMs", result.timings.emailOtpProofVerificationMs);
1687
- recordEmailOtpUnlockElapsedTiming(unlockTiming.timings, "ecdsaMaterialRestoreMs", result.timings.ecdsaMaterialRestoreMs);
1688
- recordEmailOtpUnlockElapsedTiming(unlockTiming.timings, "signingSessionSealApplyMs", result.timings.signingSessionSealApplyMs);
1689
- recordEmailOtpUnlockElapsedTiming(unlockTiming.timings, "warmCapabilityPersistenceMs", result.timings.warmCapabilityPersistenceMs);
1690
- timingStartedAtMs = nowMs();
1691
- await activateEmailOtpWalletAfterUnlock({
1692
- signingEngine: this.signingEngine,
1693
- nearClient: this.nearClient
1694
- }, walletActivation);
1695
- recordEmailOtpUnlockTiming(unlockTiming.timings, "walletStateActivationMs", timingStartedAtMs);
1696
- timingStartedAtMs = nowMs();
1697
- const ownerAuthority = await walletAuthAuthorityRefForVerifiedEmailOtpUnlock({
1698
- walletId: String(walletId),
1699
- walletAuthMethodId: String(args.walletAuthMethodId),
1700
- providerSubject: args.providerIdentity.providerSubjectId,
1701
- emailHashHex,
1702
- projection: result.recovery.verifiedAuthorityProjection
1703
- });
1704
- const runtimeInventory = await assertWalletRuntimePostconditions({
1705
- source: "wallet_unlock",
1706
- walletId,
1707
- ownerScope: {
1708
- auth: {
1709
- kind: "email_otp",
1710
- providerSubjectId: args.providerIdentity.providerSubjectId
1711
- },
1712
- ownerAuthority: {
1713
- walletAuthMethodId: ownerAuthority.walletAuthMethodId,
1714
- authorityDigest: ownerAuthority.authorityDigest
1715
- }
1716
- },
1717
- requiredTargets: [...ed25519Selection ? [{ curve: "ed25519" }] : [], ...(args.publicationChainTargets ?? [chainTarget]).map((target) => ({
1718
- curve: "ecdsa",
1719
- chainTarget: target
1720
- }))],
1721
- readOwnerScopedSigningLanes: async (input) => await this.signingEngine.readOwnerScopedSigningLanes(input, new WalletSessionStatusReadScope())
1722
- });
1723
- logEmailOtpUnlockActivationPlan(buildEmailOtpEcdsaUnlockActivationPlan({
1724
- walletSession: args.walletSession,
1725
- result,
1726
- runtimeInventory
1727
- }));
1728
- const activeRuntimeConstructionMs = nowMs() - timingStartedAtMs;
1729
- recordEmailOtpUnlockElapsedTiming(unlockTiming.timings, "runtimePostconditionMs", activeRuntimeConstructionMs);
1730
- recordEmailOtpUnlockElapsedTiming(unlockTiming.timings, "activeRuntimeConstructionMs", activeRuntimeConstructionMs);
1731
- logEmailOtpUnlockTimingSummary({
1732
- status: "succeeded",
1733
- mode: "evm_family_ecdsa",
1734
- walletId,
1735
- prewarm,
1736
- chainTarget,
1737
- startedAtMs: unlockTiming.startedAtMs,
1738
- timings: unlockTiming.timings
1739
- });
1740
- emitIfWorkerProgressMissing({
1741
- flowId,
1742
- walletId,
1743
- authMethod: "email_otp",
1744
- phase: UnlockEventPhase.STEP_03_EMAIL_OTP_VERIFY_SUCCEEDED,
1745
- status: "succeeded",
1746
- interaction: {
1747
- kind: "otp_input",
1748
- overlay: "hide"
1749
- },
1750
- ...args.challengeId ? { requestId: args.challengeId } : {}
1751
- });
1752
- emitIfWorkerProgressMissing({
1753
- flowId,
1754
- walletId,
1755
- authMethod: "email_otp",
1756
- phase: UnlockEventPhase.STEP_05_ECDSA_SIGNING_SESSION_READY,
1757
- status: "succeeded",
1758
- ...args.challengeId ? { requestId: args.challengeId } : {},
1759
- data: { chainTarget }
1760
- });
1761
- emitIfWorkerProgressMissing({
1762
- flowId,
1763
- walletId,
1764
- authMethod: "email_otp",
1765
- phase: UnlockEventPhase.STEP_07_COMPLETED,
1766
- status: "succeeded",
1767
- ...args.challengeId ? { requestId: args.challengeId } : {}
1768
- });
1769
- return result;
1770
- } catch (error) {
1771
- const e = toError(error);
1772
- logEmailOtpUnlockTimingSummary({
1773
- status: "failed",
1774
- mode: "evm_family_ecdsa",
1775
- walletId,
1776
- prewarm,
1777
- chainTarget,
1778
- startedAtMs: unlockTiming.startedAtMs,
1779
- timings: unlockTiming.timings,
1780
- error: e
1781
- });
1782
- this.emitEmailOtpUnlockFailure(args.onEvent, {
1783
- flowId,
1784
- walletId,
1785
- authMethod: "email_otp",
1786
- ...args.challengeId ? { requestId: args.challengeId } : {},
1787
- error: e
1788
- });
1789
- throw e;
1790
- }
1791
- }
1792
- async refreshEmailOtpSigningSessionDomain(args) {
1793
- const walletId = args.walletSession.walletId;
1794
- const flowId = this.emailOtpUnlockFlowId(walletId, args.challengeId);
1795
- const chainTarget = requireConcreteEcdsaChainTarget(args.chainTarget, "Email OTP signing-session refresh");
1796
- this.emitEmailOtpUnlockEvent(args.onEvent, {
1797
- flowId,
1798
- walletId,
1799
- authMethod: "email_otp",
1800
- phase: UnlockEventPhase.STEP_03_EMAIL_OTP_VERIFY_STARTED,
1801
- status: "running",
1802
- interaction: {
1803
- kind: "otp_input",
1804
- overlay: "none"
1805
- },
1806
- requestId: args.challengeId
1807
- });
1808
- try {
1809
- const result = this.walletIframe.shouldUseWalletIframe() ? await (await this.walletIframe.requireRouter(walletId)).refreshEmailOtpSigningSession({
1810
- walletSession: args.walletSession,
1811
- chainTarget,
1812
- challengeId: args.challengeId,
1813
- otpCode: args.otpCode,
1814
- ...typeof args.ttlMs === "number" ? { ttlMs: args.ttlMs } : {},
1815
- ...typeof args.remainingUses === "number" ? { remainingUses: args.remainingUses } : {}
1816
- }) : await this.signingEngine.refreshEmailOtpSigningSession({
1817
- walletSession: args.walletSession,
1818
- chainTarget,
1819
- challengeId: args.challengeId,
1820
- otpCode: args.otpCode,
1821
- ...typeof args.ttlMs === "number" ? { ttlMs: args.ttlMs } : {},
1822
- ...typeof args.remainingUses === "number" ? { remainingUses: args.remainingUses } : {}
1823
- });
1824
- this.emitEmailOtpUnlockEvent(args.onEvent, {
1825
- flowId,
1826
- walletId,
1827
- authMethod: "email_otp",
1828
- phase: UnlockEventPhase.STEP_03_EMAIL_OTP_VERIFY_SUCCEEDED,
1829
- status: "succeeded",
1830
- interaction: {
1831
- kind: "otp_input",
1832
- overlay: "hide"
1833
- },
1834
- requestId: args.challengeId
1835
- });
1836
- this.emitEmailOtpUnlockEvent(args.onEvent, {
1837
- flowId,
1838
- walletId,
1839
- authMethod: "email_otp",
1840
- phase: UnlockEventPhase.STEP_05_ECDSA_SIGNING_SESSION_READY,
1841
- status: "succeeded",
1842
- requestId: args.challengeId,
1843
- data: { chainTarget }
1844
- });
1845
- this.emitEmailOtpUnlockEvent(args.onEvent, {
1846
- flowId,
1847
- walletId,
1848
- authMethod: "email_otp",
1849
- phase: UnlockEventPhase.STEP_07_COMPLETED,
1850
- status: "succeeded",
1851
- requestId: args.challengeId
1852
- });
1853
- return result;
1854
- } catch (error) {
1855
- const e = toError(error);
1856
- this.emitEmailOtpUnlockFailure(args.onEvent, {
1857
- flowId,
1858
- walletId,
1859
- authMethod: "email_otp",
1860
- requestId: args.challengeId,
1861
- error: e
1862
- });
1863
- throw e;
1864
- }
1865
- }
1866
- /**
1867
- * Prefetch latest block height/hash (and nonce if context missing) to reduce
1868
- * perceived latency when the user initiates a signing flow.
1869
- */
1870
- async prefetchBlockheight() {
1871
- if (this.walletIframe.shouldUseWalletIframe()) {
1872
- await (await this.walletIframe.requireRouter()).prefetchBlockheight();
1873
- return;
1874
- }
1875
- try {
1876
- await this.signingEngine.getNonceCoordinator().prefetchNearContext({
1877
- kind: "initialized_state",
1878
- nearClient: this.nearClient
1879
- });
1880
- } catch {}
1881
- }
1882
- /** Wallet-host entrypoint for the exact FeeManager preference operation. */
1883
- async signTempoFeeTokenPreferenceInternal(args) {
1884
- if (!__isWalletIframeHostMode()) throw new Error("[SeamsWeb][tempo] fee-token preference signing requires wallet-host mode");
1885
- const request = requireTempoFeeTokenPreferenceSigningRequest(args);
1886
- const result = await this.signingEngine.signEvmFamily({
1887
- ...args,
1888
- request
1889
- });
1890
- if (result.chain !== "evm" || result.kind !== "eip1559") throw new Error(`[SeamsWeb][tempo] expected EVM FeeManager result, received ${result.chain}`);
1891
- return result;
170
+ async rotateCodesDomain(args) {
171
+ return await (await this.walletIframe.requireRouter()).rotateCodes(args);
1892
172
  }
1893
173
  /**
1894
174
  * Canonical entrypoint to show secure key export UI (wallet-origin only) without
@@ -1896,20 +176,13 @@ var SeamsWeb = class {
1896
176
  */
1897
177
  async resolveExactKeyExportLaneDomain(input) {
1898
178
  const resolvedInput = normalizeResolveExactKeyExportLaneInput(input);
1899
- const routerAccountId = String(resolvedInput.walletSession.walletId || "").trim();
1900
- if (!routerAccountId) throw new Error("[SeamsWeb] key export lane resolution requires wallet session context");
1901
- if (this.walletIframe.shouldUseWalletIframe()) return normalizeResolveExactKeyExportLaneResult(await (await this.walletIframe.requireRouter(routerAccountId)).resolveExactKeyExportLane(resolvedInput));
1902
- return normalizeResolveExactKeyExportLaneResult(await this.signingEngine.resolveExactKeyExportLane(resolvedInput));
179
+ if (!String(resolvedInput.walletSession.walletId || "").trim()) throw new Error("[SeamsWeb] key export lane resolution requires wallet session context");
180
+ return normalizeResolveExactKeyExportLaneResult(await (await this.walletIframe.requireRouter()).resolveExactKeyExportLane(resolvedInput));
1903
181
  }
1904
182
  async exportKeypairWithUIDomain(input) {
1905
183
  const resolvedInput = normalizeExportKeypairWithUIInput(input, this.theme);
1906
- const routerAccountId = String(resolvedInput.walletSession.walletId || "").trim();
1907
- if (!routerAccountId) throw new Error("[SeamsWeb] key export requires wallet session user context");
1908
- if (this.walletIframe.shouldUseWalletIframe()) {
1909
- await (await this.walletIframe.requireRouter(routerAccountId)).exportKeypairWithUI(resolvedInput);
1910
- return;
1911
- }
1912
- await this.signingEngine.exportKeypairWithUI(resolvedInput);
184
+ if (!String(resolvedInput.walletSession.walletId || "").trim()) throw new Error("[SeamsWeb] key export requires wallet session user context");
185
+ await (await this.walletIframe.requireRouter()).exportKeypairWithUI(resolvedInput);
1913
186
  }
1914
187
  };
1915
188
  //#endregion