@seams/wallet 0.23.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 +182 -5
- 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/controller.js +36 -0
- package/dist/esm/externalNear/hot.js +1 -0
- package/dist/esm/externalNear/intear.js +1 -0
- package/dist/esm/externalNear/message.js +60 -0
- package/dist/esm/externalNear/meteor.js +12 -0
- 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/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/esm/sdk/{helpers-BXezXx19.js → 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/esm/sdk/{mountRecoveryCodeBackupSurface-D3QFgMGE.js → 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/esm/sdk/{requireStepUpAuth-DsNLml1i.js → 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/{public/sdk/secp256k1-CYu8ENjP.js → esm/sdk/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/{public/sdk/signEvmFamilyWithUiConfirmForTempo-4A3D9nKv.js → esm/sdk/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/{public/sdk/signingQueue-Cj9sCJLj.js → esm/sdk/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/public/sdk/{helpers-BXezXx19.js → 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/public/sdk/{mountRecoveryCodeBackupSurface-D3QFgMGE.js → 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/public/sdk/{requireStepUpAuth-DsNLml1i.js → 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/{esm/sdk/secp256k1-CYu8ENjP.js → public/sdk/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/{esm/sdk/signEvmFamilyWithUiConfirmForTempo-4A3D9nKv.js → public/sdk/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/{esm/sdk/signingQueue-Cj9sCJLj.js → public/sdk/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 -239
- 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/controller.d.ts +2 -1
- package/dist/types/wallet/src/externalNear/hot.d.ts +3 -2
- package/dist/types/wallet/src/externalNear/index.d.ts +1 -1
- package/dist/types/wallet/src/externalNear/intear.d.ts +3 -2
- package/dist/types/wallet/src/externalNear/message.d.ts +14 -0
- package/dist/types/wallet/src/externalNear/meteor.d.ts +5 -2
- package/dist/types/wallet/src/externalNear/meteorRequest.d.ts +1 -1
- package/dist/types/wallet/src/externalNear/types.d.ts +22 -2
- package/dist/types/wallet/src/index.d.ts +1 -0
- 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/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 +8 -3
- 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-C5KYWEcs.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-C5KYWEcs.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
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import "../../../shared-ts/src/authorization/capabilityKinds.js";
|
|
2
|
+
import "../../../shared-ts/src/passkey-custody/index.js";
|
|
3
|
+
import { requestWalletCustodyCeremonyOperation } from "./ceremonyStepRunner.js";
|
|
4
|
+
//#region src/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.ts
|
|
5
|
+
let currentCapability = null;
|
|
6
|
+
let currentCapabilityTransport = null;
|
|
7
|
+
let currentCapabilityExpiryTimer = null;
|
|
8
|
+
function walletCustodyCeremonyTransportFromWorkerContextV1(workerContext) {
|
|
9
|
+
return { requestOperation: requestWalletCustodyCeremonyOperation.bind(void 0, workerContext) };
|
|
10
|
+
}
|
|
11
|
+
function clearCurrentCapabilityExpiryTimer() {
|
|
12
|
+
if (currentCapabilityExpiryTimer === null) return;
|
|
13
|
+
clearTimeout(currentCapabilityExpiryTimer);
|
|
14
|
+
currentCapabilityExpiryTimer = null;
|
|
15
|
+
}
|
|
16
|
+
function clearCurrentCapabilityReference() {
|
|
17
|
+
clearCurrentCapabilityExpiryTimer();
|
|
18
|
+
currentCapability = null;
|
|
19
|
+
currentCapabilityTransport = null;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The current seed-backed capability for this exact wallet, or undefined when
|
|
23
|
+
* the wallet has none — never a prompt, and never a stale or expired
|
|
24
|
+
* reference. A linked device's Client-root capability is never returned here:
|
|
25
|
+
* seed reseals and auth-method additions cannot use it.
|
|
26
|
+
*/
|
|
27
|
+
function readUnlockedWalletEd25519ExportRootCapabilityV1(walletId) {
|
|
28
|
+
const capability = readUnlockedEd25519ExportRootLinkingCapabilityV1(walletId);
|
|
29
|
+
return capability?.kind === "unlocked_wallet_ed25519_export_root_capability_v1" ? capability : void 0;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The current capability a device approving a link seals the export root
|
|
33
|
+
* from, of either kind, for this exact wallet — never a prompt, and never a
|
|
34
|
+
* stale or expired reference.
|
|
35
|
+
*/
|
|
36
|
+
function readUnlockedEd25519ExportRootLinkingCapabilityV1(walletId) {
|
|
37
|
+
const capability = currentCapability;
|
|
38
|
+
if (!capability) return void 0;
|
|
39
|
+
if (capability.walletId !== walletId) return void 0;
|
|
40
|
+
if (capability.expiresAtMs <= Date.now()) {
|
|
41
|
+
const transport = currentCapabilityTransport;
|
|
42
|
+
if (transport) destroyUnlockedWalletEd25519ExportRootCapabilitiesV1(transport, {
|
|
43
|
+
kind: "capability",
|
|
44
|
+
capabilityHandleId: capability.capabilityHandleId
|
|
45
|
+
});
|
|
46
|
+
else clearCurrentCapabilityReference();
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
return capability;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Destroys worker-held capabilities in the given scope and drops the local
|
|
53
|
+
* reference when it falls inside that scope. Failures to reach the worker are
|
|
54
|
+
* absorbed after dropping the local reference: a torn-down or resetting worker
|
|
55
|
+
* has already lost its handle memory, which is the destruction this call
|
|
56
|
+
* wants.
|
|
57
|
+
*/
|
|
58
|
+
async function destroyUnlockedWalletEd25519ExportRootCapabilitiesV1(transport, scope) {
|
|
59
|
+
const capability = currentCapability;
|
|
60
|
+
if (capability !== null && (scope.kind === "all" || scope.kind === "capability" && scope.capabilityHandleId === capability.capabilityHandleId || scope.kind === "wallet" && scope.walletId === capability.walletId || scope.kind === "wallet_session" && scope.walletSessionId === capability.walletSessionId)) clearCurrentCapabilityReference();
|
|
61
|
+
try {
|
|
62
|
+
await transport.requestOperation({
|
|
63
|
+
kind: "walletCustodyCeremony",
|
|
64
|
+
request: {
|
|
65
|
+
type: "destroyUnlockedWalletEd25519ExportRootCapabilities",
|
|
66
|
+
payload: { scope }
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
} catch {}
|
|
70
|
+
}
|
|
71
|
+
//#endregion
|
|
72
|
+
export { readUnlockedWalletEd25519ExportRootCapabilityV1, walletCustodyCeremonyTransportFromWorkerContextV1 };
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=unlockedEd25519ExportRootCapability.js.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//#region src/core/signingEngine/workerManager/workerDeferred.ts
|
|
2
|
+
var WorkerDeferred = class {
|
|
3
|
+
promise;
|
|
4
|
+
resolveValue = null;
|
|
5
|
+
rejectValue = null;
|
|
6
|
+
constructor() {
|
|
7
|
+
this.promise = new Promise(this.capture);
|
|
8
|
+
}
|
|
9
|
+
resolve(value) {
|
|
10
|
+
if (!this.resolveValue) throw new Error("Worker deferred resolver is unavailable");
|
|
11
|
+
this.resolveValue(value);
|
|
12
|
+
}
|
|
13
|
+
reject(error) {
|
|
14
|
+
if (!this.rejectValue) throw new Error("Worker deferred rejecter is unavailable");
|
|
15
|
+
this.rejectValue(error);
|
|
16
|
+
}
|
|
17
|
+
capture = (resolve, reject) => {
|
|
18
|
+
this.resolveValue = resolve;
|
|
19
|
+
this.rejectValue = reject;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { WorkerDeferred };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=workerDeferred.js.map
|
|
@@ -69,6 +69,14 @@ const walletMessages = [
|
|
|
69
69
|
["Creating your wallet", "ウォレットを作成中"],
|
|
70
70
|
["Continue with your passkey", "パスキーで続ける"],
|
|
71
71
|
["Accounts", "アカウント"],
|
|
72
|
+
["View or add accounts", "アカウントの表示・追加"],
|
|
73
|
+
["Add EVM account", "EVM アカウントを追加"],
|
|
74
|
+
["Adding EVM account…", "EVM アカウントを追加中…"],
|
|
75
|
+
["EVM account added.", "EVM アカウントを追加しました。"],
|
|
76
|
+
["Account added. Open this wallet again to finish setup.", "アカウントを追加しました。このウォレットを開き直して設定を完了してください。"],
|
|
77
|
+
["Enable this app’s EVM networks with your passkey.", "パスキーでこのアプリの EVM ネットワークを有効にします。"],
|
|
78
|
+
["Add a passkey in Authentication methods first.", "先に「認証方法」でパスキーを追加してください。"],
|
|
79
|
+
["The account could not be added. Try again.", "アカウントを追加できませんでした。もう一度お試しください。"],
|
|
72
80
|
["View accounts on block explorers", "ブロックエクスプローラーでアカウントを表示"],
|
|
73
81
|
["Export keys", "鍵をエクスポート"],
|
|
74
82
|
["Export wallet signing keys", "ウォレットの署名鍵をエクスポート"],
|
|
@@ -338,8 +346,6 @@ const walletMessages = [
|
|
|
338
346
|
["Adding Email OTP…", "メール認証を追加中…"],
|
|
339
347
|
["Passkey added.", "パスキーを追加しました。"],
|
|
340
348
|
["Email OTP added.", "メール認証を追加しました。"],
|
|
341
|
-
["Unlocking wallet management…", "ウォレット管理のロックを解除中…"],
|
|
342
|
-
["Wallet management unlocked.", "ウォレット管理のロックを解除しました。"],
|
|
343
349
|
["Checking authentication methods…", "認証方法を確認中…"],
|
|
344
350
|
["Unable to load authentication methods:", "認証方法を読み込めません:"],
|
|
345
351
|
["Active authentication methods", "有効な認証方法"],
|
|
@@ -350,8 +356,13 @@ const walletMessages = [
|
|
|
350
356
|
["Add passkey", "パスキーを追加"],
|
|
351
357
|
["Use a passkey from this device to unlock the wallet.", "このデバイスのパスキーでウォレットのロックを解除します。"],
|
|
352
358
|
["Add Email OTP", "メール認証を追加"],
|
|
353
|
-
["
|
|
354
|
-
["
|
|
359
|
+
["Add", "追加"],
|
|
360
|
+
["Use a one-time code from your email to unlock the wallet.", "メールに届くワンタイムコードでウォレットのロックを解除します。"],
|
|
361
|
+
["Next, confirm with your passkey. Then enter the code that we email to this address.", "次にパスキーで確認します。その後、このアドレスに届くコードを入力してください。"],
|
|
362
|
+
["Send code", "コードを送信"],
|
|
363
|
+
["Sending code…", "コードを送信中…"],
|
|
364
|
+
["Enter a valid email address.", "有効なメールアドレスを入力してください。"],
|
|
365
|
+
["Codes go to the email address you verified.", "確認済みのメールアドレスにコードを送信します。"],
|
|
355
366
|
["Transfer", "送金"],
|
|
356
367
|
["Warnings", "警告"],
|
|
357
368
|
["No operations", "操作なし"],
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createNearWalletProvider, nearWalletName } from "./wallets.js";
|
|
2
2
|
import { connectedNear } from "./types.js";
|
|
3
3
|
import { executionStatus, parseAccounts, parseSubmission, validateTransaction } from "./boundary.js";
|
|
4
|
+
import { parseSignedMessage, validateMessage } from "./message.js";
|
|
4
5
|
//#region src/externalNear/controller.ts
|
|
5
6
|
function failure(code, message) {
|
|
6
7
|
return {
|
|
@@ -104,6 +105,41 @@ var ExternalNearController = class {
|
|
|
104
105
|
provider?.dispose();
|
|
105
106
|
this.publish({ kind: "disconnected" });
|
|
106
107
|
}
|
|
108
|
+
async signMessage(connection, input) {
|
|
109
|
+
if (this.pending) return failure("pending_request", "Complete the pending wallet request.");
|
|
110
|
+
if (connection !== this.snapshot.connection || !this.provider) return failure("connection_changed", "Reconnect the wallet before signing.");
|
|
111
|
+
const provider = this.provider;
|
|
112
|
+
if (provider.messageSigning === "unsupported") return failure("unavailable", "This wallet does not support NEP-413 message signing in Seams.");
|
|
113
|
+
let message;
|
|
114
|
+
try {
|
|
115
|
+
message = validateMessage(input);
|
|
116
|
+
} catch {
|
|
117
|
+
return failure("invalid_input", "Provide a message, recipient, and 32-byte nonce.");
|
|
118
|
+
}
|
|
119
|
+
const generation = this.generation;
|
|
120
|
+
this.pending = true;
|
|
121
|
+
this.publish(connection);
|
|
122
|
+
try {
|
|
123
|
+
const accounts = parseAccounts(await provider.accounts(this.network));
|
|
124
|
+
if (connection !== this.snapshot.connection || !accounts.includes(connection.accountId)) return failure("connection_changed", "Wallet account changed. Reconnect before signing.");
|
|
125
|
+
const raw = await provider.signMessage(connection, message);
|
|
126
|
+
if (connection !== this.snapshot.connection) return failure("connection_changed", "Wallet selection changed.");
|
|
127
|
+
const signed = await parseSignedMessage(raw, connection, message);
|
|
128
|
+
if (connection !== this.snapshot.connection) return failure("connection_changed", "Wallet selection changed.");
|
|
129
|
+
return {
|
|
130
|
+
ok: true,
|
|
131
|
+
value: signed
|
|
132
|
+
};
|
|
133
|
+
} catch {
|
|
134
|
+
if (connection !== this.snapshot.connection) return failure("connection_changed", "Wallet selection changed.");
|
|
135
|
+
return failure("unavailable", "The wallet did not return a valid NEP-413 message signature.");
|
|
136
|
+
} finally {
|
|
137
|
+
if (generation === this.generation) {
|
|
138
|
+
this.pending = false;
|
|
139
|
+
this.publish(this.snapshot.connection);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
107
143
|
async sendTransaction(connection, input) {
|
|
108
144
|
if (this.pending) return failure("pending_request", "Complete the pending wallet request.");
|
|
109
145
|
if (connection !== this.snapshot.connection || !this.provider) return failure("connection_changed", "Reconnect the wallet before signing.");
|
|
@@ -3,6 +3,7 @@ import { externalNearAction } from "./actions.js";
|
|
|
3
3
|
//#region src/externalNear/hot.ts
|
|
4
4
|
/** Direct extension API documented by hot-dao/hot-sdk-js. No iframe fallback. */
|
|
5
5
|
var HotExtensionProvider = class {
|
|
6
|
+
messageSigning = "unsupported";
|
|
6
7
|
lifecycle = "active";
|
|
7
8
|
transport = Reflect.get(window, "hotExtension");
|
|
8
9
|
async request(method, params) {
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { isPlainObject } from "../shared-ts/src/utils/validation.js";
|
|
2
|
+
import { base64Decode, base64Encode } from "../shared-ts/src/utils/base64.js";
|
|
3
|
+
import { base58Decode } from "../shared-ts/src/utils/base58.js";
|
|
4
|
+
import { serialize } from "../node_modules/borsh/lib/esm/index.js";
|
|
5
|
+
//#region src/externalNear/message.ts
|
|
6
|
+
const messageBrand = Symbol("validated NEP-413 message");
|
|
7
|
+
const utf8StringSchema = { array: { type: "u8" } };
|
|
8
|
+
const messageSchema = { struct: {
|
|
9
|
+
tag: "u32",
|
|
10
|
+
message: utf8StringSchema,
|
|
11
|
+
nonce: { array: {
|
|
12
|
+
type: "u8",
|
|
13
|
+
len: 32
|
|
14
|
+
} },
|
|
15
|
+
recipient: utf8StringSchema,
|
|
16
|
+
callbackUrl: { option: utf8StringSchema }
|
|
17
|
+
} };
|
|
18
|
+
function validateMessage(input) {
|
|
19
|
+
if (!isPlainObject(input) || typeof input.message !== "string" || typeof input.recipient !== "string" || !input.recipient.trim() || !(input.nonce instanceof Uint8Array) || input.nonce.length !== 32 || input.callbackUrl !== void 0 && typeof input.callbackUrl !== "string" || input.state !== void 0 && typeof input.state !== "string") throw new Error("Provide a message, recipient, and 32-byte nonce.");
|
|
20
|
+
return Object.freeze({
|
|
21
|
+
[messageBrand]: true,
|
|
22
|
+
message: input.message,
|
|
23
|
+
recipient: input.recipient,
|
|
24
|
+
nonce: new Uint8Array(input.nonce),
|
|
25
|
+
callbackUrl: input.callbackUrl ?? null,
|
|
26
|
+
state: input.state ?? null
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async function parseSignedMessage(raw, connection, message) {
|
|
30
|
+
if (!isPlainObject(raw) || raw.accountId !== connection.accountId || typeof raw.publicKey !== "string" || !raw.publicKey.startsWith("ed25519:") || typeof raw.signature !== "string" || raw.state !== void 0 && raw.state !== message.state) throw new Error("Message identity does not match the request.");
|
|
31
|
+
const publicKey = base58Decode(raw.publicKey.slice(8));
|
|
32
|
+
const signature = base64Decode(raw.signature);
|
|
33
|
+
if (publicKey.length !== 32 || signature.length !== 64 || base64Encode(signature) !== raw.signature) throw new Error("Invalid NEP-413 key or signature.");
|
|
34
|
+
const encoder = new TextEncoder();
|
|
35
|
+
const payload = serialize(messageSchema, {
|
|
36
|
+
tag: 2 ** 31 + 413,
|
|
37
|
+
message: encoder.encode(message.message),
|
|
38
|
+
nonce: message.nonce,
|
|
39
|
+
recipient: encoder.encode(message.recipient),
|
|
40
|
+
callbackUrl: message.callbackUrl === null ? null : encoder.encode(message.callbackUrl)
|
|
41
|
+
});
|
|
42
|
+
const digest = await crypto.subtle.digest("SHA-256", new Uint8Array(payload));
|
|
43
|
+
const key = await crypto.subtle.importKey("raw", new Uint8Array(publicKey), "Ed25519", false, ["verify"]);
|
|
44
|
+
if (!await crypto.subtle.verify("Ed25519", key, signature, digest)) throw new Error("The signature does not match the requested NEP-413 message.");
|
|
45
|
+
if (message.state !== null) return Object.freeze({
|
|
46
|
+
accountId: connection.accountId,
|
|
47
|
+
publicKey: raw.publicKey,
|
|
48
|
+
signature: raw.signature,
|
|
49
|
+
state: message.state
|
|
50
|
+
});
|
|
51
|
+
return Object.freeze({
|
|
52
|
+
accountId: connection.accountId,
|
|
53
|
+
publicKey: raw.publicKey,
|
|
54
|
+
signature: raw.signature
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
//#endregion
|
|
58
|
+
export { parseSignedMessage, validateMessage };
|
|
59
|
+
|
|
60
|
+
//# sourceMappingURL=message.js.map
|
|
@@ -47,6 +47,7 @@ function meteorAction(action) {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
var MeteorExtensionProvider = class {
|
|
50
|
+
messageSigning = "nep413";
|
|
50
51
|
lifecycle = "active";
|
|
51
52
|
transport = meteorTransportFromWindow();
|
|
52
53
|
request = null;
|
|
@@ -76,6 +77,17 @@ var MeteorExtensionProvider = class {
|
|
|
76
77
|
async accounts(network) {
|
|
77
78
|
return this.account?.network === network ? [this.account.accountId] : [];
|
|
78
79
|
}
|
|
80
|
+
async signMessage(connection, message) {
|
|
81
|
+
if (this.account?.accountId !== connection.accountId || this.account.network !== connection.network) throw new Error("Meteor account changed.");
|
|
82
|
+
return this.execute(connection.network, "sign_message", {
|
|
83
|
+
accountId: connection.accountId,
|
|
84
|
+
message: message.message,
|
|
85
|
+
nonce: Array.from(message.nonce),
|
|
86
|
+
recipient: message.recipient,
|
|
87
|
+
callbackUrl: message.callbackUrl ?? void 0,
|
|
88
|
+
state: message.state ?? void 0
|
|
89
|
+
});
|
|
90
|
+
}
|
|
79
91
|
async send(connection, transaction) {
|
|
80
92
|
if (this.account?.accountId !== connection.accountId || this.account.network !== connection.network) throw new Error("Meteor account changed.");
|
|
81
93
|
const response = await fetch(this.rpcUrl, {
|
|
@@ -105,29 +105,17 @@ function AccountMenuButtonView({ buttonRef, dropdownRef, trigger, dropdown, clas
|
|
|
105
105
|
}),
|
|
106
106
|
/* @__PURE__ */ jsxs("footer", {
|
|
107
107
|
className: "seams-account-footer",
|
|
108
|
-
children: [
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}),
|
|
118
|
-
/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { message: "Secured by" }) }),
|
|
119
|
-
/* @__PURE__ */ jsx("svg", {
|
|
120
|
-
className: "seams-account-wordmark",
|
|
121
|
-
viewBox: "0 0 1428 285",
|
|
122
|
-
role: "img",
|
|
123
|
-
"aria-label": "seams",
|
|
124
|
-
children: /* @__PURE__ */ jsx("path", {
|
|
125
|
-
d: SEAMS_STANDARD_WORDMARK_PATH,
|
|
126
|
-
fill: "currentColor",
|
|
127
|
-
fillRule: "evenodd"
|
|
128
|
-
})
|
|
108
|
+
children: [/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { message: "Secured by" }) }), /* @__PURE__ */ jsx("svg", {
|
|
109
|
+
className: "seams-account-wordmark",
|
|
110
|
+
viewBox: "0 0 1428 285",
|
|
111
|
+
role: "img",
|
|
112
|
+
"aria-label": "seams",
|
|
113
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
114
|
+
d: SEAMS_STANDARD_WORDMARK_PATH,
|
|
115
|
+
fill: "currentColor",
|
|
116
|
+
fillRule: "evenodd"
|
|
129
117
|
})
|
|
130
|
-
]
|
|
118
|
+
})]
|
|
131
119
|
})
|
|
132
120
|
]
|
|
133
121
|
})
|
|
@@ -21,10 +21,10 @@ function AccountMenuDeviceDetails({ title, description, details, children, icon
|
|
|
21
21
|
/* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(WalletText, { copy: description }) })
|
|
22
22
|
]
|
|
23
23
|
}),
|
|
24
|
-
/* @__PURE__ */ jsx("dl", {
|
|
24
|
+
details.length > 0 ? /* @__PURE__ */ jsx("dl", {
|
|
25
25
|
className: "seams-account-inset",
|
|
26
26
|
children: details.map(renderDetail)
|
|
27
|
-
}),
|
|
27
|
+
}) : null,
|
|
28
28
|
children
|
|
29
29
|
] });
|
|
30
30
|
}
|
|
@@ -56,7 +56,7 @@ function deviceRow(setScreen, parent, device) {
|
|
|
56
56
|
onSelect: selectDevice.bind(null, setScreen, parent, device)
|
|
57
57
|
}, device.id);
|
|
58
58
|
}
|
|
59
|
-
function MethodTiles({ methods }) {
|
|
59
|
+
function MethodTiles({ methods, inUse }) {
|
|
60
60
|
const locale = useWalletLocale();
|
|
61
61
|
return /* @__PURE__ */ jsxs("ul", {
|
|
62
62
|
className: "seams-account-method-tiles",
|
|
@@ -64,7 +64,8 @@ function MethodTiles({ methods }) {
|
|
|
64
64
|
children: [methods !== "email_otp" ? /* @__PURE__ */ jsx(AuthenticationMethodRow, {
|
|
65
65
|
kind: "passkey",
|
|
66
66
|
title: walletText(locale, "Passkey"),
|
|
67
|
-
description: walletText(locale, "Touch ID · This device")
|
|
67
|
+
description: walletText(locale, "Touch ID · This device"),
|
|
68
|
+
chip: inUse === "passkey" ? walletText(locale, "In use now") : void 0
|
|
68
69
|
}) : null, methods !== "passkey" ? /* @__PURE__ */ jsx(AuthenticationMethodRow, {
|
|
69
70
|
kind: "email_otp",
|
|
70
71
|
title: walletText(locale, "Email OTP"),
|
|
@@ -150,8 +151,10 @@ function AccountMenuMockScreens({ screen, setScreen, accounts, transactionSettin
|
|
|
150
151
|
onBack: back,
|
|
151
152
|
children: /* @__PURE__ */ jsx(AuthenticationMethodsView, {
|
|
152
153
|
walletLabel: walletId,
|
|
153
|
-
|
|
154
|
-
|
|
154
|
+
children: /* @__PURE__ */ jsx(MethodTiles, {
|
|
155
|
+
methods: "both",
|
|
156
|
+
inUse: "passkey"
|
|
157
|
+
})
|
|
155
158
|
})
|
|
156
159
|
});
|
|
157
160
|
case "linked": return /* @__PURE__ */ jsxs(AccountMenuScreen, {
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { configuredThresholdEcdsaChainTargets } from "../../../core/signingEngine/interfaces/ecdsaChainTarget.js";
|
|
2
|
+
import { WalletText } from "../../context/WalletLocale.js";
|
|
3
|
+
import { accountMenuCapabilitiesForLoginState } from "../../context/reactLoginStateBuilders.js";
|
|
4
|
+
import { useSeams } from "../../context/index.js";
|
|
5
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
//#region src/react/components/AccountMenuButton/AddEvmAccount.tsx
|
|
8
|
+
function trackMount(mounted) {
|
|
9
|
+
mounted.current = true;
|
|
10
|
+
return clearMount.bind(null, mounted);
|
|
11
|
+
}
|
|
12
|
+
function clearMount(mounted) {
|
|
13
|
+
mounted.current = false;
|
|
14
|
+
}
|
|
15
|
+
function setupError(error) {
|
|
16
|
+
return error instanceof Error ? error.message : "The account could not be added. Try again.";
|
|
17
|
+
}
|
|
18
|
+
function assertCurrentWallet(context, walletId) {
|
|
19
|
+
const selected = context.seams.preferences.getCurrentWalletId();
|
|
20
|
+
if (!context.mounted.current || selected && selected !== walletId) throw new Error("Account added. Open this wallet again to finish setup.");
|
|
21
|
+
}
|
|
22
|
+
async function addAccount(context, state, walletId, targets) {
|
|
23
|
+
if (state.kind === "adding") return;
|
|
24
|
+
if (state.kind === "added" && state.walletId === walletId) return;
|
|
25
|
+
context.setState({
|
|
26
|
+
kind: "adding",
|
|
27
|
+
walletId
|
|
28
|
+
});
|
|
29
|
+
try {
|
|
30
|
+
const rpId = context.seams.configs.wallet.iframe.rpIdOverride || new URL(context.seams.configs.wallet.iframe.origin).hostname;
|
|
31
|
+
const result = await context.seams.registration.addSigner({
|
|
32
|
+
walletId,
|
|
33
|
+
rpId,
|
|
34
|
+
signerSelection: {
|
|
35
|
+
mode: "ecdsa",
|
|
36
|
+
ecdsa: {
|
|
37
|
+
chainTargets: [...targets],
|
|
38
|
+
participantIds: [1, 2]
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
if (!result.success) throw new Error(result.error);
|
|
43
|
+
if (result.kind !== "wallet_signer_added" || result.capabilities[0].kind !== "evm_family_ecdsa") throw new Error("The wallet did not return an EVM account.");
|
|
44
|
+
assertCurrentWallet(context, walletId);
|
|
45
|
+
context.setState({
|
|
46
|
+
kind: "added",
|
|
47
|
+
walletId,
|
|
48
|
+
evmAddress: result.capabilities[0].thresholdEcdsaEthereumAddress,
|
|
49
|
+
nearAccountId: context.nearAccountId
|
|
50
|
+
});
|
|
51
|
+
} catch (error) {
|
|
52
|
+
if (context.mounted.current) context.setState({
|
|
53
|
+
kind: "failed",
|
|
54
|
+
walletId,
|
|
55
|
+
message: setupError(error)
|
|
56
|
+
});
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
await context.refreshSession(walletId);
|
|
60
|
+
}
|
|
61
|
+
/** The menu owns setup across navigation between its screens. */
|
|
62
|
+
function useEvmAccountSetup() {
|
|
63
|
+
const { seams, refreshSession, loginState } = useSeams();
|
|
64
|
+
const [state, setState] = useState({ kind: "idle" });
|
|
65
|
+
const mounted = useRef(false);
|
|
66
|
+
useEffect(trackMount.bind(null, mounted), [mounted]);
|
|
67
|
+
return {
|
|
68
|
+
state,
|
|
69
|
+
add: addAccount.bind(null, {
|
|
70
|
+
seams,
|
|
71
|
+
refreshSession,
|
|
72
|
+
mounted,
|
|
73
|
+
setState,
|
|
74
|
+
nearAccountId: loginState.nearAccountId
|
|
75
|
+
}, state)
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
function AddEvmAccount({ walletId, setup }) {
|
|
79
|
+
const { seams, loginState } = useSeams();
|
|
80
|
+
const targets = useMemo(accountTargets.bind(null, seams.configs.network.chains), [seams.configs.network.chains]);
|
|
81
|
+
const state = setup.state;
|
|
82
|
+
const busy = state.kind === "adding";
|
|
83
|
+
const current = state.kind !== "idle" && state.walletId === walletId;
|
|
84
|
+
if (!targets || !busy && !(current && state.kind === "added") && (loginState.walletId !== walletId || accountMenuCapabilitiesForLoginState(loginState).kind !== "owner")) return null;
|
|
85
|
+
if (current && state.kind === "added") return /* @__PURE__ */ jsx("p", {
|
|
86
|
+
className: "seams-account-note",
|
|
87
|
+
role: "status",
|
|
88
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "EVM account added." })
|
|
89
|
+
});
|
|
90
|
+
if (loginState.thresholdEcdsaEthereumAddress && !busy) return null;
|
|
91
|
+
const hasPasskey = loginState.authMethods.some(isPasskey);
|
|
92
|
+
let actionLabel = /* @__PURE__ */ jsx(WalletText, { message: "Add EVM account" });
|
|
93
|
+
if (busy) actionLabel = /* @__PURE__ */ jsx(WalletText, { message: "Adding EVM account…" });
|
|
94
|
+
return /* @__PURE__ */ jsxs("div", { children: [
|
|
95
|
+
/* @__PURE__ */ jsx("button", {
|
|
96
|
+
type: "button",
|
|
97
|
+
className: "seams-account-action primary",
|
|
98
|
+
disabled: busy || !hasPasskey,
|
|
99
|
+
onClick: setup.add.bind(null, walletId, targets),
|
|
100
|
+
children: actionLabel
|
|
101
|
+
}),
|
|
102
|
+
/* @__PURE__ */ jsx("p", {
|
|
103
|
+
className: "seams-account-note",
|
|
104
|
+
role: busy ? "status" : void 0,
|
|
105
|
+
children: hasPasskey || busy ? /* @__PURE__ */ jsx(WalletText, { message: "Enable this app’s EVM networks with your passkey." }) : /* @__PURE__ */ jsx(WalletText, { message: "Add a passkey in Authentication methods first." })
|
|
106
|
+
}),
|
|
107
|
+
current && state.kind === "failed" ? /* @__PURE__ */ jsx("p", {
|
|
108
|
+
className: "seams-account-error",
|
|
109
|
+
role: "alert",
|
|
110
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: state.message })
|
|
111
|
+
}) : null
|
|
112
|
+
] });
|
|
113
|
+
}
|
|
114
|
+
function isPasskey(method) {
|
|
115
|
+
return method.kind === "passkey";
|
|
116
|
+
}
|
|
117
|
+
function accountTargets(chains) {
|
|
118
|
+
const [first, ...rest] = configuredThresholdEcdsaChainTargets(chains);
|
|
119
|
+
return first ? [first, ...rest] : null;
|
|
120
|
+
}
|
|
121
|
+
//#endregion
|
|
122
|
+
export { AddEvmAccount, useEvmAccountSetup };
|
|
123
|
+
|
|
124
|
+
//# sourceMappingURL=AddEvmAccount.js.map
|
|
@@ -5,7 +5,31 @@ import { MailIcon } from "./icons/MailIcon.js";
|
|
|
5
5
|
import "react";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
//#region src/react/components/AccountMenuButton/AuthenticationMethodRow.tsx
|
|
8
|
-
function
|
|
8
|
+
function methodIcon(kind) {
|
|
9
|
+
switch (kind) {
|
|
10
|
+
case "passkey": return /* @__PURE__ */ jsx(TouchIcon, {
|
|
11
|
+
width: 20,
|
|
12
|
+
height: 20,
|
|
13
|
+
strokeWidth: 1.5
|
|
14
|
+
});
|
|
15
|
+
case "email_otp": return /* @__PURE__ */ jsx(MailIcon, {
|
|
16
|
+
size: 20,
|
|
17
|
+
strokeWidth: 1.75
|
|
18
|
+
});
|
|
19
|
+
case "voiceid": return /* @__PURE__ */ jsx("svg", {
|
|
20
|
+
width: "20",
|
|
21
|
+
height: "20",
|
|
22
|
+
viewBox: "0 0 24 24",
|
|
23
|
+
fill: "none",
|
|
24
|
+
stroke: "currentColor",
|
|
25
|
+
strokeWidth: "1.75",
|
|
26
|
+
strokeLinecap: "round",
|
|
27
|
+
"aria-hidden": "true",
|
|
28
|
+
children: /* @__PURE__ */ jsx("path", { d: "M4 10v4m4-7v10m4-14v18m4-14v10m4-7v4" })
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function AuthenticationMethodRow({ kind, title, description, chip, icon, action, footer, onSelect, children }) {
|
|
9
33
|
if (onSelect) return /* @__PURE__ */ jsx("li", {
|
|
10
34
|
className: "seams-account-method-list-item",
|
|
11
35
|
children: /* @__PURE__ */ jsxs("button", {
|
|
@@ -15,34 +39,21 @@ function AuthenticationMethodRow({ kind, title, description, icon, action, onSel
|
|
|
15
39
|
children: [
|
|
16
40
|
/* @__PURE__ */ jsx("span", {
|
|
17
41
|
className: "seams-account-avatar",
|
|
18
|
-
children: icon ?? (kind
|
|
19
|
-
width: 20,
|
|
20
|
-
height: 20,
|
|
21
|
-
strokeWidth: 1.5
|
|
22
|
-
}) : /* @__PURE__ */ jsx(MailIcon, {
|
|
23
|
-
size: 20,
|
|
24
|
-
strokeWidth: 1.5
|
|
25
|
-
}))
|
|
42
|
+
children: icon ?? methodIcon(kind)
|
|
26
43
|
}),
|
|
27
|
-
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("strong", { children: /* @__PURE__ */ jsx(WalletText, { copy: title }) }), /* @__PURE__ */ jsx("small", { children:
|
|
44
|
+
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("strong", { children: /* @__PURE__ */ jsx(WalletText, { copy: title }) }), /* @__PURE__ */ jsx("small", { children: renderDescription(description) })] }),
|
|
28
45
|
/* @__PURE__ */ jsx(HoverArrowIcon, {})
|
|
29
46
|
]
|
|
30
47
|
})
|
|
31
48
|
});
|
|
32
49
|
return /* @__PURE__ */ jsxs("li", {
|
|
33
50
|
className: "seams-linked-devices-modal-item seams-linked-devices-modal-item--row",
|
|
51
|
+
"data-auth-method": kind,
|
|
34
52
|
children: [
|
|
35
53
|
/* @__PURE__ */ jsx("span", {
|
|
36
54
|
className: "seams-linked-devices-modal-item-icon",
|
|
37
55
|
"aria-hidden": "true",
|
|
38
|
-
children:
|
|
39
|
-
width: 20,
|
|
40
|
-
height: 20,
|
|
41
|
-
strokeWidth: 1.5
|
|
42
|
-
}) : /* @__PURE__ */ jsx(MailIcon, {
|
|
43
|
-
size: 20,
|
|
44
|
-
strokeWidth: 1.75
|
|
45
|
-
})
|
|
56
|
+
children: icon ?? methodIcon(kind)
|
|
46
57
|
}),
|
|
47
58
|
/* @__PURE__ */ jsxs("div", {
|
|
48
59
|
className: "seams-linked-devices-modal-item-content",
|
|
@@ -52,22 +63,29 @@ function AuthenticationMethodRow({ kind, title, description, icon, action, onSel
|
|
|
52
63
|
children: [/* @__PURE__ */ jsx("span", {
|
|
53
64
|
className: "seams-linked-devices-modal-item-name",
|
|
54
65
|
children: /* @__PURE__ */ jsx(WalletText, { copy: title })
|
|
55
|
-
}), /* @__PURE__ */ jsx("span", {
|
|
66
|
+
}), chip ? /* @__PURE__ */ jsx("span", {
|
|
56
67
|
className: "seams-linked-devices-modal-standing tone-active",
|
|
57
|
-
children: /* @__PURE__ */ jsx(WalletText, {
|
|
58
|
-
})]
|
|
68
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: chip })
|
|
69
|
+
}) : null]
|
|
59
70
|
}),
|
|
60
71
|
/* @__PURE__ */ jsx("div", {
|
|
61
72
|
className: "seams-linked-devices-modal-item-detail",
|
|
62
|
-
children:
|
|
73
|
+
children: renderDescription(description)
|
|
63
74
|
}),
|
|
64
75
|
children
|
|
65
76
|
]
|
|
66
77
|
}),
|
|
67
|
-
action
|
|
78
|
+
action,
|
|
79
|
+
footer ? /* @__PURE__ */ jsx("div", {
|
|
80
|
+
className: "seams-auth-method-footer",
|
|
81
|
+
children: footer
|
|
82
|
+
}) : null
|
|
68
83
|
]
|
|
69
84
|
});
|
|
70
85
|
}
|
|
86
|
+
function renderDescription(description) {
|
|
87
|
+
return typeof description === "string" ? /* @__PURE__ */ jsx(WalletText, { copy: description }) : description;
|
|
88
|
+
}
|
|
71
89
|
//#endregion
|
|
72
90
|
export { AuthenticationMethodRow };
|
|
73
91
|
|