@seams/wallet 0.22.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -2
- package/THIRD_PARTY_NOTICES.md +186 -6
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCommit.js +1 -0
- package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +3 -0
- package/dist/esm/SeamsWeb/walletIframe/client/authMenuAnchor.js +44 -0
- package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-styles.js +4 -6
- package/dist/esm/SeamsWeb/walletIframe/client/registrationCommands.js +12 -0
- package/dist/esm/SeamsWeb/walletIframe/client/router.js +67 -31
- package/dist/esm/SeamsWeb/walletIframe/client/sessionCommands.js +4 -0
- package/dist/esm/SeamsWeb/walletIframe/client/surface/geometry.js +2 -2
- package/dist/esm/SeamsWeb/walletIframe/client/transport/iframe-transport-dom.js +2 -2
- package/dist/esm/SeamsWeb/walletIframe/host/auth-menu/domain.js +22 -3
- package/dist/esm/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +6 -2
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.js +1 -3
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +81 -19
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/icons.js +1 -4
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.js +7 -11
- package/dist/esm/SeamsWeb/walletIframe/host/walletMutationGuard.js +86 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/configuration.js +23 -1
- package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +1 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +7 -1
- package/dist/esm/SeamsWeb/walletIframe/shared/transactionReview.js +20 -1
- package/dist/esm/core/authMethods/availability.js +28 -0
- package/dist/esm/core/authMethods/availabilityTypes.js +29 -0
- package/dist/esm/core/authMethods/plugins.js +17 -0
- package/dist/esm/core/config/configBuilder.js +2 -0
- package/dist/esm/core/config/defaultConfigs.js +1 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +41 -2
- package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +3 -0
- package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +1 -1
- package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/authPlanning.js +2 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +29 -12
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +1 -0
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +2 -1
- package/dist/esm/core/signingEngine/flows/signNear/requireNearStepUpAuth.js +1 -0
- package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +1 -1
- package/dist/esm/core/signingEngine/flows/signNear/shared/signingSessionAuthMode.js +5 -0
- package/dist/esm/core/signingEngine/flows/signNear/signNear.js +16 -12
- package/dist/esm/core/signingEngine/session/availability/availableSigningLanes.js +2 -3
- package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +16 -1
- package/dist/esm/core/signingEngine/session/identity/signingLaneAuthBinding.js +6 -0
- package/dist/esm/core/signingEngine/session/material/ecdsaSigningCapability.js +3 -0
- package/dist/esm/core/signingEngine/session/operationState/lanes.js +21 -4
- package/dist/esm/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +94 -0
- package/dist/esm/core/signingEngine/stepUpConfirmation/methodSelection.js +1 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +19 -2
- package/dist/esm/core/signingEngine/uiConfirm/ui/confirmation-model.js +3 -1
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.js +6 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +59 -23
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +13 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +48 -16
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +146 -9
- package/dist/esm/core/signingEngine/walletCustody/ceremonyStepRunner.js +8 -0
- package/dist/esm/core/signingEngine/walletCustody/resealedEnvelopeResult.js +24 -0
- package/dist/esm/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +74 -0
- package/dist/esm/core/signingEngine/workerManager/workerDeferred.js +25 -0
- package/dist/esm/core/ui/messages.js +15 -4
- package/dist/esm/externalNear/actions.js +26 -0
- package/dist/esm/externalNear/boundary.js +53 -0
- package/dist/esm/externalNear/controller.js +223 -0
- package/dist/esm/externalNear/hot.js +41 -0
- package/dist/esm/externalNear/index.js +3 -0
- package/dist/esm/externalNear/intear.js +110 -0
- package/dist/esm/externalNear/intearPopup.js +83 -0
- package/dist/esm/externalNear/message.js +60 -0
- package/dist/esm/externalNear/meteor.js +133 -0
- package/dist/esm/externalNear/meteorRequest.js +117 -0
- package/dist/esm/externalNear/types.js +17 -0
- package/dist/esm/externalNear/wallets.js +33 -0
- package/dist/esm/node_modules/borsh/lib/esm/buffer.js +67 -0
- package/dist/esm/node_modules/borsh/lib/esm/deserialize.js +94 -0
- package/dist/esm/node_modules/borsh/lib/esm/index.js +13 -0
- package/dist/esm/node_modules/borsh/lib/esm/serialize.js +127 -0
- package/dist/esm/node_modules/borsh/lib/esm/types.js +19 -0
- package/dist/esm/node_modules/borsh/lib/esm/utils.js +104 -0
- package/dist/esm/plugins/plugin-utils.js +2 -5
- package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +10 -22
- package/dist/esm/react/components/AccountMenuButton/AccountMenuDeviceDetails.js +2 -2
- package/dist/esm/react/components/AccountMenuButton/AccountMenuMockScreens.js +7 -4
- package/dist/esm/react/components/AccountMenuButton/AddEvmAccount.js +124 -0
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodRow.js +41 -23
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +220 -164
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsView.js +7 -5
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +142 -36
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +11 -2
- package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.css +12 -10
- package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +1 -1
- package/dist/esm/react/components/AccountMenuButton/VoiceIdAvailabilityControl.js +186 -0
- package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +10 -8
- package/dist/esm/react/components/AccountMenuButton/icons/ChevronRightIcon.js +8 -0
- package/dist/esm/react/components/AccountMenuButton/icons/WalletIcon.js +8 -0
- package/dist/esm/react/components/AccountMenuButton/index.js +35 -13
- package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +8 -4
- package/dist/esm/react/context/useLoginStateRefresher.js +10 -2
- package/dist/esm/react/externalNear.css +90 -0
- package/dist/esm/react/externalNear.js +104 -0
- package/dist/esm/react/index.js +2 -4
- package/dist/esm/react/styles/styles.css +22 -332
- package/dist/esm/react/styles.css +0 -1
- package/dist/esm/sdk/ConfirmationDrawer-CTaGM1AE.js +1 -0
- package/dist/esm/sdk/{NonceCoordinator-Do23iTzQ.js → NonceCoordinator-Bti1HQPo.js} +1 -1
- package/dist/esm/sdk/SeamsWordmark-CFpsGoLw.js +1 -0
- package/dist/esm/sdk/{accountLifecycle-CXTlwnAS.js → accountLifecycle-B98g9zN9.js} +1 -1
- package/dist/esm/sdk/actions-GYsSR2Q2.js +1 -0
- package/dist/esm/sdk/activeWalletSession-H9JBdHyQ.js +1 -0
- package/dist/esm/sdk/adapters-D5MZ5NG5.js +2 -0
- package/dist/esm/sdk/appearance-token-vars-CgYTfCKg.js +1 -0
- package/dist/esm/sdk/{canonicalPrimitives-D_1HyEuJ.js → canonicalPrimitives-B6YMrI3W.js} +1 -1
- package/dist/esm/sdk/{capabilityKinds-CqHVzVsJ.js → capabilityKinds-BzrNeEyO.js} +1 -1
- package/dist/esm/sdk/{chains-CPmd4s9f.js → chains-gV2K9gA4.js} +1 -1
- package/dist/esm/sdk/{challengeDelivery-C88JNwKf.js → challengeDelivery-FW9gYyr0.js} +1 -1
- package/dist/esm/sdk/clientSessionPersistenceState-BPYK9PYV.js +1 -0
- package/dist/esm/sdk/{collectAuthenticationCredentialForChallengeB64u-CSwy9csE.js → collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js} +1 -1
- package/dist/esm/sdk/{commitQueue-BQPOhyGl.js → commitQueue-Bs23Rs57.js} +1 -1
- package/dist/esm/sdk/configBuilder-DrxXNUpV.js +1 -0
- package/dist/esm/sdk/{configHelpers-D50F_Txb.js → configHelpers-BNqoU2cv.js} +1 -1
- package/dist/esm/sdk/configuration-CAqANpTI.js +1 -0
- package/dist/esm/sdk/csp-stylesheet-DeuiM0Mo.js +2 -0
- package/dist/esm/sdk/{display-Dtugjeya.js → display-BXjW58UF.js} +1 -1
- package/dist/esm/sdk/domainIds-t1lp25yU.js +1 -0
- package/dist/esm/sdk/ecdsaCapabilityManifest--FjbES8k.js +1 -0
- package/dist/esm/sdk/{ecdsaChainTarget-svSlzhze.js → ecdsaChainTarget-DbLthshF.js} +1 -1
- package/dist/esm/sdk/{ecdsaDerivationClientWasm-D1HzwUgV.js → ecdsaDerivationClientWasm-7Rp4TmYE.js} +1 -1
- package/dist/esm/sdk/ecdsaDerivationExport-dInN7N6e.js +1 -0
- package/dist/esm/sdk/{ecdsaWalletRecords-BmhuJF1y.js → ecdsaWalletRecords-BgcXXCZy.js} +1 -1
- package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +1 -0
- package/dist/esm/sdk/{enrichDisplayModelWithAbi-D0o0IL7_.js → enrichDisplayModelWithAbi-CudPUW0T.js} +1 -1
- package/dist/esm/sdk/{evmCryptoWasm-S2gL5ht4.js → evmCryptoWasm-DacbCVNM.js} +1 -1
- package/dist/esm/sdk/{export-viewer-host-C9n-62Pi.js → export-viewer-host-DsWOvc0t.js} +1 -1
- package/dist/esm/sdk/exportKeypairOperation-BazJvSov.js +1 -0
- package/dist/{public/sdk/helpers-BXezXx19.js → esm/sdk/helpers-CXqXyyCU.js} +1 -1
- package/dist/esm/sdk/host-C0Is56lU.js +1 -0
- package/dist/esm/sdk/icons-DyndJzSh.js +1 -0
- package/dist/esm/sdk/indexedDB-C1odKEC6.js +1 -0
- package/dist/esm/sdk/intentDigest-BMXki7yB.js +1 -0
- package/dist/esm/sdk/{keyMaterialEnvelope-B3v6HLtz.js → keyMaterialEnvelope-B-Q5KTJC.js} +1 -1
- package/dist/esm/sdk/lanes-C7OvAK_L.js +1 -0
- package/dist/esm/sdk/localOnly-BB3Rx3J6.js +1 -0
- package/dist/esm/sdk/mountExportPrivateKeySurface-CV1KrFWg.js +1 -0
- package/dist/{public/sdk/mountRecoveryCodeBackupSurface-D3QFgMGE.js → esm/sdk/mountRecoveryCodeBackupSurface-CVXU1zzl.js} +2 -2
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +1 -0
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +1 -0
- package/dist/esm/sdk/{nonceLaneKeys-CR2XEvnk.js → nonceLaneKeys-BS4fek17.js} +1 -1
- package/dist/esm/sdk/{normalization-Ctkj80dW.js → normalization-BN-2VWZf.js} +1 -1
- package/dist/esm/sdk/{operationFingerprint-DRPONhBD.js → operationFingerprint-Bn0lUYlm.js} +1 -1
- package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js +1 -0
- package/dist/esm/sdk/presignaturePool-CultzkOG.js +1 -0
- package/dist/esm/sdk/{presignatures-DGLNs29C.js → presignatures-B9GrGx0L.js} +1 -1
- package/dist/esm/sdk/recovery-entrypoint-QBvJBngm.js +1 -0
- package/dist/esm/sdk/{recoveryAuthorization-BplZWc-N.js → recoveryAuthorization-DB-zxeHq.js} +1 -1
- package/dist/esm/sdk/registration-CM5a7WYO.js +1 -0
- package/dist/esm/sdk/registration-Hv0xi7-L.js +1 -0
- package/dist/esm/sdk/{registrationAccounts-BfO6Ztye.js → registrationAccounts-BHikxS5q.js} +1 -1
- package/dist/esm/sdk/{registrationAuthMethodInput-DKz6Mgg4.js → registrationAuthMethodInput-BvbWl0y_.js} +1 -1
- package/dist/esm/sdk/registrationIntent-DTs2SR9E.js +1 -0
- package/dist/esm/sdk/{registrationSignerPlan-B66FjqIp.js → registrationSignerPlan-CgbFVsAp.js} +1 -1
- package/dist/{public/sdk/requireStepUpAuth-DsNLml1i.js → esm/sdk/requireStepUpAuth-B7tC4MrA.js} +1 -1
- package/dist/esm/sdk/resealedEnvelopeResult--iCVt_Bh.js +1 -0
- package/dist/esm/sdk/routerAbNormalSigning-Div3lZWV.js +1 -0
- package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/esm/sdk/runtime-auth-CVw1KoVD.js +1 -0
- package/dist/esm/sdk/runtime-device-link-Dp0YMZTQ.js +1 -0
- package/dist/esm/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +1 -0
- package/dist/esm/sdk/runtime-email-otp-gsr_FsQn.js +1 -0
- package/dist/esm/sdk/runtime-export-upMPrZ4V.js +1 -0
- package/dist/esm/sdk/runtime-near-B64Hn3nc.js +1 -0
- package/dist/esm/sdk/runtime-preferences-CULdHkbg.js +1 -0
- package/dist/esm/sdk/runtime-recovery-D2saBaJy.js +1 -0
- package/dist/esm/sdk/runtime-recovery-codes-Bvc0IXMJ.js +1 -0
- package/dist/esm/sdk/runtimeContext-CNFJjcns.js +6 -0
- package/dist/{public/sdk/sdkSentEvents-BzMVO1AR.js → esm/sdk/sdkSentEvents-DUht3AOD.js} +1 -1
- package/dist/esm/sdk/{secp256k1-CYu8ENjP.js → secp256k1-BGVlx50C.js} +1 -1
- package/dist/esm/sdk/sessionObservationRevision-84ZzJ-fC.js +1 -0
- package/dist/esm/sdk/shared-DcHtE-D-.js +1 -0
- package/dist/esm/sdk/signEvmFamily-PjwUc5MT.js +1 -0
- package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-4A3D9nKv.js → signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js} +1 -1
- package/dist/esm/sdk/{signEvmWithUiConfirm-lZyPfrGe.js → signEvmWithUiConfirm-BNkupz3z.js} +1 -1
- package/dist/esm/sdk/signNear-r8VCOoTh.js +1 -0
- package/dist/esm/sdk/{signatureUses-CY4U-X6V.js → signatureUses-DrqCoN12.js} +1 -1
- package/dist/esm/sdk/signerDomain-D-EUTlLK.js +1 -0
- package/dist/esm/sdk/{signerSlot-CpyIfl3J.js → signerSlot-D4ZOuK7e.js} +1 -1
- package/dist/{public/sdk/signingFlow-Co_QtuHK.js → esm/sdk/signingFlow-BVvteILM.js} +1 -1
- package/dist/esm/sdk/{signingQueue-Cj9sCJLj.js → signingQueue-BJzOrwDq.js} +1 -1
- package/dist/esm/sdk/surface-measurement-reporter-NUm_54LH.js +1 -0
- package/dist/{public/sdk/thresholdEcdsa-LvkD6z8-.js → esm/sdk/thresholdEcdsa-tnY83qyG.js} +1 -1
- package/dist/esm/sdk/{trace-CWTzEALZ.js → trace-CGNqO1FV.js} +1 -1
- package/dist/esm/sdk/{transaction-activity-CpDMkSPm.js → transaction-activity-DPq9RTh5.js} +1 -1
- package/dist/esm/sdk/transactionReview-DSGnpreN.js +1 -0
- package/dist/esm/sdk/transactionReviewAdmission--8tDis7M.js +1 -0
- package/dist/{public/sdk/transactionState-BaFSiA9t.js → esm/sdk/transactionState-BS1VLT7B.js} +1 -1
- package/dist/esm/sdk/tx-confirm-ui.js +418 -109
- package/dist/esm/sdk/types-DdzuHlAQ.js +1 -0
- package/dist/esm/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +1 -0
- package/dist/esm/sdk/voiceid-host.js +1 -0
- package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/esm/sdk/wallet-recovery-BjIQdOha.js +1 -0
- package/dist/esm/sdk/wallet-ui.css +1 -1
- package/dist/esm/sdk/walletAuthMethodRecord-yIqCeE-o.js +1 -0
- package/dist/esm/sdk/walletCapabilityBindings-CUPk3mVH.js +1 -0
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +1 -0
- package/dist/esm/sdk/walletCustodyOperation-DzPcxEBS.js +1 -0
- package/dist/esm/sdk/walletDbName-DDJXrgA5.js +1 -0
- package/dist/esm/sdk/walletOwnershipGeneration-DI9ogcXF.js +1 -0
- package/dist/esm/sdk/walletRecoveryAdminProof-BJxmg3f7.js +1 -0
- package/dist/esm/sdk/walletRecoveryCommit-B7WsdR7y.js +1 -0
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +1 -0
- package/dist/esm/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +1 -0
- package/dist/{public/sdk/walletSessionAuthorizationStore-DYRMCkiT.js → esm/sdk/walletSessionAuthorizationStore-zkxcMdSp.js} +1 -1
- package/dist/esm/sdk/warmSessionHydration-DqZyfi1h.js +1 -0
- package/dist/esm/sdk/{webauthnP256-unqBoZCk.js → webauthnP256-BvTL8nq4.js} +1 -1
- package/dist/esm/shared-ts/src/authorization/capabilityKinds.js +4 -1
- package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +11 -2
- package/dist/esm/shared-ts/src/authorization/voiceIdDeviceAssertion.js +110 -0
- package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +1 -0
- package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +1 -0
- package/dist/esm/shared-ts/src/device-linking/deviceManagement.js +17 -9
- package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +62 -3
- package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +1 -1
- package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +5 -2
- package/dist/esm/shared-ts/src/utils/domainIds.js +14 -1
- package/dist/esm/shared-ts/src/utils/signerDomain.js +4 -2
- package/dist/esm/shared-ts/src/utils/validation.js +4 -1
- package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +46 -2
- package/dist/esm/shared-ts/src/utils/walletAuthMethodRecord.js +116 -6
- package/dist/esm/shared-ts/src/utils/walletCapabilityBindings.js +39 -1
- package/dist/esm/voiceid-host.js +47 -0
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
- package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/ConfirmationDrawer-CTaGM1AE.js +1 -0
- package/dist/public/sdk/{NonceCoordinator-Do23iTzQ.js → NonceCoordinator-Bti1HQPo.js} +1 -1
- package/dist/public/sdk/SeamsWordmark-CFpsGoLw.js +1 -0
- package/dist/public/sdk/{accountLifecycle-CXTlwnAS.js → accountLifecycle-B98g9zN9.js} +1 -1
- package/dist/public/sdk/actions-GYsSR2Q2.js +1 -0
- package/dist/public/sdk/activeWalletSession-H9JBdHyQ.js +1 -0
- package/dist/public/sdk/adapters-D5MZ5NG5.js +2 -0
- package/dist/public/sdk/appearance-token-vars-CgYTfCKg.js +1 -0
- package/dist/public/sdk/{canonicalPrimitives-D_1HyEuJ.js → canonicalPrimitives-B6YMrI3W.js} +1 -1
- package/dist/public/sdk/{capabilityKinds-CqHVzVsJ.js → capabilityKinds-BzrNeEyO.js} +1 -1
- package/dist/public/sdk/{chains-CPmd4s9f.js → chains-gV2K9gA4.js} +1 -1
- package/dist/public/sdk/{challengeDelivery-C88JNwKf.js → challengeDelivery-FW9gYyr0.js} +1 -1
- package/dist/public/sdk/clientSessionPersistenceState-BPYK9PYV.js +1 -0
- package/dist/public/sdk/{collectAuthenticationCredentialForChallengeB64u-CSwy9csE.js → collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js} +1 -1
- package/dist/public/sdk/{commitQueue-BQPOhyGl.js → commitQueue-Bs23Rs57.js} +1 -1
- package/dist/public/sdk/configBuilder-DrxXNUpV.js +1 -0
- package/dist/public/sdk/{configHelpers-D50F_Txb.js → configHelpers-BNqoU2cv.js} +1 -1
- package/dist/public/sdk/configuration-CAqANpTI.js +1 -0
- package/dist/public/sdk/csp-stylesheet-DeuiM0Mo.js +2 -0
- package/dist/public/sdk/{display-Dtugjeya.js → display-BXjW58UF.js} +1 -1
- package/dist/public/sdk/domainIds-t1lp25yU.js +1 -0
- package/dist/public/sdk/ecdsaCapabilityManifest--FjbES8k.js +1 -0
- package/dist/public/sdk/{ecdsaChainTarget-svSlzhze.js → ecdsaChainTarget-DbLthshF.js} +1 -1
- package/dist/public/sdk/{ecdsaDerivationClientWasm-D1HzwUgV.js → ecdsaDerivationClientWasm-7Rp4TmYE.js} +1 -1
- package/dist/public/sdk/ecdsaDerivationExport-dInN7N6e.js +1 -0
- package/dist/public/sdk/{ecdsaWalletRecords-BmhuJF1y.js → ecdsaWalletRecords-BgcXXCZy.js} +1 -1
- package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +1 -0
- package/dist/public/sdk/{enrichDisplayModelWithAbi-D0o0IL7_.js → enrichDisplayModelWithAbi-CudPUW0T.js} +1 -1
- package/dist/public/sdk/{evmCryptoWasm-S2gL5ht4.js → evmCryptoWasm-DacbCVNM.js} +1 -1
- package/dist/public/sdk/{export-viewer-host-C9n-62Pi.js → export-viewer-host-DsWOvc0t.js} +1 -1
- package/dist/public/sdk/exportKeypairOperation-BazJvSov.js +1 -0
- package/dist/{esm/sdk/helpers-BXezXx19.js → public/sdk/helpers-CXqXyyCU.js} +1 -1
- package/dist/public/sdk/host-C0Is56lU.js +1 -0
- package/dist/public/sdk/icons-DyndJzSh.js +1 -0
- package/dist/public/sdk/indexedDB-C1odKEC6.js +1 -0
- package/dist/public/sdk/intentDigest-BMXki7yB.js +1 -0
- package/dist/public/sdk/{keyMaterialEnvelope-B3v6HLtz.js → keyMaterialEnvelope-B-Q5KTJC.js} +1 -1
- package/dist/public/sdk/lanes-C7OvAK_L.js +1 -0
- package/dist/public/sdk/localOnly-BB3Rx3J6.js +1 -0
- package/dist/public/sdk/mountExportPrivateKeySurface-CV1KrFWg.js +1 -0
- package/dist/{esm/sdk/mountRecoveryCodeBackupSurface-D3QFgMGE.js → public/sdk/mountRecoveryCodeBackupSurface-CVXU1zzl.js} +2 -2
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +1 -0
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +1 -0
- package/dist/public/sdk/{nonceLaneKeys-CR2XEvnk.js → nonceLaneKeys-BS4fek17.js} +1 -1
- package/dist/public/sdk/{normalization-Ctkj80dW.js → normalization-BN-2VWZf.js} +1 -1
- package/dist/public/sdk/{operationFingerprint-DRPONhBD.js → operationFingerprint-Bn0lUYlm.js} +1 -1
- package/dist/public/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js +1 -0
- package/dist/public/sdk/presignaturePool-CultzkOG.js +1 -0
- package/dist/public/sdk/{presignatures-DGLNs29C.js → presignatures-B9GrGx0L.js} +1 -1
- package/dist/public/sdk/recovery-entrypoint-QBvJBngm.js +1 -0
- package/dist/public/sdk/{recoveryAuthorization-BplZWc-N.js → recoveryAuthorization-DB-zxeHq.js} +1 -1
- package/dist/public/sdk/registration-CM5a7WYO.js +1 -0
- package/dist/public/sdk/registration-Hv0xi7-L.js +1 -0
- package/dist/public/sdk/{registrationAccounts-BfO6Ztye.js → registrationAccounts-BHikxS5q.js} +1 -1
- package/dist/public/sdk/{registrationAuthMethodInput-DKz6Mgg4.js → registrationAuthMethodInput-BvbWl0y_.js} +1 -1
- package/dist/public/sdk/registrationIntent-DTs2SR9E.js +1 -0
- package/dist/public/sdk/{registrationSignerPlan-B66FjqIp.js → registrationSignerPlan-CgbFVsAp.js} +1 -1
- package/dist/{esm/sdk/requireStepUpAuth-DsNLml1i.js → public/sdk/requireStepUpAuth-B7tC4MrA.js} +1 -1
- package/dist/public/sdk/resealedEnvelopeResult--iCVt_Bh.js +1 -0
- package/dist/public/sdk/routerAbNormalSigning-Div3lZWV.js +1 -0
- package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/sdk/runtime-auth-CVw1KoVD.js +1 -0
- package/dist/public/sdk/runtime-device-link-Dp0YMZTQ.js +1 -0
- package/dist/public/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +1 -0
- package/dist/public/sdk/runtime-email-otp-gsr_FsQn.js +1 -0
- package/dist/public/sdk/runtime-export-upMPrZ4V.js +1 -0
- package/dist/public/sdk/runtime-near-B64Hn3nc.js +1 -0
- package/dist/public/sdk/runtime-preferences-CULdHkbg.js +1 -0
- package/dist/public/sdk/runtime-recovery-D2saBaJy.js +1 -0
- package/dist/public/sdk/runtime-recovery-codes-Bvc0IXMJ.js +1 -0
- package/dist/public/sdk/runtimeContext-CNFJjcns.js +6 -0
- package/dist/{esm/sdk/sdkSentEvents-BzMVO1AR.js → public/sdk/sdkSentEvents-DUht3AOD.js} +1 -1
- package/dist/public/sdk/{secp256k1-CYu8ENjP.js → secp256k1-BGVlx50C.js} +1 -1
- package/dist/public/sdk/sessionObservationRevision-84ZzJ-fC.js +1 -0
- package/dist/public/sdk/shared-DcHtE-D-.js +1 -0
- package/dist/public/sdk/signEvmFamily-PjwUc5MT.js +1 -0
- package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-4A3D9nKv.js → signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js} +1 -1
- package/dist/public/sdk/{signEvmWithUiConfirm-lZyPfrGe.js → signEvmWithUiConfirm-BNkupz3z.js} +1 -1
- package/dist/public/sdk/signNear-r8VCOoTh.js +1 -0
- package/dist/public/sdk/{signatureUses-CY4U-X6V.js → signatureUses-DrqCoN12.js} +1 -1
- package/dist/public/sdk/signerDomain-D-EUTlLK.js +1 -0
- package/dist/public/sdk/{signerSlot-CpyIfl3J.js → signerSlot-D4ZOuK7e.js} +1 -1
- package/dist/{esm/sdk/signingFlow-Co_QtuHK.js → public/sdk/signingFlow-BVvteILM.js} +1 -1
- package/dist/public/sdk/{signingQueue-Cj9sCJLj.js → signingQueue-BJzOrwDq.js} +1 -1
- package/dist/public/sdk/surface-measurement-reporter-NUm_54LH.js +1 -0
- package/dist/{esm/sdk/thresholdEcdsa-LvkD6z8-.js → public/sdk/thresholdEcdsa-tnY83qyG.js} +1 -1
- package/dist/public/sdk/{trace-CWTzEALZ.js → trace-CGNqO1FV.js} +1 -1
- package/dist/public/sdk/{transaction-activity-CpDMkSPm.js → transaction-activity-DPq9RTh5.js} +1 -1
- package/dist/public/sdk/transactionReview-DSGnpreN.js +1 -0
- package/dist/public/sdk/transactionReviewAdmission--8tDis7M.js +1 -0
- package/dist/{esm/sdk/transactionState-BaFSiA9t.js → public/sdk/transactionState-BS1VLT7B.js} +1 -1
- package/dist/public/sdk/tx-confirm-ui.js +418 -109
- package/dist/public/sdk/types-DdzuHlAQ.js +1 -0
- package/dist/public/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +1 -0
- package/dist/public/sdk/voiceid-host.js +1 -0
- package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/public/sdk/wallet-recovery-BjIQdOha.js +1 -0
- package/dist/public/sdk/wallet-ui.css +1 -1
- package/dist/public/sdk/walletAuthMethodRecord-yIqCeE-o.js +1 -0
- package/dist/public/sdk/walletCapabilityBindings-CUPk3mVH.js +1 -0
- package/dist/public/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +1 -0
- package/dist/public/sdk/walletCustodyOperation-DzPcxEBS.js +1 -0
- package/dist/public/sdk/walletDbName-DDJXrgA5.js +1 -0
- package/dist/public/sdk/walletOwnershipGeneration-DI9ogcXF.js +1 -0
- package/dist/public/sdk/walletRecoveryAdminProof-BJxmg3f7.js +1 -0
- package/dist/public/sdk/walletRecoveryCommit-B7WsdR7y.js +1 -0
- package/dist/public/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +1 -0
- package/dist/public/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +1 -0
- package/dist/{esm/sdk/walletSessionAuthorizationStore-DYRMCkiT.js → public/sdk/walletSessionAuthorizationStore-zkxcMdSp.js} +1 -1
- package/dist/public/sdk/warmSessionHydration-DqZyfi1h.js +1 -0
- package/dist/public/sdk/{webauthnP256-unqBoZCk.js → webauthnP256-BvTL8nq4.js} +1 -1
- package/dist/public/sdk/workers/device-linking-key.worker.js +93 -5
- package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +67 -65
- package/dist/public/sdk/workers/email-otp.worker.js +93 -4
- package/dist/public/sdk/workers/passkey-mpc-export.worker.js +21 -2
- package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +20 -2
- package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
- package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
- package/dist/public/wallet-assets.manifest.json +503 -240
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/shared-ts/src/authorization/voiceIdDeviceAssertion.d.ts +32 -0
- package/dist/types/shared-ts/src/device-linking/committedSignerPackages.d.ts +3 -1
- package/dist/types/shared-ts/src/device-linking/contracts.d.ts +8 -0
- package/dist/types/shared-ts/src/device-linking/wireFields.d.ts +4 -4
- package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +29 -0
- package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +1 -0
- package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +2 -2
- package/dist/types/shared-ts/src/signing-lanes/recordParsers.d.ts +2 -1
- package/dist/types/shared-ts/src/signing-lanes/records.d.ts +10 -2
- package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +2 -2
- package/dist/types/shared-ts/src/threshold/sessionPolicy.d.ts +9 -0
- package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +3 -3
- package/dist/types/shared-ts/src/utils/domainIds.d.ts +4 -5
- package/dist/types/shared-ts/src/utils/registrationIntent.d.ts +0 -1
- package/dist/types/shared-ts/src/utils/signerDomain.d.ts +3 -0
- package/dist/types/shared-ts/src/utils/walletAuthAuthority.d.ts +32 -2
- package/dist/types/shared-ts/src/utils/walletAuthMethodRecord.d.ts +15 -1
- package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +20 -0
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/publicApi/auth.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +22 -0
- package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +4 -0
- package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/authMenuAnchor.d.ts +17 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +4 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/surface/geometry.d.ts +0 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +9 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/session.d.ts +15 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createRegistrationCommands.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createSessionCommands.d.ts +7 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeContext.d.ts +3 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +4 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/icons.d.ts +0 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/walletMutationGuard.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +15 -4
- package/dist/types/wallet/src/core/authMethods/availability.d.ts +13 -0
- package/dist/types/wallet/src/core/authMethods/availabilityTypes.d.ts +13 -0
- package/dist/types/wallet/src/core/authMethods/hostPlugin.d.ts +82 -0
- package/dist/types/wallet/src/core/authMethods/hostRegistry.d.ts +5 -0
- package/dist/types/wallet/src/core/authMethods/installSession.d.ts +15 -0
- package/dist/types/wallet/src/core/authMethods/plugins.d.ts +7 -0
- package/dist/types/wallet/src/core/authMethods/prepareEcdsaSession.d.ts +6 -0
- package/dist/types/wallet/src/core/authMethods/prepareNearSession.d.ts +18 -0
- package/dist/types/wallet/src/core/authMethods/sessionIdentity.d.ts +53 -0
- package/dist/types/wallet/src/core/indexedDB/passkeyClientDB.types.d.ts +11 -1
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +53 -2
- package/dist/types/wallet/src/core/indexedDB/unifiedIndexedDBManager.d.ts +1 -0
- package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaExportMaterial.d.ts +6 -3
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/ecdsaSelection.d.ts +8 -2
- package/dist/types/wallet/src/core/signingEngine/session/availability/availableSigningLanes.d.ts +10 -10
- package/dist/types/wallet/src/core/signingEngine/session/identity/exactSigningLaneIdentity.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/identity/laneIdentity.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/session/identity/signingLaneAuthBinding.d.ts +16 -4
- package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSealedRuntime.d.ts +13 -4
- package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSigningCapability.d.ts +15 -6
- package/dist/types/wallet/src/core/signingEngine/session/operationState/lanes.d.ts +11 -4
- package/dist/types/wallet/src/core/signingEngine/session/postconditions/runtimePostconditions.d.ts +3 -3
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.d.ts +6 -0
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/methodSelection.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/requireStepUpAuth.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.d.ts +6 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/transactionReviewAdmission.d.ts +11 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/confirm-ui-types.d.ts +2 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/confirmation-model.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.d.ts +1 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.d.ts +4 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReview.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/walletCustody/passkeyLink.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/walletCustody/resealedEnvelopeResult.d.ts +10 -0
- package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +1 -1
- package/dist/types/wallet/src/core/types/seams.d.ts +4 -0
- package/dist/types/wallet/src/core/ui/messages.d.ts +1 -1
- package/dist/types/wallet/src/externalNear/actions.d.ts +20 -0
- package/dist/types/wallet/src/externalNear/boundary.d.ts +7 -0
- package/dist/types/wallet/src/externalNear/controller.d.ts +24 -0
- package/dist/types/wallet/src/externalNear/hot.d.ts +14 -0
- package/dist/types/wallet/src/externalNear/index.d.ts +4 -0
- package/dist/types/wallet/src/externalNear/intear.d.ts +13 -0
- package/dist/types/wallet/src/externalNear/intearPopup.d.ts +25 -0
- package/dist/types/wallet/src/externalNear/message.d.ts +14 -0
- package/dist/types/wallet/src/externalNear/meteor.d.ts +19 -0
- package/dist/types/wallet/src/externalNear/meteorRequest.d.ts +29 -0
- package/dist/types/wallet/src/externalNear/types.d.ts +87 -0
- package/dist/types/wallet/src/externalNear/wallets.d.ts +4 -0
- package/dist/types/wallet/src/index.d.ts +1 -0
- package/dist/types/wallet/src/plugins/plugin-utils.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AddEvmAccount.d.ts +29 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodRow.d.ts +8 -3
- package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodsView.d.ts +1 -2
- package/dist/types/wallet/src/react/components/AccountMenuButton/VoiceIdAvailabilityControl.d.ts +19 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/ChevronRightIcon.d.ts +2 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/WalletIcon.d.ts +2 -0
- package/dist/types/wallet/src/react/externalNear.d.ts +26 -0
- package/dist/types/wallet/src/react/index.d.ts +1 -4
- package/dist/types/wallet/src/voiceid-host.d.ts +52 -0
- package/dist/workers/device-linking-key.worker.js +93 -5
- package/dist/workers/ecdsa-derivation-client.worker.js +67 -65
- package/dist/workers/email-otp.worker.js +93 -4
- package/dist/workers/passkey-mpc-export.worker.js +21 -2
- package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/workers/wallet-custody-ceremony.worker.js +20 -2
- package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
- package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
- package/package.json +25 -3
- package/dist/esm/plugins/SeamsWeb/walletIframe/sanitization.js +0 -18
- package/dist/esm/react/components/AccountMenuButton/icons/PlusIcon.js +0 -8
- package/dist/esm/react/components/VoiceAssistantCard.css +0 -313
- package/dist/esm/react/components/VoiceAssistantCard.js +0 -150
- package/dist/esm/sdk/ConfirmationDrawer-Ck33ZmU-.js +0 -1
- package/dist/esm/sdk/activeWalletSession-BtEHhe99.js +0 -1
- package/dist/esm/sdk/adapters-CgJpSAxH.js +0 -2
- package/dist/esm/sdk/appearance-token-vars-BA3KQyEE.js +0 -2
- package/dist/esm/sdk/clientSessionPersistenceState-DFGHXoKK.js +0 -1
- package/dist/esm/sdk/configBuilder-BMNShuOu.js +0 -1
- package/dist/esm/sdk/domainIds-C3fUa33Q.js +0 -1
- package/dist/esm/sdk/ecdsaCapabilityManifest-B3u6J5gn.js +0 -1
- package/dist/esm/sdk/ecdsaDerivationExport-DrFESeRP.js +0 -1
- package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-DreNrM6n.js +0 -1
- package/dist/esm/sdk/exportKeypairOperation-Du9HKB8f.js +0 -1
- package/dist/esm/sdk/host-DoftJdVQ.js +0 -1
- package/dist/esm/sdk/intentDigest--FZ63NBy.js +0 -1
- package/dist/esm/sdk/lanes-l274pbT5.js +0 -1
- package/dist/esm/sdk/localOnly-CvFSZFUy.js +0 -1
- package/dist/esm/sdk/mountExportPrivateKeySurface-DdJHWwqY.js +0 -1
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-BK8_DxHs.js +0 -1
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-BgCxoh9S.js +0 -1
- package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-LbstFwcY.js +0 -1
- package/dist/esm/sdk/presignaturePool-DNiA3sgr.js +0 -1
- package/dist/esm/sdk/recovery-entrypoint-CNVjXz6A.js +0 -1
- package/dist/esm/sdk/registration-CIxJvbTo.js +0 -1
- package/dist/esm/sdk/registration-CeOmKyCG.js +0 -1
- package/dist/esm/sdk/registrationIntent-DW_kKWlx.js +0 -1
- package/dist/esm/sdk/routerAbNormalSigning-DSAfCcND.js +0 -1
- package/dist/esm/sdk/runtime-auth-C0V-5znH.js +0 -1
- package/dist/esm/sdk/runtime-device-link-B1jpHQSF.js +0 -1
- package/dist/esm/sdk/runtime-ecdsa-tempo-CDSZ3pxS.js +0 -1
- package/dist/esm/sdk/runtime-email-otp-DXuxFOjL.js +0 -1
- package/dist/esm/sdk/runtime-export-Ba12ChDI.js +0 -1
- package/dist/esm/sdk/runtime-near-DRrdWzmr.js +0 -1
- package/dist/esm/sdk/runtime-preferences-BWyhRaBA.js +0 -1
- package/dist/esm/sdk/runtime-recovery-DlJlaZlf.js +0 -1
- package/dist/esm/sdk/runtime-recovery-codes-CuqYWqK7.js +0 -1
- package/dist/esm/sdk/sessionObservationRevision-abErAhd6.js +0 -1
- package/dist/esm/sdk/shared-B95wnpoD.js +0 -6
- package/dist/esm/sdk/signEvmFamily-C4XMiSue.js +0 -1
- package/dist/esm/sdk/signNear-B_UcqMRf.js +0 -1
- package/dist/esm/sdk/signerDomain-YEHkugWX.js +0 -1
- package/dist/esm/sdk/surface-measurement-reporter-F-fVB7d3.js +0 -1
- package/dist/esm/sdk/transactionReviewAdmission-CNNho8IG.js +0 -1
- package/dist/esm/sdk/types-BrEW276O.js +0 -1
- package/dist/esm/sdk/wallet-recovery-BEui57xM.js +0 -1
- package/dist/esm/sdk/walletAuthMethodRecord-Cv_MYpxt.js +0 -1
- package/dist/esm/sdk/walletCapabilityBindings-CKOK39sP.js +0 -1
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-5XsLsT8D.js +0 -1
- package/dist/esm/sdk/walletCustodyOperation-BO_tSfGY.js +0 -1
- package/dist/esm/sdk/walletDbName-BVZhb4xF.js +0 -1
- package/dist/esm/sdk/walletOwnershipGeneration-CQzaodhB.js +0 -1
- package/dist/esm/sdk/walletRecoveryAdminProof-CtH8_lph.js +0 -1
- package/dist/esm/sdk/walletRecoveryCommit-B_e4k5Pa.js +0 -1
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-CQow9u8m.js +0 -1
- package/dist/esm/sdk/walletSessionAuthorizationStatus-_KtCVFYW.js +0 -1
- package/dist/esm/sdk/warmSessionHydration-CY9ofEGr.js +0 -1
- package/dist/public/sdk/ConfirmationDrawer-Ck33ZmU-.js +0 -1
- package/dist/public/sdk/activeWalletSession-BtEHhe99.js +0 -1
- package/dist/public/sdk/adapters-CgJpSAxH.js +0 -2
- package/dist/public/sdk/appearance-token-vars-BA3KQyEE.js +0 -2
- package/dist/public/sdk/clientSessionPersistenceState-DFGHXoKK.js +0 -1
- package/dist/public/sdk/configBuilder-BMNShuOu.js +0 -1
- package/dist/public/sdk/domainIds-C3fUa33Q.js +0 -1
- package/dist/public/sdk/ecdsaCapabilityManifest-B3u6J5gn.js +0 -1
- package/dist/public/sdk/ecdsaDerivationExport-DrFESeRP.js +0 -1
- package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-DreNrM6n.js +0 -1
- package/dist/public/sdk/exportKeypairOperation-Du9HKB8f.js +0 -1
- package/dist/public/sdk/host-DoftJdVQ.js +0 -1
- package/dist/public/sdk/intentDigest--FZ63NBy.js +0 -1
- package/dist/public/sdk/lanes-l274pbT5.js +0 -1
- package/dist/public/sdk/localOnly-CvFSZFUy.js +0 -1
- package/dist/public/sdk/mountExportPrivateKeySurface-DdJHWwqY.js +0 -1
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-BK8_DxHs.js +0 -1
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-BgCxoh9S.js +0 -1
- package/dist/public/sdk/pendingWalletRecoveryCodeBackup-LbstFwcY.js +0 -1
- package/dist/public/sdk/presignaturePool-DNiA3sgr.js +0 -1
- package/dist/public/sdk/recovery-entrypoint-CNVjXz6A.js +0 -1
- package/dist/public/sdk/registration-CIxJvbTo.js +0 -1
- package/dist/public/sdk/registration-CeOmKyCG.js +0 -1
- package/dist/public/sdk/registrationIntent-DW_kKWlx.js +0 -1
- package/dist/public/sdk/routerAbNormalSigning-DSAfCcND.js +0 -1
- package/dist/public/sdk/runtime-auth-C0V-5znH.js +0 -1
- package/dist/public/sdk/runtime-device-link-B1jpHQSF.js +0 -1
- package/dist/public/sdk/runtime-ecdsa-tempo-CDSZ3pxS.js +0 -1
- package/dist/public/sdk/runtime-email-otp-DXuxFOjL.js +0 -1
- package/dist/public/sdk/runtime-export-Ba12ChDI.js +0 -1
- package/dist/public/sdk/runtime-near-DRrdWzmr.js +0 -1
- package/dist/public/sdk/runtime-preferences-BWyhRaBA.js +0 -1
- package/dist/public/sdk/runtime-recovery-DlJlaZlf.js +0 -1
- package/dist/public/sdk/runtime-recovery-codes-CuqYWqK7.js +0 -1
- package/dist/public/sdk/sessionObservationRevision-abErAhd6.js +0 -1
- package/dist/public/sdk/shared-B95wnpoD.js +0 -6
- package/dist/public/sdk/signEvmFamily-C4XMiSue.js +0 -1
- package/dist/public/sdk/signNear-B_UcqMRf.js +0 -1
- package/dist/public/sdk/signerDomain-YEHkugWX.js +0 -1
- package/dist/public/sdk/surface-measurement-reporter-F-fVB7d3.js +0 -1
- package/dist/public/sdk/transactionReviewAdmission-CNNho8IG.js +0 -1
- package/dist/public/sdk/types-BrEW276O.js +0 -1
- package/dist/public/sdk/wallet-recovery-BEui57xM.js +0 -1
- package/dist/public/sdk/walletAuthMethodRecord-Cv_MYpxt.js +0 -1
- package/dist/public/sdk/walletCapabilityBindings-CKOK39sP.js +0 -1
- package/dist/public/sdk/walletCustodyEcdsaContinuity-5XsLsT8D.js +0 -1
- package/dist/public/sdk/walletCustodyOperation-BO_tSfGY.js +0 -1
- package/dist/public/sdk/walletDbName-BVZhb4xF.js +0 -1
- package/dist/public/sdk/walletOwnershipGeneration-CQzaodhB.js +0 -1
- package/dist/public/sdk/walletRecoveryAdminProof-CtH8_lph.js +0 -1
- package/dist/public/sdk/walletRecoveryCommit-B_e4k5Pa.js +0 -1
- package/dist/public/sdk/walletRegistrationSetupPrewarm-CQow9u8m.js +0 -1
- package/dist/public/sdk/walletSessionAuthorizationStatus-_KtCVFYW.js +0 -1
- package/dist/public/sdk/warmSessionHydration-CY9ofEGr.js +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/PlusIcon.d.ts +0 -2
- package/dist/types/wallet/src/react/components/VoiceAssistantCard.d.ts +0 -37
- package/dist/types/wallet/src/react/components/VoiceAssistantCard.typecheck.d.ts +0 -2
- /package/dist/esm/sdk/{accountIds-BzZs7YoX.js → accountIds-D5NI31F2.js} +0 -0
- /package/dist/esm/sdk/{appearance-ZGVLwA4N.js → appearance-DVFno9Tv.js} +0 -0
- /package/dist/esm/sdk/{authenticatorOptions-BB_sU4uA.js → authenticatorOptions-EF_Rps52.js} +0 -0
- /package/dist/esm/sdk/{authorizationAdmission-D7nx2n4d.js → authorizationAdmission-DbhNiY3X.js} +0 -0
- /package/dist/esm/sdk/{browser-DkCRXFkk.js → browser-B2RI00tM.js} +0 -0
- /package/dist/esm/sdk/{bytes-Cv07P0Pu.js → bytes-DVe42j_r.js} +0 -0
- /package/dist/esm/sdk/{canonicalSignerErrorCode-CqHi6ji6.js → canonicalSignerErrorCode-AwNMAn8S.js} +0 -0
- /package/dist/esm/sdk/{errors-CI1xdN0d.js → errors-ADOZT8oV.js} +0 -0
- /package/dist/esm/sdk/{executeWorkerOperation-S6glYwAs.js → executeWorkerOperation-B-9JuL55.js} +0 -0
- /package/dist/esm/sdk/{jsonRpc-B5zMY6lE.js → jsonRpc-CHutSlC9.js} +0 -0
- /package/dist/esm/sdk/{keccak-CaPOCznk.js → keccak-C9kCkZem.js} +0 -0
- /package/dist/esm/sdk/{normalization-CpLZcL2f.js → normalization-DtruiNPw.js} +0 -0
- /package/dist/esm/sdk/{prfCache-D25ZCg5n.js → prfCache-8Wm3etlV.js} +0 -0
- /package/dist/esm/sdk/{profileAccountProjection-C1z9sKHa.js → profileAccountProjection-D01e10UY.js} +0 -0
- /package/dist/esm/sdk/{promptText-D2f5Rg0h.js → promptText-Bz3YRl9D.js} +0 -0
- /package/dist/esm/sdk/{signer-worker-Bh_5foqX.js → signer-worker-DlK58rEA.js} +0 -0
- /package/dist/esm/sdk/{types-BNUuaUtl.js → types-fJKfUgTi.js} +0 -0
- /package/dist/esm/sdk/{walletIframeIdentity-DJ0KOBHg.js → walletIframeIdentity-Cz82I_Uh.js} +0 -0
- /package/dist/esm/sdk/{walletSessionAuthorizationProjection-UdGeS6x3.js → walletSessionAuthorizationProjection-BJgnZaBc.js} +0 -0
- /package/dist/esm/sdk/{walletSessionFailure-Ct412mDZ.js → walletSessionFailure-CLUIF3Eh.js} +0 -0
- /package/dist/esm/sdk/{webauthnPromptCoordinator-CBkTiMP0.js → webauthnPromptCoordinator-CU9ag7vz.js} +0 -0
- /package/dist/public/sdk/{accountIds-BzZs7YoX.js → accountIds-D5NI31F2.js} +0 -0
- /package/dist/public/sdk/{appearance-ZGVLwA4N.js → appearance-DVFno9Tv.js} +0 -0
- /package/dist/public/sdk/{authenticatorOptions-BB_sU4uA.js → authenticatorOptions-EF_Rps52.js} +0 -0
- /package/dist/public/sdk/{authorizationAdmission-D7nx2n4d.js → authorizationAdmission-DbhNiY3X.js} +0 -0
- /package/dist/public/sdk/{browser-DkCRXFkk.js → browser-B2RI00tM.js} +0 -0
- /package/dist/public/sdk/{bytes-Cv07P0Pu.js → bytes-DVe42j_r.js} +0 -0
- /package/dist/public/sdk/{canonicalSignerErrorCode-CqHi6ji6.js → canonicalSignerErrorCode-AwNMAn8S.js} +0 -0
- /package/dist/public/sdk/{errors-CI1xdN0d.js → errors-ADOZT8oV.js} +0 -0
- /package/dist/public/sdk/{executeWorkerOperation-S6glYwAs.js → executeWorkerOperation-B-9JuL55.js} +0 -0
- /package/dist/public/sdk/{jsonRpc-B5zMY6lE.js → jsonRpc-CHutSlC9.js} +0 -0
- /package/dist/public/sdk/{keccak-CaPOCznk.js → keccak-C9kCkZem.js} +0 -0
- /package/dist/public/sdk/{normalization-CpLZcL2f.js → normalization-DtruiNPw.js} +0 -0
- /package/dist/public/sdk/{prfCache-D25ZCg5n.js → prfCache-8Wm3etlV.js} +0 -0
- /package/dist/public/sdk/{profileAccountProjection-C1z9sKHa.js → profileAccountProjection-D01e10UY.js} +0 -0
- /package/dist/public/sdk/{promptText-D2f5Rg0h.js → promptText-Bz3YRl9D.js} +0 -0
- /package/dist/public/sdk/{signer-worker-Bh_5foqX.js → signer-worker-DlK58rEA.js} +0 -0
- /package/dist/public/sdk/{types-BNUuaUtl.js → types-fJKfUgTi.js} +0 -0
- /package/dist/public/sdk/{walletIframeIdentity-DJ0KOBHg.js → walletIframeIdentity-Cz82I_Uh.js} +0 -0
- /package/dist/public/sdk/{walletSessionAuthorizationProjection-UdGeS6x3.js → walletSessionAuthorizationProjection-BJgnZaBc.js} +0 -0
- /package/dist/public/sdk/{walletSessionFailure-Ct412mDZ.js → walletSessionFailure-CLUIF3Eh.js} +0 -0
- /package/dist/public/sdk/{webauthnPromptCoordinator-CBkTiMP0.js → webauthnPromptCoordinator-CU9ag7vz.js} +0 -0
|
@@ -3,8 +3,8 @@ import { WalletText, useWalletLocale } from "../../context/WalletLocale.js";
|
|
|
3
3
|
import { useSeams } from "../../context/index.js";
|
|
4
4
|
import { AccountMenuDialogFrame } from "./AccountMenuDialog.js";
|
|
5
5
|
import { AuthenticationMethodRow } from "./AuthenticationMethodRow.js";
|
|
6
|
+
import { VoiceIdMethodRow, VoiceIdSetupRow } from "./VoiceIdAvailabilityControl.js";
|
|
6
7
|
import { AuthenticationMethodsView } from "./AuthenticationMethodsView.js";
|
|
7
|
-
import { PlusIcon } from "./icons/PlusIcon.js";
|
|
8
8
|
import React, { useEffect } from "react";
|
|
9
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
10
|
import "./LinkedDevicesModal.css";
|
|
@@ -31,7 +31,7 @@ function methodView(credential) {
|
|
|
31
31
|
walletAuthMethodId: String(credential.walletAuthMethodId),
|
|
32
32
|
presentation: {
|
|
33
33
|
kind: "passkey",
|
|
34
|
-
description: provider
|
|
34
|
+
description: provider ?? credential.device.label
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
37
|
}
|
|
@@ -40,6 +40,11 @@ function methodView(credential) {
|
|
|
40
40
|
walletAuthMethodId: String(credential.walletAuthMethodId),
|
|
41
41
|
presentation: { kind: "email_otp" }
|
|
42
42
|
};
|
|
43
|
+
case "voiceid": return {
|
|
44
|
+
kind: "voiceid",
|
|
45
|
+
walletAuthMethodId: String(credential.walletAuthMethodId),
|
|
46
|
+
presentation: { kind: "voiceid" }
|
|
47
|
+
};
|
|
43
48
|
}
|
|
44
49
|
}
|
|
45
50
|
function selectedMethodView(binding) {
|
|
@@ -52,6 +57,11 @@ function selectedMethodView(binding) {
|
|
|
52
57
|
description: "Passkey on this device"
|
|
53
58
|
}
|
|
54
59
|
};
|
|
60
|
+
case "voiceid": return {
|
|
61
|
+
kind: "voiceid",
|
|
62
|
+
walletAuthMethodId: String(binding.walletAuthMethodId),
|
|
63
|
+
presentation: { kind: "voiceid" }
|
|
64
|
+
};
|
|
55
65
|
case "email_otp": return {
|
|
56
66
|
kind: "email_otp",
|
|
57
67
|
walletAuthMethodId: String(binding.walletAuthMethodId),
|
|
@@ -92,20 +102,17 @@ function currentAuthorityInventory(input) {
|
|
|
92
102
|
throw new Error("The selected authentication method is unavailable on this device authority.");
|
|
93
103
|
}
|
|
94
104
|
function methodTitle(method) {
|
|
95
|
-
|
|
105
|
+
switch (method.kind) {
|
|
106
|
+
case "passkey": return "Passkey";
|
|
107
|
+
case "email_otp": return "Email OTP";
|
|
108
|
+
case "voiceid": return "VoiceID";
|
|
109
|
+
}
|
|
96
110
|
}
|
|
97
111
|
function methodDescription(method) {
|
|
98
112
|
switch (method.presentation.kind) {
|
|
99
113
|
case "passkey": return method.presentation.description;
|
|
100
|
-
case "email_otp": return "
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
function inventoryStatus(state) {
|
|
104
|
-
switch (state.kind) {
|
|
105
|
-
case "idle":
|
|
106
|
-
case "loading": return "Checking methods…";
|
|
107
|
-
case "error": return "Unavailable";
|
|
108
|
-
case "loaded": return state.inventory.kind === "local_selection" ? "Unlock to manage" : "Active";
|
|
114
|
+
case "email_otp": return "Codes go to the email address you verified.";
|
|
115
|
+
case "voiceid": return "Voice unlock on this device";
|
|
109
116
|
}
|
|
110
117
|
}
|
|
111
118
|
const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation }) => {
|
|
@@ -114,12 +121,16 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
|
|
|
114
121
|
const [loadState, setLoadState] = React.useState({ kind: "idle" });
|
|
115
122
|
const [actionState, setActionState] = React.useState({ kind: "idle" });
|
|
116
123
|
const [emailAddress, setEmailAddress] = React.useState("");
|
|
124
|
+
const [emailFormOpen, setEmailFormOpen] = React.useState(false);
|
|
117
125
|
const [announcement, setAnnouncement] = React.useState("");
|
|
118
126
|
const loadSequence = React.useRef(0);
|
|
119
127
|
const seamsRef = React.useRef(seams);
|
|
120
128
|
const loginStateRef = React.useRef(loginState);
|
|
121
129
|
const refreshSessionRef = React.useRef(refreshSession);
|
|
122
130
|
const dialogRef = React.useRef(null);
|
|
131
|
+
const emailInputRef = React.useRef(null);
|
|
132
|
+
const addEmailButtonRef = React.useRef(null);
|
|
133
|
+
const emailFormWasOpen = React.useRef(false);
|
|
123
134
|
const emailInputId = React.useId();
|
|
124
135
|
seamsRef.current = seams;
|
|
125
136
|
loginStateRef.current = loginState;
|
|
@@ -148,15 +159,14 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
|
|
|
148
159
|
});
|
|
149
160
|
return;
|
|
150
161
|
}
|
|
151
|
-
const localInventory = {
|
|
152
|
-
kind: "local_selection",
|
|
153
|
-
methods: [selectedMethodView(currentLoginState.currentAuthMethod.binding)]
|
|
154
|
-
};
|
|
155
162
|
const sequence = loadSequence.current + 1;
|
|
156
163
|
loadSequence.current = sequence;
|
|
157
164
|
setLoadState({
|
|
158
165
|
kind: "loading",
|
|
159
|
-
inventory:
|
|
166
|
+
inventory: {
|
|
167
|
+
kind: "local_selection",
|
|
168
|
+
methods: [selectedMethodView(currentLoginState.currentAuthMethod.binding)]
|
|
169
|
+
}
|
|
160
170
|
});
|
|
161
171
|
try {
|
|
162
172
|
const result = await seamsRef.current.devices.list({
|
|
@@ -175,8 +185,8 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
|
|
|
175
185
|
});
|
|
176
186
|
} catch (error) {
|
|
177
187
|
if (loadSequence.current === sequence) setLoadState({
|
|
178
|
-
kind: "
|
|
179
|
-
|
|
188
|
+
kind: "error",
|
|
189
|
+
message: errorMessage(error)
|
|
180
190
|
});
|
|
181
191
|
}
|
|
182
192
|
}, [selectedWalletAuthMethodId, walletId]);
|
|
@@ -186,18 +196,33 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
|
|
|
186
196
|
setLoadState({ kind: "idle" });
|
|
187
197
|
setActionState({ kind: "idle" });
|
|
188
198
|
setEmailAddress("");
|
|
199
|
+
setEmailFormOpen(false);
|
|
189
200
|
setAnnouncement("");
|
|
190
201
|
return;
|
|
191
202
|
}
|
|
192
203
|
loadInventory();
|
|
193
204
|
}, [isOpen, loadInventory]);
|
|
205
|
+
useEffect(() => {
|
|
206
|
+
if (emailFormOpen) emailInputRef.current?.focus();
|
|
207
|
+
else if (emailFormWasOpen.current) addEmailButtonRef.current?.focus();
|
|
208
|
+
emailFormWasOpen.current = emailFormOpen;
|
|
209
|
+
}, [emailFormOpen]);
|
|
194
210
|
const addMethod = React.useCallback(async (method) => {
|
|
195
211
|
if (!walletId || actionState.kind === "adding") return;
|
|
196
212
|
const normalizedEmail = emailAddress.trim();
|
|
197
213
|
if (method === "email_otp" && !normalizedEmail) {
|
|
198
214
|
setActionState({
|
|
199
215
|
kind: "error",
|
|
200
|
-
message: "Enter the email address to verify."
|
|
216
|
+
message: "Enter the email address to verify.",
|
|
217
|
+
field: "email"
|
|
218
|
+
});
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
if (method === "email_otp" && !normalizedEmail.includes("@")) {
|
|
222
|
+
setActionState({
|
|
223
|
+
kind: "error",
|
|
224
|
+
message: "Enter a valid email address.",
|
|
225
|
+
field: "email"
|
|
201
226
|
});
|
|
202
227
|
return;
|
|
203
228
|
}
|
|
@@ -217,13 +242,15 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
|
|
|
217
242
|
});
|
|
218
243
|
await refreshSessionRef.current(walletId);
|
|
219
244
|
setEmailAddress("");
|
|
245
|
+
setEmailFormOpen(false);
|
|
220
246
|
setActionState({ kind: "idle" });
|
|
221
247
|
setAnnouncement(method === "passkey" ? "Passkey added." : "Email OTP added.");
|
|
222
248
|
await loadInventory();
|
|
223
249
|
} catch (error) {
|
|
224
250
|
setActionState({
|
|
225
251
|
kind: "error",
|
|
226
|
-
message: errorMessage(error)
|
|
252
|
+
message: errorMessage(error),
|
|
253
|
+
...method === "email_otp" ? { field: "email" } : {}
|
|
227
254
|
});
|
|
228
255
|
}
|
|
229
256
|
}, [
|
|
@@ -232,29 +259,6 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
|
|
|
232
259
|
loadInventory,
|
|
233
260
|
walletId
|
|
234
261
|
]);
|
|
235
|
-
const unlockOwnerSession = React.useCallback(async () => {
|
|
236
|
-
if (!walletId || actionState.kind === "unlocking") return;
|
|
237
|
-
setActionState({ kind: "unlocking" });
|
|
238
|
-
setAnnouncement("Unlocking wallet management…");
|
|
239
|
-
try {
|
|
240
|
-
const result = await seamsRef.current.auth.unlock(walletId);
|
|
241
|
-
if (!result.success) throw new Error(result.error);
|
|
242
|
-
await refreshSessionRef.current(walletId);
|
|
243
|
-
setActionState({ kind: "idle" });
|
|
244
|
-
setAnnouncement("Wallet management unlocked.");
|
|
245
|
-
await loadInventory();
|
|
246
|
-
dialogRef.current?.focus({ preventScroll: true });
|
|
247
|
-
} catch (error) {
|
|
248
|
-
setActionState({
|
|
249
|
-
kind: "error",
|
|
250
|
-
message: errorMessage(error)
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
}, [
|
|
254
|
-
actionState.kind,
|
|
255
|
-
loadInventory,
|
|
256
|
-
walletId
|
|
257
|
-
]);
|
|
258
262
|
const revokeMethod = React.useCallback(async () => {
|
|
259
263
|
if (!walletId || actionState.kind !== "confirming_revoke") return;
|
|
260
264
|
const method = actionState.method;
|
|
@@ -287,8 +291,12 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
|
|
|
287
291
|
const methods = inventory?.methods ?? [];
|
|
288
292
|
const hasPasskey = methods.some((method) => method.kind === "passkey");
|
|
289
293
|
const hasEmailOtp = methods.some((method) => method.kind === "email_otp");
|
|
290
|
-
const
|
|
291
|
-
const
|
|
294
|
+
const hasVoiceId = methods.some((method) => method.kind === "voiceid");
|
|
295
|
+
const voiceIdConfigured = seams.configs.authMethods.some(isVoiceIdPlugin);
|
|
296
|
+
const canManageMethods = loadState.kind === "loaded";
|
|
297
|
+
const actionInProgress = actionState.kind === "adding" || actionState.kind === "revoking";
|
|
298
|
+
const addingEmail = actionState.kind === "adding" && actionState.method === "email_otp";
|
|
299
|
+
const emailError = actionState.kind === "error" && actionState.field === "email" ? actionState.message : null;
|
|
292
300
|
return /* @__PURE__ */ jsx(AccountMenuDialogFrame, {
|
|
293
301
|
presentation,
|
|
294
302
|
onClose,
|
|
@@ -298,7 +306,6 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
|
|
|
298
306
|
title: walletText(locale, "Authentication methods"),
|
|
299
307
|
children: /* @__PURE__ */ jsx(AuthenticationMethodsView, {
|
|
300
308
|
walletLabel: walletId ?? "Wallet",
|
|
301
|
-
status: inventoryStatus(loadState),
|
|
302
309
|
children: /* @__PURE__ */ jsxs("div", {
|
|
303
310
|
className: "seams-linked-devices-modal-body",
|
|
304
311
|
"aria-busy": loadState.kind === "loading",
|
|
@@ -322,136 +329,182 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
|
|
|
322
329
|
children: /* @__PURE__ */ jsx(WalletText, { message: "Try again" })
|
|
323
330
|
})]
|
|
324
331
|
}) : null,
|
|
325
|
-
inventory ? /* @__PURE__ */
|
|
332
|
+
inventory ? /* @__PURE__ */ jsxs("section", {
|
|
326
333
|
className: "seams-account-menu-section",
|
|
327
|
-
"aria-
|
|
328
|
-
children: /* @__PURE__ */ jsx("
|
|
334
|
+
"aria-labelledby": "seams-auth-methods-active",
|
|
335
|
+
children: [/* @__PURE__ */ jsx("h3", {
|
|
336
|
+
id: "seams-auth-methods-active",
|
|
337
|
+
className: "seams-account-menu-section-label",
|
|
338
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Active authentication methods" })
|
|
339
|
+
}), /* @__PURE__ */ jsx("ul", {
|
|
329
340
|
className: "seams-account-method-tiles",
|
|
330
341
|
children: methods.map((method) => {
|
|
331
342
|
const confirming = actionState.kind === "confirming_revoke" && actionState.method.walletAuthMethodId === method.walletAuthMethodId;
|
|
332
343
|
const revoking = actionState.kind === "revoking" && actionState.method.walletAuthMethodId === method.walletAuthMethodId;
|
|
333
|
-
|
|
344
|
+
const title = walletDisplayText(locale, methodTitle(method));
|
|
345
|
+
const chip = method.walletAuthMethodId === selectedWalletAuthMethodId ? "In use now" : void 0;
|
|
346
|
+
const remove = !confirming && canManageMethods && methods.length > 1 ? /* @__PURE__ */ jsx("button", {
|
|
347
|
+
type: "button",
|
|
348
|
+
className: "seams-auth-method-text-action",
|
|
349
|
+
"data-tone": "danger",
|
|
350
|
+
disabled: actionInProgress,
|
|
351
|
+
"aria-label": walletDisplayText(locale, `Remove ${methodTitle(method)}`),
|
|
352
|
+
onClick: () => setActionState({
|
|
353
|
+
kind: "confirming_revoke",
|
|
354
|
+
method
|
|
355
|
+
}),
|
|
356
|
+
children: revoking ? /* @__PURE__ */ jsx(WalletText, { message: "Removing…" }) : /* @__PURE__ */ jsx(WalletText, { message: "Remove" })
|
|
357
|
+
}) : null;
|
|
358
|
+
const confirmation = confirming ? /* @__PURE__ */ jsxs("div", {
|
|
359
|
+
className: "seams-linked-devices-modal-confirm",
|
|
360
|
+
children: [/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, {
|
|
361
|
+
message: "Remove {value0} from this device? You will need the other active method to unlock it.",
|
|
362
|
+
values: { value0: title }
|
|
363
|
+
}) }), /* @__PURE__ */ jsxs("div", {
|
|
364
|
+
className: "seams-linked-devices-modal-confirm-actions",
|
|
365
|
+
children: [/* @__PURE__ */ jsx("button", {
|
|
366
|
+
type: "button",
|
|
367
|
+
className: "seams-linked-devices-modal-secondary",
|
|
368
|
+
onClick: () => setActionState({ kind: "idle" }),
|
|
369
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Keep it" })
|
|
370
|
+
}), /* @__PURE__ */ jsx("button", {
|
|
371
|
+
type: "button",
|
|
372
|
+
className: "seams-linked-devices-modal-danger",
|
|
373
|
+
onClick: () => void revokeMethod(),
|
|
374
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Remove method" })
|
|
375
|
+
})]
|
|
376
|
+
})]
|
|
377
|
+
}) : null;
|
|
378
|
+
const hint = methods.length > 1 ? null : /* @__PURE__ */ jsx("span", {
|
|
379
|
+
className: "seams-linked-devices-modal-item-detail",
|
|
380
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Add another method before removing this one." })
|
|
381
|
+
});
|
|
382
|
+
return method.kind === "voiceid" && voiceIdConfigured && walletId ? /* @__PURE__ */ jsx(VoiceIdMethodRow, {
|
|
383
|
+
walletId,
|
|
384
|
+
onChanged: loadInventory,
|
|
385
|
+
disabled: actionInProgress,
|
|
386
|
+
title,
|
|
387
|
+
chip,
|
|
388
|
+
remove,
|
|
389
|
+
confirmation,
|
|
390
|
+
children: hint
|
|
391
|
+
}, method.walletAuthMethodId) : /* @__PURE__ */ jsx(AuthenticationMethodRow, {
|
|
334
392
|
kind: method.kind,
|
|
335
|
-
title
|
|
393
|
+
title,
|
|
394
|
+
chip,
|
|
336
395
|
description: walletDisplayText(locale, methodDescription(method)),
|
|
337
|
-
action:
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
disabled: actionInProgress,
|
|
341
|
-
"aria-label": walletDisplayText(locale, `Remove ${methodTitle(method)}`),
|
|
342
|
-
onClick: () => setActionState({
|
|
343
|
-
kind: "confirming_revoke",
|
|
344
|
-
method
|
|
345
|
-
}),
|
|
346
|
-
children: revoking ? /* @__PURE__ */ jsx(WalletText, { message: "Removing…" }) : /* @__PURE__ */ jsx(WalletText, { message: "Remove" })
|
|
347
|
-
}) : null,
|
|
348
|
-
children: confirming ? /* @__PURE__ */ jsxs("div", {
|
|
349
|
-
className: "seams-linked-devices-modal-confirm",
|
|
350
|
-
children: [/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, {
|
|
351
|
-
message: "Remove {value0} from this device? You will need the other active method to unlock it.",
|
|
352
|
-
values: { value0: walletDisplayText(locale, methodTitle(method)) }
|
|
353
|
-
}) }), /* @__PURE__ */ jsxs("div", {
|
|
354
|
-
className: "seams-linked-devices-modal-confirm-actions",
|
|
355
|
-
children: [/* @__PURE__ */ jsx("button", {
|
|
356
|
-
type: "button",
|
|
357
|
-
className: "seams-linked-devices-modal-secondary",
|
|
358
|
-
onClick: () => setActionState({ kind: "idle" }),
|
|
359
|
-
children: /* @__PURE__ */ jsx(WalletText, { message: "Keep it" })
|
|
360
|
-
}), /* @__PURE__ */ jsx("button", {
|
|
361
|
-
type: "button",
|
|
362
|
-
className: "seams-linked-devices-modal-danger",
|
|
363
|
-
onClick: () => void revokeMethod(),
|
|
364
|
-
children: /* @__PURE__ */ jsx(WalletText, { message: "Remove method" })
|
|
365
|
-
})]
|
|
366
|
-
})]
|
|
367
|
-
}) : methods.length > 1 ? null : /* @__PURE__ */ jsx("span", {
|
|
368
|
-
className: "seams-linked-devices-modal-item-detail",
|
|
369
|
-
children: /* @__PURE__ */ jsx(WalletText, { message: "Add another method before removing this one." })
|
|
370
|
-
})
|
|
396
|
+
action: remove,
|
|
397
|
+
footer: confirmation,
|
|
398
|
+
children: hint
|
|
371
399
|
}, method.walletAuthMethodId);
|
|
372
400
|
})
|
|
373
|
-
})
|
|
401
|
+
})]
|
|
374
402
|
}) : null,
|
|
375
|
-
inventory && (!hasPasskey || !hasEmailOtp) ? /* @__PURE__ */ jsxs("section", {
|
|
403
|
+
inventory && (!hasPasskey || !hasEmailOtp || voiceIdConfigured && !hasVoiceId) ? /* @__PURE__ */ jsxs("section", {
|
|
376
404
|
className: "seams-account-menu-section",
|
|
377
405
|
"aria-labelledby": "seams-auth-methods-add",
|
|
378
|
-
children: [
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
/* @__PURE__ */ jsx("
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
406
|
+
children: [/* @__PURE__ */ jsx("h3", {
|
|
407
|
+
id: "seams-auth-methods-add",
|
|
408
|
+
className: "seams-account-menu-section-label",
|
|
409
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Add a method" })
|
|
410
|
+
}), /* @__PURE__ */ jsxs("ul", {
|
|
411
|
+
className: "seams-account-method-tiles",
|
|
412
|
+
children: [
|
|
413
|
+
!hasPasskey ? /* @__PURE__ */ jsx(AuthenticationMethodRow, {
|
|
414
|
+
kind: "passkey",
|
|
415
|
+
title: walletText(locale, "Passkey"),
|
|
416
|
+
description: walletText(locale, "Use a passkey from this device to unlock the wallet."),
|
|
417
|
+
action: /* @__PURE__ */ jsx("button", {
|
|
418
|
+
type: "button",
|
|
419
|
+
className: "seams-auth-method-text-action",
|
|
420
|
+
"aria-label": walletText(locale, "Add passkey"),
|
|
421
|
+
disabled: actionInProgress || !canManageMethods,
|
|
422
|
+
onClick: () => void addMethod("passkey"),
|
|
423
|
+
children: actionState.kind === "adding" && actionState.method === "passkey" ? /* @__PURE__ */ jsx(WalletText, { message: "Adding…" }) : /* @__PURE__ */ jsx(WalletText, { message: "Add" })
|
|
424
|
+
})
|
|
425
|
+
}) : null,
|
|
426
|
+
!hasEmailOtp ? /* @__PURE__ */ jsx(AuthenticationMethodRow, {
|
|
427
|
+
kind: "email_otp",
|
|
428
|
+
title: walletText(locale, "Email OTP"),
|
|
429
|
+
description: walletText(locale, "Use a one-time code from your email to unlock the wallet."),
|
|
430
|
+
action: emailFormOpen ? null : /* @__PURE__ */ jsx("button", {
|
|
431
|
+
ref: addEmailButtonRef,
|
|
432
|
+
type: "button",
|
|
433
|
+
className: "seams-auth-method-text-action",
|
|
434
|
+
"aria-label": walletText(locale, "Add Email OTP"),
|
|
435
|
+
disabled: actionInProgress || !canManageMethods,
|
|
436
|
+
onClick: () => setEmailFormOpen(true),
|
|
437
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Add" })
|
|
438
|
+
}),
|
|
439
|
+
footer: emailFormOpen ? /* @__PURE__ */ jsxs("form", {
|
|
440
|
+
className: "seams-auth-method-form",
|
|
441
|
+
noValidate: true,
|
|
442
|
+
onSubmit: (event) => {
|
|
443
|
+
event.preventDefault();
|
|
444
|
+
addMethod("email_otp");
|
|
445
|
+
},
|
|
446
|
+
children: [
|
|
447
|
+
/* @__PURE__ */ jsx("label", {
|
|
448
|
+
htmlFor: emailInputId,
|
|
449
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Email address" })
|
|
450
|
+
}),
|
|
451
|
+
/* @__PURE__ */ jsx("input", {
|
|
452
|
+
ref: emailInputRef,
|
|
453
|
+
id: emailInputId,
|
|
454
|
+
className: "seams-linked-devices-modal-otp-input",
|
|
455
|
+
type: "email",
|
|
456
|
+
autoComplete: "email",
|
|
457
|
+
value: emailAddress,
|
|
458
|
+
disabled: addingEmail,
|
|
459
|
+
"aria-invalid": emailError ? true : void 0,
|
|
460
|
+
"aria-describedby": emailError ? `${emailInputId}-error ${emailInputId}-note` : `${emailInputId}-note`,
|
|
461
|
+
onChange: (event) => {
|
|
462
|
+
setEmailAddress(event.currentTarget.value);
|
|
463
|
+
if (actionState.kind === "error") setActionState({ kind: "idle" });
|
|
464
|
+
}
|
|
465
|
+
}),
|
|
466
|
+
emailError ? /* @__PURE__ */ jsx("p", {
|
|
467
|
+
id: `${emailInputId}-error`,
|
|
468
|
+
className: "seams-auth-method-field-error",
|
|
469
|
+
role: "alert",
|
|
470
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: emailError })
|
|
471
|
+
}) : null,
|
|
472
|
+
/* @__PURE__ */ jsx("p", {
|
|
473
|
+
id: `${emailInputId}-note`,
|
|
474
|
+
className: "seams-auth-method-note",
|
|
475
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Next, confirm with your passkey. Then enter the code that we email to this address." })
|
|
476
|
+
}),
|
|
477
|
+
/* @__PURE__ */ jsxs("div", {
|
|
478
|
+
className: "seams-linked-devices-modal-confirm-actions",
|
|
479
|
+
children: [/* @__PURE__ */ jsx("button", {
|
|
480
|
+
type: "button",
|
|
481
|
+
className: "seams-linked-devices-modal-secondary",
|
|
482
|
+
disabled: addingEmail,
|
|
483
|
+
onClick: () => {
|
|
484
|
+
setEmailFormOpen(false);
|
|
485
|
+
setEmailAddress("");
|
|
486
|
+
if (actionState.kind === "error") setActionState({ kind: "idle" });
|
|
487
|
+
},
|
|
488
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Cancel" })
|
|
489
|
+
}), /* @__PURE__ */ jsx("button", {
|
|
490
|
+
type: "submit",
|
|
491
|
+
className: "seams-auth-method-primary",
|
|
492
|
+
disabled: actionInProgress,
|
|
493
|
+
children: addingEmail ? /* @__PURE__ */ jsx(WalletText, { message: "Sending code…" }) : /* @__PURE__ */ jsx(WalletText, { message: "Send code" })
|
|
494
|
+
})]
|
|
495
|
+
})
|
|
496
|
+
]
|
|
497
|
+
}) : null
|
|
498
|
+
}) : null,
|
|
499
|
+
voiceIdConfigured && !hasVoiceId && walletId ? /* @__PURE__ */ jsx(VoiceIdSetupRow, {
|
|
500
|
+
walletId,
|
|
501
|
+
onChanged: loadInventory,
|
|
502
|
+
disabled: actionInProgress || !canManageMethods
|
|
503
|
+
}) : null
|
|
504
|
+
]
|
|
505
|
+
})]
|
|
453
506
|
}) : null,
|
|
454
|
-
actionState.kind === "error" ? /* @__PURE__ */ jsx("div", {
|
|
507
|
+
actionState.kind === "error" && actionState.field !== "email" ? /* @__PURE__ */ jsx("div", {
|
|
455
508
|
className: "seams-linked-devices-modal-error",
|
|
456
509
|
role: "alert",
|
|
457
510
|
children: /* @__PURE__ */ jsx(WalletText, { copy: actionState.message })
|
|
@@ -467,6 +520,9 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
|
|
|
467
520
|
})
|
|
468
521
|
});
|
|
469
522
|
};
|
|
523
|
+
function isVoiceIdPlugin(plugin) {
|
|
524
|
+
return plugin.kind === "voiceid";
|
|
525
|
+
}
|
|
470
526
|
//#endregion
|
|
471
527
|
export { AuthenticationMethodsModal as default };
|
|
472
528
|
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { walletDisplayText, walletText } from "../../../core/ui/messages.js";
|
|
2
2
|
import { useWalletLocale } from "../../context/WalletLocale.js";
|
|
3
3
|
import { AccountMenuDeviceDetails } from "./AccountMenuDeviceDetails.js";
|
|
4
|
+
import { WalletIcon } from "./icons/WalletIcon.js";
|
|
4
5
|
import "react";
|
|
5
6
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
7
|
//#region src/react/components/AccountMenuButton/AuthenticationMethodsView.tsx
|
|
7
8
|
/** Shared presentation; callers own enrollment data and authenticated actions. */
|
|
8
|
-
function AuthenticationMethodsView({ walletLabel,
|
|
9
|
+
function AuthenticationMethodsView({ walletLabel, children }) {
|
|
9
10
|
const locale = useWalletLocale();
|
|
10
11
|
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(AccountMenuDeviceDetails, {
|
|
11
12
|
title: walletDisplayText(locale, walletLabel),
|
|
12
13
|
description: walletText(locale, "This wallet"),
|
|
13
|
-
details: [
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
details: [],
|
|
15
|
+
icon: /* @__PURE__ */ jsx(WalletIcon, {
|
|
16
|
+
size: 26,
|
|
17
|
+
strokeWidth: 1.5
|
|
18
|
+
})
|
|
17
19
|
}), children] });
|
|
18
20
|
}
|
|
19
21
|
//#endregion
|