@seams/wallet 0.6.2 → 0.7.1
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/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/SeamsWeb.js +33 -93
- package/dist/esm/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +25 -5
- package/dist/esm/SeamsWeb/assembly/createBrowserSigningStores.js +1 -2
- package/dist/esm/SeamsWeb/operations/auth/login.js +13 -37
- package/dist/esm/SeamsWeb/operations/auth/walletUnlockSubject.js +1 -1
- package/dist/esm/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.js +1 -1
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +4 -3
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/challenge.js +1 -1
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +1 -1
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.js +1 -1
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.js +6 -15
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/walletActivation.js +2 -2
- package/dist/esm/SeamsWeb/operations/authMethods/passkey/addPasskey.js +5 -4
- package/dist/esm/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.js +34 -0
- package/dist/esm/SeamsWeb/operations/authMethods/passkey/localPasskeyProjection.js +4 -42
- package/dist/esm/SeamsWeb/operations/authMethods/revokeAuthMethod.js +3 -2
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.js +2 -2
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.js +1 -1
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +6 -5
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.js +1 -1
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingResume.js +3 -3
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +2 -1
- package/dist/esm/SeamsWeb/operations/devices/linkDevice.js +1 -1671
- package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlow.js +1358 -0
- package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlowSupport.js +143 -0
- package/dist/esm/SeamsWeb/operations/devices/linkDeviceTargetActivation.js +119 -0
- package/dist/esm/SeamsWeb/operations/devices/scanDevice.js +1 -1
- package/dist/esm/SeamsWeb/operations/devices/walletHostComposition.js +13 -3
- package/dist/esm/SeamsWeb/operations/devices/walletHostOwnerAuthority.js +12 -4
- package/dist/esm/SeamsWeb/operations/near/index.js +1 -1
- package/dist/esm/SeamsWeb/operations/near/signNEP413.js +1 -1
- package/dist/esm/SeamsWeb/operations/recovery/accountSync.js +1 -1
- package/dist/esm/SeamsWeb/operations/recovery/recoveryWalletBinding.js +1 -1
- package/dist/esm/SeamsWeb/operations/recovery/syncAccount.js +7 -7
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCommit.js +6 -10
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +4 -2
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryRotation.js +2 -2
- package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.js +39 -5
- package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryUnlock.js +21 -42
- package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.js +3 -3
- package/dist/esm/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +2 -2
- package/dist/esm/SeamsWeb/operations/registration/registration.js +101 -58
- package/dist/esm/SeamsWeb/operations/registration/registrationEd25519Yao.js +37 -6
- package/dist/esm/SeamsWeb/operations/registration/registrationSignerSet.js +1 -1
- package/dist/esm/SeamsWeb/operations/registration/registrationStrictEcdsa.js +4 -3
- package/dist/esm/SeamsWeb/operations/registration/registrationTerminalCommit.js +1 -1
- package/dist/esm/SeamsWeb/operations/registration/registrationTiming.js +194 -539
- package/dist/esm/SeamsWeb/publicApi/awaitNearReady.js +3 -1
- package/dist/esm/SeamsWeb/publicApi/devices.js +1 -1
- package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +22 -24
- package/dist/esm/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +0 -4
- package/dist/esm/SeamsWeb/walletIframe/client/router.js +4 -3
- package/dist/esm/SeamsWeb/walletIframe/client/surface/geometry.js +6 -88
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +1 -1
- package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +26 -36
- package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +3 -1
- package/dist/esm/SeamsWeb/walletIframe/shared/transactionReview.js +2 -4
- package/dist/esm/advanced.js +3 -2
- package/dist/esm/core/accountData/near/keyMaterial.js +2 -2
- package/dist/esm/core/config/chains.js +1 -0
- package/dist/esm/core/indexedDB/index.js +1 -7
- package/dist/esm/core/indexedDB/keyMaterialEnvelope.js +1 -5
- package/dist/esm/core/indexedDB/linkedAuthoritySignerMaterial.js +7 -14
- package/dist/esm/core/indexedDB/pendingWalletRecoveryCommit.js +2 -2
- package/dist/esm/core/indexedDB/pendingWalletRegistrationCommit.js +1 -1
- package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.js +209 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +848 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +122 -1721
- package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +235 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +60 -11
- package/dist/esm/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +198 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +1 -1
- package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +6 -0
- package/dist/esm/core/indexedDB/walletCustodyEd25519MaterialRecord.js +1 -1
- package/dist/esm/core/platform/browser/createBrowserPlatformRuntime.js +0 -43
- package/dist/esm/core/rpcClients/near/NearClient.js +20 -215
- package/dist/esm/core/rpcClients/near/rpcCalls.js +4 -4
- package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +57 -86
- package/dist/esm/core/rpcClients/relayer/thresholdEcdsa.js +1 -1
- package/dist/esm/core/rpcClients/relayer/walletRecoveryPrepare.js +6 -6
- package/dist/esm/core/rpcClients/relayer/walletRecoveryRotate.js +0 -1
- package/dist/esm/core/rpcClients/relayer/walletRegistration.js +42 -18
- package/dist/esm/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +6 -12
- package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +1 -1
- package/dist/esm/core/signingEngine/assembly/ports/evmFamily.js +1 -1
- package/dist/esm/core/signingEngine/assembly/ports/stepUpRuntime.js +0 -1
- package/dist/esm/core/signingEngine/chains/evm/display/evmTx.js +1 -6
- package/dist/esm/core/signingEngine/chains/evm/evmCryptoWasm.js +1 -36
- package/dist/esm/core/signingEngine/chains/near/display.js +14 -1
- package/dist/esm/core/signingEngine/chains/tempo/display.js +1 -6
- package/dist/esm/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +4 -4
- package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportFlow.js +7 -8
- package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +2 -2
- package/dist/esm/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +1 -1
- package/dist/esm/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +18 -26
- package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +245 -503
- package/dist/esm/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +8 -11
- package/dist/esm/core/signingEngine/flows/signEvmFamily/authPlanning.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.js +2 -2
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +1 -3
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamilyWithUiConfirmForTempo.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmWithUiConfirm.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +1 -2
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +4 -4
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +42 -12
- package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +2 -2
- package/dist/esm/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +343 -0
- package/dist/esm/core/signingEngine/flows/signNear/signDelegate.js +66 -312
- package/dist/esm/core/signingEngine/flows/signNear/signNear.js +44 -48
- package/dist/esm/core/signingEngine/flows/signNear/signNep413.js +58 -305
- package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +33 -16
- package/dist/esm/core/signingEngine/interfaces/accountAuthMetadata.js +0 -1
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +14 -148
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +2 -1
- package/dist/esm/core/signingEngine/session/availability/availableSigningLanes.js +4 -4
- package/dist/esm/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +2 -2
- package/dist/esm/core/signingEngine/session/emailOtp/coordinatorRuntime.js +0 -2
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLogin.js +2 -2
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaPublication.js +3 -3
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaRecovery.js +3 -3
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.js +1 -1
- package/dist/esm/core/signingEngine/session/emailOtp/ed25519ExportContext.js +9 -16
- package/dist/esm/core/signingEngine/session/emailOtp/exportRecovery.js +2 -2
- package/dist/esm/core/signingEngine/session/emailOtp/exportRecoveryRuntime.js +0 -9
- package/dist/esm/core/signingEngine/session/emailOtp/publicTypes.js +1 -2
- package/dist/esm/core/signingEngine/session/emailOtp/sealedRefreshPolicy.js +0 -28
- package/dist/esm/core/signingEngine/session/emailOtp/sealedSessionRegistry.js +1 -1
- package/dist/esm/core/signingEngine/session/emailOtp/walletUnlock.js +1 -1
- package/dist/esm/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +2 -2
- package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +1 -1
- package/dist/esm/core/signingEngine/session/identity/laneIdentity.js +5 -4
- package/dist/esm/core/signingEngine/session/identity/ownerLaneScope.js +1 -1
- package/dist/esm/core/signingEngine/session/keyMaterialBrands.js +2 -21
- package/dist/esm/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +41 -62
- package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +6 -2
- package/dist/esm/core/signingEngine/session/material/ecdsaSealedRuntime.js +3 -3
- package/dist/esm/core/signingEngine/session/material/ecdsaSigningCapability.js +1 -1
- package/dist/esm/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.js +1 -1
- package/dist/esm/core/signingEngine/session/operationState/authorizationAdmission.js +4 -4
- package/dist/esm/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +1 -1
- package/dist/esm/core/signingEngine/session/passkey/ecdsaRecovery.js +1 -1
- package/dist/esm/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +39 -59
- package/dist/esm/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +13 -22
- package/dist/esm/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +11 -20
- package/dist/esm/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.js +1 -1
- package/dist/esm/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.js +1 -1
- package/dist/esm/core/signingEngine/session/persistence/sealedSessionRecords.js +764 -0
- package/dist/esm/core/signingEngine/session/persistence/sealedSessionStore.js +42 -862
- package/dist/esm/core/signingEngine/session/public.js +1 -1
- package/dist/esm/core/signingEngine/session/sealedRecovery/recoveryRecord.js +3 -3
- package/dist/esm/core/signingEngine/session/warmCapabilities/capabilityReaderCore.js +1 -1
- package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.js +2 -1
- package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.js +0 -1
- package/dist/esm/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.js +3 -3
- package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.js +1 -1
- package/dist/esm/core/signingEngine/session/warmCapabilities/types.js +0 -1
- package/dist/esm/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.js +3 -5
- package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +2 -3
- package/dist/esm/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +3 -2
- package/dist/esm/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.js +2 -2
- package/dist/esm/core/signingEngine/threshold/ecdsa/activation.js +3 -2
- package/dist/esm/core/signingEngine/threshold/ed25519/connectSession.js +1 -1
- package/dist/esm/core/signingEngine/threshold/ed25519/walletSession.js +2 -2
- package/dist/esm/core/signingEngine/threshold/ed25519/yaoActiveClientRegistry.js +1 -1
- package/dist/esm/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.js +12 -19
- package/dist/esm/core/signingEngine/threshold/sessionPolicy.js +1 -1
- package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +4 -3
- package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +2 -2
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +7 -0
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/signing.js +9 -16
- package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +5 -5
- package/dist/esm/core/signingEngine/uiConfirm/ui/confirmation-model.js +1 -1
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +1 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +1 -1
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +79 -9
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +31 -78
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.js +1 -0
- package/dist/esm/core/signingEngine/walletCustody/activateEd25519Capability.js +2 -1
- package/dist/esm/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.js +3 -4
- package/dist/esm/core/signingEngine/walletCustody/emailOtpLink.js +2 -2
- package/dist/esm/core/signingEngine/walletCustody/openCustodyCache.js +1 -1
- package/dist/esm/core/signingEngine/walletCustody/recoveryReplacementEnvelope.js +2 -1
- package/dist/esm/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +56 -9
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEcdsa.js +1 -1
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEd25519.js +2 -2
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryRotation.js +52 -81
- package/dist/esm/core/signingEngine/webauthnAuth/credentials/credentialExtensions.js +2 -4
- package/dist/esm/core/signingEngine/webauthnAuth/credentials/helpers.js +1 -1
- package/dist/esm/core/signingEngine/workerManager/deviceLinkingPorts.js +13 -16
- package/dist/esm/core/signingEngine/workerManager/deviceLinkingSourceContribution.js +28 -3
- package/dist/esm/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +3 -1
- package/dist/esm/core/signingEngine/workerManager/workerTransport.js +20 -5
- package/dist/esm/core/signingEngine/workerManager/workerTypes.js +2 -1
- package/dist/esm/core/types/linkDevice.js +2 -3
- package/dist/esm/core/types/sdkSentEvents.js +7 -5
- package/dist/esm/core/types/signer-worker.js +1 -58
- package/dist/esm/index.js +1 -1
- package/dist/esm/plugins/vite.js +1 -1
- package/dist/esm/react/SeamsWeb/SeamsWeb.js +32 -92
- package/dist/esm/react/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +25 -5
- package/dist/esm/react/SeamsWeb/assembly/createBrowserSigningStores.js +1 -2
- package/dist/esm/react/SeamsWeb/operations/auth/login.js +10 -34
- package/dist/esm/react/SeamsWeb/operations/auth/walletAuth.js +1 -1
- package/dist/esm/react/SeamsWeb/operations/auth/walletUnlockSubject.js +1 -1
- package/dist/esm/react/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.js +1 -1
- package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +4 -3
- package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +1 -1
- package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.js +1 -1
- package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.js +6 -15
- package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/walletActivation.js +1 -1
- package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/addPasskey.js +5 -4
- package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.js +34 -0
- package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/localPasskeyProjection.js +3 -3
- package/dist/esm/react/SeamsWeb/operations/authMethods/revokeAuthMethod.js +3 -2
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.js +2 -2
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.js +1 -1
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +5 -4
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.js +1 -1
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingResume.js +3 -3
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +2 -1
- package/dist/esm/react/SeamsWeb/operations/devices/linkDevice.js +1 -1671
- package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceFlow.js +1358 -0
- package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceFlowSupport.js +143 -0
- package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceTargetActivation.js +119 -0
- package/dist/esm/react/SeamsWeb/operations/devices/walletHostComposition.js +13 -3
- package/dist/esm/react/SeamsWeb/operations/devices/walletHostOwnerAuthority.js +11 -3
- package/dist/esm/react/SeamsWeb/operations/near/index.js +1 -1
- package/dist/esm/react/SeamsWeb/operations/recovery/accountSync.js +1 -1
- package/dist/esm/react/SeamsWeb/operations/recovery/recoveryWalletBinding.js +1 -1
- package/dist/esm/react/SeamsWeb/operations/recovery/syncAccount.js +5 -5
- package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryCommit.js +5 -9
- package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +3 -1
- package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.js +38 -4
- package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryUnlock.js +20 -41
- package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.js +3 -3
- package/dist/esm/react/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +2 -2
- package/dist/esm/react/SeamsWeb/operations/registration/registration.js +96 -53
- package/dist/esm/react/SeamsWeb/operations/registration/registrationEd25519Yao.js +35 -4
- package/dist/esm/react/SeamsWeb/operations/registration/registrationSignerSet.js +1 -1
- package/dist/esm/react/SeamsWeb/operations/registration/registrationStrictEcdsa.js +5 -4
- package/dist/esm/react/SeamsWeb/operations/registration/registrationTiming.js +194 -539
- package/dist/esm/react/SeamsWeb/publicApi/awaitNearReady.js +3 -1
- package/dist/esm/react/SeamsWeb/publicApi/devices.js +1 -1
- package/dist/esm/react/SeamsWeb/signingSurface/BrowserSigningSurface.js +21 -23
- package/dist/esm/react/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +0 -4
- package/dist/esm/react/SeamsWeb/walletIframe/client/router.js +4 -3
- package/dist/esm/react/SeamsWeb/walletIframe/client/surface/geometry.js +8 -5
- package/dist/esm/react/SeamsWeb/walletIframe/shared/exactSessionState.js +27 -37
- package/dist/esm/react/SeamsWeb/walletIframe/shared/messages.js +3 -1
- package/dist/esm/react/SeamsWeb/walletIframe/shared/transactionReview.js +3 -5
- package/dist/esm/react/components/AccountMenuButton/AccountMenuDialog.js +93 -0
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +187 -249
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +195 -257
- package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.js +1 -1
- package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +1 -1
- package/dist/esm/react/components/AccountMenuButton/UserAccountButton.js +1 -1
- package/dist/esm/react/components/AccountMenuButton/icons/MoonIcon.js +6 -41
- package/dist/esm/react/components/AccountMenuButton/icons/SunIcon.js +43 -78
- package/dist/esm/react/components/AccountMenuButton/icons/strokeIcon.js +43 -0
- package/dist/esm/react/components/AccountMenuButton/index.js +1 -1
- package/dist/esm/react/components/theme/design-tokens.js +0 -1
- package/dist/esm/react/core/config/chains.js +1 -0
- package/dist/esm/react/core/indexedDB/keyMaterialEnvelope.js +1 -5
- package/dist/esm/react/core/indexedDB/linkedAuthoritySignerMaterial.js +7 -14
- package/dist/esm/react/core/indexedDB/pendingWalletRecoveryCommit.js +1 -1
- package/dist/esm/react/core/indexedDB/pendingWalletRegistrationCommit.js +1 -1
- package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.js +209 -0
- package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +848 -0
- package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +122 -1721
- package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +235 -0
- package/dist/esm/react/core/indexedDB/seamsWalletDB/repositories.js +56 -7
- package/dist/esm/react/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +198 -0
- package/dist/esm/react/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +1 -1
- package/dist/esm/react/core/indexedDB/unifiedIndexedDBManager.js +6 -0
- package/dist/esm/react/core/indexedDB/walletCustodyEd25519MaterialRecord.js +1 -1
- package/dist/esm/react/core/platform/browser/createBrowserPlatformRuntime.js +1 -44
- package/dist/esm/react/core/rpcClients/near/NearClient.js +19 -214
- package/dist/esm/react/core/rpcClients/near/rpcCalls.js +1 -1
- package/dist/esm/react/core/rpcClients/relayer/routerAbNormalSigning.js +56 -85
- package/dist/esm/react/core/rpcClients/relayer/walletRecoveryPrepare.js +2 -2
- package/dist/esm/react/core/rpcClients/relayer/walletRecoveryRotate.js +0 -1
- package/dist/esm/react/core/rpcClients/relayer/walletRegistration.js +39 -15
- package/dist/esm/react/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +4 -10
- package/dist/esm/react/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +1 -1
- package/dist/esm/react/core/signingEngine/assembly/ports/stepUpRuntime.js +0 -1
- package/dist/esm/react/core/signingEngine/chains/evm/display/evmTx.js +1 -6
- package/dist/esm/react/core/signingEngine/chains/near/display.js +14 -1
- package/dist/esm/react/core/signingEngine/chains/tempo/display.js +1 -6
- package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +1 -1
- package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaExportFlow.js +5 -6
- package/dist/esm/react/core/signingEngine/flows/recovery/exportLaneSelection.js +1 -1
- package/dist/esm/react/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +16 -24
- package/dist/esm/react/core/signingEngine/flows/registration/accountLifecycle.js +246 -504
- package/dist/esm/react/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +7 -10
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/authPlanning.js +1 -1
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/ecdsaLanes.js +1 -1
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +1 -1
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/preparedSigning.js +1 -1
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +3 -5
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmFamilyWithUiConfirmForTempo.js +1 -1
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmWithUiConfirm.js +1 -1
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +1 -2
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlow.js +4 -4
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +41 -11
- package/dist/esm/react/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +1 -1
- package/dist/esm/react/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +343 -0
- package/dist/esm/react/core/signingEngine/flows/signNear/shared/signingSessionAuthMode.js +1 -1
- package/dist/esm/react/core/signingEngine/flows/signNear/signDelegate.js +66 -312
- package/dist/esm/react/core/signingEngine/flows/signNear/signNear.js +45 -49
- package/dist/esm/react/core/signingEngine/flows/signNear/signNep413.js +58 -305
- package/dist/esm/react/core/signingEngine/flows/signNear/signTransactions.js +34 -17
- package/dist/esm/react/core/signingEngine/interfaces/accountAuthMetadata.js +0 -1
- package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +13 -147
- package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +2 -1
- package/dist/esm/react/core/signingEngine/session/SigningSessionCoordinator.js +1 -1
- package/dist/esm/react/core/signingEngine/session/availability/availableSigningLanes.js +4 -4
- package/dist/esm/react/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +3 -3
- package/dist/esm/react/core/signingEngine/session/emailOtp/coordinatorRuntime.js +0 -2
- package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaLogin.js +2 -2
- package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaPublication.js +1 -1
- package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaRecovery.js +2 -2
- package/dist/esm/react/core/signingEngine/session/emailOtp/ed25519ExportContext.js +7 -14
- package/dist/esm/react/core/signingEngine/session/emailOtp/exportRecovery.js +1 -1
- package/dist/esm/react/core/signingEngine/session/emailOtp/exportRecoveryRuntime.js +0 -9
- package/dist/esm/react/core/signingEngine/session/emailOtp/publicTypes.js +0 -1
- package/dist/esm/react/core/signingEngine/session/emailOtp/sealedRefreshPolicy.js +0 -28
- package/dist/esm/react/core/signingEngine/session/emailOtp/sealedSessionRegistry.js +1 -1
- package/dist/esm/react/core/signingEngine/session/emailOtp/walletUnlock.js +1 -1
- package/dist/esm/react/core/signingEngine/session/emailOtp/workerEnrollment.js +1 -1
- package/dist/esm/react/core/signingEngine/session/identity/clientSessionPersistenceState.js +1 -1
- package/dist/esm/react/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +3 -3
- package/dist/esm/react/core/signingEngine/session/identity/exactSigningLaneIdentity.js +2 -2
- package/dist/esm/react/core/signingEngine/session/identity/laneIdentity.js +6 -5
- package/dist/esm/react/core/signingEngine/session/keyMaterialBrands.js +2 -21
- package/dist/esm/react/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +39 -60
- package/dist/esm/react/core/signingEngine/session/material/ecdsaCapabilityManifest.js +5 -1
- package/dist/esm/react/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.js +1 -1
- package/dist/esm/react/core/signingEngine/session/operationState/authorizationAdmission.js +4 -4
- package/dist/esm/react/core/signingEngine/session/passkey/ecdsaBootstrap.js +1 -1
- package/dist/esm/react/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +1 -1
- package/dist/esm/react/core/signingEngine/session/passkey/ecdsaRecovery.js +1 -1
- package/dist/esm/react/core/signingEngine/session/passkey/ecdsaWarmCapabilityBootstrap.js +1 -1
- package/dist/esm/react/core/signingEngine/session/passkey/ed25519SessionProvision.js +1 -1
- package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +37 -57
- package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +12 -21
- package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +10 -19
- package/dist/esm/react/core/signingEngine/session/persistence/sealedSessionRecords.js +764 -0
- package/dist/esm/react/core/signingEngine/session/persistence/sealedSessionStore.js +41 -858
- package/dist/esm/react/core/signingEngine/session/postconditions/runtimePostconditions.js +1 -1
- package/dist/esm/react/core/signingEngine/session/public.js +2 -2
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/capabilityReaderCore.js +1 -1
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaBootstrapPersistence.js +1 -1
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.js +2 -1
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.js +0 -1
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.js +3 -3
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +1 -1
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/sealedRefreshParity.js +1 -1
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/types.js +1 -2
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.js +3 -5
- package/dist/esm/react/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +2 -3
- package/dist/esm/react/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +2 -1
- package/dist/esm/react/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.js +2 -2
- package/dist/esm/react/core/signingEngine/threshold/ecdsa/activation.js +2 -1
- package/dist/esm/react/core/signingEngine/threshold/ecdsa/bootstrapSession.js +1 -1
- package/dist/esm/react/core/signingEngine/threshold/ed25519/walletSession.js +1 -1
- package/dist/esm/react/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.js +12 -19
- package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +2 -1
- package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +1 -1
- package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +7 -0
- package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/localOnly.js +1 -1
- package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/signing.js +9 -16
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +5 -5
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/confirmation-model.js +1 -1
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +1 -0
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +1 -1
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +79 -9
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +31 -78
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.js +1 -0
- package/dist/esm/react/core/signingEngine/walletCustody/activateEd25519Capability.js +2 -1
- package/dist/esm/react/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.js +3 -4
- package/dist/esm/react/core/signingEngine/walletCustody/emailOtpLink.js +2 -2
- package/dist/esm/react/core/signingEngine/walletCustody/recoveryReplacementEnvelope.js +2 -1
- package/dist/esm/react/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +55 -8
- package/dist/esm/react/core/signingEngine/walletCustody/walletRecoveryRotation.js +52 -81
- package/dist/esm/react/core/signingEngine/webauthnAuth/credentials/credentialExtensions.js +2 -4
- package/dist/esm/react/core/signingEngine/workerManager/deviceLinkingPorts.js +13 -16
- package/dist/esm/react/core/signingEngine/workerManager/deviceLinkingSourceContribution.js +29 -4
- package/dist/esm/react/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +4 -2
- package/dist/esm/react/core/signingEngine/workerManager/workerTransport.js +20 -5
- package/dist/esm/react/core/signingEngine/workerManager/workerTypes.js +2 -1
- package/dist/esm/react/core/types/linkDevice.js +2 -3
- package/dist/esm/react/core/types/sdkSentEvents.js +7 -5
- package/dist/esm/react/hooks/useQRCamera.js +1 -1
- package/dist/esm/react/shared-ts/src/authorization/delegatedAuthority.js +1 -1
- package/dist/esm/react/shared-ts/src/authorization/operationFingerprint.js +0 -1
- package/dist/esm/react/shared-ts/src/authorization/walletAuthority.js +92 -227
- package/dist/esm/react/shared-ts/src/authorization/walletCustodyOperation.js +4 -6
- package/dist/esm/react/shared-ts/src/device-linking/activeWalletSession.js +70 -1
- package/dist/esm/react/shared-ts/src/device-linking/authorityActivation.js +142 -0
- package/dist/esm/react/shared-ts/src/device-linking/committedSignerPackages.js +3 -3
- package/dist/esm/react/shared-ts/src/device-linking/delegatedActivationPlan.js +3 -1
- package/dist/esm/react/shared-ts/src/device-linking/deviceManagement.js +120 -0
- package/dist/esm/react/shared-ts/src/device-linking/digests.js +8 -63
- package/dist/esm/react/shared-ts/src/device-linking/ed25519ExportRoot.js +3 -1
- package/dist/esm/react/shared-ts/src/device-linking/index.js +6 -4
- package/dist/esm/react/shared-ts/src/device-linking/parsers.js +546 -1308
- package/dist/esm/react/shared-ts/src/device-linking/requestProof.js +3 -3
- package/dist/esm/react/shared-ts/src/device-linking/sourceContribution.js +8 -11
- package/dist/esm/react/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +7 -7
- package/dist/esm/react/shared-ts/src/device-linking/wireFields.js +59 -0
- package/dist/esm/react/shared-ts/src/near/nearClient.js +252 -0
- package/dist/esm/react/shared-ts/src/passkey-custody/custodyEnvelope.js +6 -4
- package/dist/esm/react/shared-ts/src/passkey-custody/custodySecretBinding.js +6 -4
- package/dist/esm/react/shared-ts/src/passkey-custody/primitives.js +5 -39
- package/dist/esm/react/shared-ts/src/signing-lanes/index.js +4 -3
- package/dist/esm/react/shared-ts/src/signing-lanes/ownerContinuity.js +6 -1
- package/dist/esm/react/shared-ts/src/signing-lanes/participantDigest.js +2 -0
- package/dist/esm/react/shared-ts/src/signing-lanes/participants.js +2 -5
- package/dist/esm/react/shared-ts/src/signing-lanes/recordParsers.js +7 -7
- package/dist/esm/react/shared-ts/src/signing-lanes/rotationDigests.js +2 -0
- package/dist/esm/react/shared-ts/src/signing-lanes/rotationParsers.js +3 -3
- package/dist/esm/react/shared-ts/src/signing-lanes/rotationProtocolParsers.js +8 -0
- package/dist/esm/react/shared-ts/src/signing-lanes/rotationWireFields.js +3 -0
- package/dist/esm/react/shared-ts/src/threshold/ed25519OperationFingerprint.js +34 -42
- package/dist/esm/react/shared-ts/src/threshold/keyMaterialBrands.js +25 -0
- package/dist/esm/react/shared-ts/src/threshold/secp256k1.js +1 -2
- package/dist/esm/react/shared-ts/src/utils/addAuthMethodRegistration.js +3 -4
- package/dist/esm/react/shared-ts/src/utils/canonicalPrimitives.js +8 -1
- package/dist/esm/react/shared-ts/src/utils/digestEncoding.js +63 -0
- package/dist/esm/react/shared-ts/src/utils/ecdsaKeyFactsInventory.js +1 -1
- package/dist/esm/react/shared-ts/src/utils/emailOtpDomain.js +3 -3
- package/dist/esm/react/shared-ts/src/utils/encoders.js +1 -1
- package/dist/esm/react/shared-ts/src/utils/errors.js +1 -1
- package/dist/esm/react/shared-ts/src/utils/exactRecord.js +44 -0
- package/dist/esm/react/shared-ts/src/utils/index.js +12 -8
- package/dist/esm/react/shared-ts/src/utils/registrationAuthMethodInput.js +84 -0
- package/dist/esm/react/shared-ts/src/utils/registrationEstablishedSession.js +2 -2
- package/dist/esm/react/shared-ts/src/utils/registrationIds.js +226 -0
- package/dist/esm/react/shared-ts/src/utils/registrationIntent.js +4 -1081
- package/dist/esm/react/shared-ts/src/utils/registrationSignerPlan.js +442 -0
- package/dist/esm/react/shared-ts/src/utils/routerAbEcdsaDerivation.js +9 -8
- package/dist/esm/react/shared-ts/src/utils/routerAbEd25519Yao.js +3 -76
- package/dist/esm/react/shared-ts/src/utils/routerAbEd25519YaoDigests.js +76 -0
- package/dist/esm/react/shared-ts/src/utils/routerAbNormalSigningIdentity.js +1 -4
- package/dist/esm/react/shared-ts/src/utils/routerAbPublicKeyset.js +2 -6
- package/dist/esm/react/shared-ts/src/utils/secureRandomId.js +1 -1
- package/dist/esm/react/shared-ts/src/utils/signerDomain.js +1 -16
- package/dist/esm/react/shared-ts/src/utils/validation.js +36 -2
- package/dist/esm/react/shared-ts/src/utils/walletAuthAuthority.js +1 -1
- package/dist/esm/react/shared-ts/src/utils/walletAuthMethodRecord.js +357 -0
- package/dist/esm/react/shared-ts/src/utils/walletCapabilityBindings.js +2 -2
- package/dist/esm/react/shared-ts/src/utils/wireSchema.js +66 -0
- package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +10 -13
- package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +4 -8
- package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +3 -1
- package/dist/esm/react/utils/qrScanner.js +2 -19
- package/dist/{public/sdk/ConfirmationDrawer-G0bT0Dbu.js → esm/sdk/ConfirmationDrawer-MgFTBwwK.js} +2 -1
- package/dist/esm/sdk/{EvmClient-CHw6txjt.js → EvmClient-f3gUhS2L.js} +1 -1
- package/dist/esm/sdk/{NearClient-BQgcqAzG.js → NearClient-DY4NfHeD.js} +194 -147
- package/dist/esm/sdk/{NonceCoordinator-C7mqpJiU.js → NonceCoordinator-4XWPhYww.js} +4 -4
- package/dist/esm/sdk/{accountIds-Ck4GAQfm.js → accountIds-DhIPGOSN.js} +1 -1
- package/dist/{public/sdk/accountLifecycle-Ddavc_FC.js → esm/sdk/accountLifecycle-BAGG_rbk.js} +253 -514
- package/dist/esm/sdk/{actions-DsBQcjBn.js → actions-CCvThiKe.js} +1 -1
- package/dist/esm/sdk/{adapters-m94YFj70.js → adapters-B4JeK1nJ.js} +134 -105
- package/dist/esm/sdk/canonicalPrimitives-BTHWz80v.js +36 -0
- package/dist/{public/sdk/canonicalSignerErrorCode-DAzYzisf.js → esm/sdk/canonicalSignerErrorCode-CRoJMVpp.js} +2 -2
- package/dist/{public/sdk/capabilityKinds-jwCEaqBU.js → esm/sdk/capabilityKinds-hvYqa6S_.js} +1 -1
- package/dist/esm/sdk/chains-BMh3btVo.js +124 -0
- package/dist/{public/sdk/challengeDelivery-BjLKoou3.js → esm/sdk/challengeDelivery-Dd0586fo.js} +2 -2
- package/dist/esm/sdk/{configHelpers-DB73zYvO.js → configHelpers-vAQCzUD0.js} +3 -3
- package/dist/{public/sdk/defaultConfigs-CyNOW4Sy.js → esm/sdk/defaultConfigs-B3c16M_8.js} +5 -5
- package/dist/esm/sdk/{display-DHdC2yXU.js → display-KdIL0ff7.js} +3 -8
- package/dist/esm/sdk/{normalize-BephcEIF.js → domainIds-lcrFg6Sa.js} +84 -84
- package/dist/{public/sdk/ecdsaCapabilityManifest-C8itxV9S.js → esm/sdk/ecdsaCapabilityManifest-kzO_fW09.js} +12 -8
- package/dist/esm/sdk/{ecdsaChainTarget-BOTPGIU_.js → ecdsaChainTarget-Bl-JWyuw.js} +2 -2
- package/dist/esm/sdk/ecdsaPresignLifecycle-BFOTNYCK.js +1983 -0
- package/dist/esm/sdk/{ecdsaPresignPoolIdentity-Yopr4jvS.js → ecdsaPresignPoolIdentity-BjxZVIqn.js} +1 -1
- package/dist/{public/sdk/ecdsaWalletRecords-CAbbVhEY.js → esm/sdk/ecdsaWalletRecords-Cz4m6bIz.js} +6 -4
- package/dist/esm/sdk/encoders-D8d07vpx.js +0 -0
- package/dist/esm/sdk/{enrichDisplayModelWithAbi-DnjR1CqT.js → enrichDisplayModelWithAbi-CWggsykc.js} +2 -2
- package/dist/{public/sdk/evmCryptoWasm-BVj135bZ.js → esm/sdk/evmCryptoWasm-DWklhEEb.js} +1 -1
- package/dist/esm/sdk/evmFamilyEcdsaIdentity-Co5XDcEA.js +4288 -0
- package/dist/{public/sdk/exactSessionState-Bt0HforB.js → esm/sdk/exactSessionState-CiD5fBEs.js} +45 -54
- package/dist/esm/sdk/exactSigningLaneIdentity-DQeqPMST.js +335 -0
- package/dist/esm/sdk/{export-viewer-host-CbqG8ZQV.js → export-viewer-host-ZqA2Yz3H.js} +3 -3
- package/dist/esm/sdk/{helpers-DpRjHMBx.js → helpers-ZrowMnev.js} +3 -6
- package/dist/{public/sdk/host-BPC1zSVg.js → esm/sdk/host-BWBbCAMu.js} +12 -12
- package/dist/{public/sdk/intentDigest-A1MbbJPu.js → esm/sdk/intentDigest-CvOSNlCH.js} +2 -2
- package/dist/esm/sdk/{jsxRuntime.module-FAP0NE9p.js → jsxRuntime.module-CuH5ZEIA.js} +1 -1
- package/dist/{public/sdk/keyMaterialBrands-BbjCfzXv.js → esm/sdk/keyMaterialBrands-CX41hur6.js} +15 -13
- package/dist/esm/sdk/{localOnly-CbLYTVbo.js → localOnly-Bg8UuLZ5.js} +8 -10
- package/dist/esm/sdk/{messages-B3UbNZYc.js → messages-C7Dbx9iN.js} +6 -4
- package/dist/{public/sdk/mountExportPrivateKeySurface-CNc6Mch4.js → esm/sdk/mountExportPrivateKeySurface-DgX-IBG_.js} +4 -4
- package/dist/{public/sdk/mountRecoveryCodeBackupSurface-ChwzwnYG.js → esm/sdk/mountRecoveryCodeBackupSurface-DXrExiJ7.js} +2 -2
- package/dist/{public/sdk/nearEd25519YaoMaterialActivation-Cz5UJQ_7.js → esm/sdk/nearEd25519YaoMaterialActivation-DPb0s3hQ.js} +52 -35
- package/dist/{public/sdk/nearEd25519YaoSigningPreparation-DX6xG-IW.js → esm/sdk/nearEd25519YaoSigningPreparation-BeD-SmbK.js} +10 -8
- package/dist/esm/sdk/{nonceLaneKeys-B_RcSS6M.js → nonceLaneKeys-C3c9lG6u.js} +1 -1
- package/dist/{public/sdk/normalization-oJyXl3Vn.js → esm/sdk/normalization-CBt413-z.js} +2 -2
- package/dist/esm/sdk/{operationFingerprint-DEPg9A3h.js → operationFingerprint-C8Trar4R.js} +4 -4
- package/dist/esm/sdk/{operationFingerprint-CsYO6b0a.js → operationFingerprint-CGZui5dR.js} +2 -1
- package/dist/{public/sdk/passkey-custody-BaHyYMhj.js → esm/sdk/passkey-custody-Bk1jAknm.js} +7 -6
- package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-DyvRysWg.js → esm/sdk/pendingWalletRecoveryCodeBackup-DLzBb3WQ.js} +3 -3
- package/dist/esm/sdk/{recovery-entrypoint-D39R1avB.js → recovery-entrypoint-DW2tGyMs.js} +19 -16
- package/dist/esm/sdk/{registration-PIBMSsQR.js → registration-BZDzDv91.js} +2827 -3126
- package/dist/esm/sdk/{registration-DtDICj-o.js → registration-BzVHODuD.js} +4 -4
- package/dist/{public/sdk/registrationAccounts-AO3QHjas.js → esm/sdk/registrationAccounts-CKku_Sgy.js} +6 -4
- package/dist/esm/sdk/registrationIds-DLSdEKSv.js +310 -0
- package/dist/esm/sdk/registrationIntent-D0PxwEY4.js +393 -0
- package/dist/{public/sdk/registrationPreparationPreload-BZfAC_ba.js → esm/sdk/registrationPreparationPreload-CIAuRlxI.js} +2 -2
- package/dist/esm/sdk/registrationSignerPlan-CAikVZZQ.js +440 -0
- package/dist/esm/sdk/{relayerHttp-LsVTZCxA.js → relayerHttp-VC8Holz1.js} +1 -1
- package/dist/{public/sdk/routePlan-nLpPFHB-.js → esm/sdk/routePlan-D59x5xzQ.js} +1 -1
- package/dist/{public/sdk/router-CeFS9SgT.js → esm/sdk/router-C5lF_J_u.js} +23 -25
- package/dist/{public/sdk/routerAbNormalSigning-DktZKnf1.js → esm/sdk/routerAbNormalSigning-fhvpDtmY.js} +63 -92
- package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/{public/sdk/runtime-auth-D_lUQQlc.js → esm/sdk/runtime-auth-DFTqwj3u.js} +35 -45
- package/dist/esm/sdk/{runtime-device-link-CEph1iM0.js → runtime-device-link-C1Oub8Lw.js} +25 -22
- package/dist/{public/sdk/runtime-ecdsa-tempo-tUWnafRo.js → esm/sdk/runtime-ecdsa-tempo-rkWwolw1.js} +24 -21
- package/dist/{public/sdk/runtime-email-otp-1wIPTDim.js → esm/sdk/runtime-email-otp-vuUG5LYl.js} +23 -20
- package/dist/esm/sdk/{runtime-export-Du2d4_Vu.js → runtime-export-FZWj0HxJ.js} +26 -22
- package/dist/esm/sdk/{runtime-near-CGoWxu7u.js → runtime-near-B9cjurVD.js} +24 -22
- package/dist/esm/sdk/{runtime-preferences-JwJK_xP3.js → runtime-preferences-Dq0bfyS5.js} +24 -21
- package/dist/{public/sdk/runtime-recovery-BEqBdpyo.js → esm/sdk/runtime-recovery-C-vfFKF3.js} +23 -20
- package/dist/{public/sdk/runtime-recovery-codes-DW7bB2tO.js → esm/sdk/runtime-recovery-codes-bTm3fLV4.js} +15 -19
- package/dist/esm/sdk/{runtimeContext-CTt9ON27.js → runtimeContext-iLXnxVlZ.js} +615 -850
- package/dist/{public/sdk/runtimeLoader-ZXsvx9zX.js → esm/sdk/runtimeLoader-hod6T2-m.js} +12 -12
- package/dist/{public/sdk/sdkSentEvents-5Pi-hjHB.js → esm/sdk/sdkSentEvents-MqDkbQg1.js} +10 -8
- package/dist/{public/sdk/secp256k1-CWDid9WH.js → esm/sdk/secp256k1-el9aE4Sv.js} +22 -156
- package/dist/esm/sdk/sessionPolicy-CHiilOAB.js +453 -0
- package/dist/{public/sdk/signEvmFamily-pbMepepQ.js → esm/sdk/signEvmFamily-e4IWWsZs.js} +108 -99
- package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-CxvfCI_o.js → signEvmFamilyWithUiConfirmForTempo-Cu9qdk8M.js} +11 -15
- package/dist/{public/sdk/signEvmWithUiConfirm-nk-r3Rff.js → esm/sdk/signEvmWithUiConfirm-C61TCBnh.js} +6 -10
- package/dist/{public/sdk/signNear-DVD9-IO5.js → esm/sdk/signNear-Bblwn2kT.js} +722 -803
- package/dist/esm/sdk/{evmAdapter-C5NR5tiV.js → signatureUses-BkGyYt8F.js} +12 -3
- package/dist/{public/sdk/signerDomain-DDLiwuYS.js → esm/sdk/signerDomain-IEAVrOrc.js} +3 -18
- package/dist/{public/sdk/signerLoader-D_w-SfR9.js → esm/sdk/signerLoader-D7Aey0FD.js} +4 -4
- package/dist/esm/sdk/{signatureUses-BY1IY7uz.js → signingFlow-rZfPegH9.js} +16 -29
- package/dist/esm/sdk/{trace-08ayoiNp.js → trace-rHe0wz7q.js} +1 -1
- package/dist/{public/sdk/transaction-activity-DKgIGpKG.js → esm/sdk/transaction-activity-CSMCveBn.js} +1 -1
- package/dist/esm/sdk/{transactionReview-UoZQ2opj.js → transactionReview-DpHLTznU.js} +4 -6
- package/dist/{public/sdk/transactionReviewAdmission-Cv9kTr4c.js → esm/sdk/transactionReviewAdmission-BCPvl8OZ.js} +2 -2
- package/dist/esm/sdk/{transactionState-Bpm4GamO.js → transactionState-DP9O8F6f.js} +12 -10
- package/dist/esm/sdk/tx-confirm-ui.js +182 -154
- package/dist/esm/sdk/types-Dx9fczU7.js +111 -0
- package/dist/{public/sdk/validation-BphUDXs7.js → esm/sdk/validation-gat4LEKm.js} +36 -2
- package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +2 -2
- package/dist/esm/sdk/wallet-iframe-host-full.js +2 -2
- package/dist/esm/sdk/wallet-iframe-host-near.js +2 -2
- package/dist/esm/sdk/wallet-iframe-host-runtime.js +2 -2
- package/dist/esm/sdk/{wallet-recovery-CKqoHbxT.js → wallet-recovery-Bz9qKgaL.js} +19 -25
- package/dist/esm/sdk/wallet-service.css +21 -0
- package/dist/esm/sdk/wallet-ui.css +88 -44
- package/dist/{public/sdk/sessionPolicy-B4FsPuk2.js → esm/sdk/walletAuthority-BQBxgUBn.js} +506 -445
- package/dist/{public/sdk/ed25519SeedMaterial-Cghz8-XB.js → esm/sdk/walletCustodyEcdsaContinuity-Hn4ORIbf.js} +1898 -2033
- package/dist/{public/sdk/walletRecoveryCommit-G6w6N5RV.js → esm/sdk/walletRecoveryCommit-sjGNTHUj.js} +17 -22
- package/dist/esm/sdk/{walletRecoveryRotate-BYOYJAyb.js → walletRecoveryRotate-BgLlW5ih.js} +1 -1
- package/dist/esm/sdk/{warmSessionHydration-DDNYdTCz.js → warmSessionHydration-Os8niEm7.js} +1 -1
- package/dist/esm/sdk/{webauthnP256-CHqprSh1.js → webauthnP256-DC5EIbKN.js} +1 -1
- package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +1 -1
- package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +1 -2
- package/dist/esm/shared-ts/src/authorization/walletAuthority.js +93 -228
- package/dist/esm/shared-ts/src/authorization/walletCustodyOperation.js +4 -6
- package/dist/esm/shared-ts/src/device-linking/activeWalletSession.js +70 -1
- package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +142 -0
- package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +3 -3
- package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +3 -1
- package/dist/esm/shared-ts/src/device-linking/deviceManagement.js +120 -0
- package/dist/esm/shared-ts/src/device-linking/digests.js +8 -63
- package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +3 -1
- package/dist/esm/shared-ts/src/device-linking/index.js +6 -4
- package/dist/esm/shared-ts/src/device-linking/parsers.js +550 -1311
- package/dist/esm/shared-ts/src/device-linking/requestProof.js +3 -3
- package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +7 -10
- package/dist/esm/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +7 -7
- package/dist/esm/shared-ts/src/device-linking/wireFields.js +59 -0
- package/dist/esm/shared-ts/src/near/nearClient.js +252 -0
- package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +6 -4
- package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +6 -4
- package/dist/esm/shared-ts/src/passkey-custody/primitives.js +5 -39
- package/dist/esm/shared-ts/src/signing-lanes/index.js +4 -3
- package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +6 -1
- package/dist/esm/shared-ts/src/signing-lanes/participantDigest.js +2 -0
- package/dist/esm/shared-ts/src/signing-lanes/participants.js +2 -5
- package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +7 -7
- package/dist/esm/shared-ts/src/signing-lanes/rotationDigests.js +2 -0
- package/dist/esm/shared-ts/src/signing-lanes/rotationParsers.js +3 -3
- package/dist/esm/shared-ts/src/signing-lanes/rotationProtocolParsers.js +8 -0
- package/dist/esm/shared-ts/src/signing-lanes/rotationWireFields.js +3 -0
- package/dist/esm/shared-ts/src/threshold/ed25519OperationFingerprint.js +34 -42
- package/dist/esm/shared-ts/src/threshold/keyMaterialBrands.js +25 -0
- package/dist/esm/shared-ts/src/threshold/secp256k1.js +1 -2
- package/dist/esm/shared-ts/src/utils/addAuthMethodRegistration.js +3 -4
- package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +8 -1
- package/dist/esm/shared-ts/src/utils/digestEncoding.js +63 -0
- package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +1 -1
- package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +3 -3
- package/dist/esm/shared-ts/src/utils/encoders.js +1 -1
- package/dist/esm/shared-ts/src/utils/errors.js +1 -1
- package/dist/esm/shared-ts/src/utils/exactRecord.js +44 -0
- package/dist/esm/shared-ts/src/utils/index.js +18 -14
- package/dist/esm/shared-ts/src/utils/registrationAuthMethodInput.js +84 -0
- package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +5 -5
- package/dist/esm/shared-ts/src/utils/registrationIds.js +226 -0
- package/dist/esm/shared-ts/src/utils/registrationIntent.js +4 -1081
- package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +442 -0
- package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +11 -10
- package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +3 -76
- package/dist/esm/shared-ts/src/utils/routerAbEd25519YaoDigests.js +76 -0
- package/dist/esm/shared-ts/src/utils/routerAbNormalSigningIdentity.js +1 -4
- package/dist/esm/shared-ts/src/utils/routerAbPublicKeyset.js +2 -6
- package/dist/esm/shared-ts/src/utils/secureRandomId.js +1 -1
- package/dist/esm/shared-ts/src/utils/signerDomain.js +1 -16
- package/dist/esm/shared-ts/src/utils/validation.js +36 -2
- package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +1 -1
- package/dist/esm/shared-ts/src/utils/walletAuthMethodRecord.js +357 -0
- package/dist/esm/shared-ts/src/utils/walletCapabilityBindings.js +2 -2
- package/dist/esm/shared-ts/src/utils/wireSchema.js +66 -0
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +1 -1
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +1 -1
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +1 -1
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +10 -13
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +4 -8
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +3 -1
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.d.ts +18 -5
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +44 -9
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
- package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client.d.ts +10 -1
- package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client.js +31 -1
- package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
- package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client.d.ts +1 -1
- package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client.js +1 -1
- 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/{esm/sdk/ConfirmationDrawer-G0bT0Dbu.js → public/sdk/ConfirmationDrawer-MgFTBwwK.js} +2 -1
- package/dist/public/sdk/{EvmClient-CHw6txjt.js → EvmClient-f3gUhS2L.js} +1 -1
- package/dist/public/sdk/{NearClient-BQgcqAzG.js → NearClient-DY4NfHeD.js} +194 -147
- package/dist/public/sdk/{NonceCoordinator-C7mqpJiU.js → NonceCoordinator-4XWPhYww.js} +4 -4
- package/dist/public/sdk/{accountIds-Ck4GAQfm.js → accountIds-DhIPGOSN.js} +1 -1
- package/dist/{esm/sdk/accountLifecycle-Ddavc_FC.js → public/sdk/accountLifecycle-BAGG_rbk.js} +253 -514
- package/dist/public/sdk/{actions-DsBQcjBn.js → actions-CCvThiKe.js} +1 -1
- package/dist/public/sdk/{adapters-m94YFj70.js → adapters-B4JeK1nJ.js} +134 -105
- package/dist/public/sdk/canonicalPrimitives-BTHWz80v.js +36 -0
- package/dist/{esm/sdk/canonicalSignerErrorCode-DAzYzisf.js → public/sdk/canonicalSignerErrorCode-CRoJMVpp.js} +2 -2
- package/dist/{esm/sdk/capabilityKinds-jwCEaqBU.js → public/sdk/capabilityKinds-hvYqa6S_.js} +1 -1
- package/dist/public/sdk/chains-BMh3btVo.js +124 -0
- package/dist/{esm/sdk/challengeDelivery-BjLKoou3.js → public/sdk/challengeDelivery-Dd0586fo.js} +2 -2
- package/dist/public/sdk/{configHelpers-DB73zYvO.js → configHelpers-vAQCzUD0.js} +3 -3
- package/dist/{esm/sdk/defaultConfigs-CyNOW4Sy.js → public/sdk/defaultConfigs-B3c16M_8.js} +5 -5
- package/dist/public/sdk/{display-DHdC2yXU.js → display-KdIL0ff7.js} +3 -8
- package/dist/public/sdk/{normalize-BephcEIF.js → domainIds-lcrFg6Sa.js} +84 -84
- package/dist/{esm/sdk/ecdsaCapabilityManifest-C8itxV9S.js → public/sdk/ecdsaCapabilityManifest-kzO_fW09.js} +12 -8
- package/dist/public/sdk/{ecdsaChainTarget-BOTPGIU_.js → ecdsaChainTarget-Bl-JWyuw.js} +2 -2
- package/dist/public/sdk/ecdsaPresignLifecycle-BFOTNYCK.js +1983 -0
- package/dist/public/sdk/{ecdsaPresignPoolIdentity-Yopr4jvS.js → ecdsaPresignPoolIdentity-BjxZVIqn.js} +1 -1
- package/dist/{esm/sdk/ecdsaWalletRecords-CAbbVhEY.js → public/sdk/ecdsaWalletRecords-Cz4m6bIz.js} +6 -4
- package/dist/public/sdk/encoders-D8d07vpx.js +0 -0
- package/dist/public/sdk/{enrichDisplayModelWithAbi-DnjR1CqT.js → enrichDisplayModelWithAbi-CWggsykc.js} +2 -2
- package/dist/{esm/sdk/evmCryptoWasm-BVj135bZ.js → public/sdk/evmCryptoWasm-DWklhEEb.js} +1 -1
- package/dist/public/sdk/evmFamilyEcdsaIdentity-Co5XDcEA.js +4288 -0
- package/dist/{esm/sdk/exactSessionState-Bt0HforB.js → public/sdk/exactSessionState-CiD5fBEs.js} +45 -54
- package/dist/public/sdk/exactSigningLaneIdentity-DQeqPMST.js +335 -0
- package/dist/public/sdk/{export-viewer-host-CbqG8ZQV.js → export-viewer-host-ZqA2Yz3H.js} +3 -3
- package/dist/public/sdk/{helpers-DpRjHMBx.js → helpers-ZrowMnev.js} +3 -6
- package/dist/{esm/sdk/host-BPC1zSVg.js → public/sdk/host-BWBbCAMu.js} +12 -12
- package/dist/{esm/sdk/intentDigest-A1MbbJPu.js → public/sdk/intentDigest-CvOSNlCH.js} +2 -2
- package/dist/public/sdk/{jsxRuntime.module-FAP0NE9p.js → jsxRuntime.module-CuH5ZEIA.js} +1 -1
- package/dist/{esm/sdk/keyMaterialBrands-BbjCfzXv.js → public/sdk/keyMaterialBrands-CX41hur6.js} +15 -13
- package/dist/public/sdk/{localOnly-CbLYTVbo.js → localOnly-Bg8UuLZ5.js} +8 -10
- package/dist/public/sdk/{messages-B3UbNZYc.js → messages-C7Dbx9iN.js} +6 -4
- package/dist/{esm/sdk/mountExportPrivateKeySurface-CNc6Mch4.js → public/sdk/mountExportPrivateKeySurface-DgX-IBG_.js} +4 -4
- package/dist/{esm/sdk/mountRecoveryCodeBackupSurface-ChwzwnYG.js → public/sdk/mountRecoveryCodeBackupSurface-DXrExiJ7.js} +2 -2
- package/dist/{esm/sdk/nearEd25519YaoMaterialActivation-Cz5UJQ_7.js → public/sdk/nearEd25519YaoMaterialActivation-DPb0s3hQ.js} +52 -35
- package/dist/{esm/sdk/nearEd25519YaoSigningPreparation-DX6xG-IW.js → public/sdk/nearEd25519YaoSigningPreparation-BeD-SmbK.js} +10 -8
- package/dist/public/sdk/{nonceLaneKeys-B_RcSS6M.js → nonceLaneKeys-C3c9lG6u.js} +1 -1
- package/dist/{esm/sdk/normalization-oJyXl3Vn.js → public/sdk/normalization-CBt413-z.js} +2 -2
- package/dist/public/sdk/{operationFingerprint-DEPg9A3h.js → operationFingerprint-C8Trar4R.js} +4 -4
- package/dist/public/sdk/{operationFingerprint-CsYO6b0a.js → operationFingerprint-CGZui5dR.js} +2 -1
- package/dist/{esm/sdk/passkey-custody-BaHyYMhj.js → public/sdk/passkey-custody-Bk1jAknm.js} +7 -6
- package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-DyvRysWg.js → public/sdk/pendingWalletRecoveryCodeBackup-DLzBb3WQ.js} +3 -3
- package/dist/public/sdk/{recovery-entrypoint-D39R1avB.js → recovery-entrypoint-DW2tGyMs.js} +19 -16
- package/dist/public/sdk/{registration-PIBMSsQR.js → registration-BZDzDv91.js} +2827 -3126
- package/dist/public/sdk/{registration-DtDICj-o.js → registration-BzVHODuD.js} +4 -4
- package/dist/{esm/sdk/registrationAccounts-AO3QHjas.js → public/sdk/registrationAccounts-CKku_Sgy.js} +6 -4
- package/dist/public/sdk/registrationIds-DLSdEKSv.js +310 -0
- package/dist/public/sdk/registrationIntent-D0PxwEY4.js +393 -0
- package/dist/{esm/sdk/registrationPreparationPreload-BZfAC_ba.js → public/sdk/registrationPreparationPreload-CIAuRlxI.js} +2 -2
- package/dist/public/sdk/registrationSignerPlan-CAikVZZQ.js +440 -0
- package/dist/public/sdk/{relayerHttp-LsVTZCxA.js → relayerHttp-VC8Holz1.js} +1 -1
- package/dist/{esm/sdk/routePlan-nLpPFHB-.js → public/sdk/routePlan-D59x5xzQ.js} +1 -1
- package/dist/{esm/sdk/router-CeFS9SgT.js → public/sdk/router-C5lF_J_u.js} +23 -25
- package/dist/{esm/sdk/routerAbNormalSigning-DktZKnf1.js → public/sdk/routerAbNormalSigning-fhvpDtmY.js} +63 -92
- package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/{esm/sdk/runtime-auth-D_lUQQlc.js → public/sdk/runtime-auth-DFTqwj3u.js} +35 -45
- package/dist/public/sdk/{runtime-device-link-CEph1iM0.js → runtime-device-link-C1Oub8Lw.js} +25 -22
- package/dist/{esm/sdk/runtime-ecdsa-tempo-tUWnafRo.js → public/sdk/runtime-ecdsa-tempo-rkWwolw1.js} +24 -21
- package/dist/{esm/sdk/runtime-email-otp-1wIPTDim.js → public/sdk/runtime-email-otp-vuUG5LYl.js} +23 -20
- package/dist/public/sdk/{runtime-export-Du2d4_Vu.js → runtime-export-FZWj0HxJ.js} +26 -22
- package/dist/public/sdk/{runtime-near-CGoWxu7u.js → runtime-near-B9cjurVD.js} +24 -22
- package/dist/public/sdk/{runtime-preferences-JwJK_xP3.js → runtime-preferences-Dq0bfyS5.js} +24 -21
- package/dist/{esm/sdk/runtime-recovery-BEqBdpyo.js → public/sdk/runtime-recovery-C-vfFKF3.js} +23 -20
- package/dist/{esm/sdk/runtime-recovery-codes-DW7bB2tO.js → public/sdk/runtime-recovery-codes-bTm3fLV4.js} +15 -19
- package/dist/public/sdk/{runtimeContext-CTt9ON27.js → runtimeContext-iLXnxVlZ.js} +615 -850
- package/dist/{esm/sdk/runtimeLoader-ZXsvx9zX.js → public/sdk/runtimeLoader-hod6T2-m.js} +12 -12
- package/dist/{esm/sdk/sdkSentEvents-5Pi-hjHB.js → public/sdk/sdkSentEvents-MqDkbQg1.js} +10 -8
- package/dist/{esm/sdk/secp256k1-CWDid9WH.js → public/sdk/secp256k1-el9aE4Sv.js} +22 -156
- package/dist/public/sdk/sessionPolicy-CHiilOAB.js +453 -0
- package/dist/{esm/sdk/signEvmFamily-pbMepepQ.js → public/sdk/signEvmFamily-e4IWWsZs.js} +108 -99
- package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-CxvfCI_o.js → signEvmFamilyWithUiConfirmForTempo-Cu9qdk8M.js} +11 -15
- package/dist/{esm/sdk/signEvmWithUiConfirm-nk-r3Rff.js → public/sdk/signEvmWithUiConfirm-C61TCBnh.js} +6 -10
- package/dist/{esm/sdk/signNear-DVD9-IO5.js → public/sdk/signNear-Bblwn2kT.js} +722 -803
- package/dist/public/sdk/{evmAdapter-C5NR5tiV.js → signatureUses-BkGyYt8F.js} +12 -3
- package/dist/{esm/sdk/signerDomain-DDLiwuYS.js → public/sdk/signerDomain-IEAVrOrc.js} +3 -18
- package/dist/{esm/sdk/signerLoader-D_w-SfR9.js → public/sdk/signerLoader-D7Aey0FD.js} +4 -4
- package/dist/public/sdk/{signatureUses-BY1IY7uz.js → signingFlow-rZfPegH9.js} +16 -29
- package/dist/public/sdk/{trace-08ayoiNp.js → trace-rHe0wz7q.js} +1 -1
- package/dist/{esm/sdk/transaction-activity-DKgIGpKG.js → public/sdk/transaction-activity-CSMCveBn.js} +1 -1
- package/dist/public/sdk/{transactionReview-UoZQ2opj.js → transactionReview-DpHLTznU.js} +4 -6
- package/dist/{esm/sdk/transactionReviewAdmission-Cv9kTr4c.js → public/sdk/transactionReviewAdmission-BCPvl8OZ.js} +2 -2
- package/dist/public/sdk/{transactionState-Bpm4GamO.js → transactionState-DP9O8F6f.js} +12 -10
- package/dist/public/sdk/tx-confirm-ui.js +182 -154
- package/dist/public/sdk/types-Dx9fczU7.js +111 -0
- package/dist/{esm/sdk/validation-BphUDXs7.js → public/sdk/validation-gat4LEKm.js} +36 -2
- package/dist/public/sdk/wallet-iframe-host-ecdsa.js +2 -2
- package/dist/public/sdk/wallet-iframe-host-full.js +2 -2
- package/dist/public/sdk/wallet-iframe-host-near.js +2 -2
- package/dist/public/sdk/wallet-iframe-host-runtime.js +2 -2
- package/dist/public/sdk/{wallet-recovery-CKqoHbxT.js → wallet-recovery-Bz9qKgaL.js} +19 -25
- package/dist/public/sdk/wallet-service.css +21 -0
- package/dist/public/sdk/wallet-ui.css +88 -44
- package/dist/{esm/sdk/sessionPolicy-B4FsPuk2.js → public/sdk/walletAuthority-BQBxgUBn.js} +506 -445
- package/dist/{esm/sdk/ed25519SeedMaterial-Cghz8-XB.js → public/sdk/walletCustodyEcdsaContinuity-Hn4ORIbf.js} +1898 -2033
- package/dist/{esm/sdk/walletRecoveryCommit-G6w6N5RV.js → public/sdk/walletRecoveryCommit-sjGNTHUj.js} +17 -22
- package/dist/public/sdk/{walletRecoveryRotate-BYOYJAyb.js → walletRecoveryRotate-BgLlW5ih.js} +1 -1
- package/dist/public/sdk/{warmSessionHydration-DDNYdTCz.js → warmSessionHydration-Os8niEm7.js} +1 -1
- package/dist/public/sdk/{webauthnP256-CHqprSh1.js → webauthnP256-DC5EIbKN.js} +1 -1
- package/dist/public/sdk/workers/device-linking-key.worker.js +2954 -3134
- package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +1688 -2144
- package/dist/public/sdk/workers/ecdsa-online-client.worker.js +9 -117
- package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +44 -147
- package/dist/public/sdk/workers/email-otp.worker.js +9265 -9596
- package/dist/public/sdk/workers/evm-crypto.worker.js +8 -6
- package/dist/public/sdk/workers/near-signer.worker.js +4 -4
- package/dist/public/sdk/workers/near_signer.wasm +0 -0
- package/dist/public/sdk/workers/passkey-confirm.worker.js +6 -3
- package/dist/public/sdk/workers/passkey-mpc-export.worker.js +95 -101
- package/dist/public/sdk/workers/passkey-mpc-session.worker.js +205 -202
- package/dist/public/sdk/workers/router_ab_ecdsa_client_bg.wasm +0 -0
- package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/sdk/workers/tempo-signer.worker.js +8 -6
- package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +223 -215
- 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 +334 -214
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +8 -26
- package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +0 -8
- package/dist/types/shared-ts/src/authorization/operationFingerprint.d.ts +1 -3
- package/dist/types/shared-ts/src/authorization/walletAuthority.d.ts +25 -12
- package/dist/types/shared-ts/src/authorization/walletSessionIssuance.d.ts +2 -1
- package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +3 -2
- package/dist/types/shared-ts/src/device-linking/authorityActivation.d.ts +5 -0
- package/dist/types/shared-ts/src/device-linking/committedSignerPackages.d.ts +2 -5
- package/dist/types/shared-ts/src/device-linking/contracts.d.ts +8 -11
- package/dist/types/shared-ts/src/device-linking/contracts.typecheck.d.ts +2 -1
- package/dist/types/shared-ts/src/device-linking/deviceManagement.d.ts +7 -0
- package/dist/types/shared-ts/src/device-linking/digests.d.ts +0 -5
- package/dist/types/shared-ts/src/device-linking/ed25519ExportRoot.d.ts +3 -2
- package/dist/types/shared-ts/src/device-linking/index.d.ts +2 -0
- package/dist/types/shared-ts/src/device-linking/parsers.d.ts +4 -41
- package/dist/types/shared-ts/src/device-linking/requestProof.d.ts +0 -1
- package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +3 -2
- package/dist/types/shared-ts/src/device-linking/walletSessionCredentialDelivery.d.ts +2 -1
- package/dist/types/shared-ts/src/device-linking/wireFields.d.ts +26 -0
- package/dist/types/shared-ts/src/near/actions.d.ts +4 -4
- package/dist/types/shared-ts/src/near/delegate.d.ts +3 -2
- package/dist/types/shared-ts/src/near/nearClient.d.ts +145 -0
- package/dist/types/shared-ts/src/passkey-custody/ceremonyCommitPayload.d.ts +0 -22
- package/dist/types/shared-ts/src/passkey-custody/credentialActivity.d.ts +2 -4
- package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +9 -18
- package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +8 -24
- package/dist/types/shared-ts/src/passkey-custody/index.d.ts +0 -2
- package/dist/types/shared-ts/src/passkey-custody/primitives.d.ts +0 -14
- package/dist/types/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.d.ts +0 -15
- package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +2 -51
- package/dist/types/shared-ts/src/signing-lanes/index.d.ts +1 -2
- package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.d.ts +1 -2
- package/dist/types/shared-ts/src/signing-lanes/participantDigest.d.ts +5 -27
- package/dist/types/shared-ts/src/signing-lanes/participants.d.ts +0 -11
- package/dist/types/shared-ts/src/signing-lanes/recordParsers.d.ts +6 -53
- package/dist/types/shared-ts/src/signing-lanes/records.d.ts +1 -2
- package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +15 -37
- package/dist/types/shared-ts/src/signing-lanes/rotationDigests.d.ts +1 -20
- package/dist/types/shared-ts/src/signing-lanes/rotationLifecycle.d.ts +4 -25
- package/dist/types/shared-ts/src/signing-lanes/rotationParsers.d.ts +1 -41
- package/dist/types/shared-ts/src/signing-lanes/rotationProtocolParsers.d.ts +6 -0
- package/dist/types/shared-ts/src/signing-lanes/rotationWireFields.d.ts +20 -0
- package/dist/types/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.d.ts +2 -35
- package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +8 -35
- package/dist/types/shared-ts/src/threshold/keyMaterialBrands.d.ts +25 -0
- package/dist/types/shared-ts/src/threshold/participants.d.ts +3 -9
- package/dist/types/shared-ts/src/threshold/secp256k1.d.ts +0 -37
- package/dist/types/shared-ts/src/threshold/sessionPolicy.d.ts +24 -0
- package/dist/types/shared-ts/src/threshold/signingRootScope.d.ts +2 -5
- package/dist/types/shared-ts/src/utils/addAuthMethodRegistration.d.ts +3 -4
- package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +7 -108
- package/dist/types/shared-ts/src/utils/addWalletAuthMethod.typecheck.d.ts +16 -3
- package/dist/types/shared-ts/src/utils/canonicalPrimitives.d.ts +2 -0
- package/dist/types/shared-ts/src/utils/digestEncoding.d.ts +9 -0
- package/dist/types/shared-ts/src/utils/domainIds.d.ts +1 -2
- package/dist/types/shared-ts/src/utils/ecdsaKeyFactsInventory.d.ts +1 -2
- package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +5 -5
- package/dist/types/shared-ts/src/utils/emailOtpRecoveryKey.d.ts +0 -2
- package/dist/types/shared-ts/src/utils/errors.d.ts +0 -7
- package/dist/types/shared-ts/src/utils/exactRecord.d.ts +12 -0
- package/dist/types/shared-ts/src/utils/index.d.ts +5 -2
- package/dist/types/shared-ts/src/utils/jsonRpc.d.ts +3 -2
- package/dist/types/shared-ts/src/utils/near.d.ts +2 -1
- package/dist/types/shared-ts/src/utils/nearRpcResults.d.ts +7 -7
- package/dist/types/shared-ts/src/utils/normalize.d.ts +0 -4
- package/dist/types/shared-ts/src/utils/registrationAuthMethodInput.d.ts +184 -0
- package/dist/types/shared-ts/src/utils/registrationContracts.d.ts +76 -0
- package/dist/types/shared-ts/src/utils/registrationEstablishedSession.d.ts +1 -2
- package/dist/types/shared-ts/src/utils/registrationIds.d.ts +56 -0
- package/dist/types/shared-ts/src/utils/registrationIntent.d.ts +9 -514
- package/dist/types/shared-ts/src/utils/registrationSignerPlan.d.ts +142 -0
- package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +21 -92
- package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +14 -99
- package/dist/types/shared-ts/src/utils/routerAbEd25519YaoDigests.d.ts +39 -0
- package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +10 -15
- package/dist/types/shared-ts/src/utils/routerAbTraceContext.d.ts +2 -1
- package/dist/types/shared-ts/src/utils/secureRandomId.d.ts +0 -2
- package/dist/types/shared-ts/src/utils/signerDomain.d.ts +3 -35
- package/dist/types/shared-ts/src/utils/signerSlot.d.ts +0 -4
- package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +1 -7
- package/dist/types/shared-ts/src/utils/validation.d.ts +10 -10
- package/dist/types/shared-ts/src/utils/variant.d.ts +11 -0
- package/dist/types/shared-ts/src/utils/variant.typecheck.d.ts +22 -0
- package/dist/types/shared-ts/src/utils/walletAddSignerActivation.d.ts +2 -2
- package/dist/types/shared-ts/src/utils/walletAuthAuthority.d.ts +1 -58
- package/dist/types/shared-ts/src/utils/walletAuthMethodRecord.d.ts +104 -0
- package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +3 -7
- package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +3 -4
- package/dist/types/shared-ts/src/utils/wireSchema.d.ts +60 -0
- package/dist/types/shared-ts/src/wallet-recovery/backupAcknowledgement.d.ts +2 -1
- package/dist/types/shared-ts/src/wallet-recovery/index.d.ts +0 -1
- package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeLocator.d.ts +0 -16
- package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeReservation.d.ts +2 -11
- package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.d.ts +6 -18
- package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.d.ts +0 -2
- package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.d.ts +1 -3
- package/dist/types/wallet/src/SeamsWeb/SeamsWeb.d.ts +0 -12
- package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfaceAssembly.d.ts +3 -13
- package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfacePorts.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/assembly/browserWorkerWarmupPolicy.d.ts +1 -3
- package/dist/types/wallet/src/SeamsWeb/assembly/createBrowserSigningStores.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/assembly/initializeBrowserSigningRuntime.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/assembly/preconnectWalletAssets.d.ts +2 -3
- package/dist/types/wallet/src/SeamsWeb/operations/auth/login.d.ts +13 -88
- package/dist/types/wallet/src/SeamsWeb/operations/auth/walletAuth.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.d.ts +2 -18
- package/dist/types/wallet/src/SeamsWeb/operations/auth/walletUnlockSubject.d.ts +4 -7
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.d.ts +5 -6
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/challenge.d.ts +0 -13
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.d.ts +0 -1
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/registrationAuthority.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.d.ts +1 -2
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.d.ts +20 -0
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/localPasskeyProjection.d.ts +4 -42
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/registrationAuthority.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/revokeAuthMethod.d.ts +1 -9
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/sourcePasskeyProof.d.ts +2 -7
- package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.d.ts +0 -13
- package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingComposition.d.ts +2 -21
- package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingHttpTransport.d.ts +4 -17
- package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingPorts.d.ts +10 -16
- package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingResume.d.ts +4 -3
- package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.d.ts +2 -14
- package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDevice.d.ts +3 -91
- package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceFlow.d.ts +88 -0
- package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceFlowSupport.d.ts +53 -0
- package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceTargetActivation.d.ts +149 -0
- package/dist/types/wallet/src/SeamsWeb/operations/devices/scanDevice.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostComposition.d.ts +4 -9
- package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostOwnerAuthority.d.ts +9 -5
- package/dist/types/wallet/src/SeamsWeb/operations/near/actions.d.ts +0 -46
- package/dist/types/wallet/src/SeamsWeb/operations/near/delegateAction.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/operations/near/signingEventHelpers.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/operations/recovery/accountSync.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/operations/recovery/recoveryWalletBinding.d.ts +1 -2
- package/dist/types/wallet/src/SeamsWeb/operations/recovery/syncAccount.d.ts +1 -77
- package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecovery.d.ts +8 -7
- package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecoveryCodeBackup.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecoveryCommit.d.ts +0 -2
- package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecoveryRotation.d.ts +0 -8
- package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +8 -10
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registration.d.ts +10 -233
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationEd25519Yao.d.ts +18 -5
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationSignerSet.d.ts +2 -6
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationStrictEcdsa.d.ts +1 -7
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTerminalCommit.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTiming.d.ts +49 -275
- package/dist/types/wallet/src/SeamsWeb/operations/session/thresholdEcdsaProvisioning.d.ts +3 -2
- package/dist/types/wallet/src/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/publicApi/awaitNearReady.d.ts +0 -1
- package/dist/types/wallet/src/SeamsWeb/publicApi/capabilitySelection.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/publicApi/currentWallet.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/publicApi/devices.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/publicApi/keyExport.d.ts +1 -4
- package/dist/types/wallet/src/SeamsWeb/publicApi/near.d.ts +0 -8
- package/dist/types/wallet/src/SeamsWeb/publicApi/transactionReview.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +22 -20
- package/dist/types/wallet/src/SeamsWeb/registrationIntent.typecheck.d.ts +8 -0
- package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +14 -61
- package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +2 -4
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/overlay/overlay-controller.d.ts +3 -3
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/overlay/overlay-styles.d.ts +3 -3
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.d.ts +0 -13
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +3 -4
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/surface/domain.d.ts +8 -39
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/surface/geometry.d.ts +3 -7
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/surface/renderer.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/IframeTransport.d.ts +3 -7
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/iframe-transport-dom.d.ts +2 -3
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/iframe-transport-handshake.d.ts +1 -11
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/webauthn-bridge.d.ts +0 -6
- package/dist/types/wallet/src/SeamsWeb/walletIframe/coordinator.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/controller.d.ts +2 -3
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +2 -8
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/passkey.d.ts +3 -3
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/session.d.ts +2 -4
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/bootstrap.d.ts +0 -4
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/canonicalSignerErrorCode.d.ts +2 -7
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/context.d.ts +0 -5
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/authMenu.d.ts +0 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/walletIframeHandler.types.d.ts +0 -13
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/hostedWalletSeamsSession.d.ts +1 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +10 -10
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeLoader.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/sanitization.d.ts +0 -7
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionReconciliation.d.ts +3 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionState.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +53 -58
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/transactionReview.d.ts +3 -2
- package/dist/types/wallet/src/core/accountData/near/accountProjection.d.ts +4 -49
- package/dist/types/wallet/src/core/accountData/near/keyMaterial.d.ts +1 -16
- package/dist/types/wallet/src/core/accountData/near/profileId.d.ts +2 -2
- package/dist/types/wallet/src/core/browser/walletIframe/events.d.ts +0 -1
- package/dist/types/wallet/src/core/config/chains.d.ts +0 -2
- package/dist/types/wallet/src/core/config/configBuilder.d.ts +0 -4
- package/dist/types/wallet/src/core/config/configHelpers.d.ts +1 -21
- package/dist/types/wallet/src/core/config/defaultConfigs.d.ts +1 -4
- package/dist/types/wallet/src/core/config/registrationConfig.typecheck.d.ts +1 -2
- package/dist/types/wallet/src/core/indexedDB/accountKeyMaterial.d.ts +5 -4
- package/dist/types/wallet/src/core/indexedDB/accountSignerLifecycle.d.ts +1 -1
- package/dist/types/wallet/src/core/indexedDB/index.d.ts +1 -5
- package/dist/types/wallet/src/core/indexedDB/keyMaterialEnvelope.d.ts +1 -2
- package/dist/types/wallet/src/core/indexedDB/linkedAuthoritySignerMaterial.d.ts +3 -3
- package/dist/types/wallet/src/core/indexedDB/normalization.d.ts +0 -3
- package/dist/types/wallet/src/core/indexedDB/passkeyClientDB.types.d.ts +5 -18
- package/dist/types/wallet/src/core/indexedDB/pendingWalletRegistrationCommit.d.ts +2 -4
- package/dist/types/wallet/src/core/indexedDB/profileAccountProjection.d.ts +3 -14
- package/dist/types/wallet/src/core/indexedDB/schemaNames.d.ts +2 -1
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.d.ts +177 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.d.ts +155 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.d.ts +15 -256
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.d.ts +101 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/laneHolderMaterialStore.d.ts +0 -1
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/manager.d.ts +2 -1
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.d.ts +3 -2
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +49 -44
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/signingSessionSeals.d.ts +2 -1
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.d.ts +47 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.d.ts +2 -2
- package/dist/types/wallet/src/core/indexedDB/unifiedIndexedDBManager.d.ts +7 -4
- package/dist/types/wallet/src/core/platform/ecdsaRoleLocalRecords.d.ts +1 -40
- package/dist/types/wallet/src/core/platform/secretSources.d.ts +1 -1
- package/dist/types/wallet/src/core/platform/signerCoreCommandAdapters.typecheck.d.ts +25 -0
- package/dist/types/wallet/src/core/rpcClients/evm/EvmClient.d.ts +1 -2
- package/dist/types/wallet/src/core/rpcClients/evm/nonceBackend.d.ts +6 -22
- package/dist/types/wallet/src/core/rpcClients/near/NearClient.d.ts +13 -133
- package/dist/types/wallet/src/core/rpcClients/near/rpcCalls.d.ts +5 -31
- package/dist/types/wallet/src/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.d.ts +0 -1
- package/dist/types/wallet/src/core/rpcClients/relayer/passkeyCustodyEnvelope.d.ts +4 -3
- package/dist/types/wallet/src/core/rpcClients/relayer/registrationSignerSetRequest.d.ts +3 -2
- package/dist/types/wallet/src/core/rpcClients/relayer/relayerHttp.d.ts +2 -2
- package/dist/types/wallet/src/core/rpcClients/relayer/routerAbNormalSigning.d.ts +10 -39
- package/dist/types/wallet/src/core/rpcClients/relayer/sealedRefreshCapabilities.d.ts +0 -14
- package/dist/types/wallet/src/core/rpcClients/relayer/thresholdEcdsa.d.ts +4 -66
- package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryFinalize.d.ts +2 -5
- package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryGoogleEmailOtp.d.ts +4 -7
- package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryPrepare.d.ts +4 -4
- package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryRotate.d.ts +3 -19
- package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +32 -106
- package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistrationTerminalResponse.d.ts +2 -2
- package/dist/types/wallet/src/core/rpcClients/relayer/walletSessionAuthorizationStatus.d.ts +2 -10
- package/dist/types/wallet/src/core/runtime/runtime.types.d.ts +7 -6
- package/dist/types/wallet/src/core/signingEngine/assembly/createManagers.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/assembly/ports/warmSigning.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/assembly/warmup.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/chains/evm/bytes.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/chains/evm/display/evmTx.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/chains/evm/display/functionSelectors.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/chains/evm/evmAdapter.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/chains/evm/evmCryptoWasm.d.ts +0 -9
- package/dist/types/wallet/src/core/signingEngine/chains/evm/evmSigning.types.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/chains/near/display.d.ts +4 -2
- package/dist/types/wallet/src/core/signingEngine/chains/near/payloads.d.ts +4 -3
- package/dist/types/wallet/src/core/signingEngine/chains/tempo/display.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/chains/tempo/tempoAdapter.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/chains/tempo/tempoSigning.types.d.ts +4 -7
- package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaDerivationExport.d.ts +4 -101
- package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaExportMaterial.d.ts +1 -17
- package/dist/types/wallet/src/core/signingEngine/flows/recovery/ed25519YaoExportFlow.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/recovery/exportKeypairOperation.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/recovery/keyExportConfirmation.d.ts +2 -5
- package/dist/types/wallet/src/core/signingEngine/flows/recovery/keyExportFlow.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.d.ts +3 -6
- package/dist/types/wallet/src/core/signingEngine/flows/recovery/stepUpAuthorization.d.ts +3 -3
- package/dist/types/wallet/src/core/signingEngine/flows/registration/accountLifecycle.d.ts +9 -20
- package/dist/types/wallet/src/core/signingEngine/flows/registration/nearProvisioningRegistry.d.ts +2 -20
- package/dist/types/wallet/src/core/signingEngine/flows/registration/services/ecdsaRegistrationSessions.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.d.ts +5 -10
- package/dist/types/wallet/src/core/signingEngine/flows/shared/signingConfirmation.d.ts +0 -15
- package/dist/types/wallet/src/core/signingEngine/flows/shared/signingStateMachine.d.ts +7 -50
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/authPlanning.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/ecdsaSelection.d.ts +2 -6
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/errors.d.ts +3 -15
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/executorThresholdState.d.ts +0 -4
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/freshAuthRetryPolicy.d.ts +3 -3
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/freshWalletSessionRetry.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/nonceResolution.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/preparedSigning.d.ts +5 -14
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.d.ts +0 -5
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/requireEvmFamilyStepUpAuth.d.ts +7 -7
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signatureUses.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signerLoader.d.ts +5 -4
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/secp256k1.d.ts +2 -3
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlow.d.ts +12 -12
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.d.ts +1 -41
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/stepUpAuthorization.d.ts +4 -22
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/thresholdAdmission.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/types.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/implicitAccountFunding.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/requireNearStepUpAuth.d.ts +3 -3
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoCapabilityResolution.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/operationStepUpPreparation.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signatureOnlySigning.d.ts +126 -0
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signingMaterials.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signingSessionAuthMode.d.ts +3 -3
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNear.d.ts +6 -5
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/stepUpAuthorization.d.ts +1 -6
- package/dist/types/wallet/src/core/signingEngine/interfaces/accountAuthMetadata.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/interfaces/display.d.ts +7 -6
- package/dist/types/wallet/src/core/signingEngine/interfaces/ecdsaChainTarget.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/interfaces/near.d.ts +5 -44
- package/dist/types/wallet/src/core/signingEngine/interfaces/operationDeps.d.ts +2 -14
- package/dist/types/wallet/src/core/signingEngine/interfaces/operationStepUpPreparation.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/interfaces/signing.d.ts +8 -17
- package/dist/types/wallet/src/core/signingEngine/nonce/evmNonceLane.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/nonce/nearNonceLane.d.ts +3 -28
- package/dist/types/wallet/src/core/signingEngine/nonce/nearNonceLaneIdentity.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/nonce/nearTransactionReadiness.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/nonce/nonceCoordinationRecordBoundary.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/nonce/nonceDiagnostics.d.ts +3 -4
- package/dist/types/wallet/src/core/signingEngine/nonce/nonceLaneKeys.d.ts +1 -3
- package/dist/types/wallet/src/core/signingEngine/nonce/nonceLeaseState.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/nonce/nonceTypes.d.ts +13 -13
- package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/clientCeremony.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/httpRequest.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.d.ts +5 -4
- package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.d.ts +1 -7
- package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignatureRefillProgress.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/registrationPendingFinalization.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/SigningSessionCoordinator.d.ts +5 -8
- package/dist/types/wallet/src/core/signingEngine/session/authority/authorityOperationResolver.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/availability/availableSigningLanes.d.ts +14 -37
- package/dist/types/wallet/src/core/signingEngine/session/availability/clientSessionExpiryInvalidator.d.ts +3 -2
- package/dist/types/wallet/src/core/signingEngine/session/availability/persistedAvailableSigningLanes.d.ts +3 -2
- package/dist/types/wallet/src/core/signingEngine/session/availability/readiness.d.ts +6 -31
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/challengeDelivery.d.ts +0 -5
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/coordinatorRuntime.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaBootstrapCommit.d.ts +1 -21
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaLogin.d.ts +6 -61
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaPublication.d.ts +4 -21
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaRecovery.d.ts +3 -19
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.d.ts +3 -2
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ed25519ExportContext.d.ts +4 -6
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/exportRecoveryRuntime.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ports.d.ts +2 -3
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/publicTypes.d.ts +4 -6
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/routePlan.d.ts +4 -15
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/runtimeConfig.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/sealedRefreshPolicy.d.ts +4 -17
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/sealedRestoreOrchestrator.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/sealedSessionRegistry.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/secretEscrow.d.ts +4 -11
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/walletUnlock.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/warmSessionRuntime.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/workerRequests.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/holderShares/holderShareHandle.d.ts +0 -13
- package/dist/types/wallet/src/core/signingEngine/session/identity/clientSessionPersistenceState.d.ts +6 -7
- package/dist/types/wallet/src/core/signingEngine/session/identity/emailOtpEcdsaDerivationIdentity.d.ts +0 -3
- package/dist/types/wallet/src/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.d.ts +17 -31
- package/dist/types/wallet/src/core/signingEngine/session/identity/exactSigningLaneIdentity.d.ts +10 -27
- package/dist/types/wallet/src/core/signingEngine/session/identity/exactWalletSessionCredential.d.ts +9 -8
- package/dist/types/wallet/src/core/signingEngine/session/identity/laneIdentity.d.ts +8 -12
- package/dist/types/wallet/src/core/signingEngine/session/identity/ownerLaneScope.d.ts +9 -17
- package/dist/types/wallet/src/core/signingEngine/session/identity/selectLane.d.ts +12 -28
- package/dist/types/wallet/src/core/signingEngine/session/identity/signingLaneAuthBinding.d.ts +4 -3
- package/dist/types/wallet/src/core/signingEngine/session/identity/walletUnlockSubject.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/keyMaterialBrands.d.ts +3 -27
- package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/activationCoordinator.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/laneMaterialInvalidation.d.ts +2 -37
- package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/recipientPreparation.d.ts +4 -16
- package/dist/types/wallet/src/core/signingEngine/session/lanes/walletExecutionLaneHydration.d.ts +5 -42
- package/dist/types/wallet/src/core/signingEngine/session/lifecycle/canonicalWalletSessionStatus.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/session/lifecycle/walletSessionStatus.d.ts +2 -6
- package/dist/types/wallet/src/core/signingEngine/session/material/activeEcdsaCapabilityRuntime.d.ts +4 -3
- package/dist/types/wallet/src/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.d.ts +5 -5
- package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaCapabilityHydration.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaCapabilityManifest.d.ts +5 -5
- package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaRoleLocalMaterialResolver.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSealedRuntime.d.ts +3 -31
- package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSigningCapability.d.ts +5 -9
- package/dist/types/wallet/src/core/signingEngine/session/material/mpcCapabilityHydration.d.ts +4 -5
- package/dist/types/wallet/src/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.d.ts +5 -4
- package/dist/types/wallet/src/core/signingEngine/session/material/walletSigningStateFailure.d.ts +9 -8
- package/dist/types/wallet/src/core/signingEngine/session/operationState/authorizationAdmission.d.ts +5 -9
- package/dist/types/wallet/src/core/signingEngine/session/operationState/lanes.d.ts +13 -16
- package/dist/types/wallet/src/core/signingEngine/session/operationState/preparedOperation.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/session/operationState/trace.d.ts +5 -10
- package/dist/types/wallet/src/core/signingEngine/session/operationState/transactionState.d.ts +5 -26
- package/dist/types/wallet/src/core/signingEngine/session/operationState/types.d.ts +16 -32
- package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaBootstrap.d.ts +4 -4
- package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaSessionProvision.d.ts +3 -19
- package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaWarmCapabilityBootstrap.d.ts +4 -15
- package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519Provisioner.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519SessionProvision.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519SessionProvision.typecheck.d.ts +7 -1
- package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.d.ts +10 -94
- package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoSealedSession.d.ts +3 -2
- package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.d.ts +3 -13
- package/dist/types/wallet/src/core/signingEngine/session/passkey/passkeyCustodySessionCache.d.ts +0 -40
- package/dist/types/wallet/src/core/signingEngine/session/passkey/prfCache.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.d.ts +5 -5
- package/dist/types/wallet/src/core/signingEngine/session/passkey/warmSessionMaterialWriter.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/persistence/durableSealedSessionCommands.d.ts +5 -7
- package/dist/types/wallet/src/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/session/persistence/ecdsaSealedRecordKey.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionRecords.d.ts +212 -0
- package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionStore.d.ts +4 -199
- package/dist/types/wallet/src/core/signingEngine/session/postconditions/runtimePostconditions.d.ts +6 -35
- package/dist/types/wallet/src/core/signingEngine/session/public.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/routerAbSigningWalletSession.d.ts +4 -3
- package/dist/types/wallet/src/core/signingEngine/session/sealedRecovery/recoveryRecord.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/session/userPreferences.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReader.d.ts +3 -6
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReaderCore.d.ts +5 -4
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/clearVolatileWarmSigningMaterial.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.d.ts +6 -40
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.typecheck.d.ts +4 -0
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.d.ts +3 -36
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/persistencePorts.d.ts +2 -70
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/readModel.d.ts +4 -12
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.d.ts +4 -3
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/routerAbWalletSessionCredential.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/transitions.d.ts +3 -2
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/types.d.ts +5 -36
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/types.typecheck.d.ts +10 -1
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.d.ts +1 -2
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmCommon.d.ts +3 -2
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmTypes.d.ts +6 -17
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/confirmOperation.d.ts +4 -5
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/methodRunners.d.ts +4 -3
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/methodSelection.d.ts +5 -10
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/exportAuthorization.d.ts +7 -6
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/signingPrompt.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.d.ts +2 -3
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.d.ts +3 -7
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/requireStepUpAuth.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/types.d.ts +8 -8
- package/dist/types/wallet/src/core/signingEngine/threshold/commitQueueShared.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.d.ts +4 -16
- package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ecdsaLaneWasm.d.ts +0 -9
- package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.d.ts +5 -31
- package/dist/types/wallet/src/core/signingEngine/threshold/crypto/webauthn.d.ts +1 -46
- package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/activation.d.ts +2 -9
- package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/operationStepUp.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/postRegistrationSessionActivation.d.ts +5 -4
- package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/signingQueue.d.ts +3 -6
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/commitQueue.d.ts +3 -6
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/connectSession.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/walletSession.d.ts +6 -6
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoActiveClientRegistry.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +17 -49
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoPageLifecycleOwner.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.d.ts +2 -15
- package/dist/types/wallet/src/core/signingEngine/threshold/sessionPolicy.d.ts +2 -53
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/adapters/request.d.ts +1 -5
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/signing.d.ts +1 -7
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/nearFundingNotice.d.ts +2 -5
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/confirm-surface-resize.d.ts +3 -32
- 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 +3 -2
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/export-private-key-reveal.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PadlockIcon.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.d.ts +1 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.d.ts +11 -2
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReview.d.ts +4 -21
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionTree.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/email-otp-session.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/seamsWordmarkPaths.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/surface-resize-events.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/fallback.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/types.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/tree.d.ts +3 -3
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/uiConfirm.types.d.ts +9 -9
- package/dist/types/wallet/src/core/signingEngine/walletCustody/activateEd25519Capability.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.d.ts +3 -4
- package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyDriver.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyStepRunner.d.ts +4 -3
- package/dist/types/wallet/src/core/signingEngine/walletCustody/ed25519SeedMaterial.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/walletCustody/emailOtpLink.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/walletCustody/joinCustodyWire.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/walletCustody/openCustodyCache.d.ts +6 -5
- package/dist/types/wallet/src/core/signingEngine/walletCustody/passkeyLink.d.ts +1 -52
- package/dist/types/wallet/src/core/signingEngine/walletCustody/recoveryReplacementEnvelope.d.ts +0 -5
- package/dist/types/wallet/src/core/signingEngine/walletCustody/registrationCeremony.d.ts +16 -26
- package/dist/types/wallet/src/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.d.ts +22 -12
- package/dist/types/wallet/src/core/signingEngine/walletCustody/walletRecoveryEd25519.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/walletCustody/walletRecoveryRotation.d.ts +3 -2
- package/dist/types/wallet/src/core/signingEngine/webauthnAuth/credentials/collectAuthenticationCredentialForChallengeB64u.d.ts +1 -2
- package/dist/types/wallet/src/core/signingEngine/webauthnAuth/credentials/credentialExtensions.d.ts +2 -5
- package/dist/types/wallet/src/core/signingEngine/webauthnAuth/credentials/helpers.d.ts +0 -9
- package/dist/types/wallet/src/core/signingEngine/webauthnAuth/fallbacks/safari-fallbacks.d.ts +4 -9
- package/dist/types/wallet/src/core/signingEngine/workerManager/deviceLinkingPorts.d.ts +3 -12
- package/dist/types/wallet/src/core/signingEngine/workerManager/deviceLinkingSourceContribution.d.ts +17 -9
- package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaClientWorkerChannels.d.ts +7 -7
- package/dist/types/wallet/src/core/signingEngine/workerManager/workerTransport.d.ts +5 -5
- package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +75 -81
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ecdsaTargetShareHpke.d.ts +7 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ordinaryMaterialState.d.ts +50 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/requests.d.ts +89 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key.worker.d.ts +1 -10
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/ecdsaLaneHolderWorkerRuntime.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/crypto.d.ts +66 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/custodyRestore.d.ts +91 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/dispatch.d.ts +4 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/ed25519YaoExport.d.ts +45 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/enrollment.d.ts +47 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/fetch.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/materialParsing.d.ts +45 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/operationRequestParsing.d.ts +7 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/otpVerification.d.ts +53 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/passkeyCustodyLink.d.ts +18 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/payloadParsing.d.ts +48 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/recovery.d.ts +9 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/requestEnvelope.d.ts +11 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/sessionState.d.ts +74 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/unlock.d.ts +133 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/opaqueEcdsaPresignAuthority.d.ts +6 -6
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/shamir3pass/clientSealPreparation.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/shamir3pass/runtime.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/workerErrorPayload.d.ts +16 -0
- package/dist/types/wallet/src/core/types/accountIds.d.ts +2 -1
- package/dist/types/wallet/src/core/types/authenticatorOptions.d.ts +0 -2
- package/dist/types/wallet/src/core/types/confirmationConfig.d.ts +4 -4
- package/dist/types/wallet/src/core/types/ecdsaSignerProvisioningDefaults.d.ts +2 -1
- package/dist/types/wallet/src/core/types/errors.d.ts +2 -1
- package/dist/types/wallet/src/core/types/linkDevice.d.ts +2 -3
- package/dist/types/wallet/src/core/types/rpc.d.ts +0 -30
- package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +11 -11
- package/dist/types/wallet/src/core/types/seams.d.ts +35 -55
- package/dist/types/wallet/src/core/types/secure-confirm-worker.d.ts +3 -5
- package/dist/types/wallet/src/core/types/signer-worker.d.ts +13 -70
- package/dist/types/wallet/src/core/types/webauthn.d.ts +3 -12
- package/dist/types/wallet/src/core/walletRuntimePaths/base.d.ts +0 -28
- package/dist/types/wallet/src/core/walletRuntimePaths/wasm-loader.d.ts +2 -1
- package/dist/types/wallet/src/core/walletRuntimePaths/workers.d.ts +0 -11
- package/dist/types/wallet/src/externalEvm/boundary.d.ts +2 -2
- package/dist/types/wallet/src/index.d.ts +3 -1
- package/dist/types/wallet/src/plugins/plugin-utils.d.ts +1 -3
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuDialog.d.ts +21 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountsSection.d.ts +2 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodsModal.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/ExportKeysSection.d.ts +2 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/LinkedDevicesModal.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/SegmentedControl.d.ts +2 -2
- package/dist/types/wallet/src/react/components/AccountMenuButton/UserAccountButton.d.ts +0 -7
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/GlobeIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/KeyIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LaptopIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LinkIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MailIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MoonIcon.d.ts +1 -5
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/RecoveryCodesIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/ScanIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SlidersIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SmartphoneIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SunIcon.d.ts +1 -5
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/strokeIcon.d.ts +10 -0
- package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +1 -1
- package/dist/types/wallet/src/react/components/QRCodeIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/theme/ThemeProvider.d.ts +0 -9
- package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +2 -205
- package/dist/types/wallet/src/react/context/reactLoginStateBuilders.d.ts +2 -9
- package/dist/types/wallet/src/react/hooks/useAccountInput.d.ts +2 -2
- package/dist/types/wallet/src/react/index.d.ts +3 -1
- package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +108 -8
- package/dist/types/wallet/src/react/transactionReview/controller.d.ts +0 -37
- package/dist/types/wallet/src/react/types.d.ts +2 -2
- package/dist/types/wallet/src/utils/deviceDetection.d.ts +2 -58
- package/dist/types/wallet/src/utils/intentDigest.d.ts +1 -6
- package/dist/types/wallet/src/utils/qrScanner.d.ts +4 -38
- package/dist/workers/device-linking-key.worker.js +2954 -3134
- package/dist/workers/ecdsa-derivation-client.worker.js +1688 -2144
- package/dist/workers/ecdsa-online-client.worker.js +9 -117
- package/dist/workers/ecdsa-presign-client.worker.js +44 -147
- package/dist/workers/email-otp.worker.js +9265 -9596
- package/dist/workers/evm-crypto.worker.js +8 -6
- package/dist/workers/near-signer.worker.js +4 -4
- package/dist/workers/near_signer.wasm +0 -0
- package/dist/workers/passkey-confirm.worker.js +6 -3
- package/dist/workers/passkey-mpc-export.worker.js +95 -101
- package/dist/workers/passkey-mpc-session.worker.js +205 -202
- package/dist/workers/router_ab_ecdsa_client_bg.wasm +0 -0
- package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/workers/tempo-signer.worker.js +8 -6
- package/dist/workers/wallet-custody-ceremony.worker.js +223 -215
- package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
- package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
- package/package.json +1 -1
- package/dist/esm/react/core/types/rpc.js +0 -9
- package/dist/esm/react/shared-ts/src/signing-lanes/linkedEcdsaScope.js +0 -1
- package/dist/esm/react/shared-ts/src/utils/paillier.js +0 -3
- package/dist/esm/sdk/device-linking-DpVGjSeq.js +0 -221
- package/dist/esm/sdk/ecdsaPresignLifecycle-CnSnzoRJ.js +0 -5511
- package/dist/esm/sdk/evmFamilyEcdsaIdentity-_kuKSW35.js +0 -1385
- package/dist/esm/sdk/participants-Bcnsa_ip.js +0 -232
- package/dist/esm/sdk/registrationIntent-DwAIMQYh.js +0 -1623
- package/dist/esm/sdk/signer-worker-DYRteieu.js +0 -48
- package/dist/esm/shared-ts/src/signing-lanes/linkedEcdsaScope.js +0 -1
- package/dist/esm/shared-ts/src/utils/paillier.js +0 -3
- package/dist/public/sdk/device-linking-DpVGjSeq.js +0 -221
- package/dist/public/sdk/ecdsaPresignLifecycle-CnSnzoRJ.js +0 -5511
- package/dist/public/sdk/evmFamilyEcdsaIdentity-_kuKSW35.js +0 -1385
- package/dist/public/sdk/participants-Bcnsa_ip.js +0 -232
- package/dist/public/sdk/registrationIntent-DwAIMQYh.js +0 -1623
- package/dist/public/sdk/signer-worker-DYRteieu.js +0 -48
- package/dist/types/shared-ts/src/passkey-custody/credentialObservations.d.ts +0 -74
- package/dist/types/shared-ts/src/passkey-custody/kekContext.d.ts +0 -34
- package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.d.ts +0 -62
- package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.typecheck.d.ts +0 -2
- package/dist/types/shared-ts/src/signing-lanes/validation.d.ts +0 -11
- package/dist/types/shared-ts/src/utils/bigint.d.ts +0 -3
- package/dist/types/shared-ts/src/utils/paillier.d.ts +0 -37
- package/dist/types/shared-ts/src/utils/recoveryDomain.d.ts +0 -12
- package/dist/types/shared-ts/src/utils/signerDomain.typecheck.d.ts +0 -2
- package/dist/types/shared-ts/src/wallet-recovery/recoveryKekContext.d.ts +0 -37
- package/dist/types/wallet/src/SeamsWeb/operations/devices/qrLinkSession.d.ts +0 -7
- package/dist/types/wallet/src/SeamsWeb/operations/session/thresholdWarmSessionDefaults.d.ts +0 -11
- package/dist/types/wallet/src/SeamsWeb/walletIframe/SeamsWebIframe.d.ts +0 -113
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/env.d.ts +0 -7
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/index.d.ts +0 -12
- package/dist/types/wallet/src/SeamsWeb/walletIframe/index.d.ts +0 -21
- package/dist/types/wallet/src/core/platform/webCryptoHkdf.d.ts +0 -7
- package/dist/types/wallet/src/core/rpcClients/relayer/routerAbPublicKeyset.d.ts +0 -5
- package/dist/types/wallet/src/core/rpcClients/relayer/thresholdEcdsa.typecheck.d.ts +0 -2
- package/dist/types/wallet/src/core/rpcClients/relayer/walletCredentialActivity.d.ts +0 -48
- package/dist/types/wallet/src/core/signingEngine/flows/recovery/recoveryStorePorts.d.ts +0 -7
- package/dist/types/wallet/src/core/signingEngine/session/holderShares/holderShareEnvelopeAad.d.ts +0 -14
- package/dist/types/wallet/src/core/signingEngine/session/identity/ecdsaDerivationSigningMaterialHandle.d.ts +0 -19
- package/dist/types/wallet/src/core/signingEngine/session/identity/ecdsaDerivationSigningMaterialHandle.typecheck.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/session/lanes/laneRecords.d.ts +0 -3
- package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/holderDeliveryCoordinator.d.ts +0 -29
- package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/ports.d.ts +0 -53
- package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/sourceLaneOperationCoordinator.d.ts +0 -24
- package/dist/types/wallet/src/core/signingEngine/session/operationState/stepUpFreshness.d.ts +0 -135
- package/dist/types/wallet/src/core/signingEngine/session/operationState/stepUpFreshness.typecheck.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/session/passkey/envelopes/index.d.ts +0 -19
- package/dist/types/wallet/src/core/signingEngine/session/passkey/runtime.d.ts +0 -23
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/walletAuthPolicyError.d.ts +0 -17
- package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ed25519WrapKeySalt.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/useCases/lifecycle.d.ts +0 -758
- package/dist/types/wallet/src/core/signingEngine/useCases/lifecycle.typecheck.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/useCases/registerWallet.d.ts +0 -71
- package/dist/types/wallet/src/core/signingEngine/useCases/restorePersistedSessions.d.ts +0 -51
- package/dist/types/wallet/src/core/signingEngine/useCases/signEvmFamily.d.ts +0 -47
- package/dist/types/wallet/src/core/signingEngine/useCases/signNear.d.ts +0 -60
- package/dist/types/wallet/src/core/signingEngine/useCases/unlockWallet.d.ts +0 -69
- package/dist/types/wallet/src/core/signingEngine/walletCustody/coldUnlock.d.ts +0 -57
- package/dist/types/wallet/src/core/signingEngine/workerManager/laneWorkerChannels.d.ts +0 -81
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/laneHolderWorkerBackend.d.ts +0 -54
- package/dist/types/wallet/src/react/components/AccountMenuButton/HaloBorder/index.d.ts +0 -33
- package/dist/types/wallet/src/react/components/AccountMenuButton/PasskeyHaloLoading.d.ts +0 -10
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/EclipseIcon.d.ts +0 -8
- package/dist/types/wallet/src/react/components/ArrowRightAnim.d.ts +0 -19
- package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/index.d.ts +0 -5
- package/dist/types/wallet/src/theme/base-styles.runtime.d.ts +0 -15
- /package/dist/esm/sdk/{base-CMsoJcVv.js → base-D1B5mGin.js} +0 -0
- /package/dist/esm/sdk/{bytes-CwytAKz8.js → bytes-qKxKn4gg.js} +0 -0
- /package/dist/esm/sdk/{csp-stylesheet-DLj_a6t_.js → csp-stylesheet-btENhsNp.js} +0 -0
- /package/dist/esm/sdk/{events-Z_Rmy0Hn.js → events-DYoBL2HO.js} +0 -0
- /package/dist/esm/sdk/{executeWorkerOperation-Bn8GEuT_.js → executeWorkerOperation-Cl9whMK7.js} +0 -0
- /package/dist/esm/sdk/{jsonRpc-MUsR5-C6.js → jsonRpc-VVkaQkFD.js} +0 -0
- /package/dist/esm/sdk/{keccak-DY5wDsym.js → keccak-DUL3d8SF.js} +0 -0
- /package/dist/esm/sdk/{nearRpcResults-DwvW43FL.js → nearRpcResults-DoUgDATm.js} +0 -0
- /package/dist/esm/sdk/{prfCache-CgAr-VEU.js → prfCache-wqQSjYLn.js} +0 -0
- /package/dist/esm/sdk/{profileAccountProjection-C9rVhbeJ.js → profileAccountProjection-uZVJuBvS.js} +0 -0
- /package/dist/esm/sdk/{promptText-BEgOkGxB.js → promptText-CuRa_ivd.js} +0 -0
- /package/dist/esm/sdk/{shared-Qy1DGMqH.js → shared-DkbeLCI3.js} +0 -0
- /package/dist/esm/sdk/{signerSlot-DbNAs-kc.js → signerSlot-_ovonwVX.js} +0 -0
- /package/dist/esm/sdk/{signingSessionSeal-CdtgXHSL.js → signingSessionSeal-Cu-GHm6y.js} +0 -0
- /package/dist/esm/sdk/{surface-measurement-reporter-D7BNehf4.js → surface-measurement-reporter-CSTyRsMa.js} +0 -0
- /package/dist/esm/sdk/{walletIframeIdentity-UmQTJsHc.js → walletIframeIdentity-DB6Z2EC9.js} +0 -0
- /package/dist/esm/sdk/{webauthnPromptCoordinator-CLeba8ru.js → webauthnPromptCoordinator-L96oVvLz.js} +0 -0
- /package/dist/public/sdk/{base-CMsoJcVv.js → base-D1B5mGin.js} +0 -0
- /package/dist/public/sdk/{bytes-CwytAKz8.js → bytes-qKxKn4gg.js} +0 -0
- /package/dist/public/sdk/{csp-stylesheet-DLj_a6t_.js → csp-stylesheet-btENhsNp.js} +0 -0
- /package/dist/public/sdk/{events-Z_Rmy0Hn.js → events-DYoBL2HO.js} +0 -0
- /package/dist/public/sdk/{executeWorkerOperation-Bn8GEuT_.js → executeWorkerOperation-Cl9whMK7.js} +0 -0
- /package/dist/public/sdk/{jsonRpc-MUsR5-C6.js → jsonRpc-VVkaQkFD.js} +0 -0
- /package/dist/public/sdk/{keccak-DY5wDsym.js → keccak-DUL3d8SF.js} +0 -0
- /package/dist/public/sdk/{nearRpcResults-DwvW43FL.js → nearRpcResults-DoUgDATm.js} +0 -0
- /package/dist/public/sdk/{prfCache-CgAr-VEU.js → prfCache-wqQSjYLn.js} +0 -0
- /package/dist/public/sdk/{profileAccountProjection-C9rVhbeJ.js → profileAccountProjection-uZVJuBvS.js} +0 -0
- /package/dist/public/sdk/{promptText-BEgOkGxB.js → promptText-CuRa_ivd.js} +0 -0
- /package/dist/public/sdk/{shared-Qy1DGMqH.js → shared-DkbeLCI3.js} +0 -0
- /package/dist/public/sdk/{signerSlot-DbNAs-kc.js → signerSlot-_ovonwVX.js} +0 -0
- /package/dist/public/sdk/{signingSessionSeal-CdtgXHSL.js → signingSessionSeal-Cu-GHm6y.js} +0 -0
- /package/dist/public/sdk/{surface-measurement-reporter-D7BNehf4.js → surface-measurement-reporter-CSTyRsMa.js} +0 -0
- /package/dist/public/sdk/{walletIframeIdentity-UmQTJsHc.js → walletIframeIdentity-DB6Z2EC9.js} +0 -0
- /package/dist/public/sdk/{webauthnPromptCoordinator-CLeba8ru.js → webauthnPromptCoordinator-L96oVvLz.js} +0 -0
|
@@ -1,75 +1,79 @@
|
|
|
1
1
|
import { r as __toESM } from "./chunk-BtrIJ4_z.js";
|
|
2
|
-
import { r as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { t as
|
|
6
|
-
import {
|
|
7
|
-
import { b as parsePMRedeemHostedWalletSeamsSessionPayload } from "./messages-
|
|
2
|
+
import { B as normalizeTrimmedString, C as parseThresholdSessionId, D as parseWalletAuthorityId, M as parseWebAuthnRpId, N as joinNormalizedUrl, O as parseWalletId, S as parseThresholdEd25519SessionId, T as parseWalletAuthMethodId, V as stripTrailingSlashes, b as parseSigningLaneId, c as parseLaneShareEpoch, d as parseLinkedDeviceId, h as parseMpcMaterialActivationRef, j as parseWebAuthnCredentialIdB64u, k as parseWalletKeyId, l as parseLinkDeviceSessionId, m as parseMpcMaterialActivationId, n as hasWhitespaceOrControlCharacters, p as parseMpcLifecycleBindingRef, r as mpcMaterialActivationRefsEqual, t as buildMpcMaterialActivationRef, u as parseLinkedDeviceEnrollmentId, v as parsePasskeyEnvelopeId, w as parseVerifiedEmailAddress, x as parseThresholdEcdsaSessionId } from "./domainIds-lcrFg6Sa.js";
|
|
3
|
+
import { C as deriveImplicitNearAccountIdFromEd25519PublicKey, M as base58Encode, O as parseNamedNearAccountId, T as getNearShortErrorMessage, _ as requireRecord$1, c as isBoolean, d as isPlainObject, h as requireCanonicalString, n as asRecordOrArray, p as isString, u as isObject, w as ensureEd25519Prefix, x as toOptionalTrimmedNonEmptyString, y as requireTrimmedString } from "./validation-gat4LEKm.js";
|
|
4
|
+
import { r as reviewAdmissionForBinding } from "./transactionReviewAdmission-BCPvl8OZ.js";
|
|
5
|
+
import { a as setEmbeddedBase, n as getEmbeddedBase, r as onEmbeddedBaseChange, t as getEmbeddedAssetVersion } from "./base-D1B5mGin.js";
|
|
6
|
+
import { t as walletIframeRequestIdFromBoundary } from "./walletIframeIdentity-DB6Z2EC9.js";
|
|
7
|
+
import { b as parsePMRedeemHostedWalletSeamsSessionPayload } from "./messages-C7Dbx9iN.js";
|
|
8
8
|
import { i as isUserCancellationError, n as getUserFriendlyErrorMessage, o as toError, t as errorMessage } from "./errors-93h9uAW9.js";
|
|
9
9
|
import { i as base64UrlEncode, n as base64Encode, r as base64UrlDecode } from "./base64-Clm8C-e9.js";
|
|
10
10
|
import { n as secureRandomBase64Url, r as secureRandomId, t as secureRandomBase36 } from "./secureRandomId-BORsmdS4.js";
|
|
11
|
-
import { $ as
|
|
12
|
-
import { a as
|
|
13
|
-
import {
|
|
14
|
-
import { a as
|
|
15
|
-
import {
|
|
16
|
-
import { a as
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import { t as
|
|
21
|
-
import { C as
|
|
22
|
-
import {
|
|
23
|
-
import { a as
|
|
24
|
-
import {
|
|
25
|
-
import
|
|
26
|
-
import { a as
|
|
27
|
-
import { a as
|
|
28
|
-
import {
|
|
29
|
-
import { t as
|
|
30
|
-
import "./
|
|
31
|
-
import {
|
|
32
|
-
import
|
|
33
|
-
import {
|
|
34
|
-
import { t as
|
|
35
|
-
import {
|
|
36
|
-
import { c as
|
|
37
|
-
import {
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
40
|
-
import { a as
|
|
41
|
-
import {
|
|
42
|
-
import {
|
|
43
|
-
import {
|
|
44
|
-
import {
|
|
45
|
-
import "./
|
|
46
|
-
import { n as
|
|
47
|
-
import { l as
|
|
48
|
-
import { t as
|
|
49
|
-
import { a as
|
|
50
|
-
import { t as
|
|
51
|
-
import {
|
|
52
|
-
import {
|
|
53
|
-
import {
|
|
54
|
-
import { t as
|
|
55
|
-
import { n as
|
|
56
|
-
import {
|
|
57
|
-
import {
|
|
58
|
-
import { t as
|
|
59
|
-
import {
|
|
60
|
-
import {
|
|
61
|
-
import {
|
|
62
|
-
import {
|
|
63
|
-
import {
|
|
64
|
-
import {
|
|
65
|
-
import { _ as
|
|
66
|
-
import {
|
|
67
|
-
import {
|
|
68
|
-
import {
|
|
69
|
-
import {
|
|
70
|
-
import "./
|
|
71
|
-
import { t as
|
|
72
|
-
import {
|
|
11
|
+
import { $ as unlockEmailOtpAuthorityWallet, $t as listThresholdEcdsaProvisionTargets, A as resolveGoogleEmailOtpProvider, At as readExactEd25519SealedSession, B as subscribeToNearProvisioning, Bt as resolveExactWalletSessionOperationCredential, C as persistPasskeyEd25519YaoSignerMaterialV1, Ct as resolveExactEd25519SealedSessionRuntimeForLane, D as collectEmailOtpRegistrationAuthority, Dt as deleteDurableSealedSessionRecord, E as buildRestorableMpcMaterialRefInternal, Et as acquireSigningSessionRestoreLease, F as exactPasskeyWalletAuthAuthorityRefForCredential, Ft as writeExactSealedSession, G as passkeyPrfFirstB64uFromCredential, Gt as openWalletCustodyEd25519ActiveClientV1, H as resumePendingEcdsaRegistrationFromStoredCommit, Ht as buildPasskeyEd25519RestoreMetadata, I as exactPasskeyWalletAuthMethodForCredential, It as buildCurrentSealedSessionRecord, J as verifyPasskeyWalletUnlock, Jt as ROUTER_AB_ED25519_YAO_ACTIVE_CLIENT_KIND_V1, K as requirePasskeyPrfFirstB64u, Kt as walletCustodyActivationFactsFromActiveClientMetadataV1, L as resolveManagedRuntimeScopeBootstrap, Lt as createDeleteDurableSealedSessionCommand, M as readPasskeyCustodySessionEnvelope, Mt as releaseSigningSessionRestoreLease, N as rememberPasskeyCustodySessionEnvelope, Nt as updateExactEd25519SealedSessionPolicy, O as requestEmailOtpChallenge, Ot as listEcdsaSealedSessionsForWallet, P as buildRecoveredCustodyEnvelopeRecord, Pt as updateExactSealedSessionPolicy, Q as passkeyEd25519YaoLaneReferenceFromRecovery, Qt as listConfiguredThresholdEcdsaPublicationTargets, R as awaitNearProvisioningInFlight, Rt as buildRouterAbEd25519SigningWalletSession, S as hydratePasskeyEd25519YaoLocalMaterialV1, St as parseExactEd25519SealedSessionRuntime, T as readPasskeyEd25519YaoLocalMaterialLocatorV1, Tt as resolveExactEd25519SealedSessionRuntimeForWalletSubject, U as resumePendingNearRegistrations, Ut as persistPasskeyEd25519YaoSessionForRefresh, V as scheduleEcdsaSessionPresignaturePrefill, Vt as WALLET_IFRAME_TRANSPORT_TIMING_LABEL, W as passkeyCredentialIdB64uFromAuthentication, Wt as openOrRejoinWalletCustodyEd25519V1, X as buildRecoveredWalletSessionState, Xt as RouterAbEd25519YaoHttpActivationTransportV1, Y as assertEd25519YaoWarmRecoveryDescriptorStableMaterialContinuity, Yt as RouterAbEd25519YaoClientV1, Z as parsePasskeyEd25519YaoSyncResponseV1, Zt as parseEd25519YaoRecoveryCapabilityV1, _ as setUnlockedCustodyEnvelopeUpgradeSinkV1, _t as nearEd25519YaoOperationMaterialFacts, a as registerWallet, at as joinEvmFamilyCustodyV1, b as walletCustodyCeremonyStepRunner, bt as ed25519AuthorizationIdentityMatchesRuntime, c as exactWalletSessionAuthorityIdentity, ct as recoverNearEd25519CustodyV1, d as validateExactWalletSessionAuthorization, dt as WalletSessionStatusReadScope, en as isRegistrationBenchmarkDiagnosticsEnabled, et as unlockEmailOtpEd25519YaoCapability, f as destroyUnlockedWalletEd25519ExportRootCapabilitiesV1, ft as createRelayerExactWalletSessionStatusPort, g as readUnlockedWalletEd25519ExportRootCapabilityV1, gt as buildPasskeyRouterAbEd25519WalletSessionState, h as readUnlockedEd25519ExportRootLinkingCapabilityV1, ht as buildEmailOtpRouterAbEd25519WalletSessionState, it as establishNearEd25519CustodyV1, j as configurePasskeyCustodySessionCachePersistence, jt as readExactSealedSession, k as requestEmailOtpEnrollmentChallenge, kt as listExactSealedSessionsForWallet, l as persistExactWalletSessionAuthorizationFromEcdsaBootstrap, lt as rejoinEvmFamilyCustodyV1, m as establishUnlockedWalletEd25519ExportRootCapabilityV1, mt as joinCustodyWireFromEnvelopeRecord, nt as unlockEmailOtpWalletCapabilities, ot as joinNearEd25519CustodyV1, p as dropUnlockedWalletEd25519ExportRootCapabilityReferenceV1, pt as sameRuntimePolicyScope$1, q as verifyLinkedDevicePasskeyWalletSession, qt as walletCustodyCacheEnvelopeFromRecordV1, rt as establishEvmFamilyCustodyV1, st as recoverEvmFamilyCustodyV1, t as addWalletSigner, tt as unlockEmailOtpWallet, u as validateExactWalletSessionAuthorityIdentity, ut as rejoinNearEd25519CustodyV1, v as walletCustodyCeremonyTransportFromWorkerContextV1, vt as rebindRouterAbEd25519WalletSessionStateFromExactRuntime, w as preparePasskeyEd25519YaoLocalMaterialRehydrationV1, wt as resolveExactEd25519SealedSessionRuntimeForWallet, x as ed25519YaoLocalMaterialIdentityFromWalletSession, xt as ed25519SealedRuntimeAuthorityRef, y as requestWalletCustodyCeremonyOperation, yt as resolveActiveAuthorizedRouterAbEd25519WalletSessionState, z as readNearProvisioningState, zt as requiredSigningSubjectForExactSigningLane } from "./registration-BZDzDv91.js";
|
|
12
|
+
import { C as parseEnvelopeRevision, D as buildFullOwnerDelegatedWalletAuthorityV1, E as parseUnixMs, P as rejectUnknownFields, S as parseEnvelopeNonceB64u, T as parseSecp256k1CompressedPublicKeyB64u, _ as deriveEvmFamilySigningKeySlotId, a as clampThresholdSessionPolicy, b as parseEd25519PublicKeyB64u, c as resolveWalletUnlockSessionUsesFromRequestedUses, d as normalizeThresholdEd25519ParticipantIds, f as parseThresholdEd25519ParticipantsV1, g as signingRootScopeFromRuntimePolicyScope, h as normalizeRuntimePolicyScope, i as buildEd25519SessionPolicy, k as hasDelegatedWalletPermissionV1, l as THRESHOLD_ED25519_2P_PARTICIPANT_IDS, o as normalizeThresholdRuntimePolicyScope, p as coerceThemeMode$1, r as DEFAULT_UNLOCK_REMAINING_USES, t as DEFAULT_THRESHOLD_SESSION_POLICY, u as buildThresholdEd25519Participants2pV1, v as requireEvmFamilySigningKeySlotId, w as parseKeyCreationSignerSlot, x as parseEnvelopeCiphertextB64u, y as parseDigestField } from "./sessionPolicy-CHiilOAB.js";
|
|
13
|
+
import { B as sameRouterAbEcdsaDerivationPublicIdentityV1, Ct as routerAbMpcMaterialActivationRefFromWire, Dt as activeWalletSessionV1RecordsEqual, E as parseRouterAbEcdsaRegistrationActivationReceiptV1, G as buildPasskeyWalletAuthAuthority, M as routerAbEcdsaDerivationActiveStateId, R as sameRouterAbEcdsaDerivationNormalSigningStateV1, S as parseRouterAbEcdsaOperationStepUpPreparationV1, Tt as sameRouterAbMpcMaterialActivationRef, U as sameRouterAbServerIdentityV1, V as sameRouterAbEcdsaRegistrationActivationReceiptV1, W as buildEmailOtpWalletAuthAuthority, X as isPasskeyWalletAuthAuthority, Y as isEmailOtpWalletAuthAuthority, Z as parseEmailOtpWalletAuthAuthority, _ as parseRouterAbEcdsaDerivationNormalSigningStateV1, _t as parseSdkEcdsaDerivationSigningRootId, et as parseWalletAuthAuthorityRef, ht as computeEcdsaDerivationRoleLocalRelayerKeyId, i as ROUTER_AB_ECDSA_DERIVATION_EXPORT_PATH, kt as parseWalletSessionOperationCredentialV1, nt as walletAuthAuthorityRef, p as parseRouterAbEcdsaCredentialFreeSessionActivationResponseV1, r as cloneAuthenticatorOptions, t as MAX_DURABLE_CLIENT_PRESIGNATURE_LIFETIME_MS, tt as walletAuthAuthoritiesMatch, v as parseRouterAbEcdsaDerivationPublicCapabilityV1, vt as parseSdkEcdsaDerivationSigningRootVersion, w as parseRouterAbEcdsaPostRegistrationSessionActivationRequestV1, wt as routerAbMpcMaterialActivationRefToWire, y as parseRouterAbEcdsaExplicitExportForwardedResponseV1, yt as parseSdkEcdsaDerivationThresholdKeyId, z as sameRouterAbEcdsaDerivationPublicCapabilityV1 } from "./ecdsaPresignLifecycle-BFOTNYCK.js";
|
|
14
|
+
import { a as buildNearEd25519MpcOperationRef, d as parseMpcWalletSigningQuotaId, g as parseWalletSessionMintId, h as parseWalletSessionId, i as buildEvmEcdsaMpcOperationRef, l as parseDeviceId, m as parseWalletSessionAuthorizationId, n as EVM_ECDSA_MPC_OPERATION_KINDS, o as buildVaultOperationRef, r as NEAR_ED25519_MPC_OPERATION_KINDS, t as CAPABILITY_KINDS } from "./capabilityKinds-hvYqa6S_.js";
|
|
15
|
+
import { d as resolvePrimaryNearRpcUrl, f as alphabetizeStringify, h as sha256HexUtf8, m as sha256BytesUtf8, n as cloneChainConfig, t as chainFamilyFromNetwork, u as resolvePrimaryExplorerUrl } from "./chains-BMh3btVo.js";
|
|
16
|
+
import { a as sha256DigestB64u, o as sha256Utf8DigestB64u, r as parseDigestB64u } from "./canonicalPrimitives-BTHWz80v.js";
|
|
17
|
+
import { a as thresholdEcdsaChainTargetFromRequest, c as toWalletId, i as thresholdEcdsaChainTargetFromConfig, n as nearAccountRefFromAccountId, o as thresholdEcdsaChainTargetKey, s as thresholdEcdsaChainTargetsEqual, t as configuredThresholdEcdsaChainTargets, u as walletSessionRefFromSession } from "./ecdsaChainTarget-Bl-JWyuw.js";
|
|
18
|
+
import { a as WALLET_AUTH_METHODS, d as WALLET_EMAIL_OTP_REGISTRATION_OPERATION, f as WALLET_EMAIL_OTP_TRANSACTION_SIGN_OPERATION, i as SIGNER_SOURCES, l as WALLET_EMAIL_OTP_DEVICE_LINK_OPERATION, n as SIGNER_AUTH_METHODS, p as WALLET_EMAIL_OTP_UNLOCK_OPERATION, r as SIGNER_KINDS, s as EMAIL_OTP_CHANNEL, u as WALLET_EMAIL_OTP_EXPORT_OPERATION } from "./signerDomain-IEAVrOrc.js";
|
|
19
|
+
import { a as toIndexedDbChainTargetKey, t as normalizeIndexedDbAccountAddress } from "./normalization-CBt413-z.js";
|
|
20
|
+
import { c as zeroizeIssuedWalletRecoveryCodes, d as deriveWalletRecoveryKeyLifecycleId, f as parseRecoveryCodeReservationId, i as walletRecoverySetRotationWireFromWorkerResultV1, o as deriveRecoveryCodeLocatorV1FromBytes, r as walletRecoveryEcdsaPossessionChallengeDigestB64uV1, s as issueWalletRecoveryCodes, t as parseWalletRecoveryEcdsaPossessionChallengeV1 } from "./wallet-recovery-Bz9qKgaL.js";
|
|
21
|
+
import { A as storeWalletMixedRegistrationData$1, C as storeWalletEcdsaSignerRecords$1, D as storeWalletEmailOtpEcdsaSignerRecords$1, E as storeWalletEmailOtpEcdsaRegistrationData$1, F as getLastSelectedNearAccount, I as getNearAccountProjection, M as WALLET_CUSTODY_ED25519_MATERIAL_KEY_KIND, O as storeWalletEmailOtpEd25519RegistrationData$1, S as storeWalletEcdsaRecoverySignerRecords$1, T as storeWalletEd25519RegistrationData$1, _ as rollbackWalletEd25519SignerRegistration$1, a as getLastUser$1, b as storeAuthenticator$1, c as hasPasskeyCredential$1, g as rollbackUserRegistration$1, i as getAllUsers$1, k as storeWalletEmailOtpMixedRegistrationData$1, l as nearAuthenticatorsByAccount$1, n as finalizeWalletEcdsaRegistration$1, o as getUserBySignerSlot$1, r as finalizeWalletEd25519SignerRegistration$1, s as getWalletNearProvisioningState$1, t as activateAuthenticatedWalletState$1, v as setLastUser$1, w as storeWalletEd25519RecoveryRegistrationData$1, x as storeUserData$1, y as setWalletNearProvisioningState$1 } from "./accountLifecycle-BAGG_rbk.js";
|
|
22
|
+
import { t as toAccountId } from "./accountIds-DhIPGOSN.js";
|
|
23
|
+
import { $ as parseLinkedDeviceListRequestV1, $t as parseRouterAbEd25519YaoRecoveryActivationAdmissionReceiptV1, At as serializeQrLinkedDeviceSessionPayloadV5, Bt as ROUTER_AB_ED25519_YAO_RECOVERY_ADMISSION_PATH_V1, Ct as parseLinkedDeviceOwnerAuthorizationRequestV1, D as parseSigningWorkerParticipantRecordV1, Dt as parseLinkedDeviceTargetPreparationRequestV1, E as parseLaneParticipantBindingDigestB64u, Et as parseLinkedDeviceTargetCredentialRegistrationResultV1, F as buildWalletIdentity, Ft as parseLinkedDeviceOrdinaryMaterialSourceContributionPreparationV1, G as computeWalletSessionInstallationReceiptDigestB64u, Gt as ROUTER_AB_ED25519_YAO_WARM_RECOVERY_BOOTSTRAP_PATH_V1, H as LINKED_DEVICE_REQUEST_PROOF_MAX_TTL_MS_V1, Ht as ROUTER_AB_ED25519_YAO_RECOVERY_EXECUTE_PATH_V1, I as nearAccountBindingFromRaw, It as ROUTER_AB_ED25519_YAO_EMAIL_OTP_RECOVERY_BOOTSTRAP_KIND_V1, J as parseLocalAuthorityActivationFinalAckV1, K as computeWalletSessionOperationCredentialDigestB64u, N as buildPasskeyAuthScope, Nt as parseLinkedDeviceEd25519SourcePreservingReservationV1, Ot as parseLinkedDeviceTargetPreparationV1, P as buildPasskeyWalletAuthMethodBinding, Pt as parseLinkedDeviceOrdinaryMaterialSourceContributionPreparationTupleV1, Q as parseLinkedDeviceWalletSessionCredentialDeliveryV1, R as parseRpId, St as parseLinkedDeviceEmailOtpVerificationResultV1, T as parseLaneHolderParticipantRecordV1, Tt as parseLinkedDeviceSessionClaimV1, U as computeLinkedDevicePublicKeyDigestV1, V as LINKED_DEVICE_REQUEST_PROOF_HEADER_V1, W as computeLinkedDeviceTargetPreparationDigestV1, Wt as ROUTER_AB_ED25519_YAO_REGISTRATION_EXECUTE_PATH_V1, X as assertLinkedDeviceWalletSessionCredentialDeliveryIntegrityV1, Y as parseLocalAuthorityInstallationReceiptV1, Z as parseLinkedDeviceWalletSessionCredentialDeliveryBindingV1, _ as resolveThresholdSigningRootBindingFromRecord, _n as parseLinkedDeviceEd25519ExportRootRecipientV1, _t as parseLinkedDeviceEmailOtpChallengeResultV1, a as buildEvmFamilyEcdsaWalletKey, at as buildLinkedDeviceSessionCancelClaimedRequestV1, bt as parseLinkedDeviceEmailOtpFactorReleaseEnvelopeV1, c as buildResolvedEvmFamilyEcdsaKey, cn as parseRouterAbEd25519YaoWarmRecoveryBootstrapRequestV1, ct as buildLinkedDeviceTargetCredentialRegistrationV1, d as deriveEvmFamilyKeyFingerprint, dn as deriveRouterAbEd25519YaoApplicationBindingDigestV1, dt as parseLinkSessionProjectionV1, en as parseRouterAbEd25519YaoRecoveryActivationExecuteRequestV1, et as parseLinkedDeviceListResultV1, f as deriveEvmFamilyKeyFingerprintFromPublicFacts, ft as parseLinkSessionTransportEventV1, gn as parseLinkedDeviceEd25519ExportRootRecipientPublicKeyB64u, gt as parseLinkedDeviceEmailOtpChallengeResendRequestV1, hn as parseLinkedDeviceEd25519ExportRootPackageV1, ht as parseLinkedDeviceEmailOtpBaseFactorResolutionResultV1, i as buildEvmFamilyEcdsaSessionLanePolicy, it as buildLinkedDeviceApprovalV1, jt as parseCommittedAuthorityPackagesV1, k as buildEmailOtpWalletAuthMethodBinding, kt as parseQrLinkedDeviceSessionPayloadV5, lt as buildQrLinkedDeviceSessionPayloadV5, m as evmFamilyEcdsaWalletKeyToIdentity, mn as buildLinkedDeviceEd25519ExportRootTransferBindingV1, mt as parseLinkedDeviceApprovalResultV1, n as buildBaseEvmFamilyEcdsaKeyIdentity, nn as parseRouterAbEd25519YaoRecoveryActivationResultV1, nt as parseLinkedDeviceRevokeResultV1, on as parseRouterAbEd25519YaoRegistrationActivationResultV1, ot as buildLinkedDeviceSessionCancelUnclaimedRequestV1, p as deriveEvmFamilySigningKeySlotId$1, pn as LINKED_DEVICE_ED25519_EXPORT_ROOT_TRANSFER_ALG_V1, pt as parseLinkedDeviceApprovalDeliveryV1, q as parseActivateInstalledAuthorityResultV1, r as buildEvmFamilyEcdsaRecoveredMaterialLanePolicy, rn as parseRouterAbEd25519YaoRecoveryAdmissionRequestV1, s as buildPasskeyEcdsaAuthBinding, st as buildLinkedDeviceSessionClaimRequestV1, t as assertMatchingVerifiedEcdsaPublicFacts, tn as parseRouterAbEd25519YaoRecoveryActivationReceiptV1, tt as parseLinkedDeviceRevokeRequestV1, ut as parseLinkDevicePublicKeyB64u, v as resolveThresholdSigningRootBindingFromRuntimePolicyScope, vn as serializeLinkedDeviceEd25519ExportRootTransferBindingV1, vt as parseLinkedDeviceEmailOtpChallengeStartRequestV1, w as parseOwnerLaneParticipantContinuityV1, wt as parseLinkedDeviceOwnerAuthorizationSourceV1, x as toRpId, xt as parseLinkedDeviceEmailOtpVerificationGrantV1, y as toEvmFamilyEcdsaKeyHandle, yn as assertNeverLinkSessionStateV1, yt as parseLinkedDeviceEmailOtpChallengeVerifyRequestV1, zt as ROUTER_AB_ED25519_YAO_RECOVERY_ACTIVATE_PATH_V1 } from "./evmFamilyEcdsaIdentity-Co5XDcEA.js";
|
|
24
|
+
import { C as computeWalletAuthMethodRevokeOperationFingerprintV1, E as parseExactAdministeredSignerManifestV1, S as buildWalletAuthMethodRecordV2, T as sameWalletAuthMethodRecordV2, d as parseWalletSignerActivationSetV1, f as replaceActiveWalletAuthorityEd25519MaterialActivationV1, n as computeWalletSignerActivationSetDigestB64u, o as isActiveRecoveredWalletAuthorityV1, r as encodeWalletSignerActivationSetV1, t as computeWalletAuthorityDigestB64u, w as parseWalletAuthMethodRecordV2 } from "./walletAuthority-BQBxgUBn.js";
|
|
25
|
+
import "./encoders-D8d07vpx.js";
|
|
26
|
+
import { a as parseNearEd25519SigningKeyId, i as nearEd25519SigningKeyIdFromString, o as walletIdFromString, r as createServerAllocatedWalletId } from "./registrationIds-DLSdEKSv.js";
|
|
27
|
+
import { a as buildEmailOtpEnvelopeFactor, c as buildPasskeyEnvelopeFactor, d as parsePasskeyCustodyEnvelopeRecord, h as isWalletCustodySeedBinding, i as buildActiveEnvelopeLifecycle, l as custodyEnvelopeBindingJsonV1, m as buildEd25519YaoClientRootBinding, o as buildMethodBoundEnvelopeOwnership, s as buildPasskeyCustodyEnvelopeRecord } from "./passkey-custody-Bk1jAknm.js";
|
|
28
|
+
import { a as parseEcdsaRoleLocalPersistedMaterialRef, d as parseEcdsaRelayerKeyId, f as parseSigningSessionSealKeyVersion, i as parseEcdsaRoleLocalMaterialHandle, l as parseEcdsaClientVerifyingShareB64u, n as parseEcdsaRoleLocalBindingDigest, r as parseEcdsaRoleLocalDurableMaterialRef, s as parseEcdsaThresholdKeyId, u as parseEcdsaKeyHandle } from "./keyMaterialBrands-CX41hur6.js";
|
|
29
|
+
import { a as SIGNING_SESSION_EXPIRY_DETECTION_SOURCES, d as createLinkDeviceFlowEvent, f as createNearProvisioningStateChangedEvent, g as createUnlockFlowEvent, h as createSigningSessionExpiredEvent, i as RegistrationEventPhase, l as createAccountSyncFlowEvent, m as createSigningFlowEvent, n as KeyExportEventPhase, o as SigningEventPhase, p as createRegistrationFlowEvent, r as LinkDeviceEventPhase, s as UnlockEventPhase, t as AccountSyncEventPhase, u as createKeyExportFlowEvent } from "./sdkSentEvents-MqDkbQg1.js";
|
|
30
|
+
import { A as openWalletAuthorityLinkedSignerMaterialV1, a as loadWalletCustodyEd25519MaterialV1, b as walletSessionAuthorizations, d as configureIndexedDB, f as createIndexedDBNonceLaneCoordinationStore, g as IndexedDbEcdsaCapabilityManifestStore, h as readEmailOtpProviderSubjectForWalletV1, i as deleteWalletCustodyEd25519MaterialV1, j as parseWalletAuthorityLinkedSignerMaterialRecordV1, k as computeWalletEcdsaKeyFactsInventoryChallengeDigestB64u, l as storeAccountKeyMaterial, m as publishEd25519YaoPublicCapabilityReferenceAndLane, n as importWalletCustodyEcdsaContinuity, o as persistWalletCustodyEd25519MaterialV1, p as IndexedDbEd25519YaoPublicCapabilityReferenceStore, s as getAccountKeyMaterial, t as copyWalletCustodyEcdsaContinuityToAuthMethod, u as IndexedDBManager, y as WalletSessionAuthorizationUpgradeRequiredError } from "./walletCustodyEcdsaContinuity-Hn4ORIbf.js";
|
|
31
|
+
import { t as parseSignerSlot } from "./signerSlot-_ovonwVX.js";
|
|
32
|
+
import "./keccak-DUL3d8SF.js";
|
|
33
|
+
import { a as SIGNING_SESSION_SEAL_ALG, l as parseRouterAbEd25519NormalSigningState, n as PASSKEY_PRF_SECOND_SALT_V1, o as SIGNING_SESSION_SEAL_GROUP_ID, r as ROUTER_AB_ED25519_NORMAL_SIGNING_STATE_KIND, t as PASSKEY_PRF_FIRST_SALT_V1 } from "./signingSessionSeal-Cu-GHm6y.js";
|
|
34
|
+
import { c as registrationNearEd25519BranchKey, d as sponsoredNamedNearAccountProvisioning, i as implicitNearAccountProvisioning, t as NEAR_ED25519_YAO_KEY_VERSION_V1 } from "./registrationSignerPlan-CAikVZZQ.js";
|
|
35
|
+
import { r as computeAddAuthMethodIntentDigestB64u } from "./registrationIntent-D0PxwEY4.js";
|
|
36
|
+
import { c as signingLaneAuthMethod, n as SigningOperationIntent, r as SigningSessionIds, s as signingLaneAuthBindingKey } from "./types-Dx9fczU7.js";
|
|
37
|
+
import { t as demoEmailOtpCodeFromDelivery } from "./challengeDelivery-Dd0586fo.js";
|
|
38
|
+
import { S as parseEmailOtpWorkerIssuedSessionHandle, _ as DEFAULT_CONFIRMATION_CONFIG, a as createSigningPlannerDecisionTraceEvent, b as isWorkerSuccess, c as nearImplicitAccountFundingPort, d as mintEd25519WalletSession, f as nearOperationStepUpPreparationPort, g as buildNearMessageDisplayModel, h as buildNearDisplayModel, i as withThresholdEd25519CommitQueue, l as buildThresholdEd25519WebAuthnPrfSecretSource, m as getLastLoggedInSignerSlot, o as planSigningSession, p as deriveThresholdEd25519ClientVerifyingShareWasm, r as resolveThresholdEd25519CommitQueueKey, s as parseAndValidateRegistrationCredentialConfirmationPayload, t as signNear, u as localPrfFirstForEd25519WalletSessionMintAuthorization, v as isWorkerError, x as parseEmailOtpEcdsaExportWorkerIssuedSessionHandle, y as isWorkerProgress } from "./signNear-Bblwn2kT.js";
|
|
39
|
+
import { t as executeWorkerOperation } from "./executeWorkerOperation-Cl9whMK7.js";
|
|
40
|
+
import { A as thresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandleWasm, B as SignerWorkerOperationError, C as prepareLinkedDeviceEcdsaSourceContributionWasm, D as storeLinkedDeviceEcdsaHolderMaterialWasm, E as storeEcdsaRoleLocalSigningMaterialWasm, F as thresholdEcdsaRoleLocalPresignSessionStepWasm, H as getSignerWorkerOperationCoreCode, I as thresholdEcdsaRoleLocalReservePresignatureWasm, L as verifyRouterAbEcdsaRegistrationClientProofsWasm, M as thresholdEcdsaRoleLocalListAvailablePresignaturesWasm, N as thresholdEcdsaRoleLocalPresignSessionAbortWasm, O as thresholdEcdsaRoleLocalAdmitPresignatureWasm, P as thresholdEcdsaRoleLocalPresignSessionInitFromMaterialHandleWasm, R as EcdsaDerivationClientCustomRequestType, S as prepareEcdsaClientBootstrapCommandWasm, T as signWalletRecoveryEcdsaMaterialPossessionProofWasm, U as getSignerWorkerOperationErrorCode, V as WorkerControlMessage, _ as finalizeEcdsaHolderOrdinaryExportWasm, a as resolveRouterAbEcdsaDerivationPresignaturePoolPolicy, b as openEcdsaRoleLocalSigningMaterialWasm, c as clearLinkedDeviceEcdsaHolderMaterialsWasm, d as createEcdsaHolderOrdinaryExportRequestWasm, f as createRouterAbEcdsaPostRegistrationCeremonyWasm, g as finalizeEcdsaClientBootstrapCommandWasm, h as destroyLinkedDeviceEcdsaHolderMaterialsWasm, i as clearRouterAbEcdsaDerivationClientPresignaturesForWallet, j as thresholdEcdsaRoleLocalDestroyPresignatureWasm, k as thresholdEcdsaRoleLocalCommitPresignatureWasm, l as closeRouterAbEcdsaPostRegistrationCeremonyWasm, m as destroyLinkedDeviceEcdsaHolderMaterialWasm, o as scheduleRouterAbEcdsaDerivationClientPresignaturePoolRefill, p as createRouterAbEcdsaRegistrationCeremonyWasm, r as clearAllRouterAbEcdsaDerivationClientPresignatures, s as waitForRouterAbEcdsaDerivationClientPresignaturePoolReady, u as closeRouterAbEcdsaRegistrationCeremonyWasm, v as finalizeRouterAbEcdsaExplicitExportWasm, w as reconcileCanonicalEcdsaActivationWasm, x as persistInitialCanonicalEcdsaActivationWasm, y as finalizeRouterAbEcdsaRegistrationActivationWasm, z as EcdsaPresignClientRequestType } from "./secp256k1-el9aE4Sv.js";
|
|
41
|
+
import { c as serializeRegistrationCredentialWithPRF, i as normalizeAuthenticationCredential, l as getPrfFirstB64uFromCredential, n as getPrfSecondSaltV1, o as redactedPasskeyRegistrationCredential, r as isSerializedRegistrationCredential, s as serializeAuthenticationCredentialWithPRF, t as getPrfFirstSaltV1, u as redactCredentialExtensionOutputs } from "./helpers-ZrowMnev.js";
|
|
42
|
+
import { C as validateTempoFeeToken, D as requestParentDomainWebAuthn, E as executeWebAuthnWithParentFallbacksSafari, S as requireTempoFeeTokenPreferenceSigningRequest, T as WindowParentDomainWebAuthnClient, b as parseTempoEvmAddress, d as walletIframeUnlockRequestFromLoginHooks, f as needsExplicitActivation, p as OverlayController, r as parseWalletIframeExactSessionIdentity, x as readTempoFeeTokenPreference, y as buildTempoSetUserTokenRequest } from "./exactSessionState-CiD5fBEs.js";
|
|
43
|
+
import { C as buildEcdsaRoleLocalPublicFacts, D as parseEcdsaRoleLocalReadyRecord, E as ecdsaRoleLocalReadyRecordStorageKeyFacts, S as buildEcdsaRoleLocalPasskeyAuthMethod, T as ecdsaRoleLocalReadyRecordStorageKey, k as serializeEcdsaRoleLocalReadyRecord, w as ecdsaRoleLocalReadyRecordMatchesInput, x as buildEcdsaRoleLocalEmailOtpAuthMethod, y as routerAbEcdsaDerivationPublicCapabilitiesEqual } from "./ecdsaCapabilityManifest-kzO_fW09.js";
|
|
44
|
+
import { i as buildNearAccountRefs } from "./profileAccountProjection-uZVJuBvS.js";
|
|
45
|
+
import { A as parseProfileContinuityEcdsaWarmKey, D as startWalletAddAuthMethod, S as requestAddAuthMethodEmailOtpChallenge, T as revokeWalletAuthMethod, _ as finalizeWalletAddAuthMethod, a as buildRehydrateMaterialActivationHydrationPlan, g as fetchWalletEcdsaKeyFactsInventoryWithWebAuthn, h as fetchWalletEcdsaKeyFactsInventoryWithOperationCredential, i as buildBlockedMpcCapabilityHydrationPlan, k as activateRouterAbEcdsaPostRegistrationSession, l as computeWalletCustodyAdminChallengeDigest, n as nearEd25519YaoRuntimeRef, o as buildUseLiveRuntimeHydrationPlan, p as createWalletAddAuthMethodIntent, r as resolveNearEd25519YaoCapabilityHydrationV1, t as nearEd25519YaoMaterialActivationFromMetadata, y as fundImplicitNearAccountForTesting } from "./nearEd25519YaoMaterialActivation-DPb0s3hQ.js";
|
|
46
|
+
import { n as buildRelayerJsonPostRequestInit, r as normalizeRelayerBaseUrl, t as buildBearerAuthorizationHeader } from "./relayerHttp-VC8Holz1.js";
|
|
47
|
+
import { a as exactEd25519SigningLaneIdentity, c as exactSigningLaneIdentityKey, f as nearEd25519SignerBindingFromBoundaryFields, h as parseExactEd25519ExportMaterialIdentity, i as exactEd25519ExportMaterialIdentity, l as exactSigningLaneIdentityMatches, m as parseExactEcdsaSigningLaneIdentity, n as exactEcdsaSigningLaneIdentity, p as nearProtocolProjectionFromExactLane, t as buildEvmFamilyEcdsaSignerBinding, u as exactSigningLaneWalletId } from "./exactSigningLaneIdentity-DQeqPMST.js";
|
|
48
|
+
import { _ as isEmailOtpPendingSingleUseAuthContext, a as nearEd25519SessionMatchesMaterialActivation, b as laneCandidateStateFromRuntimePolicy, d as buildEmailOtpAuthContextForWalletAuthMethod, f as emailOtpAuthContextConsumedAtMs, g as emailOtpAuthContextRetention, h as emailOtpAuthContextProviderUserId, i as classifyNearEd25519WalletSessionAuthorization, m as emailOtpAuthContextProvider, n as buildAuthorizationRequiredNearEd25519YaoSigningPreparation, p as emailOtpAuthContextEmailHashHex, r as buildAuthorizedNearEd25519YaoSigningPreparation, t as buildActiveNearEd25519WalletSessionAuthorization, u as buildEmailOtpAuthContextForCanonicalWallet, v as isEmailOtpSessionAuthContext, x as selectedEcdsaLane } from "./nearEd25519YaoSigningPreparation-BeD-SmbK.js";
|
|
49
|
+
import { a as throwEmailOtpSigningSessionAuthStateError, i as emailOtpEcdsaBootstrapRouteAuthFromRoutePlan, n as buildEmailOtpSigningSessionRoutePlan, o as buildEmailOtpRoutePlan, r as buildFreshEmailOtpRoutePlan, t as assertEmailOtpSigningSessionAuthLane } from "./routePlan-D59x5xzQ.js";
|
|
50
|
+
import { n as generateSessionId, t as cacheCredentialBoundarySetupExportPrfFirst } from "./prfCache-wqQSjYLn.js";
|
|
51
|
+
import { l as emitSigningSessionFlowFailure, u as emitSigningSessionFlowTrace } from "./trace-rHe0wz7q.js";
|
|
52
|
+
import { t as webAuthnPromptCoordinator } from "./webauthnPromptCoordinator-L96oVvLz.js";
|
|
53
|
+
import { a as toActionArgsWasm, t as ActionType } from "./actions-CCvThiKe.js";
|
|
54
|
+
import { A as UserConfirmMessageType, C as getSignIntentDigestSubject, E as getTxCount, M as normalizeConfirmationConfig, S as getNearAccountId, T as getSigningAuthMode, _ as sendConfirmProgress, a as formatNearAccountFundingProgressNotice, b as assertSigningRequestContext, c as collectAuthenticationCredentialForChallengeB64u, d as collectAuthenticationCredentialForWalletChallengeB64u, f as ERROR_MESSAGES, g as sanitizeForPostMessage, h as parseTransactionSummary, i as formatNearAccountFundingNotice, j as UserConfirmationType, m as isUserCancelledUserConfirm, n as createConfirmTxFlowAdapters, o as __isWalletIframeHostMode, p as createUserConfirmScopedWorker, r as mountConfirmUI, s as __setWalletIframeHostMode, t as createConfirmSession, v as sendConfirmResponse, w as getSignTransactionPayload, x as getIntentDigest, y as assertNoForbiddenMainThreadSigningSecrets } from "./adapters-B4JeK1nJ.js";
|
|
55
|
+
import { i as orderActionForDigest, n as computeUiIntentDigestFromNep413, r as computeUiIntentDigestFromTxs } from "./intentDigest-CvOSNlCH.js";
|
|
56
|
+
import { r as showWalletRecoveryCodesUi, t as pendingWalletRecoveryCodeBackupRepository } from "./pendingWalletRecoveryCodeBackup-DLzBb3WQ.js";
|
|
57
|
+
import { t as MinimalNearClient } from "./NearClient-DY4NfHeD.js";
|
|
58
|
+
import { t as createEvmClient } from "./EvmClient-f3gUhS2L.js";
|
|
59
|
+
import { n as resolveAppearanceTheme, o as resolveThemePalette } from "./configHelpers-vAQCzUD0.js";
|
|
60
|
+
import { n as getDefaultCspNonce, t as createCspStylesheetManager } from "./csp-stylesheet-btENhsNp.js";
|
|
61
|
+
import { r as buildConfigsFromEnv } from "./defaultConfigs-B3c16M_8.js";
|
|
62
|
+
import { t as createNonceCoordinator } from "./NonceCoordinator-4XWPhYww.js";
|
|
63
|
+
import { i as resumePendingWalletRecoveries } from "./walletRecoveryCommit-sjGNTHUj.js";
|
|
64
|
+
import { i as loadWebAuthnP256EngineCtor, n as loadSignEvmFamilyWithUiConfirmForTempo, r as loadSignEvmWithUiConfirm, t as loadSecp256k1EngineCtor } from "./signerLoader-D7Aey0FD.js";
|
|
65
|
+
import { A as authorizeEvmFamilyEcdsaSigningCapability, B as listLinkedEcdsaHolderRuntimesV1, C as buildExactPasskeyOwnerLaneScope, D as buildPersistedEcdsaRoleLocalMaterial, E as resolveExactWalletAuthAuthority$1, F as signingAuthorizationFromPreprocessing, H as resolveLinkedEcdsaHolderRuntimeV1, I as ensureSealedRefreshStartupParityForThresholdEcdsaBootstrap, L as isRetryableSealedRefreshCapabilityFetchError, M as buildEcdsaPreprocessingCapability, N as buildExactEcdsaDirectCapabilityRuntime, O as ecdsaRoleLocalPersistedMaterialSource, P as buildExactEvmFamilyWalletSessionAuthorization, R as clearLinkedEcdsaHolderRuntimesV1, S as buildExactLinkedEmailOtpOwnerLaneScope, T as resolveExactOwnerLaneScope, V as removeLinkedEcdsaHolderRuntimeV1, _ as resolveEmailOtpEcdsaSigningSessionAuth, a as reportTempoFinalized, b as withThresholdEcdsaSigningQueue, c as resolveActiveWalletAuthorityEcdsaRuntimeV1, d as createActiveEcdsaCapabilityRuntimeForChainResolver, f as createActiveEcdsaCapabilityRuntimeResolver, g as requestEmailOtpSigningSessionChallenge$1, h as refreshEmailOtpSigningSession$1, i as reportTempoDroppedOrReplaced, j as buildCanonicalEvmFamilyEcdsaSigningCapability, k as resolveEcdsaRoleLocalMaterial, l as issueEcdsaOperationStepUpAuthorization, m as resolveExactEcdsaSealedRuntime, n as reportTempoBroadcastAccepted, o as signEvmFamily, p as resolveExactEcdsaCapabilityRuntime, r as reportTempoBroadcastRejected, t as reconcileTempoNonceLane, u as prepareEcdsaOperationStepUp, v as clearThresholdEcdsaSigningQueue, w as isOwnerRelinkRequiredError, x as buildExactEcdsaPasskeyOwnerLaneScope, y as resolveThresholdEcdsaSigningQueueKey, z as installLinkedEcdsaHolderRuntimeV1 } from "./signEvmFamily-e4IWWsZs.js";
|
|
66
|
+
import { n as SigningAuthPlanKind } from "./promptText-CuRa_ivd.js";
|
|
67
|
+
import { C as isSigningOperationReviewApprovedStateKind, d as fullWalletLoginRequired, f as invalidWalletSigningMaterial, m as walletSigningMaterialBlockError, p as isWalletSigningStateFailure, v as SigningOperationInteractionEventKind } from "./operationFingerprint-C8Trar4R.js";
|
|
68
|
+
import { f as WalletSessionFailureError, g as WALLET_SESSION_FAILURE_CODES, h as walletSessionFailureFromError, m as walletSessionFailureFromCode } from "./routerAbNormalSigning-fhvpDtmY.js";
|
|
69
|
+
import { _ as parseWalletSessionAuthorizationBoundary, d as availableEd25519SigningLaneAuthMethod, f as ecdsaAvailableLaneCandidatesForTarget, g as readAvailableSigningLanes, h as isConcreteAvailableSigningLane, l as activeWalletAuthorityAvailableLaneFromProjection, m as ecdsaAvailableLaneIdentityKey, p as ecdsaAvailableLaneForTarget, u as availableEcdsaSigningLaneAuthMethod, v as requireAuthoritativeExpiredWalletSessionAuthorizationBoundary } from "./transactionState-DP9O8F6f.js";
|
|
70
|
+
import { t as bytesToHex } from "./bytes-qKxKn4gg.js";
|
|
71
|
+
import { c as createEvmNonceBackend, i as PENDING_CHALLENGE_B64U, o as clearIntentDigestPreparation, s as consumeIntentDigestPreparation, t as EvmFamilyEcdsaMaterialSupersededError } from "./signingFlow-rZfPegH9.js";
|
|
72
|
+
import { n as removeExportViewerHostIfPresent, t as isExportViewerSessionOpen } from "./export-viewer-host-ZqA2Yz3H.js";
|
|
73
|
+
import { i as observeTransactionLifecycleReport, n as failTransactionActivity, r as observeTransactionActivity, t as beginTransactionActivity } from "./transaction-activity-CSMCveBn.js";
|
|
74
|
+
import "./jsxRuntime.module-CuH5ZEIA.js";
|
|
75
|
+
import { t as handleRegistrationFlow } from "./registration-BzVHODuD.js";
|
|
76
|
+
import { i as rotateWalletRecoverySet, n as readWalletRecoveryCodeStatus, r as requestWalletCustodyEmailOtpChallenge, t as acknowledgeWalletRecoveryBackup } from "./walletRecoveryRotate-BgLlW5ih.js";
|
|
73
77
|
//#region src/core/walletRuntimePaths/workers.ts
|
|
74
78
|
/**
|
|
75
79
|
* Resolve the base origin for worker scripts.
|
|
@@ -160,7 +164,7 @@ function defaultWorkerPath$1(worker) {
|
|
|
160
164
|
}
|
|
161
165
|
//#endregion
|
|
162
166
|
//#region src/core/platform/signerCoreCommandAdapters.ts
|
|
163
|
-
function requireBase64UrlBytes
|
|
167
|
+
function requireBase64UrlBytes(value, field, byteLength) {
|
|
164
168
|
const normalized = String(value || "").trim();
|
|
165
169
|
if (!normalized) throw new Error(`[signer-core-command] ${field} is required`);
|
|
166
170
|
if (base64UrlDecode(normalized).length !== byteLength) throw new Error(`[signer-core-command] ${field} must decode to ${byteLength} bytes`);
|
|
@@ -182,15 +186,15 @@ function requireSignerCoreCommandString(value, field) {
|
|
|
182
186
|
return normalized;
|
|
183
187
|
}
|
|
184
188
|
function parseDerivationClientSharePublicKey33B64u(value) {
|
|
185
|
-
return requireBase64UrlBytes
|
|
189
|
+
return requireBase64UrlBytes(value, "derivationClientSharePublicKey33B64u", 33);
|
|
186
190
|
}
|
|
187
|
-
function parseRelayerEcdsaDerivationPublicKey33B64u
|
|
188
|
-
return requireBase64UrlBytes
|
|
191
|
+
function parseRelayerEcdsaDerivationPublicKey33B64u(value) {
|
|
192
|
+
return requireBase64UrlBytes(value, "relayerPublicKey33B64u", 33);
|
|
189
193
|
}
|
|
190
|
-
function parsePublicKey33B64u
|
|
191
|
-
return requireBase64UrlBytes
|
|
194
|
+
function parsePublicKey33B64u(value, field) {
|
|
195
|
+
return requireBase64UrlBytes(value, field, 33);
|
|
192
196
|
}
|
|
193
|
-
function parseEthereumAddress
|
|
197
|
+
function parseEthereumAddress(value) {
|
|
194
198
|
const normalized = String(value || "").trim();
|
|
195
199
|
if (!/^0x[0-9a-fA-F]{40}$/.test(normalized)) throw new Error("[signer-core-command] ethereumAddress must be 0x-prefixed 20-byte hex");
|
|
196
200
|
return normalized;
|
|
@@ -229,7 +233,7 @@ function toGeneratedPrepareEcdsaClientBootstrapCommand(input) {
|
|
|
229
233
|
},
|
|
230
234
|
secretSource: {
|
|
231
235
|
kind: "threshold_prf_x_client_base",
|
|
232
|
-
xClientBaseB64u: requireBase64UrlBytes
|
|
236
|
+
xClientBaseB64u: requireBase64UrlBytes(input.secretSource.xClientBaseB64u, "secretSource.xClientBaseB64u", 32)
|
|
233
237
|
}
|
|
234
238
|
};
|
|
235
239
|
}
|
|
@@ -239,14 +243,14 @@ function parseGeneratedPrepareEcdsaClientBootstrapOutput(input) {
|
|
|
239
243
|
return {
|
|
240
244
|
pendingStateBlob: parsePendingStateBlob(input.pendingStateBlob),
|
|
241
245
|
clientBootstrap: {
|
|
242
|
-
contextBinding32B64u: requireBase64UrlBytes
|
|
246
|
+
contextBinding32B64u: requireBase64UrlBytes(input.clientBootstrap.contextBinding32B64u, "contextBinding32B64u", 32),
|
|
243
247
|
derivationClientSharePublicKey33B64u,
|
|
244
248
|
clientShareRetryCounter: input.clientBootstrap.clientShareRetryCounter,
|
|
245
249
|
participantId: 1
|
|
246
250
|
},
|
|
247
251
|
publicFacts: {
|
|
248
252
|
derivationClientSharePublicKey33B64u: parseDerivationClientSharePublicKey33B64u(input.publicFacts.derivationClientSharePublicKey33B64u),
|
|
249
|
-
clientVerifyingShareB64u: parsePublicKey33B64u
|
|
253
|
+
clientVerifyingShareB64u: parsePublicKey33B64u(input.publicFacts.clientVerifyingShareB64u, "clientVerifyingShareB64u")
|
|
250
254
|
}
|
|
251
255
|
};
|
|
252
256
|
}
|
|
@@ -267,12 +271,12 @@ function parseGeneratedFinalizeEcdsaClientBootstrapOutput(input) {
|
|
|
267
271
|
return {
|
|
268
272
|
stateBlob: parseReadyStateBlob(input.stateBlob),
|
|
269
273
|
publicFacts: {
|
|
270
|
-
contextBinding32B64u: requireBase64UrlBytes
|
|
274
|
+
contextBinding32B64u: requireBase64UrlBytes(input.publicFacts.contextBinding32B64u, "contextBinding32B64u", 32),
|
|
271
275
|
derivationClientSharePublicKey33B64u: parseDerivationClientSharePublicKey33B64u(input.publicFacts.derivationClientSharePublicKey33B64u),
|
|
272
|
-
clientVerifyingShareB64u: parsePublicKey33B64u
|
|
273
|
-
relayerPublicKey33B64u: parseRelayerEcdsaDerivationPublicKey33B64u
|
|
274
|
-
groupPublicKey33B64u: parsePublicKey33B64u
|
|
275
|
-
ethereumAddress: parseEthereumAddress
|
|
276
|
+
clientVerifyingShareB64u: parsePublicKey33B64u(input.publicFacts.clientVerifyingShareB64u, "clientVerifyingShareB64u"),
|
|
277
|
+
relayerPublicKey33B64u: parseRelayerEcdsaDerivationPublicKey33B64u(input.publicFacts.relayerPublicKey33B64u),
|
|
278
|
+
groupPublicKey33B64u: parsePublicKey33B64u(input.publicFacts.groupPublicKey33B64u, "groupPublicKey33B64u"),
|
|
279
|
+
ethereumAddress: parseEthereumAddress(input.publicFacts.ethereumAddress)
|
|
276
280
|
}
|
|
277
281
|
};
|
|
278
282
|
}
|
|
@@ -301,22 +305,6 @@ function signerCryptoCommandFailure(code, message) {
|
|
|
301
305
|
message
|
|
302
306
|
};
|
|
303
307
|
}
|
|
304
|
-
function requiredString$1(value, field) {
|
|
305
|
-
if (typeof value !== "string") throw new Error(`ECDSA client bootstrap state is missing ${field}`);
|
|
306
|
-
const normalized = value.trim();
|
|
307
|
-
if (!normalized) throw new Error(`ECDSA client bootstrap state is missing ${field}`);
|
|
308
|
-
return normalized;
|
|
309
|
-
}
|
|
310
|
-
function requiredNonNegativeInteger(value, field) {
|
|
311
|
-
if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 0) throw new Error(`${field} must be a non-negative safe integer`);
|
|
312
|
-
return value;
|
|
313
|
-
}
|
|
314
|
-
function requireBase64UrlBytes(value, field, byteLength) {
|
|
315
|
-
const normalized = String(value || "").trim();
|
|
316
|
-
if (!normalized) throw new Error(`${field} is required`);
|
|
317
|
-
if (base64UrlDecode(normalized).length !== byteLength) throw new Error(`${field} must decode to ${byteLength} bytes`);
|
|
318
|
-
return normalized;
|
|
319
|
-
}
|
|
320
308
|
function decodeBase64UrlArrayBuffer(value) {
|
|
321
309
|
const decoded = base64UrlDecode(value);
|
|
322
310
|
const out = new ArrayBuffer(decoded.byteLength);
|
|
@@ -352,17 +340,6 @@ function browserPasskeyCreationOptions(options) {
|
|
|
352
340
|
} } }
|
|
353
341
|
};
|
|
354
342
|
}
|
|
355
|
-
function parsePublicKey33B64u(value, field) {
|
|
356
|
-
return requireBase64UrlBytes(value, field, 33);
|
|
357
|
-
}
|
|
358
|
-
function parseRelayerEcdsaDerivationPublicKey33B64u(value) {
|
|
359
|
-
return parsePublicKey33B64u(value, "ECDSA relayer DERIVATION public key");
|
|
360
|
-
}
|
|
361
|
-
function parseEthereumAddress(value) {
|
|
362
|
-
const normalized = String(value || "").trim();
|
|
363
|
-
if (!/^0x[0-9a-fA-F]{40}$/.test(normalized)) throw new Error("ECDSA relayer public identity has invalid ethereumAddress");
|
|
364
|
-
return normalized;
|
|
365
|
-
}
|
|
366
343
|
function isNativeBindingFailureMessage(message) {
|
|
367
344
|
return /wasm (initialization|initialize|instantiation)|webassembly|module_or_path|failed to (load|compile|instantiate) wasm|derivation client wasm initialization failed/i.test(message);
|
|
368
345
|
}
|
|
@@ -388,17 +365,6 @@ function mapFinalizeEcdsaCommandError(error) {
|
|
|
388
365
|
if (/relayer|public identity|group public key|ethereum address|threshold public key/i.test(message)) return signerCryptoCommandFailure("public_identity_mismatch", message);
|
|
389
366
|
return signerCryptoCommandFailure("invalid_pending_state", message);
|
|
390
367
|
}
|
|
391
|
-
function parseRelayerPublicIdentity(input) {
|
|
392
|
-
if (input === null || typeof input !== "object" || Array.isArray(input)) throw new Error("ECDSA relayer public identity must be an object");
|
|
393
|
-
if (Object.keys(input).sort().join(",") !== "ethereumAddress,groupPublicKey33B64u,relayerKeyId,relayerPublicKey33B64u,relayerShareRetryCounter") throw new Error("ECDSA relayer public identity fields are invalid");
|
|
394
|
-
return {
|
|
395
|
-
relayerKeyId: requiredString$1(Reflect.get(input, "relayerKeyId"), "relayerKeyId"),
|
|
396
|
-
relayerPublicKey33B64u: parseRelayerEcdsaDerivationPublicKey33B64u(requiredString$1(Reflect.get(input, "relayerPublicKey33B64u"), "relayerPublicKey33B64u")),
|
|
397
|
-
groupPublicKey33B64u: parsePublicKey33B64u(requiredString$1(Reflect.get(input, "groupPublicKey33B64u"), "groupPublicKey33B64u"), "groupPublicKey33B64u"),
|
|
398
|
-
ethereumAddress: parseEthereumAddress(Reflect.get(input, "ethereumAddress")),
|
|
399
|
-
relayerShareRetryCounter: requiredNonNegativeInteger(Reflect.get(input, "relayerShareRetryCounter"), "relayerShareRetryCounter")
|
|
400
|
-
};
|
|
401
|
-
}
|
|
402
368
|
function createBrowserDurableRecordStore(indexedDB) {
|
|
403
369
|
return {
|
|
404
370
|
kind: "durable_record_store",
|
|
@@ -745,11 +711,6 @@ function createBrowserSignerCryptoPort(workerCtx) {
|
|
|
745
711
|
},
|
|
746
712
|
async finalizeEcdsaClientBootstrap(input) {
|
|
747
713
|
if (input.pendingStateBlob.kind !== "ecdsa_role_local_pending_state_blob_v1" || input.pendingStateBlob.curve !== "secp256k1" || input.pendingStateBlob.encoding !== "base64url" || input.pendingStateBlob.producer !== "signer_core") return signerCryptoCommandFailure("invalid_pending_state", "ECDSA client bootstrap pending blob envelope is invalid");
|
|
748
|
-
try {
|
|
749
|
-
parseRelayerPublicIdentity(input.relayerPublicIdentity);
|
|
750
|
-
} catch (error) {
|
|
751
|
-
return signerCryptoCommandFailure("invalid_relayer_public_identity", errorMessage(error));
|
|
752
|
-
}
|
|
753
714
|
if (!workerCtx) return signerCryptoInvocationFailure("unavailable", "ECDSA client bootstrap worker context is unavailable");
|
|
754
715
|
try {
|
|
755
716
|
return {
|
|
@@ -891,9 +852,8 @@ let DeviceLinkingErrorCode = /* @__PURE__ */ function(DeviceLinkingErrorCode) {
|
|
|
891
852
|
DeviceLinkingErrorCode["INSUFFICIENT_BALANCE"] = "INSUFFICIENT_BALANCE";
|
|
892
853
|
DeviceLinkingErrorCode["REGISTRATION_FAILED"] = "REGISTRATION_FAILED";
|
|
893
854
|
/**
|
|
894
|
-
*
|
|
895
|
-
*
|
|
896
|
-
* wallet and scans again.
|
|
855
|
+
* Device 1 is not unlocked with the custody capability linking needs. The
|
|
856
|
+
* QR flow never prompts; the user unlocks the wallet and scans again.
|
|
897
857
|
*/
|
|
898
858
|
DeviceLinkingErrorCode["WALLET_UNLOCK_REQUIRED"] = "WALLET_UNLOCK_REQUIRED";
|
|
899
859
|
/**
|
|
@@ -950,10 +910,9 @@ var Ed25519YaoPageLifecycleOwner = class {
|
|
|
950
910
|
* this run registered under, and the Router's activation result.
|
|
951
911
|
*
|
|
952
912
|
* **Every identity here comes from the Router's receipt, not from this side.**
|
|
953
|
-
* That matters most for `materialActivation`:
|
|
954
|
-
*
|
|
955
|
-
*
|
|
956
|
-
* for state Refactor 90 owns.
|
|
913
|
+
* That matters most for `materialActivation`: the boundary that mints it is the
|
|
914
|
+
* Router, exactly as on the PRF path. Nothing here invents one — a locally
|
|
915
|
+
* minted activation ref would give that state a second owner.
|
|
957
916
|
*/
|
|
958
917
|
function walletCustodyEd25519ActiveClientMetadataV1(input) {
|
|
959
918
|
let raw;
|
|
@@ -1405,15 +1364,6 @@ function materialActivationKey(activation) {
|
|
|
1405
1364
|
}
|
|
1406
1365
|
//#endregion
|
|
1407
1366
|
//#region src/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.ts
|
|
1408
|
-
function requireRecord$3(value, label) {
|
|
1409
|
-
if (!isPlainObject(value)) throw new Error(`${label} must be an object`);
|
|
1410
|
-
return value;
|
|
1411
|
-
}
|
|
1412
|
-
function requireString$3(value, label) {
|
|
1413
|
-
const parsed = typeof value === "string" ? value.trim() : "";
|
|
1414
|
-
if (!parsed) throw new Error(`${label} is required`);
|
|
1415
|
-
return parsed;
|
|
1416
|
-
}
|
|
1417
1367
|
function requirePositiveInteger$2(value, label) {
|
|
1418
1368
|
if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 1) throw new Error(`${label} must be a positive integer`);
|
|
1419
1369
|
return value;
|
|
@@ -1574,16 +1524,16 @@ async function parseWarmRecoveryDescriptor(args) {
|
|
|
1574
1524
|
exactResponseKeys(response, WARM_RECOVERY_RESPONSE_KEYS);
|
|
1575
1525
|
if (response.kind !== "router_ab_ed25519_yao_v2_session_bootstrap_v1") throw new Error("warm recovery bootstrap response kind is invalid");
|
|
1576
1526
|
const restore = record.ed25519Restore;
|
|
1577
|
-
const walletId =
|
|
1578
|
-
const nearAccountId =
|
|
1579
|
-
const nearEd25519SigningKeyId =
|
|
1527
|
+
const walletId = requireTrimmedString(response.walletId, "response.walletId");
|
|
1528
|
+
const nearAccountId = requireTrimmedString(response.nearAccountId, "response.nearAccountId");
|
|
1529
|
+
const nearEd25519SigningKeyId = requireTrimmedString(response.nearEd25519SigningKeyId, "response.nearEd25519SigningKeyId");
|
|
1580
1530
|
const signerSlot = requirePositiveInteger$2(response.signerSlot, "response.signerSlot");
|
|
1581
|
-
const thresholdSessionId =
|
|
1582
|
-
const signingWorkerId =
|
|
1531
|
+
const thresholdSessionId = requireTrimmedString(response.thresholdSessionId, "response.thresholdSessionId");
|
|
1532
|
+
const signingWorkerId = requireTrimmedString(response.signingWorkerId, "response.signingWorkerId");
|
|
1583
1533
|
const thresholdExpiresAtMs = requirePositiveInteger$2(response.thresholdExpiresAtMs, "response.thresholdExpiresAtMs");
|
|
1584
1534
|
const participantIds = requireParticipantIds$1(response.participantIds);
|
|
1585
|
-
const responseRuntimePolicyScope = normalizeRuntimePolicyScope(requireRecord$
|
|
1586
|
-
const sealedRuntimePolicyScope = normalizeRuntimePolicyScope(requireRecord$
|
|
1535
|
+
const responseRuntimePolicyScope = normalizeRuntimePolicyScope(requireRecord$1(response.runtimePolicyScope, "response.runtimePolicyScope"));
|
|
1536
|
+
const sealedRuntimePolicyScope = normalizeRuntimePolicyScope(requireRecord$1(restore.runtimePolicyScope, "ed25519Restore.runtimePolicyScope"));
|
|
1587
1537
|
const routerAbNormalSigning = parseRouterAbEd25519NormalSigningState(response.routerAbNormalSigning);
|
|
1588
1538
|
const walletSessionId = parseWalletSessionId(response.walletSessionId);
|
|
1589
1539
|
const quotaId = parseMpcWalletSigningQuotaId(response.quotaId);
|
|
@@ -1600,7 +1550,7 @@ async function parseWarmRecoveryDescriptor(args) {
|
|
|
1600
1550
|
signerSlot,
|
|
1601
1551
|
operationalPublicKey: `ed25519:${base58Encode(Uint8Array.from(capability.registeredPublicKey))}`,
|
|
1602
1552
|
relayerKeyId: signingWorkerId,
|
|
1603
|
-
credentialIdB64u:
|
|
1553
|
+
credentialIdB64u: requireTrimmedString(restore.credentialIdB64u, "ed25519Restore.credentialIdB64u"),
|
|
1604
1554
|
session: {
|
|
1605
1555
|
sessionKind: "opaque",
|
|
1606
1556
|
walletSessionToken,
|
|
@@ -1627,7 +1577,7 @@ async function resolvePasskeyEd25519YaoExportContextV1(input, runtime) {
|
|
|
1627
1577
|
};
|
|
1628
1578
|
const walletId = parseWalletId(exactRecord.record.walletId);
|
|
1629
1579
|
if (!walletId.ok) throw new Error("[SigningEngine][near] sealed Ed25519 wallet identity is invalid");
|
|
1630
|
-
const credentialIdB64u =
|
|
1580
|
+
const credentialIdB64u = requireTrimmedString(exactRecord.record.ed25519Restore.credentialIdB64u, "ed25519Restore.credentialIdB64u");
|
|
1631
1581
|
let expectedAuthorityRef;
|
|
1632
1582
|
try {
|
|
1633
1583
|
expectedAuthorityRef = await runtime.resolveExactPasskeyWalletAuthAuthorityRef({
|
|
@@ -1812,7 +1762,7 @@ const WALLET_KEY_LIFECYCLE_FIELDS = [
|
|
|
1812
1762
|
"retiredAtMs",
|
|
1813
1763
|
"compromisedAtMs"
|
|
1814
1764
|
];
|
|
1815
|
-
const
|
|
1765
|
+
const SIGNING_LANE_RECORD_BASE_FIELDS = [...[
|
|
1816
1766
|
"kind",
|
|
1817
1767
|
"walletId",
|
|
1818
1768
|
"walletKeyId",
|
|
@@ -1820,9 +1770,7 @@ const SIGNING_LANE_REFERENCE_FIELDS = [
|
|
|
1820
1770
|
"laneKind",
|
|
1821
1771
|
"laneShareEpoch",
|
|
1822
1772
|
"participantBindingDigestB64u"
|
|
1823
|
-
];
|
|
1824
|
-
[...SIGNING_LANE_REFERENCE_FIELDS];
|
|
1825
|
-
const SIGNING_LANE_RECORD_BASE_FIELDS = [...SIGNING_LANE_REFERENCE_FIELDS, "lifecycle"];
|
|
1773
|
+
], "lifecycle"];
|
|
1826
1774
|
const OWNER_AUTH_SIGNING_LANE_FIELDS = [
|
|
1827
1775
|
...SIGNING_LANE_RECORD_BASE_FIELDS,
|
|
1828
1776
|
"walletAuthMethodId",
|
|
@@ -1915,7 +1863,7 @@ function parseSigningLaneKind(raw, label) {
|
|
|
1915
1863
|
}
|
|
1916
1864
|
}
|
|
1917
1865
|
function parseWalletKeyLifecycleState(raw, label) {
|
|
1918
|
-
const record = requireRecord$
|
|
1866
|
+
const record = requireRecord$1(raw, label);
|
|
1919
1867
|
rejectUnknownFields(record, WALLET_KEY_LIFECYCLE_FIELDS, label, WALLET_KEY_LIFECYCLE_FIELDS);
|
|
1920
1868
|
switch (record.state) {
|
|
1921
1869
|
case "active":
|
|
@@ -1931,7 +1879,7 @@ function parseWalletKeyLifecycleState(raw, label) {
|
|
|
1931
1879
|
}
|
|
1932
1880
|
}
|
|
1933
1881
|
function parseSigningLaneLifecycleState(raw, label) {
|
|
1934
|
-
const record = requireRecord$
|
|
1882
|
+
const record = requireRecord$1(raw, label);
|
|
1935
1883
|
rejectUnknownFields(record, ALL_SIGNING_LANE_LIFECYCLE_FIELDS, label);
|
|
1936
1884
|
const revocationEpoch = parseNonNegativeSafeInteger(record.revocationEpoch, `${label}.revocationEpoch`);
|
|
1937
1885
|
switch (record.state) {
|
|
@@ -2186,7 +2134,7 @@ function buildBreakGlassSigningLaneRecord(args) {
|
|
|
2186
2134
|
};
|
|
2187
2135
|
}
|
|
2188
2136
|
function parseWalletKeyRecord(raw, label = "walletKeyRecord") {
|
|
2189
|
-
const record = requireRecord$
|
|
2137
|
+
const record = requireRecord$1(raw, label);
|
|
2190
2138
|
if (record.kind !== "wallet_key_record_v1") throw new Error(`${label}.kind must be wallet_key_record_v1`);
|
|
2191
2139
|
if (record.keyFamily === "ed25519") {
|
|
2192
2140
|
rejectUnknownFields(record, ED25519_WALLET_KEY_FIELDS, label, ALL_WALLET_KEY_FIELDS);
|
|
@@ -2215,7 +2163,7 @@ function parseWalletKeyRecord(raw, label = "walletKeyRecord") {
|
|
|
2215
2163
|
throw new Error(`${label}.keyFamily must be ed25519 or ecdsa_secp256k1`);
|
|
2216
2164
|
}
|
|
2217
2165
|
function parseSigningLaneRecord(raw, label = "signingLaneRecord") {
|
|
2218
|
-
const record = requireRecord$
|
|
2166
|
+
const record = requireRecord$1(raw, label);
|
|
2219
2167
|
if (record.kind !== "signing_lane_reference_v1") throw new Error(`${label}.kind must be signing_lane_reference_v1`);
|
|
2220
2168
|
const laneKind = parseSigningLaneKind(record.laneKind, `${label}.laneKind`);
|
|
2221
2169
|
rejectUnknownFields(record, signingLaneRecordFields(laneKind), label, ALL_SIGNING_LANE_RECORD_FIELDS);
|
|
@@ -2990,7 +2938,7 @@ async function resolveEcdsaExportMaterialForLane(deps, exportLane) {
|
|
|
2990
2938
|
const ECDSA_DERIVATION_EXPORT_CONFIRMATION_DIGEST_VERSION = "ecdsa-derivation:role-local:product-export-confirmation:v5";
|
|
2991
2939
|
const ECDSA_DERIVATION_EXPORT_AUTHORIZATION_DIGEST_VERSION = "ecdsa-derivation:role-local:product-export-authorization:v5";
|
|
2992
2940
|
const ECDSA_DERIVATION_EXPORT_AUTH_TTL_MS = 6e4;
|
|
2993
|
-
function exportAuthorizationWire(
|
|
2941
|
+
function exportAuthorizationWire(_authorization) {
|
|
2994
2942
|
return { kind: "operation_step_up" };
|
|
2995
2943
|
}
|
|
2996
2944
|
function exportAuthorizationDigestFields(authorization) {
|
|
@@ -5065,7 +5013,7 @@ function requirePasskeyEcdsaExportAuth(exportLane) {
|
|
|
5065
5013
|
return auth;
|
|
5066
5014
|
}
|
|
5067
5015
|
async function exportOperationDigest(value) {
|
|
5068
|
-
return
|
|
5016
|
+
return sha256Utf8DigestB64u(alphabetizeStringify(value));
|
|
5069
5017
|
}
|
|
5070
5018
|
async function prepareExplicitEcdsaExportOperationWithRuntime(args) {
|
|
5071
5019
|
const chainTargetKey = thresholdEcdsaChainTargetKey(args.chainTarget);
|
|
@@ -7208,9 +7156,6 @@ async function handleTransactionSigningFlow(ctx, request, worker, opts) {
|
|
|
7208
7156
|
let nearContextFailed = false;
|
|
7209
7157
|
const confirmationReadiness = consumeConfirmationReadiness(request.requestId);
|
|
7210
7158
|
let confirmationReadinessPending = !!confirmationReadiness;
|
|
7211
|
-
const originalBody = String(transactionSummary.body || "").trim();
|
|
7212
|
-
const confirmationReadinessBody = String(confirmationReadiness?.body || "").trim();
|
|
7213
|
-
const restoreOriginalBody = () => ({ body: originalBody });
|
|
7214
7159
|
const confirmationReadinessPromise = confirmationReadiness ? Promise.resolve(confirmationReadiness.promise) : void 0;
|
|
7215
7160
|
const walletSessionExpiryPromise = confirmationReadinessPromise ? waitForWalletSessionExpiry(confirmationReadinessPromise) : void 0;
|
|
7216
7161
|
const markPromptReady = () => {
|
|
@@ -7223,10 +7168,7 @@ async function handleTransactionSigningFlow(ctx, request, worker, opts) {
|
|
|
7223
7168
|
loading: false,
|
|
7224
7169
|
onMounted: () => {
|
|
7225
7170
|
markPromptReady();
|
|
7226
|
-
if (confirmationReadinessPending
|
|
7227
|
-
loading: false,
|
|
7228
|
-
body: confirmationReadinessBody
|
|
7229
|
-
});
|
|
7171
|
+
if (confirmationReadinessPending) session.updateUI({ preparing: true });
|
|
7230
7172
|
}
|
|
7231
7173
|
}) : Promise.resolve({ confirmed: true });
|
|
7232
7174
|
if (reviewPromptRequired) promptDecisionPromise.finally(markPromptReady);
|
|
@@ -7267,20 +7209,19 @@ async function handleTransactionSigningFlow(ctx, request, worker, opts) {
|
|
|
7267
7209
|
if (confirmationReadinessPromise) confirmationReadinessPromise.then(async () => {
|
|
7268
7210
|
confirmationReadinessPending = false;
|
|
7269
7211
|
await promptReady;
|
|
7270
|
-
if (decisionResolved
|
|
7271
|
-
session.updateUI({
|
|
7272
|
-
...restoreOriginalBody(),
|
|
7273
|
-
loading: false,
|
|
7274
|
-
errorMessage: ""
|
|
7275
|
-
});
|
|
7212
|
+
if (decisionResolved) return;
|
|
7213
|
+
session.updateUI({ preparing: false });
|
|
7276
7214
|
}).catch(async (error) => {
|
|
7277
7215
|
confirmationReadinessPending = false;
|
|
7278
7216
|
await promptReady;
|
|
7279
|
-
if (decisionResolved
|
|
7217
|
+
if (decisionResolved) return;
|
|
7218
|
+
if (nearContextFailed) {
|
|
7219
|
+
session.updateUI({ preparing: false });
|
|
7220
|
+
return;
|
|
7221
|
+
}
|
|
7280
7222
|
const message = String(toError(error)?.message || "NEAR signing session could not be finalized");
|
|
7281
7223
|
session.updateUI({
|
|
7282
|
-
|
|
7283
|
-
loading: false,
|
|
7224
|
+
preparing: false,
|
|
7284
7225
|
errorMessage: `NEAR signing session could not be finalized: ${message}`
|
|
7285
7226
|
});
|
|
7286
7227
|
});
|
|
@@ -7759,13 +7700,13 @@ async function handlePromptFromWorker(ctx, message, worker, options) {
|
|
|
7759
7700
|
switch (request.type) {
|
|
7760
7701
|
case UserConfirmationType.AUTHORIZE_KEY_EXPORT:
|
|
7761
7702
|
case UserConfirmationType.SHOW_SECURE_PRIVATE_KEY_UI: {
|
|
7762
|
-
const { handleLocalOnlyFlow } = await import("./localOnly-
|
|
7703
|
+
const { handleLocalOnlyFlow } = await import("./localOnly-Bg8UuLZ5.js");
|
|
7763
7704
|
await handleLocalOnlyFlow(ctx, request, scopedWorker, flowOptions);
|
|
7764
7705
|
break;
|
|
7765
7706
|
}
|
|
7766
7707
|
case UserConfirmationType.REGISTER_ACCOUNT:
|
|
7767
7708
|
case UserConfirmationType.LINK_DEVICE: {
|
|
7768
|
-
const { handleRegistrationFlow } = await import("./registration-
|
|
7709
|
+
const { handleRegistrationFlow } = await import("./registration-BzVHODuD.js").then((n) => n.n);
|
|
7769
7710
|
await handleRegistrationFlow(ctx, request, scopedWorker, flowOptions);
|
|
7770
7711
|
break;
|
|
7771
7712
|
}
|
|
@@ -9280,11 +9221,8 @@ function ecdsaSealedRuntimePurpose(purpose) {
|
|
|
9280
9221
|
}
|
|
9281
9222
|
//#endregion
|
|
9282
9223
|
//#region src/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.ts
|
|
9283
|
-
function asRecord(value) {
|
|
9284
|
-
return typeof value === "object" && value !== null ? value : null;
|
|
9285
|
-
}
|
|
9286
9224
|
function parseVolatileWarmSessionScope(value) {
|
|
9287
|
-
const raw =
|
|
9225
|
+
const raw = asRecordOrArray(value);
|
|
9288
9226
|
if (!raw) return null;
|
|
9289
9227
|
if (raw.kind === "all") return { kind: "all" };
|
|
9290
9228
|
if (raw.kind !== "session") return null;
|
|
@@ -9296,7 +9234,7 @@ function parseVolatileWarmSessionScope(value) {
|
|
|
9296
9234
|
};
|
|
9297
9235
|
}
|
|
9298
9236
|
function parseClearVolatileWarmMaterialCommand(value) {
|
|
9299
|
-
const raw =
|
|
9237
|
+
const raw = asRecordOrArray(value);
|
|
9300
9238
|
if (!raw || raw.kind !== "clear_volatile_warm_material") return null;
|
|
9301
9239
|
if (raw.durableRecord != null || raw.resolvedIdentity != null || raw.deleteReason != null) return null;
|
|
9302
9240
|
const scope = parseVolatileWarmSessionScope(raw.scope);
|
|
@@ -11241,9 +11179,8 @@ function requireExpectedPasskeyRegistrationUser(input) {
|
|
|
11241
11179
|
* and generates credentials, and PRF Outputs
|
|
11242
11180
|
*/
|
|
11243
11181
|
var TouchIdPrompt = class TouchIdPrompt {
|
|
11244
|
-
constructor(rpIdOverride,
|
|
11182
|
+
constructor(rpIdOverride, _safariGetWebauthnRegistrationFallback = false) {
|
|
11245
11183
|
this.rpIdOverride = rpIdOverride;
|
|
11246
|
-
this.safariGetWebauthnRegistrationFallback = safariGetWebauthnRegistrationFallback === true;
|
|
11247
11184
|
}
|
|
11248
11185
|
getRpId() {
|
|
11249
11186
|
try {
|
|
@@ -11701,6 +11638,18 @@ const SIGNER_WORKER_KINDS = [
|
|
|
11701
11638
|
"walletCustodyCeremony"
|
|
11702
11639
|
];
|
|
11703
11640
|
const MULTICHAIN_WORKER_DEFAULT_TIMEOUT_MS = 2e4;
|
|
11641
|
+
/**
|
|
11642
|
+
* A timed-out operation resets its worker, and resetting a presign or
|
|
11643
|
+
* derivation worker discards the state other ceremonies hold in it. Name the
|
|
11644
|
+
* operation that caused the reset.
|
|
11645
|
+
*/
|
|
11646
|
+
function warnWorkerOperationTimedOut(kind, type, timeoutMs) {
|
|
11647
|
+
console.warn("[WorkerTransport] operation timed out; resetting worker", {
|
|
11648
|
+
kind,
|
|
11649
|
+
type: String(type),
|
|
11650
|
+
timeoutMs
|
|
11651
|
+
});
|
|
11652
|
+
}
|
|
11704
11653
|
function makeId(prefix) {
|
|
11705
11654
|
return secureRandomId(prefix, 32, "signer worker request IDs");
|
|
11706
11655
|
}
|
|
@@ -11805,11 +11754,11 @@ var WorkerTransport = class {
|
|
|
11805
11754
|
return readiness.promise;
|
|
11806
11755
|
}
|
|
11807
11756
|
/**
|
|
11808
|
-
*
|
|
11809
|
-
*
|
|
11810
|
-
*
|
|
11811
|
-
*
|
|
11812
|
-
*
|
|
11757
|
+
* Initializes the ECDSA derivation and registration WASM inside the
|
|
11758
|
+
* derivation worker during the authentication prompt, so the first ceremony
|
|
11759
|
+
* call after auth does not pay module init (measured 654 ms cold vs 88 ms
|
|
11760
|
+
* warm on `ecdsaRegistrationClientCreateMs`). Fire-and-forget safe: failure
|
|
11761
|
+
* leaves the lazy init path exactly as it was.
|
|
11813
11762
|
*/
|
|
11814
11763
|
async prewarmEcdsaRegistrationCrypto() {
|
|
11815
11764
|
const existing = this.ecdsaRegistrationCryptoPrewarmPromise;
|
|
@@ -11921,6 +11870,7 @@ var WorkerTransport = class {
|
|
|
11921
11870
|
code: "TIMEOUT",
|
|
11922
11871
|
workerKind: "nearSigner"
|
|
11923
11872
|
}));
|
|
11873
|
+
warnWorkerOperationTimedOut("nearSigner", type, timeoutMs);
|
|
11924
11874
|
this.resetWorker("nearSigner");
|
|
11925
11875
|
try {
|
|
11926
11876
|
const seconds = Math.round(timeoutMs / 1e3);
|
|
@@ -11962,6 +11912,7 @@ var WorkerTransport = class {
|
|
|
11962
11912
|
code: "TIMEOUT",
|
|
11963
11913
|
workerKind: "ecdsaDerivationClient"
|
|
11964
11914
|
}));
|
|
11915
|
+
warnWorkerOperationTimedOut("ecdsaDerivationClient", type, timeoutMs);
|
|
11965
11916
|
this.resetWorker("ecdsaDerivationClient");
|
|
11966
11917
|
}, timeoutMs);
|
|
11967
11918
|
this.getPendingMap("ecdsaDerivationClient").set(requestId, {
|
|
@@ -11996,6 +11947,7 @@ var WorkerTransport = class {
|
|
|
11996
11947
|
code: "TIMEOUT",
|
|
11997
11948
|
workerKind: kind
|
|
11998
11949
|
}));
|
|
11950
|
+
warnWorkerOperationTimedOut(kind, request.type, timeoutMs);
|
|
11999
11951
|
this.resetWorker(kind);
|
|
12000
11952
|
}, timeoutMs);
|
|
12001
11953
|
this.getPendingMap(kind).set(requestId, {
|
|
@@ -13174,19 +13126,11 @@ function requireEd25519YaoClientRootEnvelopeV1(envelope) {
|
|
|
13174
13126
|
if (!isEd25519YaoClientRootEnvelopeV1(envelope)) throw new Error("[SigningEngine][ed25519-export] export envelope has the wrong secret kind");
|
|
13175
13127
|
return envelope;
|
|
13176
13128
|
}
|
|
13177
|
-
function requireRecord$2(value, label) {
|
|
13178
|
-
if (!value || typeof value !== "object" || Array.isArray(value)) throw new Error(`${label} must be an object`);
|
|
13179
|
-
return value;
|
|
13180
|
-
}
|
|
13181
13129
|
function requireExactKeys(record, expected, label) {
|
|
13182
13130
|
const actual = Object.keys(record).sort();
|
|
13183
13131
|
const keys = [...expected].sort();
|
|
13184
13132
|
if (actual.length !== keys.length || actual.some((key, index) => key !== keys[index])) throw new Error(`${label} fields are invalid`);
|
|
13185
13133
|
}
|
|
13186
|
-
function requireString$2(value, label) {
|
|
13187
|
-
if (typeof value !== "string" || value.trim() !== value || value.length === 0) throw new Error(`${label} is invalid`);
|
|
13188
|
-
return value;
|
|
13189
|
-
}
|
|
13190
13134
|
function requirePositiveInteger(value, label) {
|
|
13191
13135
|
if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 1) throw new Error(`${label} is invalid`);
|
|
13192
13136
|
return value;
|
|
@@ -13226,7 +13170,7 @@ async function readColdExportBootstrap(input) {
|
|
|
13226
13170
|
const failure = raw && typeof raw === "object" ? raw : null;
|
|
13227
13171
|
throw new Error(`[SigningEngine][ed25519-export] capability bootstrap failed (HTTP ${response.status}): ${String(failure?.message || "invalid response")}`);
|
|
13228
13172
|
}
|
|
13229
|
-
const record = requireRecord$
|
|
13173
|
+
const record = requireRecord$1(raw, "Ed25519 export bootstrap");
|
|
13230
13174
|
requireExactKeys(record, [
|
|
13231
13175
|
"kind",
|
|
13232
13176
|
"walletId",
|
|
@@ -13244,9 +13188,9 @@ async function readColdExportBootstrap(input) {
|
|
|
13244
13188
|
"capability"
|
|
13245
13189
|
], "Ed25519 export bootstrap");
|
|
13246
13190
|
if (record.kind !== "router_ab_ed25519_yao_v2_session_bootstrap_v1") throw new Error("Ed25519 export bootstrap kind is invalid");
|
|
13247
|
-
const walletId =
|
|
13248
|
-
const nearAccountId =
|
|
13249
|
-
const nearEd25519SigningKeyId =
|
|
13191
|
+
const walletId = requireCanonicalString(record.walletId, "bootstrap.walletId");
|
|
13192
|
+
const nearAccountId = requireCanonicalString(record.nearAccountId, "bootstrap.nearAccountId");
|
|
13193
|
+
const nearEd25519SigningKeyId = requireCanonicalString(record.nearEd25519SigningKeyId, "bootstrap.nearEd25519SigningKeyId");
|
|
13250
13194
|
const thresholdSessionId = parseThresholdEd25519SessionId(record.thresholdSessionId);
|
|
13251
13195
|
const walletSessionId = parseWalletSessionId(record.walletSessionId);
|
|
13252
13196
|
const quotaId = parseMpcWalletSigningQuotaId(record.quotaId);
|
|
@@ -13260,7 +13204,7 @@ async function readColdExportBootstrap(input) {
|
|
|
13260
13204
|
};
|
|
13261
13205
|
const participantIds = requireParticipantIds(record.participantIds);
|
|
13262
13206
|
const registeredPublicKeyB64u = base64UrlEncode(Uint8Array.from(capability.registeredPublicKey));
|
|
13263
|
-
if (!thresholdSessionId.ok || !walletSessionId.ok || !quotaId.ok || !signingRoot || !routerAbNormalSigning || walletId !== String(signer.account.wallet.walletId) || nearAccountId !== String(signer.account.nearAccountId) || nearEd25519SigningKeyId !== String(signer.nearEd25519SigningKeyId) || thresholdSessionId.value !== capability.lifecycle.thresholdSessionId || walletSessionId.value !== operationCredential.walletSessionId || quotaId.value !== input.authorization.record.quotaId || requirePositiveInteger(record.signerSlot, "bootstrap.signerSlot") !== signer.signerSlot ||
|
|
13207
|
+
if (!thresholdSessionId.ok || !walletSessionId.ok || !quotaId.ok || !signingRoot || !routerAbNormalSigning || walletId !== String(signer.account.wallet.walletId) || nearAccountId !== String(signer.account.nearAccountId) || nearEd25519SigningKeyId !== String(signer.nearEd25519SigningKeyId) || thresholdSessionId.value !== capability.lifecycle.thresholdSessionId || walletSessionId.value !== operationCredential.walletSessionId || quotaId.value !== input.authorization.record.quotaId || requirePositiveInteger(record.signerSlot, "bootstrap.signerSlot") !== signer.signerSlot || requireCanonicalString(record.signingWorkerId, "bootstrap.signingWorkerId") !== binding.signingWorkerId || participantIds[0] !== binding.participantIds[0] || participantIds[1] !== binding.participantIds[1] || authority.factor.providerUserId !== input.subject.auth.providerSubjectId || registeredPublicKeyB64u !== binding.registeredPublicKeyB64u || !mpcMaterialActivationRefsEqual(capability.materialActivation, input.expectedMaterialActivation)) throw new Error("[SigningEngine][ed25519-export] capability bootstrap identity mismatch");
|
|
13264
13208
|
return {
|
|
13265
13209
|
emailHashHex: authority.verifier.emailHashHex,
|
|
13266
13210
|
bootstrap: {
|
|
@@ -13333,7 +13277,7 @@ async function readLinkedExportCapability(input) {
|
|
|
13333
13277
|
const failure = raw && typeof raw === "object" ? raw : null;
|
|
13334
13278
|
throw new Error(`[SigningEngine][ed25519-export] linked capability bootstrap failed (HTTP ${response.status}): ${String(failure?.message || "invalid response")}`);
|
|
13335
13279
|
}
|
|
13336
|
-
const record = requireRecord$
|
|
13280
|
+
const record = requireRecord$1(raw, "linked Ed25519 export bootstrap");
|
|
13337
13281
|
requireExactKeys(record, [
|
|
13338
13282
|
"kind",
|
|
13339
13283
|
"walletId",
|
|
@@ -13362,7 +13306,7 @@ async function readLinkedExportCapability(input) {
|
|
|
13362
13306
|
};
|
|
13363
13307
|
const participantIds = requireParticipantIds(record.participantIds);
|
|
13364
13308
|
const registeredPublicKeyB64u = base64UrlEncode(Uint8Array.from(capability.registeredPublicKey));
|
|
13365
|
-
if (!thresholdSessionId.ok || !walletSessionId.ok || !quotaId.ok || !runtimePolicyScope || !routerAbNormalSigning ||
|
|
13309
|
+
if (!thresholdSessionId.ok || !walletSessionId.ok || !quotaId.ok || !runtimePolicyScope || !routerAbNormalSigning || requireCanonicalString(record.walletId, "bootstrap.walletId") !== String(signer.account.wallet.walletId) || requireCanonicalString(record.nearAccountId, "bootstrap.nearAccountId") !== String(signer.account.nearAccountId) || requireCanonicalString(record.nearEd25519SigningKeyId, "bootstrap.nearEd25519SigningKeyId") !== String(signer.nearEd25519SigningKeyId) || requirePositiveInteger(record.signerSlot, "bootstrap.signerSlot") !== signer.signerSlot || thresholdSessionId.value !== capability.lifecycle.thresholdSessionId || walletSessionId.value !== operationCredential.walletSessionId || quotaId.value !== input.authorization.record.quotaId || requireCanonicalString(record.signingWorkerId, "bootstrap.signingWorkerId") !== input.source.signingWorkerId || participantIds[0] !== input.source.participantIds[0] || participantIds[1] !== input.source.participantIds[1] || registeredPublicKeyB64u !== input.source.registeredPublicKeyB64u || !mpcMaterialActivationRefsEqual(capability.materialActivation, input.expectedMaterialActivation)) throw new Error("[SigningEngine][ed25519-export] linked capability identity mismatch");
|
|
13366
13310
|
return capability;
|
|
13367
13311
|
}
|
|
13368
13312
|
function countExactEd25519ExportSubjects(subjects, expectedMaterialActivation) {
|
|
@@ -13697,7 +13641,7 @@ async function readPersistedAvailableSigningLanes$1(deps, args, ecdsaChainTarget
|
|
|
13697
13641
|
}, new WalletSessionStatusReadScope());
|
|
13698
13642
|
}
|
|
13699
13643
|
/**
|
|
13700
|
-
*
|
|
13644
|
+
* Human operational read: lanes for one exact owner. The auth-method
|
|
13701
13645
|
* narrowing and the owner filter both derive from the scope — callers supply
|
|
13702
13646
|
* nothing the scope does not already carry.
|
|
13703
13647
|
*/
|
|
@@ -14008,7 +13952,7 @@ async function discoverPersistedSessionsForWallet(deps, args) {
|
|
|
14008
13952
|
async function readPersistedAvailableSigningLanes(deps, args) {
|
|
14009
13953
|
return await readPersistedAvailableSigningLanes$1(deps.availableLanes, args, deps.getConfiguredEcdsaChainTargets());
|
|
14010
13954
|
}
|
|
14011
|
-
/**
|
|
13955
|
+
/** Human operational read: one exact owner, configured ECDSA targets. */
|
|
14012
13956
|
async function readOwnerScopedSigningLanes(deps, args, statusReads) {
|
|
14013
13957
|
return await readOwnerScopedAvailableSigningLanes(deps.availableLanes, {
|
|
14014
13958
|
walletId: args.walletId,
|
|
@@ -14890,7 +14834,7 @@ async function resolveEcdsaAuthorizationForResolution(args) {
|
|
|
14890
14834
|
}
|
|
14891
14835
|
/** The PRF claim for a resolved ECDSA capability. Correlation has already proved
|
|
14892
14836
|
* the material, so the claim is the sealed runtime's own allowance and expiry --
|
|
14893
|
-
* the same facts the shared
|
|
14837
|
+
* the same facts the shared runtime-policy rule classifies. A blocked resolution
|
|
14894
14838
|
* has no runtime and so no claim to report.
|
|
14895
14839
|
*
|
|
14896
14840
|
* The wallet-scoped relayer claim is not consulted here. It is read by lane, and
|
|
@@ -17435,7 +17379,7 @@ async function noWalletPasskeyAuthenticator() {
|
|
|
17435
17379
|
return null;
|
|
17436
17380
|
}
|
|
17437
17381
|
/**
|
|
17438
|
-
*
|
|
17382
|
+
* The active wallet auth-method store is the one source that resolves
|
|
17439
17383
|
* an authority reference to its full authority. Sealed-session restores and
|
|
17440
17384
|
* loose authenticator lists are history and hints; matching against them let
|
|
17441
17385
|
* a stale or sibling credential answer for the active authority.
|
|
@@ -17610,14 +17554,22 @@ async function readBrowserExactNearEd25519WalletSessionAuthorization(relayerUrlI
|
|
|
17610
17554
|
const authorizationNowMs = Date.now();
|
|
17611
17555
|
if (status.authorization.expiresAtMs <= authorizationNowMs) return { kind: "expired" };
|
|
17612
17556
|
if (status.walletSessionId !== exactRead.operationCredential.walletSessionId || status.quotaId !== exactRead.record.quotaId || status.expiresAtMs !== status.authorization.expiresAtMs || !walletSessionImmutableIdentityMatches(status.authorization, exactRead.record) || !walletSessionMatchesSelectedAuthority(status.authorization, currentSelected)) return { kind: "corrupt" };
|
|
17557
|
+
let replaced;
|
|
17613
17558
|
try {
|
|
17614
|
-
await
|
|
17559
|
+
replaced = await IndexedDBManager.replaceExactActiveWalletSessionFromStatus({
|
|
17615
17560
|
active: status.authorization,
|
|
17616
17561
|
operationCredential: exactRead.operationCredential
|
|
17617
17562
|
});
|
|
17618
17563
|
} catch {
|
|
17619
17564
|
return { kind: "persistence_unavailable" };
|
|
17620
17565
|
}
|
|
17566
|
+
if (replaced.kind === "superseded") {
|
|
17567
|
+
emitSigningSessionFlowTrace("near", {
|
|
17568
|
+
event: "wallet_session_status_superseded",
|
|
17569
|
+
walletSessionId: exactRead.operationCredential.walletSessionId
|
|
17570
|
+
});
|
|
17571
|
+
return { kind: "unavailable" };
|
|
17572
|
+
}
|
|
17621
17573
|
let selectedFactorAuthority;
|
|
17622
17574
|
try {
|
|
17623
17575
|
selectedFactorAuthority = await resolveBrowserSelectedFactorAuthority(currentSelected);
|
|
@@ -17804,8 +17756,9 @@ async function resolveBrowserEcdsaPreprocessingCapability(args, input, statusRea
|
|
|
17804
17756
|
kind: "inactive",
|
|
17805
17757
|
reason: "Exact Wallet Session authorization is expired"
|
|
17806
17758
|
};
|
|
17759
|
+
let replaced;
|
|
17807
17760
|
try {
|
|
17808
|
-
await
|
|
17761
|
+
replaced = await IndexedDBManager.replaceExactActiveWalletSessionFromStatus({
|
|
17809
17762
|
active: status.authorization,
|
|
17810
17763
|
operationCredential: exactAuthorization.operationCredential
|
|
17811
17764
|
});
|
|
@@ -17815,6 +17768,16 @@ async function resolveBrowserEcdsaPreprocessingCapability(args, input, statusRea
|
|
|
17815
17768
|
reason: "Exact Wallet Session promotion reconciliation could not be persisted"
|
|
17816
17769
|
};
|
|
17817
17770
|
}
|
|
17771
|
+
if (replaced.kind === "superseded") {
|
|
17772
|
+
emitSigningSessionFlowTrace("evm-family", {
|
|
17773
|
+
event: "wallet_session_status_superseded",
|
|
17774
|
+
walletSessionId: exactAuthorization.operationCredential.walletSessionId
|
|
17775
|
+
});
|
|
17776
|
+
return {
|
|
17777
|
+
kind: "inactive",
|
|
17778
|
+
reason: "Exact Wallet Session status was superseded by a newer wallet authority"
|
|
17779
|
+
};
|
|
17780
|
+
}
|
|
17818
17781
|
const authorizationResolution = await buildBrowserEcdsaPreprocessingCapability({
|
|
17819
17782
|
context: args,
|
|
17820
17783
|
walletId,
|
|
@@ -17895,7 +17858,7 @@ async function resolveAmbiguousEcdsaActivationForSelectedAuthMethod(input) {
|
|
|
17895
17858
|
authority: chosen
|
|
17896
17859
|
});
|
|
17897
17860
|
}
|
|
17898
|
-
async function resolveBrowserCanonicalEcdsaSigningCapability(
|
|
17861
|
+
async function resolveBrowserCanonicalEcdsaSigningCapability(_args, input) {
|
|
17899
17862
|
const walletId = toWalletId(input.walletId);
|
|
17900
17863
|
const subjects = await ecdsaCapabilityManifestStore$2.listActiveWalletCapabilitySubjects(walletId);
|
|
17901
17864
|
if (subjects.kind !== "resolved") throw new Error(`ECDSA capability subjects are ${subjects.kind}`);
|
|
@@ -20116,7 +20079,7 @@ function buildExportChallengeRoutePlan(ports, args) {
|
|
|
20116
20079
|
});
|
|
20117
20080
|
}
|
|
20118
20081
|
}
|
|
20119
|
-
function buildEcdsaExportVerificationRoutePlan(
|
|
20082
|
+
function buildEcdsaExportVerificationRoutePlan(_authorization) {
|
|
20120
20083
|
return buildEmailOtpRoutePlan({
|
|
20121
20084
|
routeFamily: "login",
|
|
20122
20085
|
operation: WALLET_EMAIL_OTP_EXPORT_OPERATION
|
|
@@ -20309,15 +20272,6 @@ var EmailOtpExportRecoveryRuntime = class {
|
|
|
20309
20272
|
buildSigningSessionRoutePlan: buildEmailOtpSigningSessionRoutePlan
|
|
20310
20273
|
};
|
|
20311
20274
|
}
|
|
20312
|
-
signingSessionWorkerPorts() {
|
|
20313
|
-
return {
|
|
20314
|
-
getSignerWorkerContext: this.ports.getSignerWorkerContext,
|
|
20315
|
-
requireRelayUrl: this.ports.requireRelayUrl,
|
|
20316
|
-
requireSigningSessionSealGroupId: this.ports.requireSigningSessionSealGroupId,
|
|
20317
|
-
resolveSelectedWalletAuthority: this.ports.resolveSelectedWalletAuthority,
|
|
20318
|
-
buildSigningSessionRoutePlan: buildEmailOtpSigningSessionRoutePlan
|
|
20319
|
-
};
|
|
20320
|
-
}
|
|
20321
20275
|
};
|
|
20322
20276
|
//#endregion
|
|
20323
20277
|
//#region src/core/signingEngine/session/emailOtp/runtimeConfig.ts
|
|
@@ -20386,33 +20340,6 @@ var EmailOtpSealedRefreshPolicy = class {
|
|
|
20386
20340
|
chainTarget: purpose.chainTarget
|
|
20387
20341
|
};
|
|
20388
20342
|
}
|
|
20389
|
-
/** Corrupt persisted state or explicit user removal only. Expiry and
|
|
20390
|
-
* exhaustion never reach here. */
|
|
20391
|
-
async deleteEmailOtpDurableSealedSessionRecord(args) {
|
|
20392
|
-
const thresholdSessionId = String(args.purpose.thresholdSessionId || "").trim();
|
|
20393
|
-
if (!thresholdSessionId) {
|
|
20394
|
-
this.ports.clearEcdsaRestoreCaches();
|
|
20395
|
-
return;
|
|
20396
|
-
}
|
|
20397
|
-
const command = createDeleteDurableSealedSessionCommand({
|
|
20398
|
-
durableRecord: {
|
|
20399
|
-
authMethod: "email_otp",
|
|
20400
|
-
curve: "ecdsa",
|
|
20401
|
-
thresholdSessionId,
|
|
20402
|
-
chainTarget: args.purpose.chainTarget
|
|
20403
|
-
},
|
|
20404
|
-
deleteReason: args.deleteReason,
|
|
20405
|
-
preserveResolvedIdentity: false
|
|
20406
|
-
});
|
|
20407
|
-
await this.ports.deleteDurableSealedSessionRecord(command).catch(() => void 0);
|
|
20408
|
-
this.ports.clearEcdsaRestoreCaches();
|
|
20409
|
-
}
|
|
20410
|
-
async recordSessionMaterialClaimed(purpose, result) {
|
|
20411
|
-
await this.recordSessionPolicyResult({
|
|
20412
|
-
purpose,
|
|
20413
|
-
result
|
|
20414
|
-
});
|
|
20415
|
-
}
|
|
20416
20343
|
async recordSessionUseConsumed(purpose, result) {
|
|
20417
20344
|
await this.recordSessionPolicyResult({
|
|
20418
20345
|
purpose,
|
|
@@ -20809,7 +20736,6 @@ function warmSessionMaterialTarget(target) {
|
|
|
20809
20736
|
//#region src/core/signingEngine/session/emailOtp/coordinatorRuntime.ts
|
|
20810
20737
|
var EmailOtpWalletSessionRuntime = class {
|
|
20811
20738
|
constructor(deps) {
|
|
20812
|
-
this.deps = deps;
|
|
20813
20739
|
this.sealedRefreshDiagnosticLogAtMsByKey = /* @__PURE__ */ new Map();
|
|
20814
20740
|
this.runtimeConfig = new EmailOtpRuntimeConfig({
|
|
20815
20741
|
configs: deps.configs,
|
|
@@ -20856,7 +20782,6 @@ var EmailOtpWalletSessionRuntime = class {
|
|
|
20856
20782
|
});
|
|
20857
20783
|
const warmSessionWorkerClient = createEmailOtpWarmSessionWorkerClient({ worker: deps.signerWorkerManager });
|
|
20858
20784
|
this.sealedRefreshPolicy = new EmailOtpSealedRefreshPolicy({
|
|
20859
|
-
deleteDurableSealedSessionRecord: deps.deleteDurableSealedSessionRecord,
|
|
20860
20785
|
updateExactSealedSessionPolicy: deps.updateExactSealedSessionPolicy,
|
|
20861
20786
|
clearEcdsaRestoreCaches: () => this.clearEcdsaRestoreCaches()
|
|
20862
20787
|
});
|
|
@@ -21006,7 +20931,6 @@ function createStepUpRuntime(args) {
|
|
|
21006
20931
|
listExactSealedSessionsForWallet: args.sealedSessionStore.listExactSealedSessionsForWallet,
|
|
21007
20932
|
acquireSigningSessionRestoreLease: args.sealedSessionStore.acquireSigningSessionRestoreLease,
|
|
21008
20933
|
releaseSigningSessionRestoreLease: args.sealedSessionStore.releaseSigningSessionRestoreLease,
|
|
21009
|
-
deleteDurableSealedSessionRecord: args.sealedSessionStore.deleteDurableSealedSessionRecord,
|
|
21010
20934
|
updateExactSealedSessionPolicy: args.sealedSessionStore.updateExactSealedSessionPolicy
|
|
21011
20935
|
});
|
|
21012
20936
|
const passkeyMpcSession = createWarmSessionAwarePasskeyMpcSession({
|
|
@@ -22403,11 +22327,9 @@ var BrowserSigningSurface = class {
|
|
|
22403
22327
|
getNearSigningDeps: () => this.enginePorts.nearSigningDeps,
|
|
22404
22328
|
getEvmFamilySigningDeps: () => this.enginePorts.tempoSigningDeps
|
|
22405
22329
|
});
|
|
22406
|
-
this.signingRuntime = signingRuntime;
|
|
22407
22330
|
runtimePortsForUiConfirm.current = signingRuntime.runtimePorts;
|
|
22408
22331
|
const ecdsaExportArtifactStore = signingRuntime.state.ecdsaSessions;
|
|
22409
22332
|
this.runtimePorts = signingRuntime.runtimePorts;
|
|
22410
|
-
this.thresholdEcdsaExportArtifactByLane = signingRuntime.state.ecdsaSessions.exportArtifactsByLane;
|
|
22411
22333
|
const stepUpRuntime = createBrowserStepUpRuntime({
|
|
22412
22334
|
seamsWebConfigs: this.seamsWebConfigs,
|
|
22413
22335
|
touchIdPrompt: this.touchIdPrompt,
|
|
@@ -22858,9 +22780,6 @@ var BrowserSigningSurface = class {
|
|
|
22858
22780
|
throw new Error("Unsupported Ed25519 public capability auth method");
|
|
22859
22781
|
}
|
|
22860
22782
|
}
|
|
22861
|
-
hasActiveNearEd25519YaoMaterial(args) {
|
|
22862
|
-
return this.enginePorts.ed25519YaoActiveClients.resolve(args) !== null;
|
|
22863
|
-
}
|
|
22864
22783
|
async readPersistedAvailableSigningLanes(args) {
|
|
22865
22784
|
return await readPersistedAvailableSigningLanes(this.sessionPublicDeps, args);
|
|
22866
22785
|
}
|
|
@@ -22993,15 +22912,16 @@ var BrowserSigningSurface = class {
|
|
|
22993
22912
|
return { requestOperation: requestWalletCustodyCeremonyOperation.bind(void 0, workerContext) };
|
|
22994
22913
|
}
|
|
22995
22914
|
/**
|
|
22996
|
-
*
|
|
22997
|
-
*
|
|
22998
|
-
*
|
|
22999
|
-
*
|
|
23000
|
-
*
|
|
22915
|
+
* Parks the wallet custody seed inside the ceremony worker for the lifetime of
|
|
22916
|
+
* the just-activated owner Wallet Session, reusing the factor secret this
|
|
22917
|
+
* registration or unlock already collected. Failure is absorbed: the wallet
|
|
22918
|
+
* stays usable, and device linking fails closed with `wallet_unlock_required`
|
|
22919
|
+
* until the next unlock.
|
|
23001
22920
|
*/
|
|
23002
22921
|
async establishUnlockedWalletEd25519ExportRootCapabilityV1(input) {
|
|
23003
22922
|
try {
|
|
23004
|
-
|
|
22923
|
+
const binding = input.existingEnvelope.binding;
|
|
22924
|
+
if (!isWalletCustodySeedBinding(binding) && binding.kind !== "ed25519_yao_client_root_v1") return;
|
|
23005
22925
|
if (input.existingEnvelope.factor.kind !== "passkey") throw new Error("unlocked export-root capability requires a passkey envelope factor");
|
|
23006
22926
|
const existingFactorSecret = base64UrlDecode(input.passkeyPrfFirstB64u);
|
|
23007
22927
|
try {
|
|
@@ -23021,7 +22941,7 @@ var BrowserSigningSurface = class {
|
|
|
23021
22941
|
}
|
|
23022
22942
|
}
|
|
23023
22943
|
/**
|
|
23024
|
-
* Stores
|
|
22944
|
+
* Stores the reseal of an unbound envelope under the method that opened it.
|
|
23025
22945
|
*
|
|
23026
22946
|
* Absorbed the same way establishment is, and for the same reason: the V2 row
|
|
23027
22947
|
* still opens the wallet, so a failure here costs a retry at the next unlock
|
|
@@ -24811,8 +24731,8 @@ var BrowserSigningSurface = class {
|
|
|
24811
24731
|
}, args.walletSession, args.providerSubjectId, activation);
|
|
24812
24732
|
}
|
|
24813
24733
|
/**
|
|
24814
|
-
*
|
|
24815
|
-
*
|
|
24734
|
+
* What an owner authority needs to have its Ed25519 runtime built inside the
|
|
24735
|
+
* unlock that verifies its factor.
|
|
24816
24736
|
*
|
|
24817
24737
|
* Assembled here rather than by the caller because every field is read off
|
|
24818
24738
|
* the exact authority projection - the identity, its runtime policy scope,
|
|
@@ -24854,7 +24774,7 @@ var BrowserSigningSurface = class {
|
|
|
24854
24774
|
};
|
|
24855
24775
|
}
|
|
24856
24776
|
/**
|
|
24857
|
-
*
|
|
24777
|
+
* Activate the runtime an owner authority's unlock built.
|
|
24858
24778
|
*
|
|
24859
24779
|
* The identity it is checked against comes from the same authority projection
|
|
24860
24780
|
* that produced the unlock request, not from the bootstrap being checked -
|
|
@@ -25240,8 +25160,8 @@ async function persistFinalizedPasskeyAuthMethodV1(args) {
|
|
|
25240
25160
|
await IndexedDBManager.upsertWalletAuthMethod(localPasskeyAuthMethodFromFinalizeV1(args));
|
|
25241
25161
|
}
|
|
25242
25162
|
/**
|
|
25243
|
-
*
|
|
25244
|
-
*
|
|
25163
|
+
* The full local install for a passkey added to a wallet that registered with
|
|
25164
|
+
* another family.
|
|
25245
25165
|
*
|
|
25246
25166
|
* Three records, and unlock needs all of them. It reads the profile, then the
|
|
25247
25167
|
* profile's authenticators, then keeps only those whose credential belongs to
|
|
@@ -25482,7 +25402,7 @@ async function linkWalletPasskeyCustody(input) {
|
|
|
25482
25402
|
//#endregion
|
|
25483
25403
|
//#region src/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.ts
|
|
25484
25404
|
/**
|
|
25485
|
-
*
|
|
25405
|
+
* The source claim a same-device addition puts in its intent.
|
|
25486
25406
|
*
|
|
25487
25407
|
* The intent digest is what the fresh source proof signs, so every identity the
|
|
25488
25408
|
* proof is meant to bind has to be inside it. The server resolves the true
|
|
@@ -25675,7 +25595,7 @@ async function addPasskeyWalletAuthMethodInternal(args) {
|
|
|
25675
25595
|
}
|
|
25676
25596
|
}
|
|
25677
25597
|
/**
|
|
25678
|
-
*
|
|
25598
|
+
* The `email_otp_to_passkey` addition branch.
|
|
25679
25599
|
*
|
|
25680
25600
|
* The Email OTP method that already unlocks this wallet authorizes adding a
|
|
25681
25601
|
* passkey. Three things stay exactly as they are in the Passkey-source branch,
|
|
@@ -25797,7 +25717,7 @@ async function addPasskeyWalletAuthMethod(args) {
|
|
|
25797
25717
|
//#endregion
|
|
25798
25718
|
//#region src/SeamsWeb/operations/authMethods/revokeAuthMethod.ts
|
|
25799
25719
|
/**
|
|
25800
|
-
*
|
|
25720
|
+
* Remove one auth method using a different active one.
|
|
25801
25721
|
*
|
|
25802
25722
|
* The inverse of the two addition branches, and the reason they are safe to
|
|
25803
25723
|
* offer: a wallet that can gain a second way in must be able to lose one it no
|
|
@@ -25987,8 +25907,8 @@ async function revokeWalletAuthMethodOperation(args) {
|
|
|
25987
25907
|
//#endregion
|
|
25988
25908
|
//#region src/core/signingEngine/walletCustody/emailOtpLink.ts
|
|
25989
25909
|
/**
|
|
25990
|
-
*
|
|
25991
|
-
*
|
|
25910
|
+
* Sealing the wallet's existing custody seed under a newly verified
|
|
25911
|
+
* Email OTP factor.
|
|
25992
25912
|
*
|
|
25993
25913
|
* The mirror of `passkeyLink`, and deliberately the same shape: open the source
|
|
25994
25914
|
* envelope with the factor secret the caller already collected, reseal the same
|
|
@@ -26361,7 +26281,7 @@ function warnIfSameOriginWallet(walletOrigin) {
|
|
|
26361
26281
|
}
|
|
26362
26282
|
async function createWalletIframeRouter(args) {
|
|
26363
26283
|
warnIfSameOriginWallet(args.walletOrigin);
|
|
26364
|
-
const { WalletIframeRouter } = await import("./router-
|
|
26284
|
+
const { WalletIframeRouter } = await import("./router-C5lF_J_u.js");
|
|
26365
26285
|
const signingSessionPersistenceMode = args.configs.signing.sessionPersistenceMode;
|
|
26366
26286
|
return new WalletIframeRouter({
|
|
26367
26287
|
walletOrigin: args.walletOrigin,
|
|
@@ -26662,12 +26582,12 @@ function createSigningRuntimeStatePorts() {
|
|
|
26662
26582
|
}
|
|
26663
26583
|
function createSigningRuntime(deps) {
|
|
26664
26584
|
const getWarmSessions = memoizeService(async () => {
|
|
26665
|
-
const { createWarmSessionHydrationService } = await import("./warmSessionHydration-
|
|
26585
|
+
const { createWarmSessionHydrationService } = await import("./warmSessionHydration-Os8niEm7.js");
|
|
26666
26586
|
return createWarmSessionHydrationService({ getWarmSessionMaterialWriter: deps.ui.warmSessions.getWarmSessionMaterialWriter });
|
|
26667
26587
|
});
|
|
26668
26588
|
const warmSessions = { hydrateSigningSession: async (input) => (await getWarmSessions()).hydrateSigningSession(input) };
|
|
26669
26589
|
const getRegistrationAccounts = memoizeService(async () => {
|
|
26670
|
-
const { createRegistrationAccountsService } = await import("./registrationAccounts-
|
|
26590
|
+
const { createRegistrationAccountsService } = await import("./registrationAccounts-CKku_Sgy.js");
|
|
26671
26591
|
return createRegistrationAccountsService(deps.registration.accountLifecycle);
|
|
26672
26592
|
});
|
|
26673
26593
|
const registrationAccounts = {
|
|
@@ -26691,7 +26611,7 @@ function createSigningRuntime(deps) {
|
|
|
26691
26611
|
rollbackWalletEd25519SignerRegistration: async (receipt) => (await getRegistrationAccounts()).rollbackWalletEd25519SignerRegistration(receipt)
|
|
26692
26612
|
};
|
|
26693
26613
|
const getEcdsaWalletRecords = memoizeService(async () => {
|
|
26694
|
-
const { createEcdsaWalletRecordsService } = await import("./ecdsaWalletRecords-
|
|
26614
|
+
const { createEcdsaWalletRecordsService } = await import("./ecdsaWalletRecords-Cz4m6bIz.js");
|
|
26695
26615
|
return createEcdsaWalletRecordsService({ accountLifecycle: deps.registration.accountLifecycle });
|
|
26696
26616
|
});
|
|
26697
26617
|
const ecdsaWalletRecords = {
|
|
@@ -26702,32 +26622,32 @@ function createSigningRuntime(deps) {
|
|
|
26702
26622
|
storeWalletEmailOtpEcdsaRegistrationData: async (input) => (await getEcdsaWalletRecords()).storeWalletEmailOtpEcdsaRegistrationData(input)
|
|
26703
26623
|
};
|
|
26704
26624
|
const nearSigning = { signNear: async (request) => {
|
|
26705
|
-
const { signNear } = await import("./signNear-
|
|
26625
|
+
const { signNear } = await import("./signNear-Bblwn2kT.js").then((n) => n.n);
|
|
26706
26626
|
return signNear(deps.signing.near.getDeps(), request);
|
|
26707
26627
|
} };
|
|
26708
26628
|
const evmFamilySigning = {
|
|
26709
26629
|
signEvmFamily: async (args) => {
|
|
26710
|
-
const { signEvmFamily } = await import("./signEvmFamily-
|
|
26630
|
+
const { signEvmFamily } = await import("./signEvmFamily-e4IWWsZs.js").then((n) => n.s);
|
|
26711
26631
|
return signEvmFamily(deps.signing.evmFamily.getDeps(), args);
|
|
26712
26632
|
},
|
|
26713
26633
|
reportTempoBroadcastAccepted: async (args) => {
|
|
26714
|
-
const { reportTempoBroadcastAccepted } = await import("./signEvmFamily-
|
|
26634
|
+
const { reportTempoBroadcastAccepted } = await import("./signEvmFamily-e4IWWsZs.js").then((n) => n.s);
|
|
26715
26635
|
return reportTempoBroadcastAccepted(deps.signing.evmFamily.getDeps(), args);
|
|
26716
26636
|
},
|
|
26717
26637
|
reportTempoBroadcastRejected: async (args) => {
|
|
26718
|
-
const { reportTempoBroadcastRejected } = await import("./signEvmFamily-
|
|
26638
|
+
const { reportTempoBroadcastRejected } = await import("./signEvmFamily-e4IWWsZs.js").then((n) => n.s);
|
|
26719
26639
|
return reportTempoBroadcastRejected(deps.signing.evmFamily.getDeps(), args);
|
|
26720
26640
|
},
|
|
26721
26641
|
reportTempoFinalized: async (args) => {
|
|
26722
|
-
const { reportTempoFinalized } = await import("./signEvmFamily-
|
|
26642
|
+
const { reportTempoFinalized } = await import("./signEvmFamily-e4IWWsZs.js").then((n) => n.s);
|
|
26723
26643
|
return reportTempoFinalized(deps.signing.evmFamily.getDeps(), args);
|
|
26724
26644
|
},
|
|
26725
26645
|
reportTempoDroppedOrReplaced: async (args) => {
|
|
26726
|
-
const { reportTempoDroppedOrReplaced } = await import("./signEvmFamily-
|
|
26646
|
+
const { reportTempoDroppedOrReplaced } = await import("./signEvmFamily-e4IWWsZs.js").then((n) => n.s);
|
|
26727
26647
|
return reportTempoDroppedOrReplaced(deps.signing.evmFamily.getDeps(), args);
|
|
26728
26648
|
},
|
|
26729
26649
|
reconcileTempoNonceLane: async (args) => {
|
|
26730
|
-
const { reconcileTempoNonceLane } = await import("./signEvmFamily-
|
|
26650
|
+
const { reconcileTempoNonceLane } = await import("./signEvmFamily-e4IWWsZs.js").then((n) => n.s);
|
|
26731
26651
|
return reconcileTempoNonceLane(deps.signing.evmFamily.getDeps(), args);
|
|
26732
26652
|
}
|
|
26733
26653
|
};
|
|
@@ -26806,7 +26726,6 @@ function createBrowserSigningStores(indexedDB) {
|
|
|
26806
26726
|
listEcdsaSealedSessionsForWallet,
|
|
26807
26727
|
acquireSigningSessionRestoreLease,
|
|
26808
26728
|
releaseSigningSessionRestoreLease,
|
|
26809
|
-
deleteDurableSealedSessionRecord,
|
|
26810
26729
|
updateExactSealedSessionPolicy
|
|
26811
26730
|
},
|
|
26812
26731
|
ed25519YaoPublicCapabilityReferences: new IndexedDbEd25519YaoPublicCapabilityReferenceStore(indexedDB)
|
|
@@ -27803,27 +27722,6 @@ function walletAuthMethodBindingFromRecord(record) {
|
|
|
27803
27722
|
default: return null;
|
|
27804
27723
|
}
|
|
27805
27724
|
}
|
|
27806
|
-
async function exactPasskeyWalletAuthMethodForCredential(args) {
|
|
27807
|
-
const matches = (await IndexedDBManager.listWalletAuthMethodsV2ForWallet(String(args.walletId))).filter((record) => record.kind === "passkey" && record.status === "active" && record.walletId === args.walletId && String(record.rpId) === args.rpId && String(record.credentialIdB64u) === args.credentialIdB64u);
|
|
27808
|
-
const [record] = matches;
|
|
27809
|
-
if (matches.length !== 1 || !record) throw new Error("[login] passkey authority requires one exact active V2 auth method");
|
|
27810
|
-
return record;
|
|
27811
|
-
}
|
|
27812
|
-
async function exactPasskeyWalletAuthAuthorityRefForCredential(args) {
|
|
27813
|
-
const record = await exactPasskeyWalletAuthMethodForCredential(args);
|
|
27814
|
-
return await walletAuthAuthorityRef({ authority: {
|
|
27815
|
-
walletId: record.walletId,
|
|
27816
|
-
factor: {
|
|
27817
|
-
kind: "passkey",
|
|
27818
|
-
credentialIdB64u: record.credentialIdB64u
|
|
27819
|
-
},
|
|
27820
|
-
verifier: {
|
|
27821
|
-
kind: "webauthn",
|
|
27822
|
-
rpId: record.rpId
|
|
27823
|
-
},
|
|
27824
|
-
bindingId: record.walletAuthMethodId
|
|
27825
|
-
} });
|
|
27826
|
-
}
|
|
27827
27725
|
function walletAuthAuthorityForSelectedPasskeyMethod(record) {
|
|
27828
27726
|
return {
|
|
27829
27727
|
walletId: record.walletId,
|
|
@@ -28951,7 +28849,7 @@ async function activateLinkedDeviceSignerRuntimesAfterLink(args) {
|
|
|
28951
28849
|
walletSessionId: String(args.operationCredential.walletSessionId),
|
|
28952
28850
|
expiresAtMs: args.walletSession.expiresAtMs
|
|
28953
28851
|
});
|
|
28954
|
-
else if (isWalletCustodySeedBinding(selection.exportRoot.envelope.binding)) await establishUnlockedWalletEd25519ExportRootCapabilityV1(walletCustodyCeremonyTransportFromWorkerContextV1(args.context.signingEngine.getSignerWorkerContext()), {
|
|
28852
|
+
else if (isWalletCustodySeedBinding(selection.exportRoot.envelope.binding) || selection.exportRoot.envelope.binding.kind === "ed25519_yao_client_root_v1") await establishUnlockedWalletEd25519ExportRootCapabilityV1(walletCustodyCeremonyTransportFromWorkerContextV1(args.context.signingEngine.getSignerWorkerContext()), {
|
|
28955
28853
|
existingEnvelope: selection.exportRoot.envelope,
|
|
28956
28854
|
existingFactorSecret: args.factorSecret32,
|
|
28957
28855
|
walletId: String(selection.walletId),
|
|
@@ -29188,7 +29086,7 @@ function pendingNearRegistrationMatchesAuthority(selection, activation, pending)
|
|
|
29188
29086
|
return pending.operation === "near_provisioning" && pending.phase === "joined" && pending.signerPlanKind === "near_ed25519_and_evm_family_ecdsa" && pending.walletId === selection.walletId && pending.walletAuthMethodId === selection.authMethod.walletAuthMethodId && mpcMaterialActivationRefsEqual(pending.localMaterial.ed25519.metadata.materialActivation, activation);
|
|
29189
29087
|
}
|
|
29190
29088
|
/**
|
|
29191
|
-
*
|
|
29089
|
+
* Install the Ed25519 runtime an owner authority's unlock just built.
|
|
29192
29090
|
*
|
|
29193
29091
|
* Everything is checked against the authority and method that were selected,
|
|
29194
29092
|
* before the handle is used: a session naming a different method, or a
|
|
@@ -29574,7 +29472,7 @@ async function unlockLinkedDevicePasskey(context, walletIdInput, options) {
|
|
|
29574
29472
|
});
|
|
29575
29473
|
}
|
|
29576
29474
|
}
|
|
29577
|
-
async function unlockInternal(context, subjectSet, options,
|
|
29475
|
+
async function unlockInternal(context, subjectSet, options, _completion) {
|
|
29578
29476
|
const { onEvent, onError, afterCall } = options || {};
|
|
29579
29477
|
const { signingEngine } = context;
|
|
29580
29478
|
const walletUnlockSelection = resolveLoginWalletUnlockSelectionForSubjectSet({
|
|
@@ -29723,10 +29621,6 @@ async function unlockInternal(context, subjectSet, options, completion) {
|
|
|
29723
29621
|
identity: walletIdentity,
|
|
29724
29622
|
context: storedCanonicalEcdsaContext
|
|
29725
29623
|
});
|
|
29726
|
-
buildConfiguredTargetKeyCompletion({
|
|
29727
|
-
context: storedCanonicalEcdsaContext,
|
|
29728
|
-
configuredTargets: warmupInput.selectedEcdsaTargets
|
|
29729
|
-
});
|
|
29730
29624
|
const canFirstBootstrapThresholdEcdsa = Boolean(managedRuntimeScopeBootstrap);
|
|
29731
29625
|
const warmupPlan = resolveThresholdLoginWarmupPlan({
|
|
29732
29626
|
selection: warmupInput.selection,
|
|
@@ -32217,7 +32111,7 @@ async function logout(context) {
|
|
|
32217
32111
|
}
|
|
32218
32112
|
async function resumeNearAfterSuccessfulUnlock(args) {
|
|
32219
32113
|
try {
|
|
32220
|
-
await (await import("./registration-
|
|
32114
|
+
await (await import("./registration-BZDzDv91.js").then((n) => n.o)).resumeNearRegistrationAfterUnlock(args);
|
|
32221
32115
|
} catch (error) {
|
|
32222
32116
|
console.warn("[login] NEAR continuation could not start", error instanceof Error ? error.message : "module unavailable");
|
|
32223
32117
|
} finally {
|
|
@@ -32690,7 +32584,7 @@ async function requestDeviceV1(input) {
|
|
|
32690
32584
|
const publishableKey = input.options.publishableKey.trim();
|
|
32691
32585
|
const projectEnvironmentId = input.options.projectEnvironmentId.trim();
|
|
32692
32586
|
if (!publishableKey || !projectEnvironmentId) throw new Error("linked-device Passkey ceremony requires registration API credentials");
|
|
32693
|
-
const bodyDigestB64u =
|
|
32587
|
+
const bodyDigestB64u = await sha256DigestB64u(encodeRequestBodyV1(input.body));
|
|
32694
32588
|
const issuedAtMs = input.options.nowMs();
|
|
32695
32589
|
if (!Number.isSafeInteger(issuedAtMs) || issuedAtMs <= 0) throw new Error("linked-device request clock is invalid");
|
|
32696
32590
|
const expiresAtMs = issuedAtMs + LINKED_DEVICE_REQUEST_PROOF_MAX_TTL_MS_V1;
|
|
@@ -33340,7 +33234,7 @@ function buildDeviceLinkingEd25519ExportRootReplacementEnvelopeV1(input) {
|
|
|
33340
33234
|
function createDeviceLinkingEd25519ExportRootPortV1(worker) {
|
|
33341
33235
|
return {
|
|
33342
33236
|
async createRecipientV1(input) {
|
|
33343
|
-
const created = requireRecord
|
|
33237
|
+
const created = requireRecord(await worker.requestOperation({
|
|
33344
33238
|
kind: "walletCustodyCeremony",
|
|
33345
33239
|
request: {
|
|
33346
33240
|
type: "createLinkedDeviceEd25519ExportRootRecipient",
|
|
@@ -33381,7 +33275,7 @@ function createDeviceLinkingEd25519ExportRootPortV1(worker) {
|
|
|
33381
33275
|
registeredPublicKeyB64u: recipient.registeredPublicKeyB64u,
|
|
33382
33276
|
recipientPublicKeyB64u: recipient.recipientPublicKeyB64u
|
|
33383
33277
|
});
|
|
33384
|
-
const sealed = requireRecord
|
|
33278
|
+
const sealed = requireRecord(await worker.requestOperation({
|
|
33385
33279
|
kind: "walletCustodyCeremony",
|
|
33386
33280
|
request: {
|
|
33387
33281
|
type: "sealEd25519ExportRootForLinkedDevice",
|
|
@@ -33440,7 +33334,7 @@ function createDeviceLinkingEd25519ExportRootPortV1(worker) {
|
|
|
33440
33334
|
});
|
|
33441
33335
|
const replacementFactorSecret = input.replacementFactorSecret.slice();
|
|
33442
33336
|
try {
|
|
33443
|
-
const resealed = requireRecord
|
|
33337
|
+
const resealed = requireRecord(await worker.requestOperation({
|
|
33444
33338
|
kind: "walletCustodyCeremony",
|
|
33445
33339
|
request: {
|
|
33446
33340
|
type: "acceptLinkedDeviceEd25519ExportRoot",
|
|
@@ -33501,7 +33395,7 @@ function replacementEnvelopeFactorMatchesTargetFactor(targetFactor, replacementF
|
|
|
33501
33395
|
function assertNeverLinkedDeviceTargetFactor(value) {
|
|
33502
33396
|
throw new Error(`Unsupported linked-device target factor kind: ${String(value)}`);
|
|
33503
33397
|
}
|
|
33504
|
-
function requireRecord
|
|
33398
|
+
function requireRecord(value, label) {
|
|
33505
33399
|
if (!value || typeof value !== "object" || Array.isArray(value)) throw new Error(`${label} returned no result`);
|
|
33506
33400
|
return value;
|
|
33507
33401
|
}
|
|
@@ -33546,7 +33440,7 @@ function buildDeviceLinkingPendingAcknowledgementV1(acknowledgement) {
|
|
|
33546
33440
|
}
|
|
33547
33441
|
function parseDeviceLinkingPendingAcknowledgementV1(raw) {
|
|
33548
33442
|
const record = asPlainDeviceLinkingResumeRecord(raw);
|
|
33549
|
-
if (record === null || !hasExactKeys(record, PENDING_ACKNOWLEDGEMENT_FIELDS) || record.kind !==
|
|
33443
|
+
if (record === null || !hasExactKeys(record, PENDING_ACKNOWLEDGEMENT_FIELDS) || record.kind !== LINKED_DEVICE_PENDING_ACK_KIND_V1) return null;
|
|
33550
33444
|
try {
|
|
33551
33445
|
return {
|
|
33552
33446
|
kind: LINKED_DEVICE_PENDING_ACK_KIND_V1,
|
|
@@ -33638,7 +33532,7 @@ function compareDeviceLinkingCommittedResumeV1(input) {
|
|
|
33638
33532
|
}
|
|
33639
33533
|
function parseDeviceLinkingCommittedResumeV1(raw) {
|
|
33640
33534
|
const record = asPlainDeviceLinkingResumeRecord(raw);
|
|
33641
|
-
if (record === null || !hasExactKeys(record, COMMITTED_RESUME_FIELDS) || record.kind !==
|
|
33535
|
+
if (record === null || !hasExactKeys(record, COMMITTED_RESUME_FIELDS) || record.kind !== LINKED_DEVICE_COMMITTED_RESUME_KIND_V1) return null;
|
|
33642
33536
|
const linkSessionId = parseLinkDeviceSessionId(record.linkSessionId);
|
|
33643
33537
|
const walletId = parseWalletId(record.walletId);
|
|
33644
33538
|
const enrollmentId = parseLinkedDeviceEnrollmentId(record.enrollmentId);
|
|
@@ -34154,7 +34048,7 @@ function signerMaterialActivations(activations) {
|
|
|
34154
34048
|
throw new Error("committed signer activation families are invalid");
|
|
34155
34049
|
}
|
|
34156
34050
|
//#endregion
|
|
34157
|
-
//#region src/SeamsWeb/operations/devices/
|
|
34051
|
+
//#region src/SeamsWeb/operations/devices/linkDeviceFlowSupport.ts
|
|
34158
34052
|
function linkedDeviceWalletAuthenticationState(walletSession, registration) {
|
|
34159
34053
|
switch (registration.targetFactor.kind) {
|
|
34160
34054
|
case "verified_passkey_target_v1": return {
|
|
@@ -34170,12 +34064,6 @@ function linkedDeviceWalletAuthenticationState(walletSession, registration) {
|
|
|
34170
34064
|
default: return registration.targetFactor;
|
|
34171
34065
|
}
|
|
34172
34066
|
}
|
|
34173
|
-
function isPasskeyTargetPreparation(preparation) {
|
|
34174
|
-
return preparation.targetFactor.kind === "passkey_prf";
|
|
34175
|
-
}
|
|
34176
|
-
function isEmailOtpTargetPreparation(preparation) {
|
|
34177
|
-
return preparation.targetFactor.kind === "email_otp";
|
|
34178
|
-
}
|
|
34179
34067
|
function createLinkSessionId() {
|
|
34180
34068
|
const parsed = parseLinkDeviceSessionId(secureRandomId("link-session", 32));
|
|
34181
34069
|
if (!parsed.ok) throw new Error(parsed.error.message);
|
|
@@ -34266,6 +34154,36 @@ async function generateQrCodeDataUrlV1(payload) {
|
|
|
34266
34154
|
margin: 2
|
|
34267
34155
|
});
|
|
34268
34156
|
}
|
|
34157
|
+
function buildDevice2QrSessionPayloadV1(input) {
|
|
34158
|
+
const requestedPermission = buildFullOwnerDelegatedWalletAuthorityV1();
|
|
34159
|
+
if (input.target.targetFactor.kind === "email_otp") return buildQrLinkedDeviceSessionPayloadV5({
|
|
34160
|
+
linkSessionId: input.linkSessionId,
|
|
34161
|
+
linkPublicKeyB64u: input.linkPublicKeyB64u,
|
|
34162
|
+
devicePublicKeyB64u: input.devicePublicKeyB64u,
|
|
34163
|
+
requestedPermission,
|
|
34164
|
+
targetFactor: { kind: "email_otp" },
|
|
34165
|
+
targetEmail: normalizeLinkedDeviceTargetEmailAddressV1(input.target.targetEmail),
|
|
34166
|
+
issuedAtMs: input.issuedAtMs,
|
|
34167
|
+
expiresAtMs: input.expiresAtMs
|
|
34168
|
+
});
|
|
34169
|
+
return buildQrLinkedDeviceSessionPayloadV5({
|
|
34170
|
+
linkSessionId: input.linkSessionId,
|
|
34171
|
+
linkPublicKeyB64u: input.linkPublicKeyB64u,
|
|
34172
|
+
devicePublicKeyB64u: input.devicePublicKeyB64u,
|
|
34173
|
+
requestedPermission,
|
|
34174
|
+
targetFactor: { kind: "passkey_prf" },
|
|
34175
|
+
issuedAtMs: input.issuedAtMs,
|
|
34176
|
+
expiresAtMs: input.expiresAtMs
|
|
34177
|
+
});
|
|
34178
|
+
}
|
|
34179
|
+
//#endregion
|
|
34180
|
+
//#region src/SeamsWeb/operations/devices/linkDeviceTargetActivation.ts
|
|
34181
|
+
function isPasskeyTargetPreparation(preparation) {
|
|
34182
|
+
return preparation.targetFactor.kind === "passkey_prf";
|
|
34183
|
+
}
|
|
34184
|
+
function isEmailOtpTargetPreparation(preparation) {
|
|
34185
|
+
return preparation.targetFactor.kind === "email_otp";
|
|
34186
|
+
}
|
|
34269
34187
|
function emailOtpTargetActivationBaseContextV1(context) {
|
|
34270
34188
|
return {
|
|
34271
34189
|
event: context.event,
|
|
@@ -34297,7 +34215,7 @@ function resolvePostLinkActivationV1(input) {
|
|
|
34297
34215
|
switch (input.targetFactor.kind) {
|
|
34298
34216
|
case "verified_passkey_target_v1": {
|
|
34299
34217
|
const activation = input.targetCredentialActivationState;
|
|
34300
|
-
if (activation.kind !== "factor_ready"
|
|
34218
|
+
if (activation.kind !== "factor_ready" || activation.runEpoch !== input.runEpoch) throw new Error("linked-device Passkey factor runtime is unavailable");
|
|
34301
34219
|
return {
|
|
34302
34220
|
factor: {
|
|
34303
34221
|
kind: "passkey",
|
|
@@ -34368,32 +34286,12 @@ async function prepareNewEmailOtpEnrollmentMaterialV1(input) {
|
|
|
34368
34286
|
zeroizeLiveBytes$1(disposableSecret);
|
|
34369
34287
|
}
|
|
34370
34288
|
}
|
|
34371
|
-
function buildDevice2QrSessionPayloadV1(input) {
|
|
34372
|
-
const requestedPermission = buildFullOwnerDelegatedWalletAuthorityV1();
|
|
34373
|
-
if (input.target.targetFactor.kind === "email_otp") return buildQrLinkedDeviceSessionPayloadV5({
|
|
34374
|
-
linkSessionId: input.linkSessionId,
|
|
34375
|
-
linkPublicKeyB64u: input.linkPublicKeyB64u,
|
|
34376
|
-
devicePublicKeyB64u: input.devicePublicKeyB64u,
|
|
34377
|
-
requestedPermission,
|
|
34378
|
-
targetFactor: { kind: "email_otp" },
|
|
34379
|
-
targetEmail: normalizeLinkedDeviceTargetEmailAddressV1(input.target.targetEmail),
|
|
34380
|
-
issuedAtMs: input.issuedAtMs,
|
|
34381
|
-
expiresAtMs: input.expiresAtMs
|
|
34382
|
-
});
|
|
34383
|
-
return buildQrLinkedDeviceSessionPayloadV5({
|
|
34384
|
-
linkSessionId: input.linkSessionId,
|
|
34385
|
-
linkPublicKeyB64u: input.linkPublicKeyB64u,
|
|
34386
|
-
devicePublicKeyB64u: input.devicePublicKeyB64u,
|
|
34387
|
-
requestedPermission,
|
|
34388
|
-
targetFactor: { kind: "passkey_prf" },
|
|
34389
|
-
issuedAtMs: input.issuedAtMs,
|
|
34390
|
-
expiresAtMs: input.expiresAtMs
|
|
34391
|
-
});
|
|
34392
|
-
}
|
|
34393
34289
|
function requireNewEmailOtpEnrollmentMaterialV1(value) {
|
|
34394
34290
|
if (!value) throw new Error("new linked-device Email OTP enrollment material is unavailable");
|
|
34395
34291
|
return value;
|
|
34396
34292
|
}
|
|
34293
|
+
//#endregion
|
|
34294
|
+
//#region src/SeamsWeb/operations/devices/linkDeviceFlow.ts
|
|
34397
34295
|
var LinkDeviceFlow = class {
|
|
34398
34296
|
constructor(options, ports, getAuthenticationContext = null) {
|
|
34399
34297
|
this.session = null;
|
|
@@ -34562,15 +34460,8 @@ var LinkDeviceFlow = class {
|
|
|
34562
34460
|
case "claimed":
|
|
34563
34461
|
case "awaiting_target_factor":
|
|
34564
34462
|
case "awaiting_source_contribution":
|
|
34565
|
-
case "provisioning":
|
|
34566
|
-
|
|
34567
|
-
await authenticatedTransport.cancelSessionV1({ request: buildLinkedDeviceSessionCancelClaimedRequestV1({
|
|
34568
|
-
linkSessionId: session.linkSessionId,
|
|
34569
|
-
enrollmentId: identity.enrollmentId,
|
|
34570
|
-
deviceId: identity.deviceId,
|
|
34571
|
-
reason: "user_cancelled",
|
|
34572
|
-
requestedAtMs: now
|
|
34573
|
-
}) });
|
|
34463
|
+
case "provisioning":
|
|
34464
|
+
await this.cancelClaimedSessionV1(authenticatedTransport, session.linkSessionId, now);
|
|
34574
34465
|
this.session = {
|
|
34575
34466
|
...session,
|
|
34576
34467
|
state: {
|
|
@@ -34579,7 +34470,6 @@ var LinkDeviceFlow = class {
|
|
|
34579
34470
|
}
|
|
34580
34471
|
};
|
|
34581
34472
|
break;
|
|
34582
|
-
}
|
|
34583
34473
|
case "authority_pending_local_install": break;
|
|
34584
34474
|
case "active":
|
|
34585
34475
|
case "expired":
|
|
@@ -34601,16 +34491,6 @@ var LinkDeviceFlow = class {
|
|
|
34601
34491
|
}
|
|
34602
34492
|
});
|
|
34603
34493
|
}
|
|
34604
|
-
async reset() {
|
|
34605
|
-
if (this.hasCommittedDeliveryState()) throw new Error("Device-link authority delivery is committed and must be resumed");
|
|
34606
|
-
this.runEpoch += 1;
|
|
34607
|
-
this.cancelled = true;
|
|
34608
|
-
await this.cleanupLocalResources();
|
|
34609
|
-
this.session = null;
|
|
34610
|
-
this.error = void 0;
|
|
34611
|
-
this.cancelled = false;
|
|
34612
|
-
this.handledStates.clear();
|
|
34613
|
-
}
|
|
34614
34494
|
async resolveLinkIdentityV1(linkSessionId) {
|
|
34615
34495
|
const cached = this.targetCredentialRegistrationResult;
|
|
34616
34496
|
if (cached && cached.linkSessionId === linkSessionId) return {
|
|
@@ -34628,6 +34508,16 @@ var LinkDeviceFlow = class {
|
|
|
34628
34508
|
deviceId: preparation.deviceId
|
|
34629
34509
|
};
|
|
34630
34510
|
}
|
|
34511
|
+
async cancelClaimedSessionV1(transport, linkSessionId, requestedAtMs) {
|
|
34512
|
+
const identity = await this.resolveLinkIdentityV1(linkSessionId);
|
|
34513
|
+
await transport.cancelSessionV1({ request: buildLinkedDeviceSessionCancelClaimedRequestV1({
|
|
34514
|
+
linkSessionId,
|
|
34515
|
+
enrollmentId: identity.enrollmentId,
|
|
34516
|
+
deviceId: identity.deviceId,
|
|
34517
|
+
reason: "user_cancelled",
|
|
34518
|
+
requestedAtMs
|
|
34519
|
+
}) });
|
|
34520
|
+
}
|
|
34631
34521
|
async handleSessionEvent(event) {
|
|
34632
34522
|
if (this.cancelled || this.deliveryRecoveryReason !== null || !this.session || event.linkSessionId !== this.session.linkSessionId) return;
|
|
34633
34523
|
logDevice2LinkingStageV1({
|
|
@@ -34682,14 +34572,9 @@ var LinkDeviceFlow = class {
|
|
|
34682
34572
|
await this.finishActiveAuthorityV1(event.state, result.session, result.operationCredential, runEpoch);
|
|
34683
34573
|
return;
|
|
34684
34574
|
}
|
|
34685
|
-
case "active":
|
|
34686
|
-
|
|
34687
|
-
if (result.kind === "pending_local_install") return;
|
|
34688
|
-
if (result.kind === "integrity_error") throw new DeviceLinkingError(`Linked-device authority replay failed: ${result.reason}`, DeviceLinkingErrorCode.REGISTRATION_FAILED, "registration");
|
|
34689
|
-
if (result.kind === "failed_before_commit" || result.kind === "relink_required") throw new DeviceLinkingError("Linked-device authority replay cannot continue", DeviceLinkingErrorCode.REGISTRATION_FAILED, "registration");
|
|
34690
|
-
await this.finishActiveAuthorityV1(event.state, result.session, result.operationCredential, runEpoch);
|
|
34575
|
+
case "active":
|
|
34576
|
+
await this.replayCommittedAuthorityV1(event.state, runEpoch);
|
|
34691
34577
|
return;
|
|
34692
|
-
}
|
|
34693
34578
|
case "expired": {
|
|
34694
34579
|
const error = new DeviceLinkingError("Device-link session expired", DeviceLinkingErrorCode.SESSION_EXPIRED, "registration");
|
|
34695
34580
|
this.error = error;
|
|
@@ -34852,25 +34737,7 @@ var LinkDeviceFlow = class {
|
|
|
34852
34737
|
workerEphemeralPublicKey65B64u
|
|
34853
34738
|
} });
|
|
34854
34739
|
this.assertCurrentRun(context.runEpoch);
|
|
34855
|
-
this.
|
|
34856
|
-
kind: "awaiting_code",
|
|
34857
|
-
context: {
|
|
34858
|
-
event: context.event,
|
|
34859
|
-
state: context.state,
|
|
34860
|
-
runEpoch: context.runEpoch,
|
|
34861
|
-
deviceId: context.deviceId,
|
|
34862
|
-
preparation: context.preparation,
|
|
34863
|
-
ordinarySignerMaterialRecipientRequests: context.ordinarySignerMaterialRecipientRequests,
|
|
34864
|
-
exportRoot: context.exportRoot,
|
|
34865
|
-
challenge
|
|
34866
|
-
}
|
|
34867
|
-
};
|
|
34868
|
-
this.notifyEmailOtpActivationV1({
|
|
34869
|
-
kind: "code_input",
|
|
34870
|
-
maskedEmailHint: challenge.maskedEmailHint,
|
|
34871
|
-
expiresAtMs: challenge.expiresAtMs,
|
|
34872
|
-
resendAvailableAtMs: challenge.resendAvailableAtMs
|
|
34873
|
-
});
|
|
34740
|
+
this.awaitTargetEmailOtpCodeV1(context, challenge);
|
|
34874
34741
|
} catch (error) {
|
|
34875
34742
|
if (this.isCurrentRun(context.runEpoch)) {
|
|
34876
34743
|
this.emailOtpTargetActivationState = {
|
|
@@ -34885,6 +34752,21 @@ var LinkDeviceFlow = class {
|
|
|
34885
34752
|
throw error;
|
|
34886
34753
|
}
|
|
34887
34754
|
}
|
|
34755
|
+
awaitTargetEmailOtpCodeV1(context, challenge) {
|
|
34756
|
+
this.emailOtpTargetActivationState = {
|
|
34757
|
+
kind: "awaiting_code",
|
|
34758
|
+
context: {
|
|
34759
|
+
...emailOtpTargetActivationBaseContextV1(context),
|
|
34760
|
+
challenge
|
|
34761
|
+
}
|
|
34762
|
+
};
|
|
34763
|
+
this.notifyEmailOtpActivationV1({
|
|
34764
|
+
kind: "code_input",
|
|
34765
|
+
maskedEmailHint: challenge.maskedEmailHint,
|
|
34766
|
+
expiresAtMs: challenge.expiresAtMs,
|
|
34767
|
+
resendAvailableAtMs: challenge.resendAvailableAtMs
|
|
34768
|
+
});
|
|
34769
|
+
}
|
|
34888
34770
|
resendTargetEmailOtpCodeV1() {
|
|
34889
34771
|
const state = this.emailOtpTargetActivationState;
|
|
34890
34772
|
if (state.kind === "resending") return state.promise;
|
|
@@ -34914,25 +34796,7 @@ var LinkDeviceFlow = class {
|
|
|
34914
34796
|
challengeId: context.challenge.challengeId
|
|
34915
34797
|
} });
|
|
34916
34798
|
this.assertCurrentRun(context.runEpoch);
|
|
34917
|
-
this.
|
|
34918
|
-
kind: "awaiting_code",
|
|
34919
|
-
context: {
|
|
34920
|
-
event: context.event,
|
|
34921
|
-
state: context.state,
|
|
34922
|
-
runEpoch: context.runEpoch,
|
|
34923
|
-
deviceId: context.deviceId,
|
|
34924
|
-
preparation: context.preparation,
|
|
34925
|
-
ordinarySignerMaterialRecipientRequests: context.ordinarySignerMaterialRecipientRequests,
|
|
34926
|
-
exportRoot: context.exportRoot,
|
|
34927
|
-
challenge
|
|
34928
|
-
}
|
|
34929
|
-
};
|
|
34930
|
-
this.notifyEmailOtpActivationV1({
|
|
34931
|
-
kind: "code_input",
|
|
34932
|
-
maskedEmailHint: challenge.maskedEmailHint,
|
|
34933
|
-
expiresAtMs: challenge.expiresAtMs,
|
|
34934
|
-
resendAvailableAtMs: challenge.resendAvailableAtMs
|
|
34935
|
-
});
|
|
34799
|
+
this.awaitTargetEmailOtpCodeV1(context, challenge);
|
|
34936
34800
|
} catch (error) {
|
|
34937
34801
|
if (this.isCurrentRun(context.runEpoch)) {
|
|
34938
34802
|
const message = errorMessage(error) || "Email OTP resend is unavailable";
|
|
@@ -35063,32 +34927,14 @@ var LinkDeviceFlow = class {
|
|
|
35063
34927
|
enrollmentId: emailOtpEnrollmentId,
|
|
35064
34928
|
enrollmentSealKeyVersion: emailOtpEnrollmentSealKeyVersion
|
|
35065
34929
|
});
|
|
35066
|
-
|
|
35067
|
-
|
|
35068
|
-
|
|
35069
|
-
targetFactor: preparation.targetFactor,
|
|
35070
|
-
applicationBindingDigestB64u: exportRoot.applicationBindingDigestB64u,
|
|
35071
|
-
registeredPublicKeyB64u: exportRoot.registeredPublicKeyB64u,
|
|
35072
|
-
enrollmentId: preparation.enrollmentId,
|
|
35073
|
-
deviceId: preparation.deviceId,
|
|
35074
|
-
revocationEpoch: exportRoot.revocationEpoch
|
|
35075
|
-
});
|
|
35076
|
-
this.resealedExportRoot = await acceptLinkedDeviceEd25519ExportRootV1({
|
|
35077
|
-
ed25519ExportRoot: this.ports.ed25519ExportRoot,
|
|
35078
|
-
transport: this.requireAuthenticatedTransport(),
|
|
34930
|
+
this.resealedExportRoot = await this.acceptTargetExportRootV1({
|
|
34931
|
+
preparation,
|
|
34932
|
+
exportRoot,
|
|
35079
34933
|
recipient,
|
|
35080
|
-
|
|
35081
|
-
|
|
35082
|
-
ownership: buildMethodBoundEnvelopeOwnership(preparation.walletAuthMethodId),
|
|
35083
|
-
envelopeId,
|
|
35084
|
-
factor,
|
|
35085
|
-
binding,
|
|
35086
|
-
createdAtMs: Date.now()
|
|
35087
|
-
}),
|
|
34934
|
+
envelopeId,
|
|
34935
|
+
factor,
|
|
35088
34936
|
replacementFactorSecret: new Uint8Array(factorSecret),
|
|
35089
|
-
|
|
35090
|
-
assertCurrentRun: () => this.assertCurrentRun(context.runEpoch),
|
|
35091
|
-
waitForPollV1: waitForSessionStateRetry
|
|
34937
|
+
runEpoch: context.runEpoch
|
|
35092
34938
|
});
|
|
35093
34939
|
recipient = null;
|
|
35094
34940
|
}
|
|
@@ -35180,9 +35026,6 @@ var LinkDeviceFlow = class {
|
|
|
35180
35026
|
case "factor_ready":
|
|
35181
35027
|
if (this.targetCredentialActivationState.runEpoch === input.runEpoch) return Promise.reject(/* @__PURE__ */ new Error("Device-link target passkey activation has already completed"));
|
|
35182
35028
|
return Promise.reject(new LinkDeviceFlowSupersededError());
|
|
35183
|
-
case "consuming":
|
|
35184
|
-
if (this.targetCredentialActivationState.runEpoch === input.runEpoch) return Promise.reject(/* @__PURE__ */ new Error("Device-link target passkey activation is already being consumed"));
|
|
35185
|
-
return Promise.reject(new LinkDeviceFlowSupersededError());
|
|
35186
35029
|
default: return assertNeverTargetCredentialActivationState(this.targetCredentialActivationState);
|
|
35187
35030
|
}
|
|
35188
35031
|
const activation = this.runTargetCredentialActivation(input);
|
|
@@ -35231,27 +35074,9 @@ var LinkDeviceFlow = class {
|
|
|
35231
35074
|
default: throw new Error("linked-device target factor is unsupported");
|
|
35232
35075
|
}
|
|
35233
35076
|
}
|
|
35234
|
-
claimTargetCredentialFactorSecret(runEpoch) {
|
|
35235
|
-
switch (this.targetCredentialActivationState.kind) {
|
|
35236
|
-
case "idle": return null;
|
|
35237
|
-
case "in_progress": throw new Error("Device-link target passkey activation is still in progress");
|
|
35238
|
-
case "factor_ready": {
|
|
35239
|
-
if (this.targetCredentialActivationState.runEpoch !== runEpoch) throw new LinkDeviceFlowSupersededError();
|
|
35240
|
-
const factorSecret = this.targetCredentialActivationState.factorSecret;
|
|
35241
|
-
this.targetCredentialActivationState = {
|
|
35242
|
-
kind: "consuming",
|
|
35243
|
-
runEpoch,
|
|
35244
|
-
factorSecret
|
|
35245
|
-
};
|
|
35246
|
-
return factorSecret;
|
|
35247
|
-
}
|
|
35248
|
-
case "consuming": throw new Error("Device-link target passkey activation is already being consumed");
|
|
35249
|
-
default: return assertNeverTargetCredentialActivationState(this.targetCredentialActivationState);
|
|
35250
|
-
}
|
|
35251
|
-
}
|
|
35252
35077
|
clearTargetCredentialActivationState() {
|
|
35253
35078
|
const state = this.targetCredentialActivationState;
|
|
35254
|
-
if (state.kind === "factor_ready"
|
|
35079
|
+
if (state.kind === "factor_ready") zeroizeLiveBytes$1(state.factorSecret);
|
|
35255
35080
|
this.targetCredentialActivationState = { kind: "idle" };
|
|
35256
35081
|
}
|
|
35257
35082
|
async createTargetCredential(input) {
|
|
@@ -35318,32 +35143,14 @@ var LinkDeviceFlow = class {
|
|
|
35318
35143
|
rpId: requireTargetRpIdV1(preparation),
|
|
35319
35144
|
credentialIdB64u: credential.webauthnRegistration.credentialIdB64u
|
|
35320
35145
|
});
|
|
35321
|
-
const
|
|
35322
|
-
|
|
35323
|
-
|
|
35324
|
-
targetFactor: preparation.targetFactor,
|
|
35325
|
-
applicationBindingDigestB64u: exportRoot.applicationBindingDigestB64u,
|
|
35326
|
-
registeredPublicKeyB64u: exportRoot.registeredPublicKeyB64u,
|
|
35327
|
-
enrollmentId: preparation.enrollmentId,
|
|
35328
|
-
deviceId: preparation.deviceId,
|
|
35329
|
-
revocationEpoch: exportRoot.revocationEpoch
|
|
35330
|
-
});
|
|
35331
|
-
const resealed = await acceptLinkedDeviceEd25519ExportRootV1({
|
|
35332
|
-
ed25519ExportRoot: this.ports.ed25519ExportRoot,
|
|
35333
|
-
transport: authenticatedTransport,
|
|
35146
|
+
const resealed = await this.acceptTargetExportRootV1({
|
|
35147
|
+
preparation,
|
|
35148
|
+
exportRoot,
|
|
35334
35149
|
recipient,
|
|
35335
|
-
|
|
35336
|
-
|
|
35337
|
-
ownership: buildMethodBoundEnvelopeOwnership(preparation.walletAuthMethodId),
|
|
35338
|
-
envelopeId,
|
|
35339
|
-
factor,
|
|
35340
|
-
binding,
|
|
35341
|
-
createdAtMs: Date.now()
|
|
35342
|
-
}),
|
|
35150
|
+
envelopeId,
|
|
35151
|
+
factor,
|
|
35343
35152
|
replacementFactorSecret: credential.factorSecret,
|
|
35344
|
-
|
|
35345
|
-
assertCurrentRun: () => this.assertCurrentRun(runEpoch),
|
|
35346
|
-
waitForPollV1: waitForSessionStateRetry
|
|
35153
|
+
runEpoch
|
|
35347
35154
|
});
|
|
35348
35155
|
logDevice2LinkingStageV1({
|
|
35349
35156
|
flowId: this.flowId,
|
|
@@ -35394,6 +35201,36 @@ var LinkDeviceFlow = class {
|
|
|
35394
35201
|
throw error;
|
|
35395
35202
|
}
|
|
35396
35203
|
}
|
|
35204
|
+
async acceptTargetExportRootV1(input) {
|
|
35205
|
+
const { preparation, exportRoot } = input;
|
|
35206
|
+
const binding = buildEd25519YaoClientRootBinding({
|
|
35207
|
+
linkSessionId: preparation.linkSessionId,
|
|
35208
|
+
walletKeyId: exportRoot.walletKeyId,
|
|
35209
|
+
targetFactor: preparation.targetFactor,
|
|
35210
|
+
applicationBindingDigestB64u: exportRoot.applicationBindingDigestB64u,
|
|
35211
|
+
registeredPublicKeyB64u: exportRoot.registeredPublicKeyB64u,
|
|
35212
|
+
enrollmentId: preparation.enrollmentId,
|
|
35213
|
+
deviceId: preparation.deviceId,
|
|
35214
|
+
revocationEpoch: exportRoot.revocationEpoch
|
|
35215
|
+
});
|
|
35216
|
+
return await acceptLinkedDeviceEd25519ExportRootV1({
|
|
35217
|
+
ed25519ExportRoot: this.ports.ed25519ExportRoot,
|
|
35218
|
+
transport: this.requireAuthenticatedTransport(),
|
|
35219
|
+
recipient: input.recipient,
|
|
35220
|
+
replacementEnvelope: buildDeviceLinkingEd25519ExportRootReplacementEnvelopeV1({
|
|
35221
|
+
walletId: preparation.walletId,
|
|
35222
|
+
ownership: buildMethodBoundEnvelopeOwnership(preparation.walletAuthMethodId),
|
|
35223
|
+
envelopeId: input.envelopeId,
|
|
35224
|
+
factor: input.factor,
|
|
35225
|
+
binding,
|
|
35226
|
+
createdAtMs: Date.now()
|
|
35227
|
+
}),
|
|
35228
|
+
replacementFactorSecret: input.replacementFactorSecret,
|
|
35229
|
+
expiresAtMs: Math.min(preparation.expiresAtMs, this.requireSessionV1().qrData.expiresAtMs),
|
|
35230
|
+
assertCurrentRun: () => this.assertCurrentRun(input.runEpoch),
|
|
35231
|
+
waitForPollV1: waitForSessionStateRetry
|
|
35232
|
+
});
|
|
35233
|
+
}
|
|
35397
35234
|
assertTargetPreparationMatchesSession(input) {
|
|
35398
35235
|
const sessionTargetFactor = this.requireSessionTargetFactorV1();
|
|
35399
35236
|
const qrData = this.requireSessionV1().qrData;
|
|
@@ -35493,10 +35330,7 @@ var LinkDeviceFlow = class {
|
|
|
35493
35330
|
acknowledgedAtMs: Date.now()
|
|
35494
35331
|
};
|
|
35495
35332
|
await this.ports.authorityInstallation.persistPendingActivationAcknowledgementV1({ acknowledgement });
|
|
35496
|
-
await this.
|
|
35497
|
-
await this.requireAuthenticatedTransport().acknowledgeLocalAuthorityActivationV1({ acknowledgement });
|
|
35498
|
-
await this.ports.authorityInstallation.clearPendingActivationAcknowledgementV1({ authorityId: acknowledgement.authorityId });
|
|
35499
|
-
await this.ports.authorityInstallation.clearCommittedDeliveryResumeV1({ authorityId: acknowledgement.authorityId });
|
|
35333
|
+
await this.sendActivationAcknowledgementV1(acknowledgement);
|
|
35500
35334
|
this.session = activeSession;
|
|
35501
35335
|
authenticationContext.signingEngine.setWalletAuthenticated(linkedDeviceWalletAuthenticationState(walletSession, registration));
|
|
35502
35336
|
await this.cleanupCompletedLocalResources();
|
|
@@ -35546,13 +35380,9 @@ var LinkDeviceFlow = class {
|
|
|
35546
35380
|
return preparation;
|
|
35547
35381
|
}
|
|
35548
35382
|
startRun() {
|
|
35549
|
-
this.
|
|
35550
|
-
this.clearEmailOtpTargetActivationState();
|
|
35551
|
-
this.resealedExportRoot = null;
|
|
35552
|
-
this.targetCredentialRegistrationResult = null;
|
|
35383
|
+
this.clearRunActivationStateV1();
|
|
35553
35384
|
this.committedAuthorityPackages = null;
|
|
35554
35385
|
this.deliveryRecoveryReason = null;
|
|
35555
|
-
this.ordinarySignerMaterialRecipientPreparation = null;
|
|
35556
35386
|
this.runEpoch += 1;
|
|
35557
35387
|
this.generationInProgress = true;
|
|
35558
35388
|
this.cancelled = false;
|
|
@@ -35640,12 +35470,8 @@ var LinkDeviceFlow = class {
|
|
|
35640
35470
|
error: cleanupError
|
|
35641
35471
|
});
|
|
35642
35472
|
}
|
|
35643
|
-
this.
|
|
35644
|
-
this.clearEmailOtpTargetActivationState();
|
|
35645
|
-
this.resealedExportRoot = null;
|
|
35646
|
-
this.targetCredentialRegistrationResult = null;
|
|
35473
|
+
this.clearRunActivationStateV1();
|
|
35647
35474
|
this.committedAuthorityPackages = null;
|
|
35648
|
-
this.ordinarySignerMaterialRecipientPreparation = null;
|
|
35649
35475
|
this.keyMaterialHandle = null;
|
|
35650
35476
|
this.deliveryRecipientPublicKey65B64u = null;
|
|
35651
35477
|
this.authenticatedTransport = null;
|
|
@@ -35658,18 +35484,19 @@ var LinkDeviceFlow = class {
|
|
|
35658
35484
|
switch (event.state.state) {
|
|
35659
35485
|
case "provisioning":
|
|
35660
35486
|
case "authority_pending_local_install":
|
|
35661
|
-
case "active":
|
|
35662
|
-
|
|
35663
|
-
const result = await this.activateAuthorityForStateV1(event.state, runEpoch);
|
|
35664
|
-
if (result.kind === "pending_local_install") return;
|
|
35665
|
-
if (result.kind === "integrity_error") throw new DeviceLinkingError(`Linked-device authority replay failed: ${result.reason}`, DeviceLinkingErrorCode.REGISTRATION_FAILED, "registration");
|
|
35666
|
-
if (result.kind === "failed_before_commit" || result.kind === "relink_required") throw new DeviceLinkingError("Linked-device authority replay cannot continue", DeviceLinkingErrorCode.REGISTRATION_FAILED, "registration");
|
|
35667
|
-
await this.finishActiveAuthorityV1(event.state, result.session, result.operationCredential, runEpoch);
|
|
35487
|
+
case "active":
|
|
35488
|
+
await this.replayCommittedAuthorityV1(event.state, this.runEpoch);
|
|
35668
35489
|
return;
|
|
35669
|
-
}
|
|
35670
35490
|
default: throw new Error(`committed link delivery cannot resume from ${event.state.state}`);
|
|
35671
35491
|
}
|
|
35672
35492
|
}
|
|
35493
|
+
async replayCommittedAuthorityV1(state, runEpoch) {
|
|
35494
|
+
const result = await this.activateAuthorityForStateV1(state, runEpoch);
|
|
35495
|
+
if (result.kind === "pending_local_install") return;
|
|
35496
|
+
if (result.kind === "integrity_error") throw new DeviceLinkingError(`Linked-device authority replay failed: ${result.reason}`, DeviceLinkingErrorCode.REGISTRATION_FAILED, "registration");
|
|
35497
|
+
if (result.kind === "failed_before_commit" || result.kind === "relink_required") throw new DeviceLinkingError("Linked-device authority replay cannot continue", DeviceLinkingErrorCode.REGISTRATION_FAILED, "registration");
|
|
35498
|
+
await this.finishActiveAuthorityV1(state, result.session, result.operationCredential, runEpoch);
|
|
35499
|
+
}
|
|
35673
35500
|
async replayPendingActivationAcknowledgementV1() {
|
|
35674
35501
|
const committed = this.committedAuthorityPackages;
|
|
35675
35502
|
if (!committed) return false;
|
|
@@ -35677,12 +35504,15 @@ var LinkDeviceFlow = class {
|
|
|
35677
35504
|
if (!pending) return false;
|
|
35678
35505
|
const session = this.requireSessionV1();
|
|
35679
35506
|
if (pending.linkSessionId !== session.qrData.linkSessionId || pending.authorityId !== committed.authority.authorityId || pending.packageSetDigestB64u !== committed.packageSetDigestB64u) throw new Error("pending linked-device acknowledgement identity is inconsistent");
|
|
35680
|
-
await this.
|
|
35681
|
-
await this.requireAuthenticatedTransport().acknowledgeLocalAuthorityActivationV1({ acknowledgement: pending });
|
|
35682
|
-
await this.ports.authorityInstallation.clearPendingActivationAcknowledgementV1({ authorityId: pending.authorityId });
|
|
35683
|
-
await this.ports.authorityInstallation.clearCommittedDeliveryResumeV1({ authorityId: pending.authorityId });
|
|
35507
|
+
await this.sendActivationAcknowledgementV1(pending);
|
|
35684
35508
|
return true;
|
|
35685
35509
|
}
|
|
35510
|
+
async sendActivationAcknowledgementV1(acknowledgement) {
|
|
35511
|
+
await this.closeSessionSubscriptionV1();
|
|
35512
|
+
await this.requireAuthenticatedTransport().acknowledgeLocalAuthorityActivationV1({ acknowledgement });
|
|
35513
|
+
await this.ports.authorityInstallation.clearPendingActivationAcknowledgementV1({ authorityId: acknowledgement.authorityId });
|
|
35514
|
+
await this.ports.authorityInstallation.clearCommittedDeliveryResumeV1({ authorityId: acknowledgement.authorityId });
|
|
35515
|
+
}
|
|
35686
35516
|
async cancelFailedPrecommitSession(event) {
|
|
35687
35517
|
const transport = this.authenticatedTransport;
|
|
35688
35518
|
if (!transport) return;
|
|
@@ -35692,14 +35522,7 @@ var LinkDeviceFlow = class {
|
|
|
35692
35522
|
case "awaiting_source_contribution":
|
|
35693
35523
|
case "provisioning": {
|
|
35694
35524
|
const cancelledAtMs = Date.now();
|
|
35695
|
-
|
|
35696
|
-
await transport.cancelSessionV1({ request: buildLinkedDeviceSessionCancelClaimedRequestV1({
|
|
35697
|
-
linkSessionId: event.linkSessionId,
|
|
35698
|
-
enrollmentId: identity.enrollmentId,
|
|
35699
|
-
deviceId: identity.deviceId,
|
|
35700
|
-
reason: "user_cancelled",
|
|
35701
|
-
requestedAtMs: cancelledAtMs
|
|
35702
|
-
}) });
|
|
35525
|
+
await this.cancelClaimedSessionV1(transport, event.linkSessionId, cancelledAtMs);
|
|
35703
35526
|
if (this.session?.linkSessionId === event.linkSessionId) this.session = {
|
|
35704
35527
|
...this.session,
|
|
35705
35528
|
state: {
|
|
@@ -35721,13 +35544,7 @@ var LinkDeviceFlow = class {
|
|
|
35721
35544
|
async cleanupLocalResources(force = false) {
|
|
35722
35545
|
if (!force && this.hasCommittedDeliveryState()) return;
|
|
35723
35546
|
const preserveCommittedState = force && this.hasCommittedDeliveryState();
|
|
35724
|
-
if (!preserveCommittedState)
|
|
35725
|
-
this.clearTargetCredentialActivationState();
|
|
35726
|
-
this.clearEmailOtpTargetActivationState();
|
|
35727
|
-
this.resealedExportRoot = null;
|
|
35728
|
-
this.targetCredentialRegistrationResult = null;
|
|
35729
|
-
this.ordinarySignerMaterialRecipientPreparation = null;
|
|
35730
|
-
}
|
|
35547
|
+
if (!preserveCommittedState) this.clearRunActivationStateV1();
|
|
35731
35548
|
let failure;
|
|
35732
35549
|
const subscription = this.subscription;
|
|
35733
35550
|
if (subscription) try {
|
|
@@ -35743,14 +35560,17 @@ var LinkDeviceFlow = class {
|
|
|
35743
35560
|
}
|
|
35744
35561
|
if (failure) throw failure;
|
|
35745
35562
|
if (preserveCommittedState) {
|
|
35746
|
-
this.
|
|
35747
|
-
this.clearEmailOtpTargetActivationState();
|
|
35748
|
-
this.resealedExportRoot = null;
|
|
35749
|
-
this.targetCredentialRegistrationResult = null;
|
|
35750
|
-
this.ordinarySignerMaterialRecipientPreparation = null;
|
|
35563
|
+
this.clearRunActivationStateV1();
|
|
35751
35564
|
this.committedAuthorityPackages = null;
|
|
35752
35565
|
}
|
|
35753
35566
|
}
|
|
35567
|
+
clearRunActivationStateV1() {
|
|
35568
|
+
this.clearTargetCredentialActivationState();
|
|
35569
|
+
this.clearEmailOtpTargetActivationState();
|
|
35570
|
+
this.resealedExportRoot = null;
|
|
35571
|
+
this.targetCredentialRegistrationResult = null;
|
|
35572
|
+
this.ordinarySignerMaterialRecipientPreparation = null;
|
|
35573
|
+
}
|
|
35754
35574
|
async closeSessionSubscriptionV1() {
|
|
35755
35575
|
const subscription = this.subscription;
|
|
35756
35576
|
if (!subscription) return;
|
|
@@ -35809,6 +35629,8 @@ var LinkDeviceFlow = class {
|
|
|
35809
35629
|
}));
|
|
35810
35630
|
}
|
|
35811
35631
|
};
|
|
35632
|
+
//#endregion
|
|
35633
|
+
//#region src/SeamsWeb/operations/devices/linkDevice.ts
|
|
35812
35634
|
function isFinishedDeviceLinkFlow(flow) {
|
|
35813
35635
|
const state = flow.getState();
|
|
35814
35636
|
if (state.cancelled || state.error || !state.session) return true;
|
|
@@ -37017,7 +36839,8 @@ async function signNEP413Message(args) {
|
|
|
37017
36839
|
};
|
|
37018
36840
|
}
|
|
37019
36841
|
}
|
|
37020
|
-
|
|
36842
|
+
//#endregion
|
|
36843
|
+
//#region ../shared-ts/src/threshold/secp256k1.ts
|
|
37021
36844
|
const THRESHOLD_SECP256K1_ECDSA_2P_PARTICIPANT_IDS_V1 = [1, 2];
|
|
37022
36845
|
//#endregion
|
|
37023
36846
|
//#region src/SeamsWeb/operations/registration/registrationSignerSet.ts
|
|
@@ -39487,6 +39310,9 @@ function createCurrentWalletResolver(deps) {
|
|
|
39487
39310
|
}
|
|
39488
39311
|
};
|
|
39489
39312
|
}
|
|
39313
|
+
//#endregion
|
|
39314
|
+
//#region src/SeamsWeb/publicApi/awaitNearReady.ts
|
|
39315
|
+
const DEFAULT_AWAIT_NEAR_READY_TIMEOUT_MS = 12e4;
|
|
39490
39316
|
function outcomeFor(state) {
|
|
39491
39317
|
if (!state) return null;
|
|
39492
39318
|
if (state.status === "near_ready") return {
|
|
@@ -39510,7 +39336,7 @@ function outcomeFor(state) {
|
|
|
39510
39336
|
async function awaitNearReady(deps, args) {
|
|
39511
39337
|
const walletId = String(args.walletId || "").trim();
|
|
39512
39338
|
if (!walletId) throw new Error("[seams] awaitNearReady requires a walletId");
|
|
39513
|
-
const timeoutMs = Math.max(1, Math.floor(Number(args.timeoutMs) || 0)) ||
|
|
39339
|
+
const timeoutMs = Math.max(1, Math.floor(Number(args.timeoutMs) || 0)) || DEFAULT_AWAIT_NEAR_READY_TIMEOUT_MS;
|
|
39514
39340
|
let unsubscribe = null;
|
|
39515
39341
|
let timer = null;
|
|
39516
39342
|
let onAbort = null;
|
|
@@ -39788,7 +39614,7 @@ function createDeviceLinkingOrdinaryMaterialWorkerPortV1(send) {
|
|
|
39788
39614
|
const transfer = [input.factorSecret, ...recipientInputTransferables(recipientInputs)];
|
|
39789
39615
|
return parsePreparationResult(await send({
|
|
39790
39616
|
kind: "device_linking_ordinary_signer_material_prepare_private_v1",
|
|
39791
|
-
handleId:
|
|
39617
|
+
handleId: requireCanonicalString(input.keyMaterial.handleId, "keyMaterial.handleId", "is required"),
|
|
39792
39618
|
targetFactor: targetFactorBindingV1(input.targetFactor),
|
|
39793
39619
|
preparations,
|
|
39794
39620
|
recipientRequests,
|
|
@@ -39799,7 +39625,7 @@ function createDeviceLinkingOrdinaryMaterialWorkerPortV1(send) {
|
|
|
39799
39625
|
async createOrdinarySignerMaterialRecipientRequestsV1(input) {
|
|
39800
39626
|
return parseRecipientPreparationResult(await send({
|
|
39801
39627
|
kind: "device_linking_ordinary_signer_material_recipient_prepare_v1",
|
|
39802
|
-
handleId:
|
|
39628
|
+
handleId: requireCanonicalString(input.keyMaterial.handleId, "keyMaterial.handleId", "is required"),
|
|
39803
39629
|
requirements: parseRecipientRequirementTuple(input.requirements)
|
|
39804
39630
|
}));
|
|
39805
39631
|
},
|
|
@@ -39807,7 +39633,7 @@ function createDeviceLinkingOrdinaryMaterialWorkerPortV1(send) {
|
|
|
39807
39633
|
const committed = parseCommittedAuthorityPackagesV1(input.committed);
|
|
39808
39634
|
return parseSealedLocalAuthorityMaterialSetV1(await send({
|
|
39809
39635
|
kind: "device_linking_ordinary_signer_material_seal_v1",
|
|
39810
|
-
handleId:
|
|
39636
|
+
handleId: requireCanonicalString(input.keyMaterial.handleId, "keyMaterial.handleId", "is required"),
|
|
39811
39637
|
committed,
|
|
39812
39638
|
targetFactor: targetFactorBindingV1(input.targetFactor),
|
|
39813
39639
|
resealedExportRoot: parseOrdinaryResealedExportRootRecordV1(input.resealedExportRoot)
|
|
@@ -39860,7 +39686,7 @@ function parseRecipientRequirementTuple(value) {
|
|
|
39860
39686
|
}
|
|
39861
39687
|
function parseRecipientRequestTuple(value) {
|
|
39862
39688
|
if (!Array.isArray(value) || value.length === 0 || value.length > 2) throw new Error("ordinary signer material recipient requests must contain one or two entries");
|
|
39863
|
-
const requests = value.map((entry
|
|
39689
|
+
const requests = value.map((entry) => {
|
|
39864
39690
|
if (isOrdinaryEd25519RecipientRequestRecordV1(entry)) {
|
|
39865
39691
|
if (entry.kind !== "ordinary_ed25519_signer_material_recipient_request_v1" || entry.keyFamily !== "ed25519") throw new Error("ordinary Ed25519 recipient request kind is invalid");
|
|
39866
39692
|
return {
|
|
@@ -39876,7 +39702,7 @@ function parseRecipientRequestTuple(value) {
|
|
|
39876
39702
|
kind: "ordinary_ecdsa_signer_material_recipient_request_v1",
|
|
39877
39703
|
keyFamily: "ecdsa_secp256k1",
|
|
39878
39704
|
walletKeyId: parseWalletKey(entry.walletKeyId),
|
|
39879
|
-
clientEphemeralPublicKey:
|
|
39705
|
+
clientEphemeralPublicKey: requireCanonicalString(entry.clientEphemeralPublicKey, "ECDSA client ephemeral public key", "is required")
|
|
39880
39706
|
};
|
|
39881
39707
|
}
|
|
39882
39708
|
throw new Error("ordinary recipient request key family is invalid");
|
|
@@ -39899,7 +39725,7 @@ function parseRecipientPreparationResult(value) {
|
|
|
39899
39725
|
}
|
|
39900
39726
|
function parseRecipientInputTuple(value) {
|
|
39901
39727
|
if (!Array.isArray(value) || value.length === 0 || value.length > 2) throw new Error("ordinary signer material recipient inputs must contain one or two entries");
|
|
39902
|
-
const inputs = value.map((entry
|
|
39728
|
+
const inputs = value.map((entry) => {
|
|
39903
39729
|
if (isOrdinaryEd25519RecipientInputRecordV1(entry)) {
|
|
39904
39730
|
if (entry.kind !== "ordinary_ed25519_signer_material_recipient_input_v1" || entry.keyFamily !== "ed25519") throw new Error("ordinary Ed25519 recipient input kind is invalid");
|
|
39905
39731
|
return {
|
|
@@ -39966,7 +39792,7 @@ function parseTargetFactorBindingV1(value) {
|
|
|
39966
39792
|
kind: "passkey",
|
|
39967
39793
|
walletAuthMethodId: authMethod.value,
|
|
39968
39794
|
verificationDigestB64u,
|
|
39969
|
-
rpId:
|
|
39795
|
+
rpId: requireCanonicalString(value.rpId, "ordinary target factor rpId", "is required"),
|
|
39970
39796
|
credentialIdB64u: parseB64u(value.credentialIdB64u, "ordinary target factor credentialIdB64u")
|
|
39971
39797
|
};
|
|
39972
39798
|
}
|
|
@@ -39975,14 +39801,14 @@ function parseTargetFactorBindingV1(value) {
|
|
|
39975
39801
|
const authMethod = parseWalletAuthMethodId(value.walletAuthMethodId);
|
|
39976
39802
|
if (!authMethod.ok) throw new Error(authMethod.error.message);
|
|
39977
39803
|
const verificationDigestB64u = parseDigestB64u(value.verificationDigestB64u);
|
|
39978
|
-
const emailHashHex =
|
|
39804
|
+
const emailHashHex = requireCanonicalString(value.emailHashHex, "ordinary target factor emailHashHex", "is required");
|
|
39979
39805
|
if (!/^[0-9a-f]{64}$/.test(emailHashHex)) throw new Error("ordinary target factor emailHashHex is invalid");
|
|
39980
39806
|
return {
|
|
39981
39807
|
kind: "email_otp",
|
|
39982
39808
|
walletAuthMethodId: authMethod.value,
|
|
39983
39809
|
verificationDigestB64u,
|
|
39984
39810
|
emailHashHex,
|
|
39985
|
-
registrationAuthorityId:
|
|
39811
|
+
registrationAuthorityId: requireCanonicalString(value.registrationAuthorityId, "ordinary target factor registrationAuthorityId", "is required")
|
|
39986
39812
|
};
|
|
39987
39813
|
}
|
|
39988
39814
|
throw new Error("ordinary material target factor kind is unsupported");
|
|
@@ -40017,7 +39843,7 @@ function parseSealedLocalAuthorityMaterialSetV1(value) {
|
|
|
40017
39843
|
};
|
|
40018
39844
|
}
|
|
40019
39845
|
function parseB64u(value, label) {
|
|
40020
|
-
const encoded =
|
|
39846
|
+
const encoded = requireCanonicalString(value, label, "is required");
|
|
40021
39847
|
let decoded;
|
|
40022
39848
|
try {
|
|
40023
39849
|
decoded = base64UrlDecode(encoded);
|
|
@@ -40067,10 +39893,6 @@ function isWalletAuthorityExportRootRecordV1(value) {
|
|
|
40067
39893
|
function isSealedLocalAuthorityMaterialSetRecordV1(value) {
|
|
40068
39894
|
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "exportRoot|installedRecordSetDigestB64u|signerMaterials";
|
|
40069
39895
|
}
|
|
40070
|
-
function requireString$1(value, label) {
|
|
40071
|
-
if (typeof value !== "string" || value.trim() !== value || value.length === 0) throw new Error(`${label} is required`);
|
|
40072
|
-
return value;
|
|
40073
|
-
}
|
|
40074
39896
|
//#endregion
|
|
40075
39897
|
//#region src/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.ts
|
|
40076
39898
|
function isDeviceLinkingKeyHandleRecordV1(value) {
|
|
@@ -40675,122 +40497,16 @@ function createDeviceLinkingFlowPortsV1(args) {
|
|
|
40675
40497
|
};
|
|
40676
40498
|
}
|
|
40677
40499
|
//#endregion
|
|
40678
|
-
//#region src/SeamsWeb/operations/devices/walletHostComposition.ts
|
|
40679
|
-
const LINKED_DEVICE_MANAGEMENT_HTTP_BASE_PATH_V1 = "/wallet/device-linking/v1/devices";
|
|
40680
|
-
const OWNER_WALLET_SESSION_REAUTH_REQUIRED = "owner_wallet_session_reauth_required";
|
|
40681
|
-
var OwnerWalletSessionReauthRequiredError = class extends Error {
|
|
40682
|
-
constructor() {
|
|
40683
|
-
super("The owner Wallet Session must be renewed");
|
|
40684
|
-
this.code = OWNER_WALLET_SESSION_REAUTH_REQUIRED;
|
|
40685
|
-
this.name = "OwnerWalletSessionReauthRequiredError";
|
|
40686
|
-
}
|
|
40687
|
-
};
|
|
40688
|
-
function createWalletHostCompositionV1(args) {
|
|
40689
|
-
const deviceLinkingPorts = createDeviceLinkingFlowPortsV1(args);
|
|
40690
|
-
return {
|
|
40691
|
-
linkedDeviceManagement: createWalletHostLinkedDeviceManagementPortV1({ request: args.managementRequest }),
|
|
40692
|
-
deviceLinkingPorts,
|
|
40693
|
-
dispose: deviceLinkingPorts.dispose
|
|
40694
|
-
};
|
|
40695
|
-
}
|
|
40696
|
-
function createWalletHostLinkedDeviceManagementPortV1(args) {
|
|
40697
|
-
return {
|
|
40698
|
-
listLinkedDevices: async ({ walletId, limit, cursor }) => {
|
|
40699
|
-
const request = parseLinkedDeviceListRequestV1({
|
|
40700
|
-
kind: "linked_device_list_request_v1",
|
|
40701
|
-
walletId,
|
|
40702
|
-
limit,
|
|
40703
|
-
cursor
|
|
40704
|
-
});
|
|
40705
|
-
const path = `${LINKED_DEVICE_MANAGEMENT_HTTP_BASE_PATH_V1}?walletId=${encodeURIComponent(String(request.walletId))}&limit=${encodeURIComponent(String(request.limit))}&cursor=${encodeURIComponent(request.cursor ?? "")}`;
|
|
40706
|
-
const response = await args.request.request({
|
|
40707
|
-
method: "GET",
|
|
40708
|
-
canonicalPath: path,
|
|
40709
|
-
walletId: request.walletId
|
|
40710
|
-
});
|
|
40711
|
-
assertManagementSuccess(response, "list linked devices");
|
|
40712
|
-
return parseLinkedDeviceListResponseV1(response.body);
|
|
40713
|
-
},
|
|
40714
|
-
revokeLinkedDevice: async ({ walletId, walletAuthMethodId, requestedAtMs, sourceProof }) => {
|
|
40715
|
-
const request = parseLinkedDeviceRevokeRequestV1({
|
|
40716
|
-
kind: "linked_device_revoke_request_v1",
|
|
40717
|
-
walletId,
|
|
40718
|
-
walletAuthMethodId,
|
|
40719
|
-
requestedAtMs
|
|
40720
|
-
});
|
|
40721
|
-
return parseManagementRevokeResult(await args.request.request({
|
|
40722
|
-
method: "POST",
|
|
40723
|
-
canonicalPath: `${LINKED_DEVICE_MANAGEMENT_HTTP_BASE_PATH_V1}/${encodeURIComponent(String(walletAuthMethodId))}/revoke`,
|
|
40724
|
-
body: {
|
|
40725
|
-
...request,
|
|
40726
|
-
sourceProof
|
|
40727
|
-
},
|
|
40728
|
-
walletId
|
|
40729
|
-
}));
|
|
40730
|
-
}
|
|
40731
|
-
};
|
|
40732
|
-
}
|
|
40733
|
-
function parseManagementRevokeResult(response) {
|
|
40734
|
-
if (response.status === 404) return parseLinkedDeviceRevokeResultV1({ kind: "not_found" });
|
|
40735
|
-
if (response.status === 409) return parseLinkedDeviceRevokeResultV1({ kind: "conflict" });
|
|
40736
|
-
if (response.status === 401 || response.status === 403) return parseLinkedDeviceRevokeResultV1({ kind: "unauthorized" });
|
|
40737
|
-
assertManagementSuccess(response, "revoke linked device");
|
|
40738
|
-
return parseLinkedDeviceRevokeResponseV1(response.body);
|
|
40739
|
-
}
|
|
40740
|
-
function assertManagementSuccess(response, operation) {
|
|
40741
|
-
if (response.status < 200 || response.status >= 300) {
|
|
40742
|
-
if (response.status === 401 && isManagementUnauthorizedFailureRecordV1(response.body)) throw new OwnerWalletSessionReauthRequiredError();
|
|
40743
|
-
const detail = managementFailureDetail(response.body);
|
|
40744
|
-
throw new Error(detail ? `linked-device ${operation} failed with HTTP ${response.status}: ${detail}` : `linked-device ${operation} failed with HTTP ${response.status}`);
|
|
40745
|
-
}
|
|
40746
|
-
}
|
|
40747
|
-
function managementFailureDetail(raw) {
|
|
40748
|
-
if (raw === null || typeof raw !== "object" || Array.isArray(raw)) return null;
|
|
40749
|
-
if (isManagementFailureWithMessageRecordV1(raw)) return raw.message;
|
|
40750
|
-
if (isManagementUnauthorizedFailureRecordV1(raw)) return raw.message;
|
|
40751
|
-
return null;
|
|
40752
|
-
}
|
|
40753
|
-
function parseLinkedDeviceListResponseV1(raw) {
|
|
40754
|
-
if (raw === null || typeof raw !== "object" || Array.isArray(raw)) throw new Error("linked-device list response must be an object");
|
|
40755
|
-
if (!isLinkedDeviceListResponseRecordV1(raw)) throw new Error("linked-device list response has unexpected fields");
|
|
40756
|
-
if (raw.ok !== true) throw new Error("linked-device list response is not successful");
|
|
40757
|
-
return parseLinkedDeviceListResultV1({
|
|
40758
|
-
devices: raw.devices,
|
|
40759
|
-
ownerDevices: raw.ownerDevices,
|
|
40760
|
-
nextCursor: raw.nextCursor
|
|
40761
|
-
});
|
|
40762
|
-
}
|
|
40763
|
-
function isLinkedDeviceListResponseRecordV1(value) {
|
|
40764
|
-
return Object.keys(value).sort().join("|") === "devices|nextCursor|ok|ownerDevices";
|
|
40765
|
-
}
|
|
40766
|
-
function parseLinkedDeviceRevokeResponseV1(raw) {
|
|
40767
|
-
if (raw === null || typeof raw !== "object" || Array.isArray(raw)) throw new Error("linked-device revoke response must be an object");
|
|
40768
|
-
if (!isLinkedDeviceRevokeResponseRecordV1(raw)) throw new Error("linked-device revoke response has unexpected fields");
|
|
40769
|
-
if (raw.ok !== true) throw new Error("linked-device revoke response is not successful");
|
|
40770
|
-
return parseLinkedDeviceRevokeResultV1({
|
|
40771
|
-
kind: raw.kind,
|
|
40772
|
-
walletAuthMethodId: raw.walletAuthMethodId,
|
|
40773
|
-
authorityId: raw.authorityId,
|
|
40774
|
-
revocationEpoch: raw.revocationEpoch
|
|
40775
|
-
});
|
|
40776
|
-
}
|
|
40777
|
-
function isLinkedDeviceRevokeResponseRecordV1(value) {
|
|
40778
|
-
return Object.keys(value).sort().join("|") === "authorityId|kind|ok|revocationEpoch|walletAuthMethodId";
|
|
40779
|
-
}
|
|
40780
|
-
function isManagementFailureWithMessageRecordV1(value) {
|
|
40781
|
-
if (Object.keys(value).sort().join("|") !== "kind|message|ok") return false;
|
|
40782
|
-
if (!("ok" in value) || !("kind" in value) || !("message" in value)) return false;
|
|
40783
|
-
return value.ok === false && (value.kind === "invalid_input" || value.kind === "internal") && typeof value.message === "string" && value.message.trim().length > 0;
|
|
40784
|
-
}
|
|
40785
|
-
function isManagementUnauthorizedFailureRecordV1(value) {
|
|
40786
|
-
if (value === null || typeof value !== "object" || Array.isArray(value)) return false;
|
|
40787
|
-
if (Object.keys(value).sort().join("|") !== "code|kind|message|ok") return false;
|
|
40788
|
-
if (!("ok" in value) || !("kind" in value) || !("code" in value) || !("message" in value)) return false;
|
|
40789
|
-
return value.ok === false && value.kind === "unauthorized" && typeof value.code === "string" && typeof value.message === "string" && value.message.trim().length > 0;
|
|
40790
|
-
}
|
|
40791
|
-
//#endregion
|
|
40792
40500
|
//#region src/SeamsWeb/operations/devices/walletHostOwnerAuthority.ts
|
|
40793
40501
|
const OWNER_AUTHORIZATION_PATH = "/wallet/device-linking/v1/owner-authorization";
|
|
40502
|
+
/** An owner request that received no answer: the network failed, or it timed out. */
|
|
40503
|
+
var WalletHostOwnerRequestTransportError = class extends Error {
|
|
40504
|
+
constructor(code, message) {
|
|
40505
|
+
super(`Owner Router request failed: ${message}`);
|
|
40506
|
+
this.code = code;
|
|
40507
|
+
this.name = "WalletHostOwnerRequestTransportError";
|
|
40508
|
+
}
|
|
40509
|
+
};
|
|
40794
40510
|
function createWalletHostOwnerAuthoritiesV1(input) {
|
|
40795
40511
|
const context = normalizeContext(input);
|
|
40796
40512
|
return {
|
|
@@ -40808,7 +40524,7 @@ function normalizeContext(input) {
|
|
|
40808
40524
|
};
|
|
40809
40525
|
}
|
|
40810
40526
|
/**
|
|
40811
|
-
* The
|
|
40527
|
+
* The fail-closed preflight, exact result `wallet_unlock_required`.
|
|
40812
40528
|
*
|
|
40813
40529
|
* The locked and missing-session arms run before any network I/O. The
|
|
40814
40530
|
* export-root arm runs after the stateless owner-authorization read, because
|
|
@@ -40892,7 +40608,7 @@ async function requestWithCredentialV1(context, walletSessionToken, input) {
|
|
|
40892
40608
|
headers: { authorization: `Bearer ${walletSessionToken}` },
|
|
40893
40609
|
...input.body === void 0 ? {} : { body: input.body }
|
|
40894
40610
|
});
|
|
40895
|
-
if (!response.ok) throw new
|
|
40611
|
+
if (!response.ok) throw new WalletHostOwnerRequestTransportError(response.code, response.message);
|
|
40896
40612
|
return response.value;
|
|
40897
40613
|
}
|
|
40898
40614
|
function parseOwnerAuthorizationResponseV1(raw, session) {
|
|
@@ -40961,6 +40677,129 @@ function positiveSafeInteger(raw, label) {
|
|
|
40961
40677
|
return Number(raw);
|
|
40962
40678
|
}
|
|
40963
40679
|
//#endregion
|
|
40680
|
+
//#region src/SeamsWeb/operations/devices/walletHostComposition.ts
|
|
40681
|
+
const LINKED_DEVICE_MANAGEMENT_HTTP_BASE_PATH_V1 = "/wallet/device-linking/v1/devices";
|
|
40682
|
+
const OWNER_WALLET_SESSION_REAUTH_REQUIRED = "owner_wallet_session_reauth_required";
|
|
40683
|
+
var OwnerWalletSessionReauthRequiredError = class extends Error {
|
|
40684
|
+
constructor() {
|
|
40685
|
+
super("The owner Wallet Session must be renewed");
|
|
40686
|
+
this.code = OWNER_WALLET_SESSION_REAUTH_REQUIRED;
|
|
40687
|
+
this.name = "OwnerWalletSessionReauthRequiredError";
|
|
40688
|
+
}
|
|
40689
|
+
};
|
|
40690
|
+
function createWalletHostCompositionV1(args) {
|
|
40691
|
+
const deviceLinkingPorts = createDeviceLinkingFlowPortsV1(args);
|
|
40692
|
+
return {
|
|
40693
|
+
linkedDeviceManagement: createWalletHostLinkedDeviceManagementPortV1({ request: args.managementRequest }),
|
|
40694
|
+
deviceLinkingPorts,
|
|
40695
|
+
dispose: deviceLinkingPorts.dispose
|
|
40696
|
+
};
|
|
40697
|
+
}
|
|
40698
|
+
function createWalletHostLinkedDeviceManagementPortV1(args) {
|
|
40699
|
+
return {
|
|
40700
|
+
listLinkedDevices: async ({ walletId, limit, cursor }) => {
|
|
40701
|
+
const request = parseLinkedDeviceListRequestV1({
|
|
40702
|
+
kind: "linked_device_list_request_v1",
|
|
40703
|
+
walletId,
|
|
40704
|
+
limit,
|
|
40705
|
+
cursor
|
|
40706
|
+
});
|
|
40707
|
+
const path = `${LINKED_DEVICE_MANAGEMENT_HTTP_BASE_PATH_V1}?walletId=${encodeURIComponent(String(request.walletId))}&limit=${encodeURIComponent(String(request.limit))}&cursor=${encodeURIComponent(request.cursor ?? "")}`;
|
|
40708
|
+
const response = await args.request.request({
|
|
40709
|
+
method: "GET",
|
|
40710
|
+
canonicalPath: path,
|
|
40711
|
+
walletId: request.walletId
|
|
40712
|
+
});
|
|
40713
|
+
assertManagementSuccess(response, "list linked devices");
|
|
40714
|
+
return parseLinkedDeviceListResponseV1(response.body);
|
|
40715
|
+
},
|
|
40716
|
+
revokeLinkedDevice: async ({ walletId, walletAuthMethodId, requestedAtMs, sourceProof }) => {
|
|
40717
|
+
const request = parseLinkedDeviceRevokeRequestV1({
|
|
40718
|
+
kind: "linked_device_revoke_request_v1",
|
|
40719
|
+
walletId,
|
|
40720
|
+
walletAuthMethodId,
|
|
40721
|
+
requestedAtMs
|
|
40722
|
+
});
|
|
40723
|
+
const send = async () => await args.request.request({
|
|
40724
|
+
method: "POST",
|
|
40725
|
+
canonicalPath: `${LINKED_DEVICE_MANAGEMENT_HTTP_BASE_PATH_V1}/${encodeURIComponent(String(walletAuthMethodId))}/revoke`,
|
|
40726
|
+
body: {
|
|
40727
|
+
...request,
|
|
40728
|
+
sourceProof
|
|
40729
|
+
},
|
|
40730
|
+
walletId
|
|
40731
|
+
});
|
|
40732
|
+
let response;
|
|
40733
|
+
try {
|
|
40734
|
+
response = await send();
|
|
40735
|
+
} catch (error) {
|
|
40736
|
+
if (!(error instanceof WalletHostOwnerRequestTransportError)) throw error;
|
|
40737
|
+
if (error.code !== "network_error") throw error;
|
|
40738
|
+
response = await send();
|
|
40739
|
+
}
|
|
40740
|
+
return parseManagementRevokeResult(response);
|
|
40741
|
+
}
|
|
40742
|
+
};
|
|
40743
|
+
}
|
|
40744
|
+
function parseManagementRevokeResult(response) {
|
|
40745
|
+
if (response.status === 404) return parseLinkedDeviceRevokeResultV1({ kind: "not_found" });
|
|
40746
|
+
if (response.status === 409) return parseLinkedDeviceRevokeResultV1({ kind: "conflict" });
|
|
40747
|
+
if (response.status === 401 || response.status === 403) return parseLinkedDeviceRevokeResultV1({ kind: "unauthorized" });
|
|
40748
|
+
assertManagementSuccess(response, "revoke linked device");
|
|
40749
|
+
return parseLinkedDeviceRevokeResponseV1(response.body);
|
|
40750
|
+
}
|
|
40751
|
+
function assertManagementSuccess(response, operation) {
|
|
40752
|
+
if (response.status < 200 || response.status >= 300) {
|
|
40753
|
+
if (response.status === 401 && isManagementUnauthorizedFailureRecordV1(response.body)) throw new OwnerWalletSessionReauthRequiredError();
|
|
40754
|
+
const detail = managementFailureDetail(response.body);
|
|
40755
|
+
throw new Error(detail ? `linked-device ${operation} failed with HTTP ${response.status}: ${detail}` : `linked-device ${operation} failed with HTTP ${response.status}`);
|
|
40756
|
+
}
|
|
40757
|
+
}
|
|
40758
|
+
function managementFailureDetail(raw) {
|
|
40759
|
+
if (raw === null || typeof raw !== "object" || Array.isArray(raw)) return null;
|
|
40760
|
+
if (isManagementFailureWithMessageRecordV1(raw)) return raw.message;
|
|
40761
|
+
if (isManagementUnauthorizedFailureRecordV1(raw)) return raw.message;
|
|
40762
|
+
return null;
|
|
40763
|
+
}
|
|
40764
|
+
function parseLinkedDeviceListResponseV1(raw) {
|
|
40765
|
+
if (raw === null || typeof raw !== "object" || Array.isArray(raw)) throw new Error("linked-device list response must be an object");
|
|
40766
|
+
if (!isLinkedDeviceListResponseRecordV1(raw)) throw new Error("linked-device list response has unexpected fields");
|
|
40767
|
+
if (raw.ok !== true) throw new Error("linked-device list response is not successful");
|
|
40768
|
+
return parseLinkedDeviceListResultV1({
|
|
40769
|
+
devices: raw.devices,
|
|
40770
|
+
ownerDevices: raw.ownerDevices,
|
|
40771
|
+
nextCursor: raw.nextCursor
|
|
40772
|
+
});
|
|
40773
|
+
}
|
|
40774
|
+
function isLinkedDeviceListResponseRecordV1(value) {
|
|
40775
|
+
return Object.keys(value).sort().join("|") === "devices|nextCursor|ok|ownerDevices";
|
|
40776
|
+
}
|
|
40777
|
+
function parseLinkedDeviceRevokeResponseV1(raw) {
|
|
40778
|
+
if (raw === null || typeof raw !== "object" || Array.isArray(raw)) throw new Error("linked-device revoke response must be an object");
|
|
40779
|
+
if (!isLinkedDeviceRevokeResponseRecordV1(raw)) throw new Error("linked-device revoke response has unexpected fields");
|
|
40780
|
+
if (raw.ok !== true) throw new Error("linked-device revoke response is not successful");
|
|
40781
|
+
return parseLinkedDeviceRevokeResultV1({
|
|
40782
|
+
kind: raw.kind,
|
|
40783
|
+
walletAuthMethodId: raw.walletAuthMethodId,
|
|
40784
|
+
authorityId: raw.authorityId,
|
|
40785
|
+
revocationEpoch: raw.revocationEpoch
|
|
40786
|
+
});
|
|
40787
|
+
}
|
|
40788
|
+
function isLinkedDeviceRevokeResponseRecordV1(value) {
|
|
40789
|
+
return Object.keys(value).sort().join("|") === "authorityId|kind|ok|revocationEpoch|walletAuthMethodId";
|
|
40790
|
+
}
|
|
40791
|
+
function isManagementFailureWithMessageRecordV1(value) {
|
|
40792
|
+
if (Object.keys(value).sort().join("|") !== "kind|message|ok") return false;
|
|
40793
|
+
if (!("ok" in value) || !("kind" in value) || !("message" in value)) return false;
|
|
40794
|
+
return value.ok === false && (value.kind === "invalid_input" || value.kind === "internal") && typeof value.message === "string" && value.message.trim().length > 0;
|
|
40795
|
+
}
|
|
40796
|
+
function isManagementUnauthorizedFailureRecordV1(value) {
|
|
40797
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) return false;
|
|
40798
|
+
if (Object.keys(value).sort().join("|") !== "code|kind|message|ok") return false;
|
|
40799
|
+
if (!("ok" in value) || !("kind" in value) || !("code" in value) || !("message" in value)) return false;
|
|
40800
|
+
return value.ok === false && value.kind === "unauthorized" && typeof value.code === "string" && typeof value.message === "string" && value.message.trim().length > 0;
|
|
40801
|
+
}
|
|
40802
|
+
//#endregion
|
|
40964
40803
|
//#region src/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.ts
|
|
40965
40804
|
function requestJson(value) {
|
|
40966
40805
|
if (typeof value !== "string" || !value.trim()) throw new Error("Yao lane request JSON is required");
|
|
@@ -41028,6 +40867,8 @@ var Ed25519YaoLaneWorkerSource = class {
|
|
|
41028
40867
|
function createDeviceLinkingEcdsaSourceContributionMetadataReaderV1(context) {
|
|
41029
40868
|
return async ({ preparation }) => {
|
|
41030
40869
|
const sourceActivation = preparation.source.activation;
|
|
40870
|
+
const linked = context.readLinkedEcdsaHolderV1({ materialActivation: sourceActivation });
|
|
40871
|
+
if (linked) return linkedEcdsaSourceMetadataV1(linked, sourceActivation);
|
|
41031
40872
|
const manifest = await context.readActiveEcdsaCapabilityManifestV1({ materialActivation: sourceActivation });
|
|
41032
40873
|
assertExactEcdsaSourceMetadataContextV1({
|
|
41033
40874
|
sourceActivation,
|
|
@@ -41044,6 +40885,28 @@ function createDeviceLinkingEcdsaSourceContributionMetadataReaderV1(context) {
|
|
|
41044
40885
|
};
|
|
41045
40886
|
};
|
|
41046
40887
|
}
|
|
40888
|
+
function linkedEcdsaSourceMetadataV1(holder, sourceActivation) {
|
|
40889
|
+
if (!mpcMaterialActivationRefsEqual(holder.materialActivation, sourceActivation)) throw new Error("linked ECDSA holder activation does not match preparation");
|
|
40890
|
+
const normalSigning = holder.activationReceipt.normalSigning;
|
|
40891
|
+
const scope = normalSigning.scope;
|
|
40892
|
+
const signingKeySlotId = deriveEvmFamilySigningKeySlotId({
|
|
40893
|
+
walletId: holder.walletId,
|
|
40894
|
+
signingRootId: scope.signing_root_id,
|
|
40895
|
+
signingRootVersion: scope.signing_root_version
|
|
40896
|
+
});
|
|
40897
|
+
const walletKeyId = parseWalletKeyId(`wallet-key:ecdsa:${holder.walletId}:${signingKeySlotId}`);
|
|
40898
|
+
if (!walletKeyId.ok) throw new Error(`linked ECDSA source wallet key identity: ${walletKeyId.error.message}`);
|
|
40899
|
+
return {
|
|
40900
|
+
walletKeyId: walletKeyId.value,
|
|
40901
|
+
sourceDerivation: {
|
|
40902
|
+
applicationBindingDigestB64u: parseDigestB64u(scope.context.application_binding_digest_b64u),
|
|
40903
|
+
clientShareRetryCounter: scope.public_identity.client_share_retry_counter,
|
|
40904
|
+
ecdsaThresholdKeyId: parseEcdsaThresholdKeyId(holder.ecdsaThresholdKeyId),
|
|
40905
|
+
sourceNormalSigning: normalSigning
|
|
40906
|
+
},
|
|
40907
|
+
linkedHolderHandleId: holder.holderHandleId
|
|
40908
|
+
};
|
|
40909
|
+
}
|
|
41047
40910
|
function assertExactEcdsaSourceMetadataContextV1(input) {
|
|
41048
40911
|
if (!mpcMaterialActivationRefsEqual(input.manifest.activation.materialActivation, input.sourceActivation)) throw new Error("ECDSA capability manifest activation does not match preparation");
|
|
41049
40912
|
}
|
|
@@ -41123,7 +40986,8 @@ async function produceEcdsaSourceContributionV1(input) {
|
|
|
41123
40986
|
const metadata = await input.readMetadataV1({ preparation: input.preparation });
|
|
41124
40987
|
const prepared = await prepareLinkedDeviceEcdsaSourceContributionWasm({
|
|
41125
40988
|
preparation: input.preparation,
|
|
41126
|
-
workerCtx: input.workerContext
|
|
40989
|
+
workerCtx: input.workerContext,
|
|
40990
|
+
...metadata.linkedHolderHandleId === void 0 ? {} : { linkedHolderHandleId: metadata.linkedHolderHandleId }
|
|
41127
40991
|
});
|
|
41128
40992
|
return {
|
|
41129
40993
|
kind: "linked_device_ecdsa_source_contribution_v1",
|
|
@@ -41165,15 +41029,6 @@ const SECRET_MATERIAL_FIELDS = [
|
|
|
41165
41029
|
"bootstrapMaterial",
|
|
41166
41030
|
"clientSecret32"
|
|
41167
41031
|
];
|
|
41168
|
-
function requireRecord(value, label) {
|
|
41169
|
-
if (!isPlainObject(value)) throw new Error(`${label} must be an object`);
|
|
41170
|
-
return value;
|
|
41171
|
-
}
|
|
41172
|
-
function requireString(value, label) {
|
|
41173
|
-
const normalized = typeof value === "string" ? value.trim() : "";
|
|
41174
|
-
if (!normalized) throw new Error(`${label} is required`);
|
|
41175
|
-
return normalized;
|
|
41176
|
-
}
|
|
41177
41032
|
function requireTimestampMs(value, label) {
|
|
41178
41033
|
if (typeof value !== "number" || !Number.isSafeInteger(value) || value <= 0) throw new Error(`${label} must be a positive integer timestamp`);
|
|
41179
41034
|
return value;
|
|
@@ -41183,22 +41038,22 @@ function rejectFields(record, fields, label) {
|
|
|
41183
41038
|
if (forbiddenField) throw new Error(`${label} must not include ${forbiddenField}`);
|
|
41184
41039
|
}
|
|
41185
41040
|
function parseOfferId(value) {
|
|
41186
|
-
return
|
|
41041
|
+
return requireTrimmedString(value, "offerId");
|
|
41187
41042
|
}
|
|
41188
41043
|
function parseCandidateId(value, label = "candidateId") {
|
|
41189
|
-
return
|
|
41044
|
+
return requireTrimmedString(value, label);
|
|
41190
41045
|
}
|
|
41191
41046
|
function parseCandidate(value) {
|
|
41192
|
-
const record = requireRecord(value, "registration candidate");
|
|
41047
|
+
const record = requireRecord$1(value, "registration candidate");
|
|
41193
41048
|
rejectFields(record, OTP_ONLY_FORBIDDEN_FIELDS, "registration candidate");
|
|
41194
41049
|
rejectFields(record, SECRET_MATERIAL_FIELDS, "registration candidate");
|
|
41195
41050
|
return {
|
|
41196
41051
|
candidateId: parseCandidateId(record.candidateId),
|
|
41197
|
-
walletId: walletIdFromString(
|
|
41052
|
+
walletId: walletIdFromString(requireTrimmedString(record.walletId, "candidate.walletId"))
|
|
41198
41053
|
};
|
|
41199
41054
|
}
|
|
41200
41055
|
function parseGoogleEmailOtpRegistrationOffer(value) {
|
|
41201
|
-
const record = requireRecord(value, "Google Email OTP registration offer");
|
|
41056
|
+
const record = requireRecord$1(value, "Google Email OTP registration offer");
|
|
41202
41057
|
rejectFields(record, OTP_ONLY_FORBIDDEN_FIELDS, "Google Email OTP registration offer");
|
|
41203
41058
|
rejectFields(record, SECRET_MATERIAL_FIELDS, "Google Email OTP registration offer");
|
|
41204
41059
|
if (record.kind !== "google_email_otp_registration_offer_v1") throw new Error("registration offer kind must be google_email_otp_registration_offer_v1");
|
|
@@ -41211,7 +41066,7 @@ function parseGoogleEmailOtpRegistrationOffer(value) {
|
|
|
41211
41066
|
kind: "google_email_otp_registration_offer_v1",
|
|
41212
41067
|
offerId: parseOfferId(record.offerId),
|
|
41213
41068
|
expiresAtMs: requireTimestampMs(record.expiresAtMs, "expiresAtMs"),
|
|
41214
|
-
emailHint:
|
|
41069
|
+
emailHint: requireTrimmedString(record.emailHint, "emailHint"),
|
|
41215
41070
|
candidates: [firstCandidate, ...remainingCandidates],
|
|
41216
41071
|
selectedCandidateId
|
|
41217
41072
|
};
|
|
@@ -41791,50 +41646,15 @@ async function rotateWalletRecoverySetWithActiveFactorV1(input) {
|
|
|
41791
41646
|
let issued = issueWalletRecoveryCodes();
|
|
41792
41647
|
const factorSecret = new Uint8Array(input.factorSecret.slice(0));
|
|
41793
41648
|
try {
|
|
41794
|
-
|
|
41795
|
-
|
|
41796
|
-
|
|
41797
|
-
|
|
41798
|
-
|
|
41799
|
-
|
|
41800
|
-
|
|
41801
|
-
|
|
41802
|
-
} : current;
|
|
41803
|
-
const custody = joinCustodyWireFromEnvelopeRecord(input.custodyEnvelope);
|
|
41804
|
-
if (!custody.ok) throw new Error(custody.reason);
|
|
41805
|
-
const replacement = walletRecoverySetRotationWireFromWorkerResultV1(await input.worker.rotateRecoverySet({
|
|
41806
|
-
custodyJson: custody.custodyJson,
|
|
41807
|
-
factorSecret: factorSecret.buffer.slice(0),
|
|
41808
|
-
recoveryCodesJson: JSON.stringify(issued.codeBytes.map((bytes) => ({ codeBytesB64u: base64UrlEncode(bytes) })))
|
|
41809
|
-
}));
|
|
41810
|
-
if (replacement.walletId !== input.walletId) throw new Error("Recovery rotation worker returned a different wallet");
|
|
41811
|
-
const recoveryCodeLocators = await deriveRecoveryCodeLocators(issued.codeBytes, replacement.manifestKekWraps);
|
|
41812
|
-
const rotated = await rotateWalletRecoverySet({
|
|
41813
|
-
relayUrl: input.relayUrl,
|
|
41814
|
-
walletId: input.walletId,
|
|
41815
|
-
factorProof: await input.factorProof({
|
|
41816
|
-
operation: "recovery_rotate",
|
|
41817
|
-
payload: {
|
|
41818
|
-
walletId: input.walletId,
|
|
41819
|
-
expectedStoreVersion: current.storeVersion,
|
|
41820
|
-
manifestKekWraps: replacement.manifestKekWraps,
|
|
41821
|
-
entries: [replacement.entry],
|
|
41822
|
-
recoveryCodeLocators
|
|
41823
|
-
}
|
|
41824
|
-
}),
|
|
41825
|
-
expectedStoreVersion: current.storeVersion,
|
|
41826
|
-
replacement,
|
|
41827
|
-
recoveryCodeLocators,
|
|
41828
|
-
...input.fetchImpl ? { fetchImpl: input.fetchImpl } : {}
|
|
41649
|
+
return await rotateWithIssuedCodes(input, issued, (codeBytes) => {
|
|
41650
|
+
const custody = joinCustodyWireFromEnvelopeRecord(input.custodyEnvelope);
|
|
41651
|
+
if (!custody.ok) throw new Error(custody.reason);
|
|
41652
|
+
return input.worker.rotateRecoverySet({
|
|
41653
|
+
custodyJson: custody.custodyJson,
|
|
41654
|
+
factorSecret: factorSecret.buffer.slice(0),
|
|
41655
|
+
recoveryCodesJson: recoveryCodesJson(codeBytes)
|
|
41656
|
+
});
|
|
41829
41657
|
});
|
|
41830
|
-
if (rotated.kind !== "rotated") return rotated;
|
|
41831
|
-
return {
|
|
41832
|
-
kind: "rotated",
|
|
41833
|
-
walletId: input.walletId,
|
|
41834
|
-
recoveryCodes: issued.codes,
|
|
41835
|
-
issuedAtMs: rotated.issuedAtMs,
|
|
41836
|
-
storeVersion: rotated.storeVersion
|
|
41837
|
-
};
|
|
41838
41658
|
} finally {
|
|
41839
41659
|
factorSecret.fill(0);
|
|
41840
41660
|
if (issued) zeroizeIssuedWalletRecoveryCodes(issued);
|
|
@@ -41844,49 +41664,55 @@ async function rotateWalletRecoverySetWithActiveFactorV1(input) {
|
|
|
41844
41664
|
async function rotateWalletRecoverySetWithEmailOtpV1(input) {
|
|
41845
41665
|
let issued = issueWalletRecoveryCodes();
|
|
41846
41666
|
try {
|
|
41847
|
-
|
|
41848
|
-
relayUrl: input.relayUrl,
|
|
41849
|
-
walletId: input.walletId,
|
|
41850
|
-
...input.fetchImpl ? { fetchImpl: input.fetchImpl } : {}
|
|
41851
|
-
});
|
|
41852
|
-
if (current.kind !== "ready") return current.kind === "unauthorized" ? {
|
|
41853
|
-
kind: "transport_failed",
|
|
41854
|
-
message: current.message
|
|
41855
|
-
} : current;
|
|
41856
|
-
const replacement = walletRecoverySetRotationWireFromWorkerResultV1(await input.worker.rotateRecoverySet({ recoveryCodesJson: JSON.stringify(issued.codeBytes.map((bytes) => ({ codeBytesB64u: base64UrlEncode(bytes) }))) }));
|
|
41857
|
-
if (replacement.walletId !== input.walletId) throw new Error("Recovery rotation worker returned a different wallet");
|
|
41858
|
-
const recoveryCodeLocators = await deriveRecoveryCodeLocators(issued.codeBytes, replacement.manifestKekWraps);
|
|
41859
|
-
const rotated = await rotateWalletRecoverySet({
|
|
41860
|
-
relayUrl: input.relayUrl,
|
|
41861
|
-
walletId: input.walletId,
|
|
41862
|
-
factorProof: await input.factorProof({
|
|
41863
|
-
operation: "recovery_rotate",
|
|
41864
|
-
payload: {
|
|
41865
|
-
walletId: input.walletId,
|
|
41866
|
-
expectedStoreVersion: current.storeVersion,
|
|
41867
|
-
manifestKekWraps: replacement.manifestKekWraps,
|
|
41868
|
-
entries: [replacement.entry],
|
|
41869
|
-
recoveryCodeLocators
|
|
41870
|
-
}
|
|
41871
|
-
}),
|
|
41872
|
-
expectedStoreVersion: current.storeVersion,
|
|
41873
|
-
replacement,
|
|
41874
|
-
recoveryCodeLocators,
|
|
41875
|
-
...input.fetchImpl ? { fetchImpl: input.fetchImpl } : {}
|
|
41876
|
-
});
|
|
41877
|
-
if (rotated.kind !== "rotated") return rotated;
|
|
41878
|
-
return {
|
|
41879
|
-
kind: "rotated",
|
|
41880
|
-
walletId: input.walletId,
|
|
41881
|
-
recoveryCodes: issued.codes,
|
|
41882
|
-
issuedAtMs: rotated.issuedAtMs,
|
|
41883
|
-
storeVersion: rotated.storeVersion
|
|
41884
|
-
};
|
|
41667
|
+
return await rotateWithIssuedCodes(input, issued, (codeBytes) => input.worker.rotateRecoverySet({ recoveryCodesJson: recoveryCodesJson(codeBytes) }));
|
|
41885
41668
|
} finally {
|
|
41886
41669
|
if (issued) zeroizeIssuedWalletRecoveryCodes(issued);
|
|
41887
41670
|
issued = null;
|
|
41888
41671
|
}
|
|
41889
41672
|
}
|
|
41673
|
+
async function rotateWithIssuedCodes(input, issued, rotateInWorker) {
|
|
41674
|
+
const current = await readWalletRecoveryCodeStatus({
|
|
41675
|
+
relayUrl: input.relayUrl,
|
|
41676
|
+
walletId: input.walletId,
|
|
41677
|
+
...input.fetchImpl ? { fetchImpl: input.fetchImpl } : {}
|
|
41678
|
+
});
|
|
41679
|
+
if (current.kind !== "ready") return current.kind === "unauthorized" ? {
|
|
41680
|
+
kind: "transport_failed",
|
|
41681
|
+
message: current.message
|
|
41682
|
+
} : current;
|
|
41683
|
+
const replacement = walletRecoverySetRotationWireFromWorkerResultV1(await rotateInWorker(issued.codeBytes));
|
|
41684
|
+
if (replacement.walletId !== input.walletId) throw new Error("Recovery rotation worker returned a different wallet");
|
|
41685
|
+
const recoveryCodeLocators = await deriveRecoveryCodeLocators(issued.codeBytes, replacement.manifestKekWraps);
|
|
41686
|
+
const rotated = await rotateWalletRecoverySet({
|
|
41687
|
+
relayUrl: input.relayUrl,
|
|
41688
|
+
walletId: input.walletId,
|
|
41689
|
+
factorProof: await input.factorProof({
|
|
41690
|
+
operation: "recovery_rotate",
|
|
41691
|
+
payload: {
|
|
41692
|
+
walletId: input.walletId,
|
|
41693
|
+
expectedStoreVersion: current.storeVersion,
|
|
41694
|
+
manifestKekWraps: replacement.manifestKekWraps,
|
|
41695
|
+
entries: [replacement.entry],
|
|
41696
|
+
recoveryCodeLocators
|
|
41697
|
+
}
|
|
41698
|
+
}),
|
|
41699
|
+
expectedStoreVersion: current.storeVersion,
|
|
41700
|
+
replacement,
|
|
41701
|
+
recoveryCodeLocators,
|
|
41702
|
+
...input.fetchImpl ? { fetchImpl: input.fetchImpl } : {}
|
|
41703
|
+
});
|
|
41704
|
+
if (rotated.kind !== "rotated") return rotated;
|
|
41705
|
+
return {
|
|
41706
|
+
kind: "rotated",
|
|
41707
|
+
walletId: input.walletId,
|
|
41708
|
+
recoveryCodes: issued.codes,
|
|
41709
|
+
issuedAtMs: rotated.issuedAtMs,
|
|
41710
|
+
storeVersion: rotated.storeVersion
|
|
41711
|
+
};
|
|
41712
|
+
}
|
|
41713
|
+
function recoveryCodesJson(codeBytes) {
|
|
41714
|
+
return JSON.stringify(codeBytes.map((bytes) => ({ codeBytesB64u: base64UrlEncode(bytes) })));
|
|
41715
|
+
}
|
|
41890
41716
|
async function deriveRecoveryCodeLocators(codeBytes, wraps) {
|
|
41891
41717
|
if (codeBytes.length !== wraps.length) throw new Error("Recovery code locators do not match the replacement wraps");
|
|
41892
41718
|
const recoveryCodeLocators = await Promise.all(codeBytes.map(async (bytes, index) => {
|
|
@@ -42445,21 +42271,31 @@ function createWalletHostOwnerApprovalUpdatesV1(args) {
|
|
|
42445
42271
|
};
|
|
42446
42272
|
}
|
|
42447
42273
|
function createWalletHostEcdsaSourceContributionMetadataReaderV1(args) {
|
|
42448
|
-
return createDeviceLinkingEcdsaSourceContributionMetadataReaderV1({
|
|
42449
|
-
|
|
42450
|
-
|
|
42451
|
-
|
|
42452
|
-
|
|
42453
|
-
|
|
42454
|
-
|
|
42455
|
-
|
|
42456
|
-
|
|
42457
|
-
|
|
42458
|
-
|
|
42459
|
-
|
|
42460
|
-
|
|
42461
|
-
|
|
42462
|
-
|
|
42274
|
+
return createDeviceLinkingEcdsaSourceContributionMetadataReaderV1({
|
|
42275
|
+
readActiveEcdsaCapabilityManifestV1: async ({ materialActivation }) => {
|
|
42276
|
+
const authentication = args.signingEngine.readWalletAuthenticationState();
|
|
42277
|
+
if (authentication.kind !== "authenticated") throw new Error("ECDSA source metadata requires an authenticated wallet");
|
|
42278
|
+
let lookup = await ecdsaCapabilityManifestStore.lookupByMaterialActivation({
|
|
42279
|
+
walletId: authentication.walletId,
|
|
42280
|
+
materialActivation
|
|
42281
|
+
});
|
|
42282
|
+
if (lookup.kind === "ambiguous_authority") lookup = await resolveAmbiguousEcdsaActivationForSelectedAuthMethod({
|
|
42283
|
+
walletId: authentication.walletId,
|
|
42284
|
+
materialActivation,
|
|
42285
|
+
authorities: lookup.authorities
|
|
42286
|
+
});
|
|
42287
|
+
if (lookup.kind !== "active") throw new Error(`ECDSA source metadata manifest is ${lookup.kind}`);
|
|
42288
|
+
return lookup.manifest;
|
|
42289
|
+
},
|
|
42290
|
+
readLinkedEcdsaHolderV1: ({ materialActivation }) => {
|
|
42291
|
+
const authentication = args.signingEngine.readWalletAuthenticationState();
|
|
42292
|
+
if (authentication.kind !== "authenticated") return null;
|
|
42293
|
+
return resolveLinkedEcdsaHolderRuntimeV1({
|
|
42294
|
+
walletId: authentication.walletId,
|
|
42295
|
+
materialActivation
|
|
42296
|
+
});
|
|
42297
|
+
}
|
|
42298
|
+
});
|
|
42463
42299
|
}
|
|
42464
42300
|
function createWalletHostDeviceDomainConstructionV1(args) {
|
|
42465
42301
|
const relayerUrl = String(args.configs.network.relayer?.url || "").trim();
|
|
@@ -42470,7 +42306,7 @@ function createWalletHostDeviceDomainConstructionV1(args) {
|
|
|
42470
42306
|
walletSessions: walletSessionAuthorizations,
|
|
42471
42307
|
resolveSelectedWalletAuthority: IndexedDBManager.resolveSelectedWalletAuthority.bind(IndexedDBManager),
|
|
42472
42308
|
readWalletAuthenticationState: args.signingEngine.readWalletAuthenticationState.bind(args.signingEngine),
|
|
42473
|
-
readUnlockedEd25519ExportRootCapabilityV1:
|
|
42309
|
+
readUnlockedEd25519ExportRootCapabilityV1: readUnlockedEd25519ExportRootLinkingCapabilityV1
|
|
42474
42310
|
});
|
|
42475
42311
|
return {
|
|
42476
42312
|
platform,
|
|
@@ -42998,76 +42834,6 @@ var SeamsWeb = class {
|
|
|
42998
42834
|
error: { message: input.error.message }
|
|
42999
42835
|
});
|
|
43000
42836
|
}
|
|
43001
|
-
emitEmailOtpRegistrationWorkerProgress(onEvent, args) {
|
|
43002
|
-
const base = {
|
|
43003
|
-
flowId: args.flowId,
|
|
43004
|
-
walletId: args.walletId,
|
|
43005
|
-
authMethod: "email_otp",
|
|
43006
|
-
...args.challengeId ? { requestId: args.challengeId } : {}
|
|
43007
|
-
};
|
|
43008
|
-
switch (args.progress.code) {
|
|
43009
|
-
case "otp.verify.succeeded":
|
|
43010
|
-
this.emitEmailOtpRegistrationEvent(onEvent, {
|
|
43011
|
-
...base,
|
|
43012
|
-
phase: RegistrationEventPhase.STEP_04_OTP_VERIFY_SUCCEEDED,
|
|
43013
|
-
status: "succeeded",
|
|
43014
|
-
interaction: {
|
|
43015
|
-
kind: "otp_input",
|
|
43016
|
-
overlay: "hide"
|
|
43017
|
-
}
|
|
43018
|
-
});
|
|
43019
|
-
return RegistrationEventPhase.STEP_04_OTP_VERIFY_SUCCEEDED;
|
|
43020
|
-
case "signer.email_otp.enroll.started":
|
|
43021
|
-
this.emitEmailOtpRegistrationEvent(onEvent, {
|
|
43022
|
-
...base,
|
|
43023
|
-
phase: RegistrationEventPhase.STEP_09_EMAIL_OTP_SIGNER_ENROLL_STARTED,
|
|
43024
|
-
status: "running"
|
|
43025
|
-
});
|
|
43026
|
-
return RegistrationEventPhase.STEP_09_EMAIL_OTP_SIGNER_ENROLL_STARTED;
|
|
43027
|
-
case "signer.email_otp.enroll.succeeded":
|
|
43028
|
-
this.emitEmailOtpRegistrationEvent(onEvent, {
|
|
43029
|
-
...base,
|
|
43030
|
-
phase: RegistrationEventPhase.STEP_09_EMAIL_OTP_SIGNER_ENROLL_SUCCEEDED,
|
|
43031
|
-
status: "succeeded"
|
|
43032
|
-
});
|
|
43033
|
-
return RegistrationEventPhase.STEP_09_EMAIL_OTP_SIGNER_ENROLL_SUCCEEDED;
|
|
43034
|
-
case "signer.ecdsa.bootstrap.started":
|
|
43035
|
-
this.emitEmailOtpRegistrationEvent(onEvent, {
|
|
43036
|
-
...base,
|
|
43037
|
-
phase: RegistrationEventPhase.STEP_10_ECDSA_SIGNER_PROVISION_STARTED,
|
|
43038
|
-
status: "running",
|
|
43039
|
-
data: { chainTarget: args.chainTarget }
|
|
43040
|
-
});
|
|
43041
|
-
return RegistrationEventPhase.STEP_10_ECDSA_SIGNER_PROVISION_STARTED;
|
|
43042
|
-
case "signer.ecdsa.bootstrap.prepared":
|
|
43043
|
-
this.emitEmailOtpRegistrationEvent(onEvent, {
|
|
43044
|
-
...base,
|
|
43045
|
-
phase: RegistrationEventPhase.STEP_10_ECDSA_SIGNER_PROVISION_STARTED,
|
|
43046
|
-
status: "running",
|
|
43047
|
-
message: "Coordinating EVM signing session",
|
|
43048
|
-
data: { chainTarget: args.chainTarget }
|
|
43049
|
-
});
|
|
43050
|
-
return RegistrationEventPhase.STEP_10_ECDSA_SIGNER_PROVISION_STARTED;
|
|
43051
|
-
case "signer.ecdsa.bootstrap.responded":
|
|
43052
|
-
this.emitEmailOtpRegistrationEvent(onEvent, {
|
|
43053
|
-
...base,
|
|
43054
|
-
phase: RegistrationEventPhase.STEP_10_ECDSA_SIGNER_PROVISION_STARTED,
|
|
43055
|
-
status: "running",
|
|
43056
|
-
message: "Finalizing EVM signing session",
|
|
43057
|
-
data: { chainTarget: args.chainTarget }
|
|
43058
|
-
});
|
|
43059
|
-
return RegistrationEventPhase.STEP_10_ECDSA_SIGNER_PROVISION_STARTED;
|
|
43060
|
-
case "signer.ecdsa.bootstrap.succeeded":
|
|
43061
|
-
this.emitEmailOtpRegistrationEvent(onEvent, {
|
|
43062
|
-
...base,
|
|
43063
|
-
phase: RegistrationEventPhase.STEP_10_ECDSA_SIGNER_PROVISION_SUCCEEDED,
|
|
43064
|
-
status: "succeeded",
|
|
43065
|
-
data: { chainTarget: args.chainTarget }
|
|
43066
|
-
});
|
|
43067
|
-
return RegistrationEventPhase.STEP_10_ECDSA_SIGNER_PROVISION_SUCCEEDED;
|
|
43068
|
-
default: return null;
|
|
43069
|
-
}
|
|
43070
|
-
}
|
|
43071
42837
|
emitEmailOtpUnlockWorkerProgress(onEvent, args) {
|
|
43072
42838
|
const chainLabel = args.chainTarget.kind === "tempo" ? "Tempo" : "EVM";
|
|
43073
42839
|
const base = {
|
|
@@ -43704,7 +43470,6 @@ var SeamsWeb = class {
|
|
|
43704
43470
|
this.emitEmailOtpUnlockEvent(args.onEvent, input);
|
|
43705
43471
|
};
|
|
43706
43472
|
let timingStartedAtMs = nowMs();
|
|
43707
|
-
String(args.relayUrl || this.configs.network.relayer.url).trim();
|
|
43708
43473
|
const emailHashHex = await this.emailOtpEmailHashHex(args.emailOtpAuthorityEmail || "");
|
|
43709
43474
|
recordEmailOtpUnlockTiming(unlockTiming.timings, "emailHashLookupMs", timingStartedAtMs);
|
|
43710
43475
|
timingStartedAtMs = nowMs();
|