@seams/wallet 0.7.1 → 0.7.3
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/THIRD_PARTY_NOTICES.md +1 -105
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/SeamsWeb.js +10 -1
- package/dist/esm/SeamsWeb/operations/auth/login.js +16 -6
- package/dist/esm/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.js +64 -0
- package/dist/esm/SeamsWeb/operations/auth/walletAuth.js +2 -3
- package/dist/esm/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.js +1 -4
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +11 -12
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingResume.js +1 -5
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +24 -24
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +4 -7
- package/dist/esm/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +2 -8
- package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +4 -1
- package/dist/esm/SeamsWeb/publicApi/auth.js +2 -1
- package/dist/esm/SeamsWeb/publicApi/tempo.js +6 -0
- package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +24 -15
- package/dist/esm/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.js +29 -0
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +88 -222
- package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +6 -26
- package/dist/esm/build-paths.js +0 -2
- package/dist/esm/components/AccountMenuButton/MenuItem.css +17 -0
- package/dist/esm/components/AccountMenuButton/UserAccountButton.css +0 -5
- package/dist/esm/components/AccountMenuButton/Web3AuthProfileButton.css +0 -52
- package/dist/esm/components/QRCodeScanner.css +0 -15
- package/dist/esm/components/ShowQRCode.css +0 -14
- package/dist/esm/core/indexedDB/pendingWalletRecoveryCommit.js +5 -10
- package/dist/esm/core/indexedDB/pendingWalletRegistrationCommit.js +139 -273
- package/dist/esm/core/indexedDB/seamsWalletDB/laneHolderMaterialStore.js +10 -13
- package/dist/esm/core/rpcClients/relayer/walletRecoveryPrepare.js +69 -121
- package/dist/esm/core/signingEngine/assembly/ports/recovery.js +1 -1
- package/dist/esm/core/signingEngine/chains/evm/display/functionSelectors.js +2 -5
- package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportFlow.js +2 -2
- package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +35 -28
- package/dist/esm/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +3 -3
- package/dist/esm/core/signingEngine/flows/recovery/exportKeypairOperation.js +1 -4
- package/dist/esm/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +1 -4
- package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +2 -2
- package/dist/esm/core/signingEngine/flows/signEvmFamily/preparedSigning.js +2 -9
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +6 -8
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.js +24 -18
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +6 -4
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +10 -9
- package/dist/esm/core/signingEngine/flows/signEvmFamily/transactionExecutor.js +2 -5
- package/dist/esm/core/signingEngine/flows/signNear/signNear.js +2 -2
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +2 -0
- package/dist/esm/core/signingEngine/session/availability/availableSigningLanes.js +1 -10
- package/dist/esm/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +7 -6
- package/dist/esm/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.js +108 -24
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLogin.js +3 -8
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaRecovery.js +2 -2
- package/dist/esm/core/signingEngine/session/identity/selectLane.js +7 -21
- package/dist/esm/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +2 -7
- package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +3 -15
- package/dist/esm/core/signingEngine/session/material/ecdsaSigningCapability.js +1 -1
- package/dist/esm/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +1 -4
- package/dist/esm/core/signingEngine/session/persistence/sealedSessionRecords.js +5 -8
- package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefillSigningMaterialSource.js +2 -2
- package/dist/esm/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +1 -1
- package/dist/esm/core/signingEngine/threshold/commitQueueShared.js +20 -6
- package/dist/esm/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +7 -4
- package/dist/esm/core/signingEngine/threshold/ecdsa/signingQueue.js +8 -50
- package/dist/esm/core/signingEngine/threshold/ed25519/commitQueue.js +7 -43
- package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +3 -2
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +18 -16
- package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +1 -10
- package/dist/esm/core/signingEngine/workerManager/deviceLinkingPorts.js +67 -48
- package/dist/esm/core/signingEngine/workerManager/workerTransport.js +1 -5
- package/dist/esm/react/SeamsWeb/SeamsWeb.js +10 -1
- package/dist/esm/react/SeamsWeb/operations/auth/login.js +16 -6
- package/dist/esm/react/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.js +64 -0
- package/dist/esm/react/SeamsWeb/operations/auth/walletAuth.js +2 -3
- package/dist/esm/react/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.js +1 -4
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +11 -12
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingResume.js +1 -5
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +24 -24
- package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +4 -7
- package/dist/esm/react/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +2 -8
- package/dist/esm/react/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +4 -1
- package/dist/esm/react/SeamsWeb/publicApi/auth.js +2 -1
- package/dist/esm/react/SeamsWeb/publicApi/tempo.js +6 -0
- package/dist/esm/react/SeamsWeb/signingSurface/BrowserSigningSurface.js +24 -15
- package/dist/esm/react/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.js +29 -0
- package/dist/esm/react/SeamsWeb/walletIframe/shared/exactSessionState.js +6 -26
- package/dist/esm/react/build-paths.js +0 -2
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +2 -2
- package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.js +1 -1
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +4 -4
- package/dist/esm/react/components/AccountMenuButton/LockMenuItem.js +2 -1
- package/dist/esm/react/components/AccountMenuButton/MenuItem.css +17 -0
- package/dist/esm/react/components/AccountMenuButton/UserAccountButton.css +0 -5
- package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +7 -7
- package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +0 -52
- package/dist/esm/react/components/AccountMenuButton/icons/GlobeIcon.js +12 -27
- package/dist/esm/react/components/AccountMenuButton/icons/KeyIcon.js +12 -27
- package/dist/esm/react/components/AccountMenuButton/icons/LaptopIcon.js +4 -19
- package/dist/esm/react/components/AccountMenuButton/icons/LinkIcon.js +4 -19
- package/dist/esm/react/components/AccountMenuButton/icons/LockIcon.js +11 -26
- package/dist/esm/react/components/AccountMenuButton/icons/MailIcon.js +10 -25
- package/dist/esm/react/components/AccountMenuButton/icons/RecoveryCodesIcon.js +16 -31
- package/dist/esm/react/components/AccountMenuButton/icons/ScanIcon.js +9 -24
- package/dist/esm/react/components/AccountMenuButton/icons/SlidersIcon.js +14 -29
- package/dist/esm/react/components/AccountMenuButton/icons/SmartphoneIcon.js +11 -26
- package/dist/esm/react/components/AccountMenuButton/icons/lucideIcon.js +27 -0
- package/dist/esm/react/components/AccountMenuButton/icons/strokeIcon.js +7 -17
- package/dist/esm/react/components/AccountMenuButton/index.js +6 -6
- package/dist/esm/react/components/QRCodeScanner.css +0 -15
- package/dist/esm/react/components/ShowQRCode.css +0 -14
- package/dist/esm/react/context/useSeamsWithSdkFlow.js +1 -2
- package/dist/esm/react/context/useWalletIframeLifecycle.js +0 -14
- package/dist/esm/react/core/indexedDB/pendingWalletRecoveryCommit.js +5 -10
- package/dist/esm/react/core/indexedDB/pendingWalletRegistrationCommit.js +139 -273
- package/dist/esm/react/core/rpcClients/relayer/walletRecoveryPrepare.js +4 -4
- package/dist/esm/react/core/signingEngine/assembly/ports/recovery.js +1 -1
- package/dist/esm/react/core/signingEngine/chains/evm/display/functionSelectors.js +2 -5
- package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaExportFlow.js +2 -2
- package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +35 -28
- package/dist/esm/react/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +3 -3
- package/dist/esm/react/core/signingEngine/flows/recovery/exportKeypairOperation.js +1 -4
- package/dist/esm/react/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +1 -4
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +2 -2
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/preparedSigning.js +2 -9
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +6 -8
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.js +24 -18
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlow.js +6 -4
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +10 -9
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/transactionExecutor.js +2 -5
- package/dist/esm/react/core/signingEngine/flows/signNear/signNear.js +2 -2
- package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +2 -0
- package/dist/esm/react/core/signingEngine/session/availability/availableSigningLanes.js +1 -10
- package/dist/esm/react/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +7 -6
- package/dist/esm/react/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.js +108 -24
- package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaLogin.js +3 -8
- package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaRecovery.js +2 -2
- package/dist/esm/react/core/signingEngine/session/identity/selectLane.js +7 -21
- package/dist/esm/react/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +2 -7
- package/dist/esm/react/core/signingEngine/session/material/ecdsaCapabilityManifest.js +3 -15
- package/dist/esm/react/core/signingEngine/session/material/ecdsaSigningCapability.js +1 -1
- package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +1 -4
- package/dist/esm/react/core/signingEngine/session/persistence/sealedSessionRecords.js +5 -8
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefillSigningMaterialSource.js +2 -2
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +1 -1
- package/dist/esm/react/core/signingEngine/threshold/commitQueueShared.js +20 -6
- package/dist/esm/react/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +7 -4
- package/dist/esm/react/core/signingEngine/threshold/ecdsa/signingQueue.js +8 -50
- package/dist/esm/react/core/signingEngine/threshold/ed25519/commitQueue.js +7 -43
- package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +3 -2
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +18 -16
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +1 -10
- package/dist/esm/react/core/signingEngine/workerManager/deviceLinkingPorts.js +67 -48
- package/dist/esm/react/core/signingEngine/workerManager/workerTransport.js +1 -5
- package/dist/esm/react/shared-ts/src/authorization/walletSessionIssuance.js +5 -8
- package/dist/esm/react/shared-ts/src/authorization/walletSignerActivationEquality.js +12 -0
- package/dist/esm/react/shared-ts/src/device-linking/committedSignerPackages.js +2 -5
- package/dist/esm/react/shared-ts/src/device-linking/delegatedActivationPlan.js +1 -5
- package/dist/esm/react/shared-ts/src/device-linking/ed25519ExportRoot.js +11 -15
- package/dist/esm/react/shared-ts/src/device-linking/sourceContribution.js +5 -8
- package/dist/esm/react/shared-ts/src/passkey-custody/primitives.js +5 -1
- package/dist/esm/react/shared-ts/src/signing-lanes/ownerContinuity.js +3 -7
- package/dist/esm/react/shared-ts/src/signing-lanes/recordParsers.js +12 -16
- package/dist/esm/react/shared-ts/src/threshold/signingRootScope.js +4 -1
- package/dist/esm/react/shared-ts/src/utils/ecdsaKeyFactsInventory.js +2 -4
- package/dist/esm/react/shared-ts/src/utils/ecdsaServerTiming.js +0 -1
- package/dist/esm/react/shared-ts/src/utils/exactKeys.js +17 -0
- package/dist/esm/react/shared-ts/src/utils/registrationIntent.js +2 -8
- package/dist/esm/react/shared-ts/src/utils/registrationSignerPlan.js +2 -5
- package/dist/esm/react/shared-ts/src/utils/routerAbEcdsaDerivation.js +1 -1
- package/dist/esm/react/shared-ts/src/utils/routerAbEd25519Yao.js +1 -1
- package/dist/esm/react/shared-ts/src/utils/thresholdEcdsaChainTarget.js +9 -0
- package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +1 -4
- package/dist/esm/react/styles/styles.css +17 -86
- package/dist/esm/react/utils/menuItemBlink.js +24 -0
- package/dist/esm/sdk/{accountLifecycle-BAGG_rbk.js → accountLifecycle-zthG08aC.js} +1 -1
- package/dist/esm/sdk/{adapters-B4JeK1nJ.js → adapters-Dli9XAZp.js} +20 -48
- package/dist/{public/sdk/canonicalSignerErrorCode-CRoJMVpp.js → esm/sdk/canonicalSignerErrorCode-BBIk365e.js} +1 -15
- package/dist/esm/sdk/{challengeDelivery-Dd0586fo.js → challengeDelivery-DZtopOAG.js} +1 -1
- package/dist/{public/sdk/configHelpers-vAQCzUD0.js → esm/sdk/configHelpers-D1EqxVxg.js} +1 -1
- package/dist/{public/sdk/defaultConfigs-B3c16M_8.js → esm/sdk/defaultConfigs-D_33pPT9.js} +3 -3
- package/dist/esm/sdk/{display-KdIL0ff7.js → display-P4nQF-yc.js} +1 -1
- package/dist/esm/sdk/{ecdsaCapabilityManifest-kzO_fW09.js → ecdsaCapabilityManifest-DuMs0VtU.js} +6 -18
- package/dist/{public/sdk/ecdsaPresignLifecycle-BFOTNYCK.js → esm/sdk/ecdsaPresignLifecycle-Bfx2AQKb.js} +2 -2
- package/dist/esm/sdk/{ecdsaWalletRecords-Cz4m6bIz.js → ecdsaWalletRecords-D42rtA9z.js} +2 -2
- package/dist/{public/sdk/evmFamilyEcdsaIdentity-Co5XDcEA.js → esm/sdk/evmFamilyEcdsaIdentity-CqGafQsI.js} +20 -34
- package/dist/esm/sdk/{exactSessionState-CiD5fBEs.js → exactSessionState-LWDUXydN.js} +10 -30
- package/dist/esm/sdk/{exactSigningLaneIdentity-DQeqPMST.js → exactSigningLaneIdentity-m6uTXV_A.js} +1 -1
- package/dist/esm/sdk/{export-viewer-host-ZqA2Yz3H.js → export-viewer-host-rWMSQQMP.js} +1 -1
- package/dist/{public/sdk/host-BWBbCAMu.js → esm/sdk/host-CnV8nAUe.js} +3 -3
- package/dist/{public/sdk/keyMaterialBrands-CX41hur6.js → esm/sdk/keyMaterialBrands-CogGAAZn.js} +1 -1
- package/dist/{public/sdk/localOnly-Bg8UuLZ5.js → esm/sdk/localOnly-DTpa2jD5.js} +2 -2
- package/dist/esm/sdk/{nearEd25519YaoMaterialActivation-DPb0s3hQ.js → nearEd25519YaoMaterialActivation-B5GecIvq.js} +38 -28
- package/dist/esm/sdk/{nearEd25519YaoSigningPreparation-BeD-SmbK.js → nearEd25519YaoSigningPreparation-CdOT5RuC.js} +3 -3
- package/dist/esm/sdk/{passkey-custody-Bk1jAknm.js → passkey-custody-UUHbC0pk.js} +1 -1
- package/dist/esm/sdk/{pendingWalletRecoveryCodeBackup-DLzBb3WQ.js → pendingWalletRecoveryCodeBackup-BWluQMbt.js} +1 -1
- package/dist/esm/sdk/{recovery-entrypoint-DW2tGyMs.js → recovery-entrypoint-C3fydnRC.js} +10 -10
- package/dist/esm/sdk/{registration-BZDzDv91.js → registration-Ct_7LdGf.js} +30 -42
- package/dist/esm/sdk/{registration-BzVHODuD.js → registration-DHERU8R_.js} +1 -1
- package/dist/esm/sdk/{registrationAccounts-CKku_Sgy.js → registrationAccounts-DmWPzf3T.js} +2 -2
- package/dist/esm/sdk/{registrationIntent-D0PxwEY4.js → registrationIntent-4zwk16zQ.js} +3 -9
- package/dist/esm/sdk/{registrationPreparationPreload-CIAuRlxI.js → registrationPreparationPreload-D6zpWp4O.js} +2 -2
- package/dist/esm/sdk/{registrationSignerPlan-CAikVZZQ.js → registrationSignerPlan-DhV8VAob.js} +2 -5
- package/dist/{public/sdk/router-C5lF_J_u.js → esm/sdk/router-B4ZWFy9E.js} +7 -7
- package/dist/{public/sdk/routerAbNormalSigning-fhvpDtmY.js → esm/sdk/routerAbNormalSigning-CVFEOZ2m.js} +1 -1
- package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/esm/sdk/{runtime-auth-DFTqwj3u.js → runtime-auth-DdfynDKt.js} +126 -273
- package/dist/esm/sdk/{runtime-device-link-C1Oub8Lw.js → runtime-device-link-HJ2ptFux.js} +12 -12
- package/dist/esm/sdk/{runtime-ecdsa-tempo-rkWwolw1.js → runtime-ecdsa-tempo-BGLsTAWR.js} +13 -13
- package/dist/{public/sdk/runtime-email-otp-vuUG5LYl.js → esm/sdk/runtime-email-otp-CpX88VZJ.js} +12 -12
- package/dist/{public/sdk/runtime-export-FZWj0HxJ.js → esm/sdk/runtime-export-DIVY473L.js} +13 -13
- package/dist/esm/sdk/{runtime-near-B9cjurVD.js → runtime-near-CxtQi4b2.js} +12 -12
- package/dist/esm/sdk/{runtime-preferences-Dq0bfyS5.js → runtime-preferences-vnJc5Svg.js} +12 -12
- package/dist/esm/sdk/{runtime-recovery-codes-bTm3fLV4.js → runtime-recovery-codes-BSCLVHQj.js} +6 -6
- package/dist/{public/sdk/runtime-recovery-C-vfFKF3.js → esm/sdk/runtime-recovery-i08vCJST.js} +12 -12
- package/dist/esm/sdk/{runtimeContext-iLXnxVlZ.js → runtimeContext-D3TBExQ6.js} +346 -305
- package/dist/esm/sdk/{runtimeLoader-hod6T2-m.js → runtimeLoader-DQVEFVaW.js} +11 -11
- package/dist/{public/sdk/secp256k1-el9aE4Sv.js → esm/sdk/secp256k1-D-I6Gh4D.js} +36 -25
- package/dist/esm/sdk/{sessionPolicy-CHiilOAB.js → sessionPolicy-DO-MkL65.js} +8 -1
- package/dist/{public/sdk/signEvmFamily-e4IWWsZs.js → esm/sdk/signEvmFamily-C3C97Th-.js} +43 -102
- package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-Cu9qdk8M.js → signEvmFamilyWithUiConfirmForTempo-BI9DSTIS.js} +2 -2
- package/dist/{public/sdk/signEvmWithUiConfirm-C61TCBnh.js → esm/sdk/signEvmWithUiConfirm-Bmcim5-g.js} +1 -1
- package/dist/esm/sdk/{signNear-Bblwn2kT.js → signNear-Bmb2fj_a.js} +19 -55
- package/dist/{public/sdk/signerLoader-D7Aey0FD.js → esm/sdk/signerLoader-B7orgq5Z.js} +3 -3
- package/dist/{public/sdk/signingFlow-rZfPegH9.js → esm/sdk/signingFlow-SZ8t_lxv.js} +9 -10
- package/dist/esm/sdk/{trace-rHe0wz7q.js → trace-DKLQZvec.js} +0 -1
- package/dist/esm/sdk/{transactionState-DP9O8F6f.js → transactionState-CJ4U8pcl.js} +50 -41
- package/dist/esm/sdk/tx-confirm-ui.js +11 -46
- package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/{public/sdk/wallet-recovery-Bz9qKgaL.js → esm/sdk/wallet-recovery-BX61-79p.js} +3 -6
- package/dist/esm/sdk/wallet-ui.css +41 -301
- package/dist/{public/sdk/walletAuthority-BQBxgUBn.js → esm/sdk/walletAuthority-DD9T25F6.js} +1 -5
- package/dist/esm/sdk/{walletCustodyEcdsaContinuity-Hn4ORIbf.js → walletCustodyEcdsaContinuity-CF4bv9OI.js} +166 -296
- package/dist/esm/sdk/{walletRecoveryCommit-sjGNTHUj.js → walletRecoveryCommit-AI1AtIRP.js} +81 -139
- package/dist/esm/shared-ts/src/authorization/walletSessionIssuance.js +5 -8
- package/dist/esm/shared-ts/src/authorization/walletSignerActivationEquality.js +12 -0
- package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +2 -5
- package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +1 -5
- package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +11 -15
- package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +5 -8
- package/dist/esm/shared-ts/src/passkey-custody/primitives.js +5 -1
- package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +3 -7
- package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +12 -16
- package/dist/esm/shared-ts/src/threshold/signingRootScope.js +4 -1
- package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +2 -4
- package/dist/esm/shared-ts/src/utils/ecdsaServerTiming.js +0 -1
- package/dist/esm/shared-ts/src/utils/exactKeys.js +17 -0
- package/dist/esm/shared-ts/src/utils/registrationIntent.js +2 -8
- package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +2 -5
- package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +1 -1
- package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +1 -1
- package/dist/esm/shared-ts/src/utils/thresholdEcdsaChainTarget.js +9 -0
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +1 -4
- package/dist/esm/utils/menuItemBlink.js +24 -0
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.d.ts +1 -1
- 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_bg.wasm +0 -0
- package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/{accountLifecycle-BAGG_rbk.js → accountLifecycle-zthG08aC.js} +1 -1
- package/dist/public/sdk/{adapters-B4JeK1nJ.js → adapters-Dli9XAZp.js} +20 -48
- package/dist/{esm/sdk/canonicalSignerErrorCode-CRoJMVpp.js → public/sdk/canonicalSignerErrorCode-BBIk365e.js} +1 -15
- package/dist/public/sdk/{challengeDelivery-Dd0586fo.js → challengeDelivery-DZtopOAG.js} +1 -1
- package/dist/{esm/sdk/configHelpers-vAQCzUD0.js → public/sdk/configHelpers-D1EqxVxg.js} +1 -1
- package/dist/{esm/sdk/defaultConfigs-B3c16M_8.js → public/sdk/defaultConfigs-D_33pPT9.js} +3 -3
- package/dist/public/sdk/{display-KdIL0ff7.js → display-P4nQF-yc.js} +1 -1
- package/dist/public/sdk/{ecdsaCapabilityManifest-kzO_fW09.js → ecdsaCapabilityManifest-DuMs0VtU.js} +6 -18
- package/dist/{esm/sdk/ecdsaPresignLifecycle-BFOTNYCK.js → public/sdk/ecdsaPresignLifecycle-Bfx2AQKb.js} +2 -2
- package/dist/public/sdk/{ecdsaWalletRecords-Cz4m6bIz.js → ecdsaWalletRecords-D42rtA9z.js} +2 -2
- package/dist/{esm/sdk/evmFamilyEcdsaIdentity-Co5XDcEA.js → public/sdk/evmFamilyEcdsaIdentity-CqGafQsI.js} +20 -34
- package/dist/public/sdk/{exactSessionState-CiD5fBEs.js → exactSessionState-LWDUXydN.js} +10 -30
- package/dist/public/sdk/{exactSigningLaneIdentity-DQeqPMST.js → exactSigningLaneIdentity-m6uTXV_A.js} +1 -1
- package/dist/public/sdk/{export-viewer-host-ZqA2Yz3H.js → export-viewer-host-rWMSQQMP.js} +1 -1
- package/dist/{esm/sdk/host-BWBbCAMu.js → public/sdk/host-CnV8nAUe.js} +3 -3
- package/dist/{esm/sdk/keyMaterialBrands-CX41hur6.js → public/sdk/keyMaterialBrands-CogGAAZn.js} +1 -1
- package/dist/{esm/sdk/localOnly-Bg8UuLZ5.js → public/sdk/localOnly-DTpa2jD5.js} +2 -2
- package/dist/public/sdk/{nearEd25519YaoMaterialActivation-DPb0s3hQ.js → nearEd25519YaoMaterialActivation-B5GecIvq.js} +38 -28
- package/dist/public/sdk/{nearEd25519YaoSigningPreparation-BeD-SmbK.js → nearEd25519YaoSigningPreparation-CdOT5RuC.js} +3 -3
- package/dist/public/sdk/{passkey-custody-Bk1jAknm.js → passkey-custody-UUHbC0pk.js} +1 -1
- package/dist/public/sdk/{pendingWalletRecoveryCodeBackup-DLzBb3WQ.js → pendingWalletRecoveryCodeBackup-BWluQMbt.js} +1 -1
- package/dist/public/sdk/{recovery-entrypoint-DW2tGyMs.js → recovery-entrypoint-C3fydnRC.js} +10 -10
- package/dist/public/sdk/{registration-BZDzDv91.js → registration-Ct_7LdGf.js} +30 -42
- package/dist/public/sdk/{registration-BzVHODuD.js → registration-DHERU8R_.js} +1 -1
- package/dist/public/sdk/{registrationAccounts-CKku_Sgy.js → registrationAccounts-DmWPzf3T.js} +2 -2
- package/dist/public/sdk/{registrationIntent-D0PxwEY4.js → registrationIntent-4zwk16zQ.js} +3 -9
- package/dist/public/sdk/{registrationPreparationPreload-CIAuRlxI.js → registrationPreparationPreload-D6zpWp4O.js} +2 -2
- package/dist/public/sdk/{registrationSignerPlan-CAikVZZQ.js → registrationSignerPlan-DhV8VAob.js} +2 -5
- package/dist/{esm/sdk/router-C5lF_J_u.js → public/sdk/router-B4ZWFy9E.js} +7 -7
- package/dist/{esm/sdk/routerAbNormalSigning-fhvpDtmY.js → public/sdk/routerAbNormalSigning-CVFEOZ2m.js} +1 -1
- package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/sdk/{runtime-auth-DFTqwj3u.js → runtime-auth-DdfynDKt.js} +126 -273
- package/dist/public/sdk/{runtime-device-link-C1Oub8Lw.js → runtime-device-link-HJ2ptFux.js} +12 -12
- package/dist/public/sdk/{runtime-ecdsa-tempo-rkWwolw1.js → runtime-ecdsa-tempo-BGLsTAWR.js} +13 -13
- package/dist/{esm/sdk/runtime-email-otp-vuUG5LYl.js → public/sdk/runtime-email-otp-CpX88VZJ.js} +12 -12
- package/dist/{esm/sdk/runtime-export-FZWj0HxJ.js → public/sdk/runtime-export-DIVY473L.js} +13 -13
- package/dist/public/sdk/{runtime-near-B9cjurVD.js → runtime-near-CxtQi4b2.js} +12 -12
- package/dist/public/sdk/{runtime-preferences-Dq0bfyS5.js → runtime-preferences-vnJc5Svg.js} +12 -12
- package/dist/public/sdk/{runtime-recovery-codes-bTm3fLV4.js → runtime-recovery-codes-BSCLVHQj.js} +6 -6
- package/dist/{esm/sdk/runtime-recovery-C-vfFKF3.js → public/sdk/runtime-recovery-i08vCJST.js} +12 -12
- package/dist/public/sdk/{runtimeContext-iLXnxVlZ.js → runtimeContext-D3TBExQ6.js} +346 -305
- package/dist/public/sdk/{runtimeLoader-hod6T2-m.js → runtimeLoader-DQVEFVaW.js} +11 -11
- package/dist/{esm/sdk/secp256k1-el9aE4Sv.js → public/sdk/secp256k1-D-I6Gh4D.js} +36 -25
- package/dist/public/sdk/{sessionPolicy-CHiilOAB.js → sessionPolicy-DO-MkL65.js} +8 -1
- package/dist/{esm/sdk/signEvmFamily-e4IWWsZs.js → public/sdk/signEvmFamily-C3C97Th-.js} +43 -102
- package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-Cu9qdk8M.js → signEvmFamilyWithUiConfirmForTempo-BI9DSTIS.js} +2 -2
- package/dist/{esm/sdk/signEvmWithUiConfirm-C61TCBnh.js → public/sdk/signEvmWithUiConfirm-Bmcim5-g.js} +1 -1
- package/dist/public/sdk/{signNear-Bblwn2kT.js → signNear-Bmb2fj_a.js} +19 -55
- package/dist/{esm/sdk/signerLoader-D7Aey0FD.js → public/sdk/signerLoader-B7orgq5Z.js} +3 -3
- package/dist/{esm/sdk/signingFlow-rZfPegH9.js → public/sdk/signingFlow-SZ8t_lxv.js} +9 -10
- package/dist/public/sdk/{trace-rHe0wz7q.js → trace-DKLQZvec.js} +0 -1
- package/dist/public/sdk/{transactionState-DP9O8F6f.js → transactionState-CJ4U8pcl.js} +50 -41
- package/dist/public/sdk/tx-confirm-ui.js +11 -46
- package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/{esm/sdk/wallet-recovery-Bz9qKgaL.js → public/sdk/wallet-recovery-BX61-79p.js} +3 -6
- package/dist/public/sdk/wallet-ui.css +41 -301
- package/dist/{esm/sdk/walletAuthority-BQBxgUBn.js → public/sdk/walletAuthority-DD9T25F6.js} +1 -5
- package/dist/public/sdk/{walletCustodyEcdsaContinuity-Hn4ORIbf.js → walletCustodyEcdsaContinuity-CF4bv9OI.js} +166 -296
- package/dist/public/sdk/{walletRecoveryCommit-sjGNTHUj.js → walletRecoveryCommit-AI1AtIRP.js} +81 -139
- package/dist/public/sdk/workers/device-linking-key.worker.js +106 -105
- package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +15 -24
- package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +58 -73
- package/dist/public/sdk/workers/email-otp.worker.js +13 -16
- package/dist/public/sdk/workers/evm_crypto.wasm +0 -0
- package/dist/public/sdk/workers/evm_crypto_bg.wasm +0 -0
- package/dist/public/sdk/workers/near_signer.wasm +0 -0
- 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.wasm +0 -0
- package/dist/public/sdk/workers/tempo_signer_bg.wasm +0 -0
- package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +7 -7
- 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 +112 -112
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +2 -1
- package/dist/types/shared-ts/src/authorization/walletSessionIssuance.d.ts +9 -2
- package/dist/types/shared-ts/src/authorization/walletSignerActivationEquality.d.ts +4 -0
- package/dist/types/shared-ts/src/device-linking/committedSignerPackages.d.ts +3 -4
- package/dist/types/shared-ts/src/device-linking/contracts.d.ts +5 -63
- package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +2 -0
- package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +5 -12
- package/dist/types/shared-ts/src/passkey-custody/primitives.d.ts +9 -0
- package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +11 -1
- package/dist/types/shared-ts/src/signing-lanes/ids.d.ts +1 -10
- package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +3 -5
- package/dist/types/shared-ts/src/tenant-root/tenantRootIdentifier.d.ts +3 -0
- package/dist/types/shared-ts/src/tenant-root/tenantRootOperationRecord.d.ts +2 -1
- package/dist/types/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.d.ts +6 -0
- package/dist/types/shared-ts/src/threshold/signingRootScope.d.ts +1 -0
- package/dist/types/shared-ts/src/utils/ecdsaKeyFactsInventory.d.ts +2 -11
- package/dist/types/shared-ts/src/utils/eip1559TxWasmJson.d.ts +16 -0
- package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +2 -0
- package/dist/types/shared-ts/src/utils/exactKeys.d.ts +11 -0
- package/dist/types/shared-ts/src/utils/failure.d.ts +12 -0
- package/dist/types/shared-ts/src/utils/jsonRpc.d.ts +3 -4
- package/dist/types/shared-ts/src/utils/nearRpcResults.d.ts +1 -0
- package/dist/types/shared-ts/src/utils/registrationAuthMethodInput.d.ts +3 -8
- package/dist/types/shared-ts/src/utils/registrationSignerPlan.d.ts +7 -19
- package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +3 -1
- package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +1 -0
- package/dist/types/shared-ts/src/utils/routerAbEd25519YaoDigests.d.ts +3 -4
- package/dist/types/shared-ts/src/utils/routerAbNormalSigningIdentity.d.ts +30 -8
- package/dist/types/shared-ts/src/utils/routerApiKeyAuth.d.ts +2 -0
- package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +10 -11
- package/dist/types/shared-ts/src/utils/thresholdEcdsaChainTarget.d.ts +25 -0
- package/dist/types/shared-ts/src/utils/variant.d.ts +18 -0
- package/dist/types/shared-ts/src/utils/walletAuthMethodRecord.d.ts +3 -6
- package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +4 -2
- package/dist/types/shared-ts/src/wallet-recovery/recoveryEnvelopes.d.ts +3 -16
- package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryPreparation.d.ts +15 -0
- package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryTarget.d.ts +3 -4
- package/dist/types/wallet/build-paths.d.ts +1 -2
- package/dist/types/wallet/src/SeamsWeb/SeamsWeb.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.d.ts +11 -0
- package/dist/types/wallet/src/SeamsWeb/operations/auth/walletAuth.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/operations/auth/walletUnlockSubject.d.ts +3 -17
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/walletActivation.d.ts +3 -4
- package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.d.ts +2 -10
- package/dist/types/wallet/src/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +7 -16
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +1 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +5 -15
- package/dist/types/wallet/src/core/accountData/near/keyMaterial.d.ts +3 -5
- package/dist/types/wallet/src/core/indexedDB/passkeyClientDB.types.d.ts +2 -8
- package/dist/types/wallet/src/core/indexedDB/pendingWalletRegistrationCommit.d.ts +3 -4
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.d.ts +7 -12
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.d.ts +3 -6
- package/dist/types/wallet/src/core/platform/ecdsaRoleLocalRecords.d.ts +9 -38
- package/dist/types/wallet/src/core/platform/http.d.ts +3 -5
- package/dist/types/wallet/src/core/platform/ports.d.ts +3 -7
- package/dist/types/wallet/src/core/rpcClients/near/NearRpcError.d.ts +1 -2
- package/dist/types/wallet/src/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.d.ts +2 -11
- package/dist/types/wallet/src/core/rpcClients/relayer/thresholdEcdsa.d.ts +2 -8
- package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryPrepare.d.ts +2 -14
- package/dist/types/wallet/src/core/signingEngine/chains/near/payloads.d.ts +2 -10
- package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaDerivationExport.d.ts +3 -4
- package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaExportFlow.d.ts +4 -8
- package/dist/types/wallet/src/core/signingEngine/flows/recovery/keyExportFlow.d.ts +7 -6
- package/dist/types/wallet/src/core/signingEngine/flows/registration/accountLifecycle.d.ts +1 -10
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/freshAuthRetryPolicy.d.ts +3 -4
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/nonceResolution.d.ts +3 -4
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.d.ts +5 -8
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.d.ts +1 -0
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.d.ts +10 -5
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoCapabilityResolution.d.ts +3 -10
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/operationStepUpPreparation.d.ts +3 -5
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNep413.d.ts +3 -7
- package/dist/types/wallet/src/core/signingEngine/interfaces/near.d.ts +3 -4
- package/dist/types/wallet/src/core/signingEngine/interfaces/operationDeps.d.ts +3 -5
- package/dist/types/wallet/src/core/signingEngine/interfaces/operationStepUpPreparation.d.ts +3 -5
- package/dist/types/wallet/src/core/signingEngine/nonce/nearTransactionReadiness.d.ts +3 -5
- package/dist/types/wallet/src/core/signingEngine/nonce/nonceTypes.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/clientCeremony.d.ts +5 -22
- package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.d.ts +3 -14
- package/dist/types/wallet/src/core/signingEngine/session/availability/persistedAvailableSigningLanes.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.d.ts +37 -14
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaPublication.d.ts +3 -5
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ed25519ExportContext.d.ts +2 -6
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/walletUnlock.d.ts +6 -15
- package/dist/types/wallet/src/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.d.ts +3 -5
- package/dist/types/wallet/src/core/signingEngine/session/identity/exactWalletSessionCredential.d.ts +3 -4
- package/dist/types/wallet/src/core/signingEngine/session/identity/exactWalletSessionReader.d.ts +3 -6
- package/dist/types/wallet/src/core/signingEngine/session/identity/laneIdentity.d.ts +5 -8
- package/dist/types/wallet/src/core/signingEngine/session/identity/signingLaneAuthBinding.d.ts +3 -5
- package/dist/types/wallet/src/core/signingEngine/session/material/activeEcdsaCapabilityRuntime.d.ts +5 -10
- package/dist/types/wallet/src/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.d.ts +3 -6
- package/dist/types/wallet/src/core/signingEngine/session/material/capabilityPreparationResult.d.ts +3 -22
- package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaCapabilityHydration.d.ts +3 -4
- package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSealedRuntime.d.ts +3 -4
- package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSigningCapability.d.ts +5 -0
- package/dist/types/wallet/src/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.d.ts +5 -10
- package/dist/types/wallet/src/core/signingEngine/session/operationState/authorizationAdmission.d.ts +3 -8
- package/dist/types/wallet/src/core/signingEngine/session/operationState/types.d.ts +3 -5
- package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaBootstrap.d.ts +3 -4
- package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaSessionProvision.d.ts +3 -4
- package/dist/types/wallet/src/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.d.ts +7 -25
- package/dist/types/wallet/src/core/signingEngine/session/sealedRecovery/sealedRecovery.types.d.ts +3 -4
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReaderCore.d.ts +3 -16
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.d.ts +6 -26
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/persistencePorts.d.ts +3 -4
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmTypes.d.ts +11 -36
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.d.ts +5 -8
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.d.ts +3 -5
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.d.ts +3 -8
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/types.d.ts +7 -22
- package/dist/types/wallet/src/core/signingEngine/threshold/commitQueueShared.d.ts +10 -10
- package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/bootstrapSession.d.ts +3 -4
- package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/signingQueue.d.ts +1 -7
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/commitQueue.d.ts +1 -6
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/walletSession.d.ts +6 -36
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.d.ts +3 -4
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.d.ts +5 -9
- package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignLifecycle.d.ts +5 -16
- package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +3 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/crypto.d.ts +2 -11
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/custodyRestore.d.ts +0 -2
- package/dist/types/wallet/src/core/types/linkDevice.d.ts +3 -18
- package/dist/types/wallet/src/core/types/sdkPublicResults.d.ts +5 -18
- package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +4 -21
- package/dist/types/wallet/src/core/types/seams.d.ts +17 -71
- package/dist/types/wallet/src/externalEvm/types.d.ts +5 -12
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/GlobeIcon.d.ts +1 -4
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/KeyIcon.d.ts +1 -4
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LaptopIcon.d.ts +1 -4
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LinkIcon.d.ts +1 -4
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockIcon.d.ts +1 -4
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MailIcon.d.ts +1 -4
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/RecoveryCodesIcon.d.ts +1 -4
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/ScanIcon.d.ts +1 -4
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SlidersIcon.d.ts +1 -4
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SmartphoneIcon.d.ts +1 -4
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/lucideIcon.d.ts +5 -0
- package/dist/types/wallet/src/react/hooks/useAccountInput.d.ts +1 -22
- package/dist/types/wallet/src/react/transactionReview/controller.d.ts +3 -10
- package/dist/types/wallet/src/utils/menuItemBlink.d.ts +9 -0
- package/dist/workers/device-linking-key.worker.js +106 -105
- package/dist/workers/ecdsa-derivation-client.worker.js +15 -24
- package/dist/workers/ecdsa-presign-client.worker.js +58 -73
- package/dist/workers/email-otp.worker.js +13 -16
- package/dist/workers/evm_crypto.wasm +0 -0
- package/dist/workers/evm_crypto_bg.wasm +0 -0
- package/dist/workers/near_signer.wasm +0 -0
- 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.wasm +0 -0
- package/dist/workers/tempo_signer_bg.wasm +0 -0
- package/dist/workers/wallet-custody-ceremony.worker.js +7 -7
- 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/components/AccountMenuButton/HaloBorder/HaloBorder.css +0 -101
- package/dist/esm/core/signingEngine/session/emailOtp/coordinatorRuntime.js +0 -131
- package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/renderers/evm.js +0 -12
- package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/renderers/near.js +0 -12
- package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/renderers/tempo.js +0 -12
- package/dist/esm/react/components/AccountMenuButton/HaloBorder/HaloBorder.css +0 -101
- package/dist/esm/react/core/signingEngine/session/emailOtp/coordinatorRuntime.js +0 -131
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/renderers/evm.js +0 -12
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/renderers/near.js +0 -12
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/renderers/tempo.js +0 -12
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/coordinatorRuntime.d.ts +0 -43
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/evm.d.ts +0 -5
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/near.d.ts +0 -5
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/tempo.d.ts +0 -5
|
@@ -8,71 +8,71 @@ import { b as parsePMRedeemHostedWalletSeamsSessionPayload } from "./messages-C7
|
|
|
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 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
|
|
12
|
-
import { C as
|
|
13
|
-
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, 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-Ct_7LdGf.js";
|
|
12
|
+
import { C as parseEnvelopeNonceB64u, D as parseUnixMs, E as parseSecp256k1CompressedPublicKeyB64u, I as rejectUnknownFields, O as requireParsed$1, S as parseEnvelopeCiphertextB64u, T as parseKeyCreationSignerSlot, _ as signingRootScopeFromRuntimePolicyScope, a as clampThresholdSessionPolicy, b as parseDigestField, c as resolveWalletUnlockSessionUsesFromRequestedUses, d as normalizeThresholdEd25519ParticipantIds, f as parseThresholdEd25519ParticipantsV1, g as sameRuntimePolicyScope$1, h as normalizeRuntimePolicyScope, i as buildEd25519SessionPolicy, j as hasDelegatedWalletPermissionV1, k as buildFullOwnerDelegatedWalletAuthorityV1, 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 deriveEvmFamilySigningKeySlotId, w as parseEnvelopeRevision, x as parseEd25519PublicKeyB64u, y as requireEvmFamilySigningKeySlotId } from "./sessionPolicy-DO-MkL65.js";
|
|
13
|
+
import { $ as parseEmailOtpWalletAuthAuthority, B as sameRouterAbEcdsaDerivationNormalSigningStateV1, Dt as sameRouterAbMpcMaterialActivationRef, E as parseRouterAbEcdsaRegistrationActivationReceiptV1, Et as routerAbMpcMaterialActivationRefToWire, G as sameRouterAbServerIdentityV1, H as sameRouterAbEcdsaDerivationPublicIdentityV1, K as buildEmailOtpWalletAuthAuthority, M as routerAbEcdsaDerivationActiveStateId, Q as isPasskeyWalletAuthAuthority, S as parseRouterAbEcdsaOperationStepUpPreparationV1, Tt as routerAbMpcMaterialActivationRefFromWire, U as sameRouterAbEcdsaRegistrationActivationReceiptV1, V as sameRouterAbEcdsaDerivationPublicCapabilityV1, Z as isEmailOtpWalletAuthAuthority, _ as parseRouterAbEcdsaDerivationNormalSigningStateV1, _t as computeEcdsaDerivationRoleLocalRelayerKeyId, bt as parseSdkEcdsaDerivationSigningRootVersion, i as ROUTER_AB_ECDSA_DERIVATION_EXPORT_PATH, it as walletAuthAuthorityRef, jt as parseWalletSessionOperationCredentialV1, kt as activeWalletSessionV1RecordsEqual, nt as parseWalletAuthAuthorityRef, p as parseRouterAbEcdsaCredentialFreeSessionActivationResponseV1, q as buildPasskeyWalletAuthAuthority, r as cloneAuthenticatorOptions, rt as walletAuthAuthoritiesMatch, t as MAX_DURABLE_CLIENT_PRESIGNATURE_LIFETIME_MS, v as parseRouterAbEcdsaDerivationPublicCapabilityV1, w as parseRouterAbEcdsaPostRegistrationSessionActivationRequestV1, xt as parseSdkEcdsaDerivationThresholdKeyId, y as parseRouterAbEcdsaExplicitExportForwardedResponseV1, yt as parseSdkEcdsaDerivationSigningRootId } from "./ecdsaPresignLifecycle-Bfx2AQKb.js";
|
|
14
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
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
16
|
import { a as sha256DigestB64u, o as sha256Utf8DigestB64u, r as parseDigestB64u } from "./canonicalPrimitives-BTHWz80v.js";
|
|
17
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
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
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-
|
|
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-
|
|
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-BX61-79p.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-zthG08aC.js";
|
|
22
22
|
import { t as toAccountId } from "./accountIds-DhIPGOSN.js";
|
|
23
|
-
import { $ as parseLinkedDeviceListRequestV1,
|
|
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-
|
|
23
|
+
import { $ as parseLinkedDeviceListRequestV1, At as serializeQrLinkedDeviceSessionPayloadV5, Ct as parseLinkedDeviceOwnerAuthorizationRequestV1, D as parseSigningWorkerParticipantRecordV1, Dt as parseLinkedDeviceTargetPreparationRequestV1, E as parseLaneParticipantBindingDigestB64u, Et as parseLinkedDeviceTargetCredentialRegistrationResultV1, F as buildWalletIdentity, Ft as parseLinkedDeviceOrdinaryMaterialSourceContributionPreparationV1, G as computeWalletSessionInstallationReceiptDigestB64u, H as LINKED_DEVICE_REQUEST_PROOF_MAX_TTL_MS_V1, Ht as ROUTER_AB_ED25519_YAO_RECOVERY_ADMISSION_PATH_V1, I as nearAccountBindingFromRaw, J as parseLocalAuthorityActivationFinalAckV1, K as computeWalletSessionOperationCredentialDigestB64u, Kt as ROUTER_AB_ED25519_YAO_REGISTRATION_EXECUTE_PATH_V1, N as buildPasskeyAuthScope, Nt as parseLinkedDeviceEd25519SourcePreservingReservationV1, Ot as parseLinkedDeviceTargetPreparationV1, P as buildPasskeyWalletAuthMethodBinding, Pt as parseLinkedDeviceOrdinaryMaterialSourceContributionPreparationTupleV1, Q as parseLinkedDeviceWalletSessionCredentialDeliveryV1, R as parseRpId, Rt as ROUTER_AB_ED25519_YAO_EMAIL_OTP_RECOVERY_BOOTSTRAP_KIND_V1, St as parseLinkedDeviceEmailOtpVerificationResultV1, T as parseLaneHolderParticipantRecordV1, Tt as parseLinkedDeviceSessionClaimV1, U as computeLinkedDevicePublicKeyDigestV1, V as LINKED_DEVICE_REQUEST_PROOF_HEADER_V1, Vt as ROUTER_AB_ED25519_YAO_RECOVERY_ACTIVATE_PATH_V1, W as computeLinkedDeviceTargetPreparationDigestV1, Wt as ROUTER_AB_ED25519_YAO_RECOVERY_EXECUTE_PATH_V1, X as assertLinkedDeviceWalletSessionCredentialDeliveryIntegrityV1, Y as parseLocalAuthorityInstallationReceiptV1, Z as parseLinkedDeviceWalletSessionCredentialDeliveryBindingV1, _ as resolveThresholdSigningRootBindingFromRecord, _n as parseLinkedDeviceEd25519ExportRootPackageV1, _t as parseLinkedDeviceEmailOtpChallengeResultV1, a as buildEvmFamilyEcdsaWalletKey, an as parseRouterAbEd25519YaoRecoveryAdmissionRequestV1, at as buildLinkedDeviceSessionCancelClaimedRequestV1, bn as serializeLinkedDeviceEd25519ExportRootTransferBindingV1, bt as parseLinkedDeviceEmailOtpFactorReleaseEnvelopeV1, c as buildResolvedEvmFamilyEcdsaKey, cn as parseRouterAbEd25519YaoRegistrationActivationResultV1, ct as buildLinkedDeviceTargetCredentialRegistrationV1, d as deriveEvmFamilyKeyFingerprint, dt as parseLinkSessionProjectionV1, et as parseLinkedDeviceListResultV1, f as deriveEvmFamilyKeyFingerprintFromPublicFacts, ft as parseLinkSessionTransportEventV1, gn as buildLinkedDeviceEd25519ExportRootTransferBindingV1, gt as parseLinkedDeviceEmailOtpChallengeResendRequestV1, hn as LINKED_DEVICE_ED25519_EXPORT_ROOT_TRANSFER_ALG_V1, ht as parseLinkedDeviceEmailOtpBaseFactorResolutionResultV1, i as buildEvmFamilyEcdsaSessionLanePolicy, in as parseRouterAbEd25519YaoRecoveryActivationResultV1, it as buildLinkedDeviceApprovalV1, jt as parseCommittedAuthorityPackagesV1, k as buildEmailOtpWalletAuthMethodBinding, kt as parseQrLinkedDeviceSessionPayloadV5, lt as buildQrLinkedDeviceSessionPayloadV5, m as evmFamilyEcdsaWalletKeyToIdentity, mt as parseLinkedDeviceApprovalResultV1, n as buildBaseEvmFamilyEcdsaKeyIdentity, nn as parseRouterAbEd25519YaoRecoveryActivationExecuteRequestV1, nt as parseLinkedDeviceRevokeResultV1, ot as buildLinkedDeviceSessionCancelUnclaimedRequestV1, p as deriveEvmFamilySigningKeySlotId$1, pn as deriveRouterAbEd25519YaoApplicationBindingDigestV1, pt as parseLinkedDeviceApprovalDeliveryV1, q as parseActivateInstalledAuthorityResultV1, qt as ROUTER_AB_ED25519_YAO_WARM_RECOVERY_BOOTSTRAP_PATH_V1, r as buildEvmFamilyEcdsaRecoveredMaterialLanePolicy, rn as parseRouterAbEd25519YaoRecoveryActivationReceiptV1, s as buildPasskeyEcdsaAuthBinding, st as buildLinkedDeviceSessionClaimRequestV1, t as assertMatchingVerifiedEcdsaPublicFacts, tn as parseRouterAbEd25519YaoRecoveryActivationAdmissionReceiptV1, tt as parseLinkedDeviceRevokeRequestV1, u as deriveEvmFamilyEcdsaKeyHandle, un as parseRouterAbEd25519YaoWarmRecoveryBootstrapRequestV1, ut as parseLinkDevicePublicKeyB64u, v as resolveThresholdSigningRootBindingFromRuntimePolicyScope, vn as parseLinkedDeviceEd25519ExportRootRecipientPublicKeyB64u, vt as parseLinkedDeviceEmailOtpChallengeStartRequestV1, w as parseOwnerLaneParticipantContinuityV1, wt as parseLinkedDeviceOwnerAuthorizationSourceV1, x as toRpId, xn as assertNeverLinkSessionStateV1, xt as parseLinkedDeviceEmailOtpVerificationGrantV1, y as toEvmFamilyEcdsaKeyHandle, yn as parseLinkedDeviceEd25519ExportRootRecipientV1, yt as parseLinkedDeviceEmailOtpChallengeVerifyRequestV1 } from "./evmFamilyEcdsaIdentity-CqGafQsI.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-DD9T25F6.js";
|
|
25
25
|
import "./encoders-D8d07vpx.js";
|
|
26
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-
|
|
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-
|
|
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-UUHbC0pk.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-CogGAAZn.js";
|
|
29
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 {
|
|
30
|
+
import { M as parseWalletAuthorityLinkedSignerMaterialRecordV1, a as loadWalletCustodyEd25519MaterialV1, b as walletSessionAuthorizations, d as configureIndexedDB, f as createIndexedDBNonceLaneCoordinationStore, g as IndexedDbEcdsaCapabilityManifestStore, h as readEmailOtpProviderSubjectForWalletV1, i as deleteWalletCustodyEd25519MaterialV1, j as openWalletAuthorityLinkedSignerMaterialV1, 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-CF4bv9OI.js";
|
|
31
31
|
import { t as parseSignerSlot } from "./signerSlot-_ovonwVX.js";
|
|
32
32
|
import "./keccak-DUL3d8SF.js";
|
|
33
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-
|
|
35
|
-
import { r as computeAddAuthMethodIntentDigestB64u } from "./registrationIntent-
|
|
34
|
+
import { c as registrationNearEd25519BranchKey, d as sponsoredNamedNearAccountProvisioning, i as implicitNearAccountProvisioning, t as NEAR_ED25519_YAO_KEY_VERSION_V1 } from "./registrationSignerPlan-DhV8VAob.js";
|
|
35
|
+
import { r as computeAddAuthMethodIntentDigestB64u } from "./registrationIntent-4zwk16zQ.js";
|
|
36
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-
|
|
38
|
-
import {
|
|
37
|
+
import { t as demoEmailOtpCodeFromDelivery } from "./challengeDelivery-DZtopOAG.js";
|
|
38
|
+
import { _ as isWorkerError, a as planSigningSession, b as parseEmailOtpEcdsaExportWorkerIssuedSessionHandle, c as buildThresholdEd25519WebAuthnPrfSecretSource, d as nearOperationStepUpPreparationPort, f as deriveThresholdEd25519ClientVerifyingShareWasm, g as DEFAULT_CONFIRMATION_CONFIG, h as buildNearMessageDisplayModel, i as createSigningPlannerDecisionTraceEvent, l as localPrfFirstForEd25519WalletSessionMintAuthorization, m as buildNearDisplayModel, o as parseAndValidateRegistrationCredentialConfirmationPayload, p as getLastLoggedInSignerSlot, r as withThresholdEd25519CommitQueue, s as nearImplicitAccountFundingPort, t as signNear, u as mintEd25519WalletSession, v as isWorkerProgress, x as parseEmailOtpWorkerIssuedSessionHandle, y as isWorkerSuccess } from "./signNear-Bmb2fj_a.js";
|
|
39
39
|
import { t as executeWorkerOperation } from "./executeWorkerOperation-Cl9whMK7.js";
|
|
40
|
-
import { A as
|
|
40
|
+
import { A as thresholdEcdsaRoleLocalAdmitPresignatureWasm, B as EcdsaPresignClientRequestType, C as prepareEcdsaClientBootstrapCommandWasm, D as storeEcdsaRoleLocalSigningMaterialWasm, E as signWalletRecoveryEcdsaMaterialPossessionProofWasm, F as thresholdEcdsaRoleLocalPresignSessionInitFromMaterialHandleWasm, H as WorkerControlMessage, I as thresholdEcdsaRoleLocalPresignSessionStepWasm, L as thresholdEcdsaRoleLocalReservePresignatureWasm, M as thresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandleWasm, N as thresholdEcdsaRoleLocalDestroyPresignatureWasm, O as storeLinkedDeviceEcdsaHolderMaterialWasm, P as thresholdEcdsaRoleLocalPresignSessionAbortWasm, R as verifyRouterAbEcdsaRegistrationClientProofsWasm, S as persistInitialCanonicalEcdsaActivationWasm, T as reconcileCanonicalEcdsaActivationWasm, U as getSignerWorkerOperationCoreCode, V as SignerWorkerOperationError, W as getSignerWorkerOperationErrorCode, _ as finalizeEcdsaClientBootstrapCommandWasm, a as clearRouterAbEcdsaDerivationClientPresignaturesForWallet, b as finalizeRouterAbEcdsaRegistrationActivationWasm, c as waitForRouterAbEcdsaDerivationClientPresignaturePoolReady, d as closeRouterAbEcdsaRegistrationCeremonyWasm, f as createEcdsaHolderOrdinaryExportRequestWasm, g as destroyLinkedDeviceEcdsaHolderMaterialsWasm, h as destroyLinkedDeviceEcdsaHolderMaterialWasm, i as clearAllRouterAbEcdsaDerivationClientPresignatures, j as thresholdEcdsaRoleLocalCommitPresignatureWasm, k as thresholdEcdsaListAvailablePresignaturesWasm, l as clearLinkedDeviceEcdsaHolderMaterialsWasm, m as createRouterAbEcdsaRegistrationCeremonyWasm, o as resolveRouterAbEcdsaDerivationPresignaturePoolPolicy, p as createRouterAbEcdsaPostRegistrationCeremonyWasm, r as createLinkedHolderClientSigningMaterialSource, s as scheduleRouterAbEcdsaDerivationClientPresignaturePoolRefill, u as closeRouterAbEcdsaPostRegistrationCeremonyWasm, v as finalizeEcdsaHolderOrdinaryExportWasm, w as prepareLinkedDeviceEcdsaSourceContributionWasm, x as openEcdsaRoleLocalSigningMaterialWasm, y as finalizeRouterAbEcdsaExplicitExportWasm, z as EcdsaDerivationClientCustomRequestType } from "./secp256k1-D-I6Gh4D.js";
|
|
41
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-
|
|
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-
|
|
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-LWDUXydN.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-DuMs0VtU.js";
|
|
44
44
|
import { i as buildNearAccountRefs } from "./profileAccountProjection-uZVJuBvS.js";
|
|
45
|
-
import { A as
|
|
45
|
+
import { A as activateRouterAbEcdsaPostRegistrationSession, C as requestAddAuthMethodEmailOtpChallenge, E as revokeWalletAuthMethod, O as startWalletAddAuthMethod, _ as fetchWalletEcdsaKeyFactsInventoryWithWebAuthn, a as buildRehydrateMaterialActivationHydrationPlan, b as fundImplicitNearAccountForTesting, g as fetchWalletEcdsaKeyFactsInventoryWithOperationCredential, i as buildBlockedMpcCapabilityHydrationPlan, j as parseProfileContinuityEcdsaWarmKey, l as hasExactKeys, m as createWalletAddAuthMethodIntent, n as nearEd25519YaoRuntimeRef, o as buildUseLiveRuntimeHydrationPlan, r as resolveNearEd25519YaoCapabilityHydrationV1, t as nearEd25519YaoMaterialActivationFromMetadata, u as computeWalletCustodyAdminChallengeDigest, v as finalizeWalletAddAuthMethod } from "./nearEd25519YaoMaterialActivation-B5GecIvq.js";
|
|
46
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-
|
|
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-
|
|
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-m6uTXV_A.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-CdOT5RuC.js";
|
|
49
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
50
|
import { n as generateSessionId, t as cacheCredentialBoundarySetupExportPrfFirst } from "./prfCache-wqQSjYLn.js";
|
|
51
|
-
import { l as emitSigningSessionFlowFailure, u as emitSigningSessionFlowTrace } from "./trace-
|
|
51
|
+
import { l as emitSigningSessionFlowFailure, u as emitSigningSessionFlowTrace } from "./trace-DKLQZvec.js";
|
|
52
52
|
import { t as webAuthnPromptCoordinator } from "./webauthnPromptCoordinator-L96oVvLz.js";
|
|
53
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-
|
|
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-Dli9XAZp.js";
|
|
55
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-
|
|
56
|
+
import { r as showWalletRecoveryCodesUi, t as pendingWalletRecoveryCodeBackupRepository } from "./pendingWalletRecoveryCodeBackup-BWluQMbt.js";
|
|
57
57
|
import { t as MinimalNearClient } from "./NearClient-DY4NfHeD.js";
|
|
58
58
|
import { t as createEvmClient } from "./EvmClient-f3gUhS2L.js";
|
|
59
|
-
import { n as resolveAppearanceTheme, o as resolveThemePalette } from "./configHelpers-
|
|
59
|
+
import { n as resolveAppearanceTheme, o as resolveThemePalette } from "./configHelpers-D1EqxVxg.js";
|
|
60
60
|
import { n as getDefaultCspNonce, t as createCspStylesheetManager } from "./csp-stylesheet-btENhsNp.js";
|
|
61
|
-
import { r as buildConfigsFromEnv } from "./defaultConfigs-
|
|
61
|
+
import { r as buildConfigsFromEnv } from "./defaultConfigs-D_33pPT9.js";
|
|
62
62
|
import { t as createNonceCoordinator } from "./NonceCoordinator-4XWPhYww.js";
|
|
63
|
-
import { i as resumePendingWalletRecoveries } from "./walletRecoveryCommit-
|
|
64
|
-
import { i as loadWebAuthnP256EngineCtor, n as loadSignEvmFamilyWithUiConfirmForTempo, r as loadSignEvmWithUiConfirm, t as loadSecp256k1EngineCtor } from "./signerLoader-
|
|
65
|
-
import { A as
|
|
63
|
+
import { i as resumePendingWalletRecoveries } from "./walletRecoveryCommit-AI1AtIRP.js";
|
|
64
|
+
import { i as loadWebAuthnP256EngineCtor, n as loadSignEvmFamilyWithUiConfirmForTempo, r as loadSignEvmWithUiConfirm, t as loadSecp256k1EngineCtor } from "./signerLoader-B7orgq5Z.js";
|
|
65
|
+
import { A as buildCanonicalEvmFamilyEcdsaSigningCapability, B as removeLinkedEcdsaHolderRuntimeV1, C as isOwnerRelinkRequiredError, D as ecdsaRoleLocalPersistedMaterialSource, E as buildPersistedEcdsaRoleLocalMaterial, F as ensureSealedRefreshStartupParityForThresholdEcdsaBootstrap, I as isRetryableSealedRefreshCapabilityFetchError, L as clearLinkedEcdsaHolderRuntimesV1, M as buildExactEcdsaDirectCapabilityRuntime, N as buildExactEvmFamilyWalletSessionAuthorization, O as resolveEcdsaRoleLocalMaterial, P as signingAuthorizationFromPreprocessing, R as installLinkedEcdsaHolderRuntimeV1, S as buildExactPasskeyOwnerLaneScope, T as resolveExactWalletAuthAuthority$1, V as resolveLinkedEcdsaHolderRuntimeV1, _ as requestEmailOtpSigningSessionChallenge$1, a as reportTempoFinalized, b as buildExactEcdsaPasskeyOwnerLaneScope, c as resolveActiveWalletAuthorityEcdsaRuntimeV1, d as createActiveEcdsaCapabilityRuntimeForChainResolver, f as createActiveEcdsaCapabilityRuntimeResolver, g as refreshEmailOtpSigningSession$1, h as buildRouterAbEcdsaDerivationSigningMaterialRef, i as reportTempoDroppedOrReplaced, j as buildEcdsaPreprocessingCapability, k as authorizeEvmFamilyEcdsaSigningCapability, 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 resolveEmailOtpEcdsaSigningSessionAuth, w as resolveExactOwnerLaneScope, x as buildExactLinkedEmailOtpOwnerLaneScope, y as withThresholdEcdsaSigningQueue, z as listLinkedEcdsaHolderRuntimesV1 } from "./signEvmFamily-C3C97Th-.js";
|
|
66
66
|
import { n as SigningAuthPlanKind } from "./promptText-CuRa_ivd.js";
|
|
67
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-
|
|
69
|
-
import { _ as
|
|
68
|
+
import { f as WalletSessionFailureError, g as WALLET_SESSION_FAILURE_CODES, h as walletSessionFailureFromError, m as walletSessionFailureFromCode } from "./routerAbNormalSigning-CVFEOZ2m.js";
|
|
69
|
+
import { S as resolveThresholdCommitQueueKey, _ as ed25519DurableMaterialLocator, b as requireAuthoritativeExpiredWalletSessionAuthorizationBoundary, 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 materialActivationKey, x as clearThresholdCommitQueue, y as parseWalletSessionAuthorizationBoundary } from "./transactionState-CJ4U8pcl.js";
|
|
70
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-
|
|
72
|
-
import { n as removeExportViewerHostIfPresent, t as isExportViewerSessionOpen } from "./export-viewer-host-
|
|
71
|
+
import { c as createEvmNonceBackend, i as PENDING_CHALLENGE_B64U, o as clearIntentDigestPreparation, s as consumeIntentDigestPreparation, t as EvmFamilyEcdsaMaterialSupersededError } from "./signingFlow-SZ8t_lxv.js";
|
|
72
|
+
import { n as removeExportViewerHostIfPresent, t as isExportViewerSessionOpen } from "./export-viewer-host-rWMSQQMP.js";
|
|
73
73
|
import { i as observeTransactionLifecycleReport, n as failTransactionActivity, r as observeTransactionActivity, t as beginTransactionActivity } from "./transaction-activity-CSMCveBn.js";
|
|
74
74
|
import "./jsxRuntime.module-CuH5ZEIA.js";
|
|
75
|
-
import { t as handleRegistrationFlow } from "./registration-
|
|
75
|
+
import { t as handleRegistrationFlow } from "./registration-DHERU8R_.js";
|
|
76
76
|
import { i as rotateWalletRecoverySet, n as readWalletRecoveryCodeStatus, r as requestWalletCustodyEmailOtpChallenge, t as acknowledgeWalletRecoveryBackup } from "./walletRecoveryRotate-BgLlW5ih.js";
|
|
77
77
|
//#region src/core/walletRuntimePaths/workers.ts
|
|
78
78
|
/**
|
|
@@ -1344,25 +1344,6 @@ async function recoverWalletCustodyManifestV1(input) {
|
|
|
1344
1344
|
};
|
|
1345
1345
|
}
|
|
1346
1346
|
//#endregion
|
|
1347
|
-
//#region src/core/signingEngine/session/sealedRecovery/materialActivationKey.ts
|
|
1348
|
-
function ed25519DurableMaterialLocator(args) {
|
|
1349
|
-
return {
|
|
1350
|
-
kind: "ed25519_durable_material",
|
|
1351
|
-
authMethod: args.authMethod,
|
|
1352
|
-
materialActivation: args.materialActivation
|
|
1353
|
-
};
|
|
1354
|
-
}
|
|
1355
|
-
function materialActivationKey(activation) {
|
|
1356
|
-
return [
|
|
1357
|
-
activation.activationId,
|
|
1358
|
-
activation.capability,
|
|
1359
|
-
activation.materialOwner,
|
|
1360
|
-
activation.keyBinding,
|
|
1361
|
-
activation.lifecycleBinding,
|
|
1362
|
-
activation.signingWorker
|
|
1363
|
-
].map((part) => encodeURIComponent(String(part))).join(":");
|
|
1364
|
-
}
|
|
1365
|
-
//#endregion
|
|
1366
1347
|
//#region src/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.ts
|
|
1367
1348
|
function requirePositiveInteger$2(value, label) {
|
|
1368
1349
|
if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 1) throw new Error(`${label} must be a positive integer`);
|
|
@@ -1515,9 +1496,6 @@ async function parseJsonResponseOrNull(response) {
|
|
|
1515
1496
|
return null;
|
|
1516
1497
|
}
|
|
1517
1498
|
}
|
|
1518
|
-
function sameRuntimePolicyScope(left, right) {
|
|
1519
|
-
return left.orgId === right.orgId && left.projectId === right.projectId && left.envId === right.envId && left.signingRootVersion === right.signingRootVersion;
|
|
1520
|
-
}
|
|
1521
1499
|
async function parseWarmRecoveryDescriptor(args) {
|
|
1522
1500
|
const record = args.record;
|
|
1523
1501
|
const response = args.response;
|
|
@@ -1539,7 +1517,7 @@ async function parseWarmRecoveryDescriptor(args) {
|
|
|
1539
1517
|
const quotaId = parseMpcWalletSigningQuotaId(response.quotaId);
|
|
1540
1518
|
const capability = parseEd25519YaoRecoveryCapabilityV1(response.capability);
|
|
1541
1519
|
const walletSessionToken = args.authorization.operationCredential.token;
|
|
1542
|
-
if (!walletSessionId.ok || !quotaId.ok || args.expectedAuthorityRef.walletId !== record.walletId || String(walletSessionId.value) !== String(args.authorization.operationCredential.walletSessionId) || String(quotaId.value) !== String(args.authorization.record.quotaId) || !routerAbNormalSigning || walletId !== record.walletId || nearAccountId !== restore.nearAccountId || nearEd25519SigningKeyId !== restore.nearEd25519SigningKeyId || signerSlot !== restore.signerSlot || thresholdSessionId !== String(args.expectedThresholdSessionId) || !walletSessionToken || signingWorkerId !== restore.relayerKeyId || signingWorkerId !== restore.routerAbNormalSigning.signingWorkerId || routerAbNormalSigning.signingWorkerId !== signingWorkerId || record.expiresAtMs > thresholdExpiresAtMs || participantIds[0] !== restore.participantIds[0] || participantIds[1] !== restore.participantIds[1] || !sameRuntimePolicyScope(responseRuntimePolicyScope, sealedRuntimePolicyScope)) throw new Error("warm recovery bootstrap does not match the exact sealed Ed25519 lane");
|
|
1520
|
+
if (!walletSessionId.ok || !quotaId.ok || args.expectedAuthorityRef.walletId !== record.walletId || String(walletSessionId.value) !== String(args.authorization.operationCredential.walletSessionId) || String(quotaId.value) !== String(args.authorization.record.quotaId) || !routerAbNormalSigning || walletId !== record.walletId || nearAccountId !== restore.nearAccountId || nearEd25519SigningKeyId !== restore.nearEd25519SigningKeyId || signerSlot !== restore.signerSlot || thresholdSessionId !== String(args.expectedThresholdSessionId) || !walletSessionToken || signingWorkerId !== restore.relayerKeyId || signingWorkerId !== restore.routerAbNormalSigning.signingWorkerId || routerAbNormalSigning.signingWorkerId !== signingWorkerId || record.expiresAtMs > thresholdExpiresAtMs || participantIds[0] !== restore.participantIds[0] || participantIds[1] !== restore.participantIds[1] || !sameRuntimePolicyScope$1(responseRuntimePolicyScope, sealedRuntimePolicyScope)) throw new Error("warm recovery bootstrap does not match the exact sealed Ed25519 lane");
|
|
1543
1521
|
if (!signingRootScopeFromRuntimePolicyScope(responseRuntimePolicyScope)) throw new Error("warm recovery bootstrap signing-root scope is invalid");
|
|
1544
1522
|
if (!walletSessionToken) throw new Error("[SigningEngine][near] active Wallet Session authorization is unavailable");
|
|
1545
1523
|
const descriptor = {
|
|
@@ -1816,10 +1794,6 @@ function signingLaneRecordFields(laneKind) {
|
|
|
1816
1794
|
case "delegated_execution": return DELEGATED_SIGNING_LANE_FIELDS;
|
|
1817
1795
|
}
|
|
1818
1796
|
}
|
|
1819
|
-
function requireResult(result, label) {
|
|
1820
|
-
if (result.ok) return result.value;
|
|
1821
|
-
throw new Error(`${label} ${result.error.message}`);
|
|
1822
|
-
}
|
|
1823
1797
|
function parseRequiredDomainId(raw, label) {
|
|
1824
1798
|
if (raw === void 0 || raw === null) throw new Error(`${label} is required`);
|
|
1825
1799
|
if (typeof raw !== "string") throw new Error(`${label} must be a string`);
|
|
@@ -1919,12 +1893,12 @@ function parseSigningLaneLifecycleState(raw, label) {
|
|
|
1919
1893
|
function parseSigningLaneReferenceFields(record, label) {
|
|
1920
1894
|
if (record.kind !== "signing_lane_reference_v1") throw new Error(`${label}.kind must be signing_lane_reference_v1`);
|
|
1921
1895
|
return buildSigningLaneReference({
|
|
1922
|
-
walletId:
|
|
1923
|
-
walletKeyId:
|
|
1924
|
-
laneId:
|
|
1925
|
-
laneShareEpoch:
|
|
1896
|
+
walletId: requireParsed$1(parseWalletId(record.walletId), `${label}.walletId`),
|
|
1897
|
+
walletKeyId: requireParsed$1(parseWalletKeyId(record.walletKeyId), `${label}.walletKeyId`),
|
|
1898
|
+
laneId: requireParsed$1(parseSigningLaneId(record.laneId), `${label}.laneId`),
|
|
1899
|
+
laneShareEpoch: requireParsed$1(parseLaneShareEpoch(record.laneShareEpoch), `${label}.laneShareEpoch`),
|
|
1926
1900
|
laneKind: parseSigningLaneKind(record.laneKind, `${label}.laneKind`),
|
|
1927
|
-
participantBindingDigestB64u:
|
|
1901
|
+
participantBindingDigestB64u: requireParsed$1(parseLaneParticipantBindingDigestB64u(record.participantBindingDigestB64u), `${label}.participantBindingDigestB64u`)
|
|
1928
1902
|
});
|
|
1929
1903
|
}
|
|
1930
1904
|
function parseSigningLaneRecordCommon(record, label) {
|
|
@@ -1943,7 +1917,7 @@ function parseOwnerAuthSigningLaneRecordBase(record, label) {
|
|
|
1943
1917
|
const walletAuthMethodId = parseWalletAuthMethodId(record.walletAuthMethodId);
|
|
1944
1918
|
return {
|
|
1945
1919
|
...common,
|
|
1946
|
-
walletAuthMethodId:
|
|
1920
|
+
walletAuthMethodId: requireParsed$1(walletAuthMethodId, `${label}.walletAuthMethodId`),
|
|
1947
1921
|
ownerParticipantContinuity: parseOwnerLaneParticipantContinuityV1(record.ownerParticipantContinuity, `${label}.ownerParticipantContinuity`)
|
|
1948
1922
|
};
|
|
1949
1923
|
}
|
|
@@ -2139,8 +2113,8 @@ function parseWalletKeyRecord(raw, label = "walletKeyRecord") {
|
|
|
2139
2113
|
if (record.keyFamily === "ed25519") {
|
|
2140
2114
|
rejectUnknownFields(record, ED25519_WALLET_KEY_FIELDS, label, ALL_WALLET_KEY_FIELDS);
|
|
2141
2115
|
return buildEd25519WalletKeyRecord({
|
|
2142
|
-
walletId:
|
|
2143
|
-
walletKeyId:
|
|
2116
|
+
walletId: requireParsed$1(parseWalletId(record.walletId), `${label}.walletId`),
|
|
2117
|
+
walletKeyId: requireParsed$1(parseWalletKeyId(record.walletKeyId), `${label}.walletKeyId`),
|
|
2144
2118
|
walletKeyVersion: parseWalletKeyVersion(record.walletKeyVersion, `${label}.walletKeyVersion`),
|
|
2145
2119
|
nearEd25519SigningKeyId: parseNearEd25519SigningKeyId(record.nearEd25519SigningKeyId),
|
|
2146
2120
|
keyCreationSignerSlot: parseKeyCreationSignerSlot(record.keyCreationSignerSlot, `${label}.keyCreationSignerSlot`),
|
|
@@ -2151,8 +2125,8 @@ function parseWalletKeyRecord(raw, label = "walletKeyRecord") {
|
|
|
2151
2125
|
if (record.keyFamily === "ecdsa_secp256k1") {
|
|
2152
2126
|
rejectUnknownFields(record, EVM_WALLET_KEY_FIELDS, label, ALL_WALLET_KEY_FIELDS);
|
|
2153
2127
|
return buildEvmFamilyWalletKeyRecord({
|
|
2154
|
-
walletId:
|
|
2155
|
-
walletKeyId:
|
|
2128
|
+
walletId: requireParsed$1(parseWalletId(record.walletId), `${label}.walletId`),
|
|
2129
|
+
walletKeyId: requireParsed$1(parseWalletKeyId(record.walletKeyId), `${label}.walletKeyId`),
|
|
2156
2130
|
walletKeyVersion: parseWalletKeyVersion(record.walletKeyVersion, `${label}.walletKeyVersion`),
|
|
2157
2131
|
evmFamilySigningKeySlotId: requireEvmFamilySigningKeySlotId(record.evmFamilySigningKeySlotId, `${label}.evmFamilySigningKeySlotId`),
|
|
2158
2132
|
thresholdPublicKey33B64u: parseSecp256k1CompressedPublicKeyB64u(record.thresholdPublicKey33B64u, `${label}.thresholdPublicKey33B64u`),
|
|
@@ -2181,7 +2155,7 @@ function parseSigningLaneRecord(raw, label = "signingLaneRecord") {
|
|
|
2181
2155
|
holderParticipant: base.holderParticipant,
|
|
2182
2156
|
serverParticipant: base.serverParticipant,
|
|
2183
2157
|
lifecycle: base.lifecycle,
|
|
2184
|
-
linkedDeviceId:
|
|
2158
|
+
linkedDeviceId: requireParsed$1(parseLinkedDeviceId(record.linkedDeviceId), `${label}.linkedDeviceId`)
|
|
2185
2159
|
});
|
|
2186
2160
|
}
|
|
2187
2161
|
case "delegated_execution": {
|
|
@@ -2721,26 +2695,42 @@ function exactEcdsaParticipantIds(value) {
|
|
|
2721
2695
|
if (!Number.isSafeInteger(first) || !Number.isSafeInteger(second) || first <= 0 || second <= 0 || first === second) throw new Error("[SigningEngine][ecdsa-export] ECDSA participant set is invalid");
|
|
2722
2696
|
return [first, second];
|
|
2723
2697
|
}
|
|
2724
|
-
function
|
|
2725
|
-
const { exportLane } = args;
|
|
2698
|
+
function requireCanonicalEcdsaExportLane(args) {
|
|
2699
|
+
const { exportLane, label } = args;
|
|
2726
2700
|
const capability = exportLane.capability;
|
|
2727
|
-
if (!isEmailOtpWalletAuthAuthority(capability.authority)) throw new Error("[SigningEngine][ecdsa-export] Email OTP capability authority mismatch");
|
|
2728
2701
|
const signer = capability.manifest.signer;
|
|
2729
|
-
if (signer.walletId !== exportLane.key.walletId || !signer.scope.targetMemberships.some((target) => thresholdEcdsaChainTargetsEqual(target, exportLane.chainTarget))) throw new Error(
|
|
2730
|
-
if (
|
|
2731
|
-
if (!mpcMaterialActivationRefsEqual(capability.manifest.activation.materialActivation, exportLane.laneIdentity.signer.materialActivation)) throw new Error(
|
|
2702
|
+
if (signer.walletId !== exportLane.key.walletId || !signer.scope.targetMemberships.some((target) => thresholdEcdsaChainTargetsEqual(target, exportLane.chainTarget))) throw new Error(`[SigningEngine][ecdsa-export] ${label} capability target mismatch`);
|
|
2703
|
+
if (!args.authMatches()) throw new Error(`[SigningEngine][ecdsa-export] ${label} capability auth mismatch`);
|
|
2704
|
+
if (!mpcMaterialActivationRefsEqual(capability.manifest.activation.materialActivation, exportLane.laneIdentity.signer.materialActivation)) throw new Error(`[SigningEngine][ecdsa-export] ${label} material activation mismatch`);
|
|
2732
2705
|
assertMatchingVerifiedEcdsaPublicFacts({
|
|
2733
2706
|
expected: exportLane.publicFacts,
|
|
2734
|
-
actual:
|
|
2735
|
-
context:
|
|
2707
|
+
actual: signer.registeredPublicFacts,
|
|
2708
|
+
context: `canonical ${label} export lane`
|
|
2736
2709
|
});
|
|
2737
2710
|
const materialFacts = capability.material.publicFacts;
|
|
2738
|
-
if (materialFacts.walletId !== signer.walletId || String(materialFacts.keyHandle) !== String(exportLane.publicFacts.keyHandle) || String(materialFacts.groupPublicKey33B64u) !== String(exportLane.publicFacts.publicKeyB64u) || String(materialFacts.ethereumAddress) !== String(exportLane.publicFacts.thresholdOwnerAddress) || materialFacts.participantIds.length !== exportLane.publicFacts.participantIds.length || materialFacts.participantIds.some((participantId, index) => participantId !== exportLane.publicFacts.participantIds[index])) throw new Error(
|
|
2711
|
+
if (materialFacts.walletId !== signer.walletId || String(materialFacts.keyHandle) !== String(exportLane.publicFacts.keyHandle) || String(materialFacts.groupPublicKey33B64u) !== String(exportLane.publicFacts.publicKeyB64u) || String(materialFacts.ethereumAddress) !== String(exportLane.publicFacts.thresholdOwnerAddress) || materialFacts.participantIds.length !== exportLane.publicFacts.participantIds.length || materialFacts.participantIds.some((participantId, index) => participantId !== exportLane.publicFacts.participantIds[index])) throw new Error(`[SigningEngine][ecdsa-export] canonical ${label} export material mismatch`);
|
|
2739
2712
|
const durable = capability.manifest.durableMaterial;
|
|
2740
2713
|
const runtimePolicyScope = durable.runtimePolicyScope;
|
|
2741
2714
|
const relayerUrl = String(args.deps.relayerUrl).trim().replace(/\/+$/g, "");
|
|
2742
|
-
if (!runtimePolicyScope) throw new Error(
|
|
2743
|
-
if (!relayerUrl) throw new Error(
|
|
2715
|
+
if (!runtimePolicyScope) throw new Error(`[SigningEngine][ecdsa-export] ${label} runtime policy scope is missing`);
|
|
2716
|
+
if (!relayerUrl) throw new Error(`[SigningEngine][ecdsa-export] ${label} export relayer URL is missing`);
|
|
2717
|
+
return {
|
|
2718
|
+
durable,
|
|
2719
|
+
runtimePolicyScope,
|
|
2720
|
+
relayerUrl
|
|
2721
|
+
};
|
|
2722
|
+
}
|
|
2723
|
+
function resolveCanonicalEmailOtpEcdsaExportMaterialForLane(args) {
|
|
2724
|
+
const { exportLane } = args;
|
|
2725
|
+
const capability = exportLane.capability;
|
|
2726
|
+
const authority = capability.authority;
|
|
2727
|
+
if (!isEmailOtpWalletAuthAuthority(authority)) throw new Error("[SigningEngine][ecdsa-export] Email OTP capability authority mismatch");
|
|
2728
|
+
const { durable, runtimePolicyScope, relayerUrl } = requireCanonicalEcdsaExportLane({
|
|
2729
|
+
deps: args.deps,
|
|
2730
|
+
exportLane,
|
|
2731
|
+
label: "Email OTP",
|
|
2732
|
+
authMatches: () => exportLane.laneIdentity.auth.kind === "email_otp" && exportLane.laneIdentity.auth.providerSubjectId === authority.factor.providerUserId
|
|
2733
|
+
});
|
|
2744
2734
|
return {
|
|
2745
2735
|
source: "canonical_capability",
|
|
2746
2736
|
kind: "fresh_email_otp_route_auth_ready",
|
|
@@ -2754,30 +2744,21 @@ function resolveCanonicalEmailOtpEcdsaExportMaterialForLane(args) {
|
|
|
2754
2744
|
relayerUrl,
|
|
2755
2745
|
authorization: {
|
|
2756
2746
|
kind: "fresh_operation_authorization_required",
|
|
2757
|
-
authority
|
|
2747
|
+
authority
|
|
2758
2748
|
}
|
|
2759
2749
|
};
|
|
2760
2750
|
}
|
|
2761
2751
|
function resolveCanonicalPasskeyEcdsaExportMaterialForLane(args) {
|
|
2762
2752
|
const { exportLane } = args;
|
|
2763
2753
|
const capability = exportLane.capability;
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
actual: signer.registeredPublicFacts,
|
|
2772
|
-
context: "canonical passkey export lane"
|
|
2754
|
+
const authority = capability.authority;
|
|
2755
|
+
if (!isPasskeyWalletAuthAuthority(authority)) throw new Error("[SigningEngine][ecdsa-export] passkey capability authority mismatch");
|
|
2756
|
+
const { durable, runtimePolicyScope, relayerUrl } = requireCanonicalEcdsaExportLane({
|
|
2757
|
+
deps: args.deps,
|
|
2758
|
+
exportLane,
|
|
2759
|
+
label: "passkey",
|
|
2760
|
+
authMatches: () => exportLane.laneIdentity.auth.kind === "passkey" && exportLane.laneIdentity.auth.credentialIdB64u === authority.factor.credentialIdB64u
|
|
2773
2761
|
});
|
|
2774
|
-
const materialFacts = capability.material.publicFacts;
|
|
2775
|
-
if (materialFacts.walletId !== signer.walletId || String(materialFacts.keyHandle) !== String(exportLane.publicFacts.keyHandle) || String(materialFacts.groupPublicKey33B64u) !== String(exportLane.publicFacts.publicKeyB64u) || String(materialFacts.ethereumAddress) !== String(exportLane.publicFacts.thresholdOwnerAddress) || materialFacts.participantIds.length !== exportLane.publicFacts.participantIds.length || materialFacts.participantIds.some((participantId, index) => participantId !== exportLane.publicFacts.participantIds[index])) throw new Error("[SigningEngine][ecdsa-export] canonical passkey export material mismatch");
|
|
2776
|
-
const durable = capability.manifest.durableMaterial;
|
|
2777
|
-
const runtimePolicyScope = durable.runtimePolicyScope;
|
|
2778
|
-
const relayerUrl = String(args.deps.relayerUrl).trim().replace(/\/+$/g, "");
|
|
2779
|
-
if (!runtimePolicyScope) throw new Error("[SigningEngine][ecdsa-export] passkey runtime policy scope is missing");
|
|
2780
|
-
if (!relayerUrl) throw new Error("[SigningEngine][ecdsa-export] passkey export relayer URL is missing");
|
|
2781
2762
|
return {
|
|
2782
2763
|
source: "canonical_capability",
|
|
2783
2764
|
kind: "fresh_passkey_needs_authorization",
|
|
@@ -4958,7 +4939,7 @@ async function prepareAndShowEcdsaExportArtifact(deps, args) {
|
|
|
4958
4939
|
});
|
|
4959
4940
|
const materialActivation = args.exportLane.laneIdentity.signer.materialActivation;
|
|
4960
4941
|
const artifact = await deps.withThresholdEcdsaSigningQueue({
|
|
4961
|
-
queueKey:
|
|
4942
|
+
queueKey: resolveThresholdCommitQueueKey({ materialActivation }),
|
|
4962
4943
|
walletId: args.exportLane.key.walletId,
|
|
4963
4944
|
enabled: true,
|
|
4964
4945
|
task: async () => {
|
|
@@ -5975,7 +5956,7 @@ async function exportEd25519YaoKeyWithFreshAuthorization(deps, args) {
|
|
|
5975
5956
|
}
|
|
5976
5957
|
});
|
|
5977
5958
|
const result = await deps.withThresholdEd25519CommitQueue({
|
|
5978
|
-
queueKey:
|
|
5959
|
+
queueKey: resolveThresholdCommitQueueKey({ materialActivation: passkeyEd25519ExportMaterialActivation(resolved) }),
|
|
5979
5960
|
nearAccountId: args.nearAccountId,
|
|
5980
5961
|
enabled: true,
|
|
5981
5962
|
task: () => deps.passkeyMpcExport.exportPrivateKeysWithUi(buildWorkerPayload({
|
|
@@ -6071,7 +6052,7 @@ async function exportEd25519YaoKeyWithFreshEmailOtp(deps, args) {
|
|
|
6071
6052
|
onEvent: args.onEvent
|
|
6072
6053
|
});
|
|
6073
6054
|
const artifact = await deps.withThresholdEd25519CommitQueue({
|
|
6074
|
-
queueKey:
|
|
6055
|
+
queueKey: resolveThresholdCommitQueueKey({ materialActivation: emailOtpEd25519ExportMaterialActivation(resolved.context) }),
|
|
6075
6056
|
nearAccountId: args.nearAccountId,
|
|
6076
6057
|
enabled: resolved.context.material.kind === "active_capability",
|
|
6077
6058
|
task: () => deps.emailOtp.exportSeedWithFreshAuthorization({
|
|
@@ -6307,14 +6288,11 @@ async function exportEd25519KeypairWithFlowId(deps, args) {
|
|
|
6307
6288
|
onEvent: args.options.onEvent
|
|
6308
6289
|
});
|
|
6309
6290
|
}
|
|
6310
|
-
async function exportEd25519KeypairWithSessionLifecycle(deps, args) {
|
|
6311
|
-
return await exportEd25519KeypairWithFlowId(deps, args);
|
|
6312
|
-
}
|
|
6313
6291
|
async function exportKeypairWithUI$1(deps, input) {
|
|
6314
6292
|
return await runKeyExportWithFlowEvents(input, async (args) => {
|
|
6315
6293
|
switch (args.kind) {
|
|
6316
6294
|
case "ecdsa": return await exportEcdsaKeypairWithSessionLifecycle(deps, args, { kind: "initial" });
|
|
6317
|
-
case "ed25519": return await
|
|
6295
|
+
case "ed25519": return await exportEd25519KeypairWithFlowId(deps, args);
|
|
6318
6296
|
}
|
|
6319
6297
|
});
|
|
6320
6298
|
}
|
|
@@ -6784,7 +6762,6 @@ const BUILD_PATHS = {
|
|
|
6784
6762
|
WASM_SIGNER: "../../wasm/near_signer",
|
|
6785
6763
|
ED25519_YAO_CLIENT: "../../crates/router-ab-ed25519-yao-client",
|
|
6786
6764
|
WASM_ECDSA_CLIENT: "../../wasm/router_ab_ecdsa_client",
|
|
6787
|
-
WASM_ECDSA_SIGNING_WORKER: "../../wasm/router_ab_ecdsa_signing_worker",
|
|
6788
6765
|
WASM_EVM_CRYPTO: "../../wasm/evm_crypto",
|
|
6789
6766
|
WASM_TEMPO_SIGNER: "../../wasm/tempo_signer",
|
|
6790
6767
|
WASM_SHAMIR3PASS_RUNTIME: "../../wasm/shamir3pass_runtime",
|
|
@@ -6800,7 +6777,6 @@ const BUILD_PATHS = {
|
|
|
6800
6777
|
"../../crates/router-ab-ed25519-yao-client",
|
|
6801
6778
|
"../../wasm/near_signer",
|
|
6802
6779
|
"../../wasm/router_ab_ecdsa_client",
|
|
6803
|
-
"../../wasm/router_ab_ecdsa_signing_worker",
|
|
6804
6780
|
"../../wasm/evm_crypto",
|
|
6805
6781
|
"../../wasm/tempo_signer",
|
|
6806
6782
|
"../../wasm/shamir3pass_runtime",
|
|
@@ -7700,13 +7676,13 @@ async function handlePromptFromWorker(ctx, message, worker, options) {
|
|
|
7700
7676
|
switch (request.type) {
|
|
7701
7677
|
case UserConfirmationType.AUTHORIZE_KEY_EXPORT:
|
|
7702
7678
|
case UserConfirmationType.SHOW_SECURE_PRIVATE_KEY_UI: {
|
|
7703
|
-
const { handleLocalOnlyFlow } = await import("./localOnly-
|
|
7679
|
+
const { handleLocalOnlyFlow } = await import("./localOnly-DTpa2jD5.js");
|
|
7704
7680
|
await handleLocalOnlyFlow(ctx, request, scopedWorker, flowOptions);
|
|
7705
7681
|
break;
|
|
7706
7682
|
}
|
|
7707
7683
|
case UserConfirmationType.REGISTER_ACCOUNT:
|
|
7708
7684
|
case UserConfirmationType.LINK_DEVICE: {
|
|
7709
|
-
const { handleRegistrationFlow } = await import("./registration-
|
|
7685
|
+
const { handleRegistrationFlow } = await import("./registration-DHERU8R_.js").then((n) => n.n);
|
|
7710
7686
|
await handleRegistrationFlow(ctx, request, scopedWorker, flowOptions);
|
|
7711
7687
|
break;
|
|
7712
7688
|
}
|
|
@@ -10783,7 +10759,7 @@ var PasskeyMpcSessionManagerImpl = class {
|
|
|
10783
10759
|
if (inFlight) return requirePasskeyEcdsaRestoreOutcome(await inFlight, "ready");
|
|
10784
10760
|
const task = withThresholdEcdsaSigningQueue({
|
|
10785
10761
|
queueByKey: this.deps.thresholdEcdsaSigningQueueByKey,
|
|
10786
|
-
queueKey:
|
|
10762
|
+
queueKey: resolveThresholdCommitQueueKey({ materialActivation: record.roleLocalMaterialRef.materialActivation }),
|
|
10787
10763
|
walletId: toWalletId(args.walletId),
|
|
10788
10764
|
enabled: true,
|
|
10789
10765
|
task: async () => await this.restorePasskeyEcdsaRecord({
|
|
@@ -11990,11 +11966,7 @@ var WorkerTransport = class {
|
|
|
11990
11966
|
return worker;
|
|
11991
11967
|
}
|
|
11992
11968
|
connectPresignAuthorityChannel(request) {
|
|
11993
|
-
if (request.type
|
|
11994
|
-
this.connectDerivationPresignChannel(this.getOrCreateWorker("ecdsaPresignClient"), "role_local_derivation_handle");
|
|
11995
|
-
return;
|
|
11996
|
-
}
|
|
11997
|
-
if (request.type !== EcdsaPresignClientRequestType.SessionInit) return;
|
|
11969
|
+
if (request.type !== EcdsaPresignClientRequestType.ListAvailable && request.type !== EcdsaPresignClientRequestType.SessionInit) return;
|
|
11998
11970
|
const presignWorker = this.getOrCreateWorker("ecdsaPresignClient");
|
|
11999
11971
|
const authorityKind = this.parsePresignAuthorityKind(request.payload);
|
|
12000
11972
|
switch (authorityKind) {
|
|
@@ -13638,7 +13610,7 @@ async function readPersistedAvailableSigningLanes$1(deps, args, ecdsaChainTarget
|
|
|
13638
13610
|
...args,
|
|
13639
13611
|
ecdsaChainTargets,
|
|
13640
13612
|
requiredEcdsaCapability: "sign"
|
|
13641
|
-
}, new WalletSessionStatusReadScope());
|
|
13613
|
+
}, new WalletSessionStatusReadScope(), "all");
|
|
13642
13614
|
}
|
|
13643
13615
|
/**
|
|
13644
13616
|
* Human operational read: lanes for one exact owner. The auth-method
|
|
@@ -13653,7 +13625,7 @@ async function readOwnerScopedAvailableSigningLanes(deps, args, statusReads) {
|
|
|
13653
13625
|
ecdsaChainTargets: args.ecdsaChainTargets,
|
|
13654
13626
|
requiredEcdsaCapability: args.requiredEcdsaCapability,
|
|
13655
13627
|
...args.nowMs !== void 0 ? { nowMs: args.nowMs } : {}
|
|
13656
|
-
}, statusReads);
|
|
13628
|
+
}, statusReads, "all");
|
|
13657
13629
|
}
|
|
13658
13630
|
async function readPersistedAvailableSigningLanesForSigning(deps, args, defaultEcdsaChainTargets) {
|
|
13659
13631
|
if (args.curve === "ecdsa") {
|
|
@@ -13664,7 +13636,7 @@ async function readPersistedAvailableSigningLanesForSigning(deps, args, defaultE
|
|
|
13664
13636
|
...availableLanesArgs,
|
|
13665
13637
|
ecdsaChainTargets: [...ecdsaChainTargetsByKey.values()],
|
|
13666
13638
|
requiredEcdsaCapability: "sign"
|
|
13667
|
-
}, new WalletSessionStatusReadScope());
|
|
13639
|
+
}, new WalletSessionStatusReadScope(), "ecdsa");
|
|
13668
13640
|
}
|
|
13669
13641
|
const { curve, ...availableLanesArgs } = args;
|
|
13670
13642
|
return await readPersistedAvailableSigningLanes$1(deps, availableLanesArgs, []);
|
|
@@ -13689,17 +13661,18 @@ function filterEmailOtpCompanionEcdsaRecords(records, chainTargets) {
|
|
|
13689
13661
|
}
|
|
13690
13662
|
return matchingRecords;
|
|
13691
13663
|
}
|
|
13692
|
-
async function readPersistedAvailableSigningLanesForTargets(deps, args, statusReads) {
|
|
13664
|
+
async function readPersistedAvailableSigningLanesForTargets(deps, args, statusReads, curves) {
|
|
13693
13665
|
const walletId = String(toWalletId(args.walletId)).trim();
|
|
13694
13666
|
return await readAvailableSigningLanes({
|
|
13695
13667
|
...args,
|
|
13696
13668
|
walletId,
|
|
13697
13669
|
ecdsaChainTargets: args.ecdsaChainTargets
|
|
13698
13670
|
}, {
|
|
13699
|
-
listPublicCapabilityReferences: deps.ed25519YaoPublicCapabilityLanes ? deps.ed25519YaoPublicCapabilityLanes.listLanes.bind(deps.ed25519YaoPublicCapabilityLanes) : void 0,
|
|
13671
|
+
listPublicCapabilityReferences: curves === "all" && deps.ed25519YaoPublicCapabilityLanes ? deps.ed25519YaoPublicCapabilityLanes.listLanes.bind(deps.ed25519YaoPublicCapabilityLanes) : void 0,
|
|
13700
13672
|
isPublicCapabilityActive: deps.isEd25519YaoPublicCapabilityActive,
|
|
13701
|
-
readActiveWalletSessionAuthorization: deps.readActiveWalletSessionAuthorization?.bind(null, statusReads),
|
|
13673
|
+
readActiveWalletSessionAuthorization: curves === "all" ? deps.readActiveWalletSessionAuthorization?.bind(null, statusReads) : void 0,
|
|
13702
13674
|
listSealedRecordsForWallet: async ({ walletId: recordWalletId, filter }) => {
|
|
13675
|
+
if (curves === "ecdsa") return [];
|
|
13703
13676
|
const listByAuthMethod = async (authMethod) => {
|
|
13704
13677
|
const ed25519Records = await listExactSealedSessionsForWallet({
|
|
13705
13678
|
walletId: recordWalletId,
|
|
@@ -15964,7 +15937,7 @@ function createEcdsaLoginPrefillClientSigningMaterialSource(args) {
|
|
|
15964
15937
|
destroyClientPresignature: thresholdEcdsaRoleLocalDestroyPresignatureWasm,
|
|
15965
15938
|
reserveClientPresignature: thresholdEcdsaRoleLocalReservePresignatureWasm,
|
|
15966
15939
|
commitClientPresignature: thresholdEcdsaRoleLocalCommitPresignatureWasm,
|
|
15967
|
-
listAvailableClientPresignatures:
|
|
15940
|
+
listAvailableClientPresignatures: thresholdEcdsaListAvailablePresignaturesWasm.bind(void 0, "role_local_derivation_handle"),
|
|
15968
15941
|
computeSignatureShareFromPresignatureHandle: thresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandleWasm
|
|
15969
15942
|
};
|
|
15970
15943
|
}
|
|
@@ -16767,7 +16740,7 @@ function createRecoveryPublicDeps(args) {
|
|
|
16767
16740
|
}, {
|
|
16768
16741
|
...completeConfiguredEcdsaTargets(availableLanesArgs),
|
|
16769
16742
|
requiredEcdsaCapability: "export_keys"
|
|
16770
|
-
}, new WalletSessionStatusReadScope()),
|
|
16743
|
+
}, new WalletSessionStatusReadScope(), "all"),
|
|
16771
16744
|
readOwnerScopedAvailableSigningLanesForTargets: async (availableLanesArgs) => await readOwnerScopedAvailableSigningLanes({
|
|
16772
16745
|
activeWalletAuthorityEcdsaRuntimeReadPorts: browserExactWalletSessionReadPorts,
|
|
16773
16746
|
ed25519YaoPublicCapabilityLanes: args.ed25519YaoPublicCapabilityLanes,
|
|
@@ -19008,12 +18981,9 @@ function requireEmailOtpEcdsaCustodySigner(continuity, walletId, keyHandle) {
|
|
|
19008
18981
|
const first = continuity.signers[0];
|
|
19009
18982
|
if (!first) throw new Error("Email OTP ECDSA custody continuity is empty");
|
|
19010
18983
|
if (first.walletKey.walletId !== walletId || first.walletKey.keyHandle !== keyHandle) throw new Error("Email OTP ECDSA custody continuity changed the requested wallet key");
|
|
19011
|
-
for (const signer of continuity.signers) if (signer.walletKey.walletId !== first.walletKey.walletId || signer.walletKey.keyHandle !== first.walletKey.keyHandle || signer.walletKey.ecdsaThresholdKeyId !== first.walletKey.ecdsaThresholdKeyId || signer.walletKey.signingRootId !== first.walletKey.signingRootId || signer.walletKey.signingRootVersion !== first.walletKey.signingRootVersion || signer.walletKey.relayerKeyId !== first.walletKey.relayerKeyId || !sameRouterAbEcdsaDerivationPublicCapabilityV1(signer.walletKey.publicCapability, first.walletKey.publicCapability) || !sameRouterAbEcdsaRegistrationActivationReceiptV1(signer.activationReceipt, first.activationReceipt) || !
|
|
18984
|
+
for (const signer of continuity.signers) if (signer.walletKey.walletId !== first.walletKey.walletId || signer.walletKey.keyHandle !== first.walletKey.keyHandle || signer.walletKey.ecdsaThresholdKeyId !== first.walletKey.ecdsaThresholdKeyId || signer.walletKey.signingRootId !== first.walletKey.signingRootId || signer.walletKey.signingRootVersion !== first.walletKey.signingRootVersion || signer.walletKey.relayerKeyId !== first.walletKey.relayerKeyId || !sameRouterAbEcdsaDerivationPublicCapabilityV1(signer.walletKey.publicCapability, first.walletKey.publicCapability) || !sameRouterAbEcdsaRegistrationActivationReceiptV1(signer.activationReceipt, first.activationReceipt) || !sameRuntimePolicyScope$1(signer.runtimePolicyScope, first.runtimePolicyScope)) throw new Error("Email OTP ECDSA custody continuity conflicts across targets");
|
|
19012
18985
|
return first;
|
|
19013
18986
|
}
|
|
19014
|
-
function sameEmailOtpRuntimePolicyScope(left, right) {
|
|
19015
|
-
return left.orgId === right.orgId && left.projectId === right.projectId && left.envId === right.envId && left.signingRootVersion === right.signingRootVersion;
|
|
19016
|
-
}
|
|
19017
18987
|
function nonEmptyEmailOtpEcdsaChainTargets(continuity) {
|
|
19018
18988
|
const [first, ...rest] = continuity.signers;
|
|
19019
18989
|
if (!first) throw new Error("Email OTP ECDSA custody continuity is empty");
|
|
@@ -19224,7 +19194,7 @@ async function provisionEmailOtpExistingKeySessions(args) {
|
|
|
19224
19194
|
},
|
|
19225
19195
|
authorization: additionalAuthorization
|
|
19226
19196
|
};
|
|
19227
|
-
const bootstraps = [primaryBootstrap, ...await Promise.all(args.publicationChainTargets.slice(1).map(
|
|
19197
|
+
const bootstraps = [primaryBootstrap, ...await Promise.all(args.publicationChainTargets.slice(1).map(provisionEmailOtpExistingKeySessionForTarget.bind(null, additionalContext)))];
|
|
19228
19198
|
if (!primaryBootstrap) throw new Error("Email OTP ECDSA activation did not return a primary warm session");
|
|
19229
19199
|
return bootstraps;
|
|
19230
19200
|
}
|
|
@@ -19246,9 +19216,6 @@ async function provisionEmailOtpExistingKeySessionForTarget(context, chainTarget
|
|
|
19246
19216
|
authorization: context.authorization
|
|
19247
19217
|
}));
|
|
19248
19218
|
}
|
|
19249
|
-
async function provisionEmailOtpAdditionalExistingKeySessionForTarget(context, chainTarget) {
|
|
19250
|
-
return await provisionEmailOtpExistingKeySessionForTarget(context, chainTarget);
|
|
19251
|
-
}
|
|
19252
19219
|
async function provisionEmailOtpExplicitExportSession(args) {
|
|
19253
19220
|
return await args.ports.provisionEmailOtpEcdsaExplicitExportSession(buildEmailOtpExplicitExportEcdsaActivation({
|
|
19254
19221
|
relayerUrl: args.relayerUrl,
|
|
@@ -19790,7 +19757,7 @@ async function restoreEmailOtpEcdsaSigningSessionMaterialFromSealedRecord(args)
|
|
|
19790
19757
|
if (sealedRecord.authMethod !== "email_otp" || sealedRecord.curve !== "ecdsa") return null;
|
|
19791
19758
|
const materialActivation = sealedRecord.roleLocalMaterialRef.materialActivation;
|
|
19792
19759
|
return await args.withThresholdEcdsaSigningQueue({
|
|
19793
|
-
queueKey:
|
|
19760
|
+
queueKey: resolveThresholdCommitQueueKey({ materialActivation }),
|
|
19794
19761
|
walletId: toWalletId(sealedRecord.walletId),
|
|
19795
19762
|
enabled: true,
|
|
19796
19763
|
task: async () => await restoreEmailOtpEcdsaSigningSessionMaterialFromSealedRecordInQueue(args)
|
|
@@ -20733,8 +20700,8 @@ function warmSessionMaterialTarget(target) {
|
|
|
20733
20700
|
};
|
|
20734
20701
|
}
|
|
20735
20702
|
//#endregion
|
|
20736
|
-
//#region src/core/signingEngine/session/emailOtp/
|
|
20737
|
-
var
|
|
20703
|
+
//#region src/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.ts
|
|
20704
|
+
var EmailOtpWalletSessionCoordinator = class {
|
|
20738
20705
|
constructor(deps) {
|
|
20739
20706
|
this.sealedRefreshDiagnosticLogAtMsByKey = /* @__PURE__ */ new Map();
|
|
20740
20707
|
this.runtimeConfig = new EmailOtpRuntimeConfig({
|
|
@@ -20853,49 +20820,6 @@ var EmailOtpWalletSessionRuntime = class {
|
|
|
20853
20820
|
}
|
|
20854
20821
|
};
|
|
20855
20822
|
//#endregion
|
|
20856
|
-
//#region src/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.ts
|
|
20857
|
-
var EmailOtpWalletSessionCoordinator = class {
|
|
20858
|
-
constructor(deps) {
|
|
20859
|
-
this.runtime = new EmailOtpWalletSessionRuntime(deps);
|
|
20860
|
-
}
|
|
20861
|
-
persistEcdsaSessionForRefresh(args) {
|
|
20862
|
-
return this.runtime.persistEcdsaSessionForRefresh(args);
|
|
20863
|
-
}
|
|
20864
|
-
discoverPersistedSessionsForWallet(args) {
|
|
20865
|
-
return this.runtime.discoverPersistedSessionsForWallet(args);
|
|
20866
|
-
}
|
|
20867
|
-
restorePersistedSessionForSigning(args) {
|
|
20868
|
-
return this.runtime.restorePersistedSessionForSigning(args);
|
|
20869
|
-
}
|
|
20870
|
-
readWarmSessionStatusOnly(target) {
|
|
20871
|
-
return this.runtime.readWarmSessionStatusOnly(target);
|
|
20872
|
-
}
|
|
20873
|
-
consumeWarmSessionUses(args) {
|
|
20874
|
-
return this.runtime.consumeWarmSessionUses(args);
|
|
20875
|
-
}
|
|
20876
|
-
clearVolatileWarmSessionMaterial(target) {
|
|
20877
|
-
return this.runtime.clearVolatileWarmSessionMaterial(target);
|
|
20878
|
-
}
|
|
20879
|
-
async requestTransactionSigningChallenge(args) {
|
|
20880
|
-
return await this.runtime.requestTransactionSigningChallenge(args);
|
|
20881
|
-
}
|
|
20882
|
-
async requestExportChallenge(args) {
|
|
20883
|
-
return await this.runtime.requestExportChallenge(args);
|
|
20884
|
-
}
|
|
20885
|
-
exportEcdsaKeyWithDurableAuthorization(args) {
|
|
20886
|
-
return this.runtime.exportEcdsaKeyWithDurableAuthorization(args);
|
|
20887
|
-
}
|
|
20888
|
-
exportEd25519YaoSeedWithFreshEmailOtpLane(args) {
|
|
20889
|
-
return this.runtime.exportEd25519YaoSeedWithFreshEmailOtpLane(args);
|
|
20890
|
-
}
|
|
20891
|
-
loginWithEcdsaCapabilityForSigning(args) {
|
|
20892
|
-
return this.runtime.loginWithEcdsaCapabilityForSigning(args);
|
|
20893
|
-
}
|
|
20894
|
-
loginWithEcdsaCapabilityInternal(args) {
|
|
20895
|
-
return this.runtime.loginWithEcdsaCapabilityInternal(args);
|
|
20896
|
-
}
|
|
20897
|
-
};
|
|
20898
|
-
//#endregion
|
|
20899
20823
|
//#region src/core/signingEngine/assembly/ports/stepUpRuntime.ts
|
|
20900
20824
|
function createStepUpRuntime(args) {
|
|
20901
20825
|
const emailOtpSessions = new EmailOtpWalletSessionCoordinator({
|
|
@@ -23060,18 +22984,15 @@ var BrowserSigningSurface = class {
|
|
|
23060
22984
|
const rehydrationKey = nearEd25519CapabilityRehydrationKey(subject);
|
|
23061
22985
|
const existingRehydration = this.nearEd25519CapabilityRehydrationBySubject.get(rehydrationKey);
|
|
23062
22986
|
if (existingRehydration) {
|
|
23063
|
-
const
|
|
23064
|
-
const rehydrated = await this.resolveActiveNearEd25519YaoSigningLane(
|
|
22987
|
+
const rebound = await existingRehydration;
|
|
22988
|
+
const rehydrated = await this.resolveActiveNearEd25519YaoSigningLane(rebound.subject);
|
|
23065
22989
|
if (rehydrated) return rehydrated;
|
|
23066
22990
|
throw new Error("[SigningEngine][near] joined rehydration did not publish an active lane");
|
|
23067
22991
|
}
|
|
23068
22992
|
const rehydration = this.rehydrateNearEd25519YaoCapabilityForSigning(subject);
|
|
23069
22993
|
this.nearEd25519CapabilityRehydrationBySubject.set(rehydrationKey, rehydration);
|
|
23070
22994
|
try {
|
|
23071
|
-
|
|
23072
|
-
const rehydrated = await this.resolveActiveNearEd25519YaoSigningLane(reboundSubject);
|
|
23073
|
-
if (rehydrated) return rehydrated;
|
|
23074
|
-
throw new Error("[SigningEngine][near] local material rehydration did not publish a lane");
|
|
22995
|
+
return (await rehydration).material;
|
|
23075
22996
|
} finally {
|
|
23076
22997
|
if (this.nearEd25519CapabilityRehydrationBySubject.get(rehydrationKey) === rehydration) this.nearEd25519CapabilityRehydrationBySubject.delete(rehydrationKey);
|
|
23077
22998
|
}
|
|
@@ -24397,7 +24318,14 @@ var BrowserSigningSurface = class {
|
|
|
24397
24318
|
passkeyPrfFirstB64u: warmSessionClaim.prfFirstB64u
|
|
24398
24319
|
} : { kind: "unavailable" }
|
|
24399
24320
|
});
|
|
24400
|
-
if (liveHydration.kind === "live")
|
|
24321
|
+
if (liveHydration.kind === "live") {
|
|
24322
|
+
const material = await this.resolveActiveNearEd25519YaoSigningLane(subject);
|
|
24323
|
+
if (!material) throw new Error("[SigningEngine][near] local material rehydration did not publish a lane");
|
|
24324
|
+
return {
|
|
24325
|
+
subject,
|
|
24326
|
+
material
|
|
24327
|
+
};
|
|
24328
|
+
}
|
|
24401
24329
|
if (liveHydration.kind === "rehydrated") {
|
|
24402
24330
|
if (!warmSessionClaim.ok) {
|
|
24403
24331
|
liveHydration.activeClient.dispose();
|
|
@@ -24430,8 +24358,12 @@ var BrowserSigningSurface = class {
|
|
|
24430
24358
|
subject,
|
|
24431
24359
|
walletSessionState
|
|
24432
24360
|
});
|
|
24433
|
-
|
|
24434
|
-
|
|
24361
|
+
const published = await this.resolveActiveNearEd25519YaoSigningLane(reboundSubject);
|
|
24362
|
+
if (!published) throw new Error("[SigningEngine][near] local material rehydration did not publish an active lane");
|
|
24363
|
+
return {
|
|
24364
|
+
subject: reboundSubject,
|
|
24365
|
+
material: published
|
|
24366
|
+
};
|
|
24435
24367
|
} catch (error) {
|
|
24436
24368
|
liveHydration.activeClient.dispose();
|
|
24437
24369
|
throw error;
|
|
@@ -24578,7 +24510,7 @@ var BrowserSigningSurface = class {
|
|
|
24578
24510
|
async withExactEd25519MaterialOwner(args) {
|
|
24579
24511
|
return await withThresholdEd25519CommitQueue({
|
|
24580
24512
|
queueByKey: this.thresholdEd25519CommitQueueByKey,
|
|
24581
|
-
queueKey:
|
|
24513
|
+
queueKey: resolveThresholdCommitQueueKey({ materialActivation: args.materialActivation }),
|
|
24582
24514
|
nearAccountId: args.nearAccountId,
|
|
24583
24515
|
enabled: true,
|
|
24584
24516
|
task: args.task
|
|
@@ -24877,7 +24809,7 @@ var BrowserSigningSurface = class {
|
|
|
24877
24809
|
if (args.credentialExpectation.kind === "expect_exact_operation_credential" && (args.credentialExpectation.operationCredential.walletSessionId !== exactAuthorization.operationCredential.walletSessionId || args.credentialExpectation.operationCredential.token !== exactAuthorization.operationCredential.token)) throw new Error("[SigningEngine][near] expected Email OTP operation credential changed");
|
|
24878
24810
|
return await withThresholdEd25519CommitQueue({
|
|
24879
24811
|
queueByKey: this.thresholdEd25519CommitQueueByKey,
|
|
24880
|
-
queueKey:
|
|
24812
|
+
queueKey: resolveThresholdCommitQueueKey({ materialActivation: args.metadata.materialActivation }),
|
|
24881
24813
|
nearAccountId: toAccountId(args.bootstrap.session.nearAccountId),
|
|
24882
24814
|
enabled: args.commitQueue === "acquire",
|
|
24883
24815
|
task: async () => {
|
|
@@ -25097,7 +25029,7 @@ var BrowserSigningSurface = class {
|
|
|
25097
25029
|
this.ed25519YaoPageLifecycleOwner.dispose();
|
|
25098
25030
|
}
|
|
25099
25031
|
clearThresholdEcdsaSigningQueue() {
|
|
25100
|
-
|
|
25032
|
+
clearThresholdCommitQueue(this.thresholdEcdsaSigningQueueByKey);
|
|
25101
25033
|
}
|
|
25102
25034
|
async clearLinkedEcdsaHolderMaterials() {
|
|
25103
25035
|
await clearLinkedDeviceEcdsaHolderMaterialsWasm({ workerCtx: this.signerWorkerManager.getContext() });
|
|
@@ -26281,7 +26213,7 @@ function warnIfSameOriginWallet(walletOrigin) {
|
|
|
26281
26213
|
}
|
|
26282
26214
|
async function createWalletIframeRouter(args) {
|
|
26283
26215
|
warnIfSameOriginWallet(args.walletOrigin);
|
|
26284
|
-
const { WalletIframeRouter } = await import("./router-
|
|
26216
|
+
const { WalletIframeRouter } = await import("./router-B4ZWFy9E.js");
|
|
26285
26217
|
const signingSessionPersistenceMode = args.configs.signing.sessionPersistenceMode;
|
|
26286
26218
|
return new WalletIframeRouter({
|
|
26287
26219
|
walletOrigin: args.walletOrigin,
|
|
@@ -26587,7 +26519,7 @@ function createSigningRuntime(deps) {
|
|
|
26587
26519
|
});
|
|
26588
26520
|
const warmSessions = { hydrateSigningSession: async (input) => (await getWarmSessions()).hydrateSigningSession(input) };
|
|
26589
26521
|
const getRegistrationAccounts = memoizeService(async () => {
|
|
26590
|
-
const { createRegistrationAccountsService } = await import("./registrationAccounts-
|
|
26522
|
+
const { createRegistrationAccountsService } = await import("./registrationAccounts-DmWPzf3T.js");
|
|
26591
26523
|
return createRegistrationAccountsService(deps.registration.accountLifecycle);
|
|
26592
26524
|
});
|
|
26593
26525
|
const registrationAccounts = {
|
|
@@ -26611,7 +26543,7 @@ function createSigningRuntime(deps) {
|
|
|
26611
26543
|
rollbackWalletEd25519SignerRegistration: async (receipt) => (await getRegistrationAccounts()).rollbackWalletEd25519SignerRegistration(receipt)
|
|
26612
26544
|
};
|
|
26613
26545
|
const getEcdsaWalletRecords = memoizeService(async () => {
|
|
26614
|
-
const { createEcdsaWalletRecordsService } = await import("./ecdsaWalletRecords-
|
|
26546
|
+
const { createEcdsaWalletRecordsService } = await import("./ecdsaWalletRecords-D42rtA9z.js");
|
|
26615
26547
|
return createEcdsaWalletRecordsService({ accountLifecycle: deps.registration.accountLifecycle });
|
|
26616
26548
|
});
|
|
26617
26549
|
const ecdsaWalletRecords = {
|
|
@@ -26622,32 +26554,32 @@ function createSigningRuntime(deps) {
|
|
|
26622
26554
|
storeWalletEmailOtpEcdsaRegistrationData: async (input) => (await getEcdsaWalletRecords()).storeWalletEmailOtpEcdsaRegistrationData(input)
|
|
26623
26555
|
};
|
|
26624
26556
|
const nearSigning = { signNear: async (request) => {
|
|
26625
|
-
const { signNear } = await import("./signNear-
|
|
26557
|
+
const { signNear } = await import("./signNear-Bmb2fj_a.js").then((n) => n.n);
|
|
26626
26558
|
return signNear(deps.signing.near.getDeps(), request);
|
|
26627
26559
|
} };
|
|
26628
26560
|
const evmFamilySigning = {
|
|
26629
26561
|
signEvmFamily: async (args) => {
|
|
26630
|
-
const { signEvmFamily } = await import("./signEvmFamily-
|
|
26562
|
+
const { signEvmFamily } = await import("./signEvmFamily-C3C97Th-.js").then((n) => n.s);
|
|
26631
26563
|
return signEvmFamily(deps.signing.evmFamily.getDeps(), args);
|
|
26632
26564
|
},
|
|
26633
26565
|
reportTempoBroadcastAccepted: async (args) => {
|
|
26634
|
-
const { reportTempoBroadcastAccepted } = await import("./signEvmFamily-
|
|
26566
|
+
const { reportTempoBroadcastAccepted } = await import("./signEvmFamily-C3C97Th-.js").then((n) => n.s);
|
|
26635
26567
|
return reportTempoBroadcastAccepted(deps.signing.evmFamily.getDeps(), args);
|
|
26636
26568
|
},
|
|
26637
26569
|
reportTempoBroadcastRejected: async (args) => {
|
|
26638
|
-
const { reportTempoBroadcastRejected } = await import("./signEvmFamily-
|
|
26570
|
+
const { reportTempoBroadcastRejected } = await import("./signEvmFamily-C3C97Th-.js").then((n) => n.s);
|
|
26639
26571
|
return reportTempoBroadcastRejected(deps.signing.evmFamily.getDeps(), args);
|
|
26640
26572
|
},
|
|
26641
26573
|
reportTempoFinalized: async (args) => {
|
|
26642
|
-
const { reportTempoFinalized } = await import("./signEvmFamily-
|
|
26574
|
+
const { reportTempoFinalized } = await import("./signEvmFamily-C3C97Th-.js").then((n) => n.s);
|
|
26643
26575
|
return reportTempoFinalized(deps.signing.evmFamily.getDeps(), args);
|
|
26644
26576
|
},
|
|
26645
26577
|
reportTempoDroppedOrReplaced: async (args) => {
|
|
26646
|
-
const { reportTempoDroppedOrReplaced } = await import("./signEvmFamily-
|
|
26578
|
+
const { reportTempoDroppedOrReplaced } = await import("./signEvmFamily-C3C97Th-.js").then((n) => n.s);
|
|
26647
26579
|
return reportTempoDroppedOrReplaced(deps.signing.evmFamily.getDeps(), args);
|
|
26648
26580
|
},
|
|
26649
26581
|
reconcileTempoNonceLane: async (args) => {
|
|
26650
|
-
const { reconcileTempoNonceLane } = await import("./signEvmFamily-
|
|
26582
|
+
const { reconcileTempoNonceLane } = await import("./signEvmFamily-C3C97Th-.js").then((n) => n.s);
|
|
26651
26583
|
return reconcileTempoNonceLane(deps.signing.evmFamily.getDeps(), args);
|
|
26652
26584
|
}
|
|
26653
26585
|
};
|
|
@@ -26699,6 +26631,30 @@ function createBrowserSigningRuntime(args) {
|
|
|
26699
26631
|
});
|
|
26700
26632
|
}
|
|
26701
26633
|
//#endregion
|
|
26634
|
+
//#region src/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.ts
|
|
26635
|
+
async function scheduleRestoredSessionPresignaturePrefills(args) {
|
|
26636
|
+
switch (args.state.kind) {
|
|
26637
|
+
case "active_session": break;
|
|
26638
|
+
case "wallet_unlocked_without_signing_session":
|
|
26639
|
+
if (args.state.reason !== "exhausted") return;
|
|
26640
|
+
break;
|
|
26641
|
+
case "wallet_locked":
|
|
26642
|
+
case "wallet_authenticated_identity_unresolvable":
|
|
26643
|
+
case "expired_session": return;
|
|
26644
|
+
default:
|
|
26645
|
+
args.state;
|
|
26646
|
+
return;
|
|
26647
|
+
}
|
|
26648
|
+
const walletSession = walletSessionRefFromSession({ walletId: args.state.walletId });
|
|
26649
|
+
const statusReads = new WalletSessionStatusReadScope();
|
|
26650
|
+
const prefills = [];
|
|
26651
|
+
for (const chainTarget of args.chainTargets) prefills.push(args.prefill({
|
|
26652
|
+
walletSession,
|
|
26653
|
+
chainTarget
|
|
26654
|
+
}, statusReads));
|
|
26655
|
+
await Promise.all(prefills);
|
|
26656
|
+
}
|
|
26657
|
+
//#endregion
|
|
26702
26658
|
//#region src/SeamsWeb/assembly/createBrowserSigningStores.ts
|
|
26703
26659
|
function createBrowserSigningStores(indexedDB) {
|
|
26704
26660
|
return {
|
|
@@ -26745,6 +26701,58 @@ function initializeBrowserSigningRuntime(args) {
|
|
|
26745
26701
|
if (!(args.config.wallet.mode === "iframe" && !__isWalletIframeHostMode())) args.userPreferencesManager.initFromIndexedDB().catch(() => void 0);
|
|
26746
26702
|
}
|
|
26747
26703
|
//#endregion
|
|
26704
|
+
//#region src/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.ts
|
|
26705
|
+
async function scheduleLinkedDevicePresignaturePrefill(args) {
|
|
26706
|
+
try {
|
|
26707
|
+
const scope = args.runtime.activationReceipt.normalSigning.scope;
|
|
26708
|
+
const material = buildRouterAbEcdsaDerivationSigningMaterialRef({ routerAbState: args.runtime.activationReceipt.normalSigning });
|
|
26709
|
+
const keyHandle = await deriveEvmFamilyEcdsaKeyHandle({
|
|
26710
|
+
ecdsaThresholdKeyId: scope.ecdsa_threshold_key_id,
|
|
26711
|
+
signingRootId: scope.signing_root_id,
|
|
26712
|
+
signingRootVersion: scope.signing_root_version
|
|
26713
|
+
});
|
|
26714
|
+
if (resolveLinkedEcdsaHolderRuntimeV1(args.runtime) !== args.runtime) return;
|
|
26715
|
+
const result = scheduleRouterAbEcdsaDerivationClientPresignaturePoolRefill({
|
|
26716
|
+
relayerUrl: args.relayerUrl,
|
|
26717
|
+
keyHandle: parseEcdsaKeyHandle(keyHandle),
|
|
26718
|
+
ecdsaThresholdKeyId: material.ecdsaThresholdKeyId,
|
|
26719
|
+
clientVerifyingShareB64u: material.clientVerifier33B64u,
|
|
26720
|
+
clientSigningMaterial: createLinkedHolderClientSigningMaterialSource(args.runtime.holderHandleId),
|
|
26721
|
+
thresholdEcdsaPublicKeyB64u: material.thresholdVerifier33B64u,
|
|
26722
|
+
relayerVerifyingShareB64u: material.serverVerifier33B64u,
|
|
26723
|
+
credential: {
|
|
26724
|
+
kind: "wallet_session_opaque",
|
|
26725
|
+
walletSessionToken: args.operationCredential.token
|
|
26726
|
+
},
|
|
26727
|
+
authorization: {
|
|
26728
|
+
kind: "reusable_wallet_session",
|
|
26729
|
+
wallet_session_id: args.operationCredential.walletSessionId
|
|
26730
|
+
},
|
|
26731
|
+
materialActivation: routerAbMpcMaterialActivationRefToWire(args.runtime.materialActivation),
|
|
26732
|
+
routerAbEcdsaDerivationPoolFill: {
|
|
26733
|
+
kind: "router_ab_ecdsa_derivation_signing_worker_pool",
|
|
26734
|
+
scope,
|
|
26735
|
+
ceremonyExpiresAtMs: args.expiresAtMs,
|
|
26736
|
+
materialExpiresAtMs: Date.now() + MAX_DURABLE_CLIENT_PRESIGNATURE_LIFETIME_MS
|
|
26737
|
+
},
|
|
26738
|
+
workerCtx: args.workerCtx
|
|
26739
|
+
});
|
|
26740
|
+
emitSigningSessionFlowTrace("evm-family", {
|
|
26741
|
+
event: "ecdsa_linked_device_prefill",
|
|
26742
|
+
scheduled: result.scheduled,
|
|
26743
|
+
reason: result.reason,
|
|
26744
|
+
depth: result.depth,
|
|
26745
|
+
targetDepth: result.targetDepth
|
|
26746
|
+
});
|
|
26747
|
+
} catch {
|
|
26748
|
+
emitSigningSessionFlowTrace("evm-family", {
|
|
26749
|
+
event: "ecdsa_linked_device_prefill",
|
|
26750
|
+
scheduled: false,
|
|
26751
|
+
reason: "unexpected_error"
|
|
26752
|
+
});
|
|
26753
|
+
}
|
|
26754
|
+
}
|
|
26755
|
+
//#endregion
|
|
26748
26756
|
//#region src/SeamsWeb/operations/session/thresholdWarmSessionBootstrap.ts
|
|
26749
26757
|
function assertNeverNormalSigning(value) {
|
|
26750
26758
|
throw new Error(`Unexpected Router A/B normal-signing config branch: ${String(value)}`);
|
|
@@ -27195,7 +27203,7 @@ async function collectFreshLocalPasskeyUnlockCredential(args) {
|
|
|
27195
27203
|
//#endregion
|
|
27196
27204
|
//#region src/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.ts
|
|
27197
27205
|
const ecdsaCapabilityManifestStore$1 = new IndexedDbEcdsaCapabilityManifestStore();
|
|
27198
|
-
async function
|
|
27206
|
+
async function resolveEvmFamilyEcdsaWalletUnlockSubjects(walletId) {
|
|
27199
27207
|
const resolved = await ecdsaCapabilityManifestStore$1.listActiveWalletCapabilitySubjects(walletId);
|
|
27200
27208
|
if (resolved.kind === "persistence_unavailable") return {
|
|
27201
27209
|
kind: "failed",
|
|
@@ -27218,9 +27226,6 @@ async function listEvmFamilyEcdsaWalletUnlockSubjects(walletId) {
|
|
|
27218
27226
|
subjects
|
|
27219
27227
|
};
|
|
27220
27228
|
}
|
|
27221
|
-
async function resolveEvmFamilyEcdsaWalletUnlockSubjects(walletId) {
|
|
27222
|
-
return await listEvmFamilyEcdsaWalletUnlockSubjects(walletId);
|
|
27223
|
-
}
|
|
27224
27229
|
async function resolveEcdsaActivationJournalSelectors(walletId) {
|
|
27225
27230
|
return await ecdsaCapabilityManifestStore$1.listWalletActivationJournalSelectors(walletId);
|
|
27226
27231
|
}
|
|
@@ -28816,12 +28821,21 @@ async function activateLinkedDeviceSignerRuntimesAfterLink(args) {
|
|
|
28816
28821
|
...providerIdentity ? { providerIdentity } : {}
|
|
28817
28822
|
});
|
|
28818
28823
|
const ecdsaMaterial = linkedDeviceEcdsaMaterial(openedMaterials);
|
|
28819
|
-
if (ecdsaMaterial)
|
|
28820
|
-
|
|
28821
|
-
|
|
28822
|
-
|
|
28823
|
-
|
|
28824
|
-
|
|
28824
|
+
if (ecdsaMaterial) {
|
|
28825
|
+
const { runtime } = await activateLinkedDeviceEcdsaHolderRuntime({
|
|
28826
|
+
context: args.context,
|
|
28827
|
+
selection,
|
|
28828
|
+
factorAuthority,
|
|
28829
|
+
material: ecdsaMaterial
|
|
28830
|
+
});
|
|
28831
|
+
scheduleLinkedDevicePresignaturePrefill({
|
|
28832
|
+
runtime,
|
|
28833
|
+
operationCredential: args.operationCredential,
|
|
28834
|
+
expiresAtMs: args.walletSession.expiresAtMs,
|
|
28835
|
+
relayerUrl,
|
|
28836
|
+
workerCtx: args.context.signingEngine.getSignerWorkerContext()
|
|
28837
|
+
});
|
|
28838
|
+
}
|
|
28825
28839
|
const ed25519Material = linkedDeviceEd25519Material(openedMaterials);
|
|
28826
28840
|
if (ed25519Material) {
|
|
28827
28841
|
const session = await linkedDeviceEd25519SessionAfterLink({
|
|
@@ -32111,7 +32125,7 @@ async function logout(context) {
|
|
|
32111
32125
|
}
|
|
32112
32126
|
async function resumeNearAfterSuccessfulUnlock(args) {
|
|
32113
32127
|
try {
|
|
32114
|
-
await (await import("./registration-
|
|
32128
|
+
await (await import("./registration-Ct_7LdGf.js").then((n) => n.o)).resumeNearRegistrationAfterUnlock(args);
|
|
32115
32129
|
} catch (error) {
|
|
32116
32130
|
console.warn("[login] NEAR continuation could not start", error instanceof Error ? error.message : "module unavailable");
|
|
32117
32131
|
} finally {
|
|
@@ -32235,7 +32249,7 @@ async function getRecentUnlocksDomain(deps) {
|
|
|
32235
32249
|
}
|
|
32236
32250
|
return await getRecentUnlocks(deps.getContext());
|
|
32237
32251
|
}
|
|
32238
|
-
async function prefillRouterAbEcdsaDerivationPresignaturePoolDomain(deps, args) {
|
|
32252
|
+
async function prefillRouterAbEcdsaDerivationPresignaturePoolDomain(deps, args, statusReads) {
|
|
32239
32253
|
if (deps.walletIframe.shouldUseWalletIframe()) return await (await deps.walletIframe.requireRouter(args.walletSession.walletId)).prefillRouterAbEcdsaDerivationPresignaturePool({
|
|
32240
32254
|
walletSession: args.walletSession,
|
|
32241
32255
|
options: {
|
|
@@ -32248,7 +32262,7 @@ async function prefillRouterAbEcdsaDerivationPresignaturePoolDomain(deps, args)
|
|
|
32248
32262
|
walletId,
|
|
32249
32263
|
chainTarget: args.chainTarget,
|
|
32250
32264
|
...typeof args.waitForPoolReady === "boolean" ? { waitForPoolReady: args.waitForPoolReady } : {}
|
|
32251
|
-
},
|
|
32265
|
+
}, statusReads);
|
|
32252
32266
|
}
|
|
32253
32267
|
//#endregion
|
|
32254
32268
|
//#region src/SeamsWeb/publicApi/transactionReview.ts
|
|
@@ -32266,7 +32280,7 @@ function createAuthCapability(deps) {
|
|
|
32266
32280
|
getWalletSession: async (walletId) => await getWalletSessionDomain(deps.getWalletAuthDeps(), walletId),
|
|
32267
32281
|
getRecentUnlocks: async () => await getRecentUnlocksDomain(deps.getWalletAuthDeps()),
|
|
32268
32282
|
hasPasskeyCredential: async (walletId) => await hasPasskeyCredentialDomain(deps.getWalletAuthDeps(), walletId),
|
|
32269
|
-
prefillRouterAbEcdsaDerivationPresignaturePool: async (args) => await prefillRouterAbEcdsaDerivationPresignaturePoolDomain(deps.getWalletAuthDeps(), args),
|
|
32283
|
+
prefillRouterAbEcdsaDerivationPresignaturePool: async (args) => await prefillRouterAbEcdsaDerivationPresignaturePoolDomain(deps.getWalletAuthDeps(), args, new WalletSessionStatusReadScope()),
|
|
32270
32284
|
requestEmailOtpChallenge: deps.domain.requestEmailOtpChallenge,
|
|
32271
32285
|
requestEmailOtpSigningSessionChallenge: deps.domain.requestEmailOtpSigningSessionChallenge,
|
|
32272
32286
|
refreshEmailOtpSigningSession: deps.domain.refreshEmailOtpSigningSession,
|
|
@@ -32692,7 +32706,7 @@ async function createPollingSubscriptionV1(input) {
|
|
|
32692
32706
|
function parseSessionMutationEnvelopeV1(raw) {
|
|
32693
32707
|
const record = asPlainDeviceLinkingResponse(raw);
|
|
32694
32708
|
if (record === null) throw new Error("linked-device response must be an object");
|
|
32695
|
-
if (!
|
|
32709
|
+
if (!hasExactResponseKeys(record, SESSION_MUTATION_RESPONSE_FIELDS)) throw new Error("linked-device response contains invalid fields");
|
|
32696
32710
|
if (record.ok !== true) throw new Error("linked-device response outcome is invalid");
|
|
32697
32711
|
switch (record.outcome) {
|
|
32698
32712
|
case "applied": return {
|
|
@@ -32711,7 +32725,7 @@ function parseSessionMutationEnvelopeV1(raw) {
|
|
|
32711
32725
|
function parseTargetCredentialRegistrationResponseV1(raw) {
|
|
32712
32726
|
const record = asPlainDeviceLinkingResponse(raw);
|
|
32713
32727
|
if (record === null) throw new Error("linked-device target credential response must be an object");
|
|
32714
|
-
if (!
|
|
32728
|
+
if (!hasExactResponseKeys(record, TARGET_CREDENTIAL_RESPONSE_FIELDS)) throw new Error("linked-device target credential response contains invalid fields");
|
|
32715
32729
|
if (record.ok !== true) throw new Error("linked-device target credential response outcome is invalid");
|
|
32716
32730
|
switch (record.outcome) {
|
|
32717
32731
|
case "applied": return parseTargetCredentialRegistrationResponseBranch(record, "applied");
|
|
@@ -32729,20 +32743,20 @@ function parseTargetCredentialRegistrationResponseBranch(record, outcome) {
|
|
|
32729
32743
|
function parseHttpFailureMessageV1(response) {
|
|
32730
32744
|
const record = asPlainDeviceLinkingResponse(response.body);
|
|
32731
32745
|
if (record === null || record.ok !== false) return `linked-device request failed with HTTP ${response.status}`;
|
|
32732
|
-
if (
|
|
32733
|
-
if (
|
|
32746
|
+
if (hasExactResponseKeys(record, CODED_FAILURE_RESPONSE_FIELDS) && typeof record.code === "string" && typeof record.message === "string" && record.message.trim()) return `linked-device request failed: ${record.message}`;
|
|
32747
|
+
if (hasExactResponseKeys(record, OUTCOME_FAILURE_RESPONSE_FIELDS) && typeof record.outcome === "string" && typeof record.code === "string" && typeof record.message === "string" && record.message.trim()) return `linked-device request failed: ${record.message}`;
|
|
32734
32748
|
switch (record.outcome) {
|
|
32735
32749
|
case "conflict":
|
|
32736
|
-
if (
|
|
32750
|
+
if (hasExactResponseKeys(record, SESSION_CONFLICT_FAILURE_FIELDS)) return "linked-device request failed: conflict";
|
|
32737
32751
|
break;
|
|
32738
32752
|
case "expired":
|
|
32739
|
-
if (
|
|
32753
|
+
if (hasExactResponseKeys(record, SESSION_EXPIRED_FAILURE_FIELDS)) return "linked-device request failed: expired";
|
|
32740
32754
|
break;
|
|
32741
32755
|
case "invalid_state":
|
|
32742
|
-
if (
|
|
32756
|
+
if (hasExactResponseKeys(record, SESSION_INVALID_STATE_FAILURE_FIELDS)) return "linked-device request failed: invalid_state";
|
|
32743
32757
|
break;
|
|
32744
32758
|
case "integrity_error":
|
|
32745
|
-
if (
|
|
32759
|
+
if (hasExactResponseKeys(record, SESSION_INTEGRITY_FAILURE_FIELDS)) return "linked-device request failed: integrity_error";
|
|
32746
32760
|
break;
|
|
32747
32761
|
default: break;
|
|
32748
32762
|
}
|
|
@@ -32760,11 +32774,9 @@ function isPlainDeviceLinkingResponse(value) {
|
|
|
32760
32774
|
return false;
|
|
32761
32775
|
}
|
|
32762
32776
|
}
|
|
32763
|
-
function
|
|
32777
|
+
function hasExactResponseKeys(record, expectedKeys) {
|
|
32764
32778
|
try {
|
|
32765
|
-
|
|
32766
|
-
const expected = [...expectedKeys].sort();
|
|
32767
|
-
return actualKeys.length === expected.length && actualKeys.every((key, index) => key === expected[index]);
|
|
32779
|
+
return hasExactKeys(record, expectedKeys);
|
|
32768
32780
|
} catch {
|
|
32769
32781
|
return false;
|
|
32770
32782
|
}
|
|
@@ -33604,11 +33616,6 @@ function isPlainDeviceLinkingResumeRecord(value) {
|
|
|
33604
33616
|
return false;
|
|
33605
33617
|
}
|
|
33606
33618
|
}
|
|
33607
|
-
function hasExactKeys(record, expectedKeys) {
|
|
33608
|
-
const actual = Object.keys(record).sort();
|
|
33609
|
-
const expected = [...expectedKeys].sort();
|
|
33610
|
-
return actual.length === expected.length && actual.every((key, index) => key === expected[index]);
|
|
33611
|
-
}
|
|
33612
33619
|
function sameSignerActivations(left, right) {
|
|
33613
33620
|
const leftBytes = encodeWalletSignerActivationSetV1(left);
|
|
33614
33621
|
const rightBytes = encodeWalletSignerActivationSetV1(right);
|
|
@@ -37932,7 +37939,7 @@ function assertOneEcdsaCustodyIdentity(continuity) {
|
|
|
37932
37939
|
if (continuity.state === "absent") return null;
|
|
37933
37940
|
const first = continuity.signers[0];
|
|
37934
37941
|
const chainTargets = /* @__PURE__ */ new Set();
|
|
37935
|
-
for (const signer of continuity.signers.slice(1)) if (signer.walletKey.keyHandle !== first.walletKey.keyHandle || !sameRouterAbEcdsaDerivationPublicCapabilityV1(signer.walletKey.publicCapability, first.walletKey.publicCapability) || !sameRouterAbEcdsaRegistrationActivationReceiptV1(signer.activationReceipt, first.activationReceipt) || !sameRuntimePolicyScope
|
|
37942
|
+
for (const signer of continuity.signers.slice(1)) if (signer.walletKey.keyHandle !== first.walletKey.keyHandle || !sameRouterAbEcdsaDerivationPublicCapabilityV1(signer.walletKey.publicCapability, first.walletKey.publicCapability) || !sameRouterAbEcdsaRegistrationActivationReceiptV1(signer.activationReceipt, first.activationReceipt) || !sameRuntimePolicyScope(signer.runtimePolicyScope, first.runtimePolicyScope)) throw new Error("sync-account returned conflicting ECDSA custody identities");
|
|
37936
37943
|
for (const signer of continuity.signers) {
|
|
37937
37944
|
const key = thresholdEcdsaChainTargetKey(signer.chainTarget);
|
|
37938
37945
|
if (chainTargets.has(key)) throw new Error("sync-account returned duplicate ECDSA custody chain targets");
|
|
@@ -38753,7 +38760,10 @@ async function executeEvmFamilyTransactionLifecycle(args) {
|
|
|
38753
38760
|
}
|
|
38754
38761
|
});
|
|
38755
38762
|
const rawTxHex = assertRawTxHexOrThrow(signedResult.rawTxHex);
|
|
38756
|
-
args.lifecycle.onBroadcastStarted
|
|
38763
|
+
args.lifecycle.onBroadcastStarted({
|
|
38764
|
+
walletSession: args.input.walletSession,
|
|
38765
|
+
signedResult
|
|
38766
|
+
});
|
|
38757
38767
|
txHash = normalizeTxHashOrThrow(await client.request({
|
|
38758
38768
|
method: "eth_sendRawTransaction",
|
|
38759
38769
|
params: [rawTxHex]
|
|
@@ -39099,6 +39109,11 @@ function createTempoSignerCapability(deps, transactionDispatch = { kind: "ordina
|
|
|
39099
39109
|
...args,
|
|
39100
39110
|
chainTarget: resolveTempoChainTarget(deps.configs.network.chains, args.chainTarget)
|
|
39101
39111
|
}));
|
|
39112
|
+
const onBroadcastStarted = (args) => {
|
|
39113
|
+
const walletIframe = deps.getWalletIframe();
|
|
39114
|
+
if (!walletIframe.shouldUseWalletIframe()) return;
|
|
39115
|
+
walletIframe.requireRouter(toWalletId(args.walletSession.walletId)).then((router) => router.notifyTransactionBroadcastStarted(args.signedResult)).catch(() => {});
|
|
39116
|
+
};
|
|
39102
39117
|
const reportBroadcastAccepted = async (args) => {
|
|
39103
39118
|
const walletIframe = deps.getWalletIframe();
|
|
39104
39119
|
const walletId = toWalletId(args.walletSession.walletId);
|
|
@@ -39214,6 +39229,7 @@ function createTempoSignerCapability(deps, transactionDispatch = { kind: "ordina
|
|
|
39214
39229
|
}
|
|
39215
39230
|
};
|
|
39216
39231
|
const lifecycle = {
|
|
39232
|
+
onBroadcastStarted,
|
|
39217
39233
|
signEvmFamily,
|
|
39218
39234
|
reportBroadcastAccepted,
|
|
39219
39235
|
reportBroadcastRejected,
|
|
@@ -39643,11 +39659,15 @@ function createDeviceLinkingOrdinaryMaterialWorkerPortV1(send) {
|
|
|
39643
39659
|
}
|
|
39644
39660
|
function parseOrdinaryResealedExportRootRecordV1(value) {
|
|
39645
39661
|
if (value === null) return null;
|
|
39646
|
-
if (!
|
|
39662
|
+
if (!hasExactKeys(value, ["envelope"])) throw new Error("ordinary material resealed export root has unsupported fields");
|
|
39647
39663
|
return { envelope: parsePasskeyCustodyEnvelopeRecord(value.envelope) };
|
|
39648
39664
|
}
|
|
39649
39665
|
function parsePreparationResult(value) {
|
|
39650
|
-
if (!
|
|
39666
|
+
if (!hasExactKeys(value, [
|
|
39667
|
+
"kind",
|
|
39668
|
+
"targetFactor",
|
|
39669
|
+
"preparations"
|
|
39670
|
+
])) throw new Error("ordinary material preparation result has invalid fields");
|
|
39651
39671
|
if (value.kind !== "device_linking_ordinary_signer_material_preparation_v1") throw new Error("ordinary material preparation result kind is invalid");
|
|
39652
39672
|
return {
|
|
39653
39673
|
kind: "device_linking_ordinary_signer_material_preparation_v1",
|
|
@@ -39669,7 +39689,11 @@ function parsePreparationTuple(value) {
|
|
|
39669
39689
|
function parseRecipientRequirementTuple(value) {
|
|
39670
39690
|
if (!Array.isArray(value) || value.length === 0 || value.length > 2) throw new Error("ordinary signer material recipient requirements must contain one or two entries");
|
|
39671
39691
|
const requirements = value.map((entry, index) => {
|
|
39672
|
-
if (!
|
|
39692
|
+
if (!hasExactKeys(entry, [
|
|
39693
|
+
"kind",
|
|
39694
|
+
"keyFamily",
|
|
39695
|
+
"walletKeyId"
|
|
39696
|
+
])) throw new Error(`ordinary recipient requirement ${index} has invalid fields`);
|
|
39673
39697
|
if (entry.kind !== "ordinary_signer_material_recipient_requirement_v1") throw new Error("ordinary recipient requirement kind is invalid");
|
|
39674
39698
|
if (entry.keyFamily !== "ed25519" && entry.keyFamily !== "ecdsa_secp256k1") throw new Error("ordinary recipient requirement key family is invalid");
|
|
39675
39699
|
const walletKeyId = parseWalletKey(entry.walletKeyId);
|
|
@@ -39687,7 +39711,12 @@ function parseRecipientRequirementTuple(value) {
|
|
|
39687
39711
|
function parseRecipientRequestTuple(value) {
|
|
39688
39712
|
if (!Array.isArray(value) || value.length === 0 || value.length > 2) throw new Error("ordinary signer material recipient requests must contain one or two entries");
|
|
39689
39713
|
const requests = value.map((entry) => {
|
|
39690
|
-
if (
|
|
39714
|
+
if (hasExactKeys(entry, [
|
|
39715
|
+
"kind",
|
|
39716
|
+
"keyFamily",
|
|
39717
|
+
"walletKeyId",
|
|
39718
|
+
"recipientPublicKeyB64u"
|
|
39719
|
+
])) {
|
|
39691
39720
|
if (entry.kind !== "ordinary_ed25519_signer_material_recipient_request_v1" || entry.keyFamily !== "ed25519") throw new Error("ordinary Ed25519 recipient request kind is invalid");
|
|
39692
39721
|
return {
|
|
39693
39722
|
kind: "ordinary_ed25519_signer_material_recipient_request_v1",
|
|
@@ -39696,7 +39725,12 @@ function parseRecipientRequestTuple(value) {
|
|
|
39696
39725
|
recipientPublicKeyB64u: parseB64u(entry.recipientPublicKeyB64u, "Ed25519 recipient public key")
|
|
39697
39726
|
};
|
|
39698
39727
|
}
|
|
39699
|
-
if (
|
|
39728
|
+
if (hasExactKeys(entry, [
|
|
39729
|
+
"kind",
|
|
39730
|
+
"keyFamily",
|
|
39731
|
+
"walletKeyId",
|
|
39732
|
+
"clientEphemeralPublicKey"
|
|
39733
|
+
])) {
|
|
39700
39734
|
if (entry.kind !== "ordinary_ecdsa_signer_material_recipient_request_v1" || entry.keyFamily !== "ecdsa_secp256k1") throw new Error("ordinary ECDSA recipient request kind is invalid");
|
|
39701
39735
|
return {
|
|
39702
39736
|
kind: "ordinary_ecdsa_signer_material_recipient_request_v1",
|
|
@@ -39713,7 +39747,11 @@ function parseRecipientRequestTuple(value) {
|
|
|
39713
39747
|
return [first, ...requests.slice(1)];
|
|
39714
39748
|
}
|
|
39715
39749
|
function parseRecipientPreparationResult(value) {
|
|
39716
|
-
if (!
|
|
39750
|
+
if (!hasExactKeys(value, [
|
|
39751
|
+
"kind",
|
|
39752
|
+
"recipientRequests",
|
|
39753
|
+
"recipientInputs"
|
|
39754
|
+
])) throw new Error("ordinary recipient preparation result has invalid fields");
|
|
39717
39755
|
if (value.kind !== "device_linking_ordinary_signer_material_recipient_preparation_v1") throw new Error("ordinary recipient preparation result kind is invalid");
|
|
39718
39756
|
const recipientRequests = parseRecipientRequestTuple(value.recipientRequests);
|
|
39719
39757
|
const recipientInputs = parseRecipientInputTuple(value.recipientInputs);
|
|
@@ -39726,7 +39764,12 @@ function parseRecipientPreparationResult(value) {
|
|
|
39726
39764
|
function parseRecipientInputTuple(value) {
|
|
39727
39765
|
if (!Array.isArray(value) || value.length === 0 || value.length > 2) throw new Error("ordinary signer material recipient inputs must contain one or two entries");
|
|
39728
39766
|
const inputs = value.map((entry) => {
|
|
39729
|
-
if (
|
|
39767
|
+
if (hasExactKeys(entry, [
|
|
39768
|
+
"kind",
|
|
39769
|
+
"keyFamily",
|
|
39770
|
+
"walletKeyId",
|
|
39771
|
+
"recipientPrivateKey"
|
|
39772
|
+
])) {
|
|
39730
39773
|
if (entry.kind !== "ordinary_ed25519_signer_material_recipient_input_v1" || entry.keyFamily !== "ed25519") throw new Error("ordinary Ed25519 recipient input kind is invalid");
|
|
39731
39774
|
return {
|
|
39732
39775
|
kind: "ordinary_ed25519_signer_material_recipient_input_v1",
|
|
@@ -39735,7 +39778,12 @@ function parseRecipientInputTuple(value) {
|
|
|
39735
39778
|
recipientPrivateKey: parsePrivateKeyBuffer(entry.recipientPrivateKey, "Ed25519 recipient private key")
|
|
39736
39779
|
};
|
|
39737
39780
|
}
|
|
39738
|
-
if (
|
|
39781
|
+
if (hasExactKeys(entry, [
|
|
39782
|
+
"kind",
|
|
39783
|
+
"keyFamily",
|
|
39784
|
+
"walletKeyId",
|
|
39785
|
+
"clientEphemeralPrivateKey"
|
|
39786
|
+
])) {
|
|
39739
39787
|
if (entry.kind !== "ordinary_ecdsa_signer_material_recipient_input_v1" || entry.keyFamily !== "ecdsa_secp256k1") throw new Error("ordinary ECDSA recipient input kind is invalid");
|
|
39740
39788
|
return {
|
|
39741
39789
|
kind: "ordinary_ecdsa_signer_material_recipient_input_v1",
|
|
@@ -39783,7 +39831,13 @@ function parsePreparation(value) {
|
|
|
39783
39831
|
return parseLinkedDeviceOrdinaryMaterialSourceContributionPreparationV1(value);
|
|
39784
39832
|
}
|
|
39785
39833
|
function parseTargetFactorBindingV1(value) {
|
|
39786
|
-
if (
|
|
39834
|
+
if (hasExactKeys(value, [
|
|
39835
|
+
"kind",
|
|
39836
|
+
"walletAuthMethodId",
|
|
39837
|
+
"verificationDigestB64u",
|
|
39838
|
+
"rpId",
|
|
39839
|
+
"credentialIdB64u"
|
|
39840
|
+
])) {
|
|
39787
39841
|
if (value.kind !== "passkey") throw new Error("ordinary material target factor kind is unsupported");
|
|
39788
39842
|
const authMethod = parseWalletAuthMethodId(value.walletAuthMethodId);
|
|
39789
39843
|
if (!authMethod.ok) throw new Error(authMethod.error.message);
|
|
@@ -39796,7 +39850,13 @@ function parseTargetFactorBindingV1(value) {
|
|
|
39796
39850
|
credentialIdB64u: parseB64u(value.credentialIdB64u, "ordinary target factor credentialIdB64u")
|
|
39797
39851
|
};
|
|
39798
39852
|
}
|
|
39799
|
-
if (
|
|
39853
|
+
if (hasExactKeys(value, [
|
|
39854
|
+
"kind",
|
|
39855
|
+
"walletAuthMethodId",
|
|
39856
|
+
"verificationDigestB64u",
|
|
39857
|
+
"emailHashHex",
|
|
39858
|
+
"registrationAuthorityId"
|
|
39859
|
+
])) {
|
|
39800
39860
|
if (value.kind !== "email_otp") throw new Error("ordinary material target factor kind is unsupported");
|
|
39801
39861
|
const authMethod = parseWalletAuthMethodId(value.walletAuthMethodId);
|
|
39802
39862
|
if (!authMethod.ok) throw new Error(authMethod.error.message);
|
|
@@ -39814,7 +39874,13 @@ function parseTargetFactorBindingV1(value) {
|
|
|
39814
39874
|
throw new Error("ordinary material target factor kind is unsupported");
|
|
39815
39875
|
}
|
|
39816
39876
|
function parseWalletAuthorityExportRootRecordV1(value) {
|
|
39817
|
-
if (!
|
|
39877
|
+
if (!hasExactKeys(value, [
|
|
39878
|
+
"kind",
|
|
39879
|
+
"authorityId",
|
|
39880
|
+
"walletAuthMethodId",
|
|
39881
|
+
"walletKeyId",
|
|
39882
|
+
"envelope"
|
|
39883
|
+
])) throw new Error("ordinary material export-root record has invalid fields");
|
|
39818
39884
|
if (value.kind !== "wallet_authority_export_root_v1") throw new Error("ordinary material export-root record kind is invalid");
|
|
39819
39885
|
const authorityId = parseWalletAuthorityId(value.authorityId);
|
|
39820
39886
|
if (!authorityId.ok) throw new Error(authorityId.error.message);
|
|
@@ -39831,7 +39897,11 @@ function parseWalletAuthorityExportRootRecordV1(value) {
|
|
|
39831
39897
|
};
|
|
39832
39898
|
}
|
|
39833
39899
|
function parseSealedLocalAuthorityMaterialSetV1(value) {
|
|
39834
|
-
if (!
|
|
39900
|
+
if (!hasExactKeys(value, [
|
|
39901
|
+
"signerMaterials",
|
|
39902
|
+
"exportRoot",
|
|
39903
|
+
"installedRecordSetDigestB64u"
|
|
39904
|
+
])) throw new Error("ordinary material worker returned an invalid sealed record set");
|
|
39835
39905
|
if (!Array.isArray(value.signerMaterials) || value.signerMaterials.length === 0) throw new Error("ordinary material worker returned an invalid sealed record set");
|
|
39836
39906
|
const signerMaterials = value.signerMaterials.map((entry) => parseWalletAuthorityLinkedSignerMaterialRecordV1(entry));
|
|
39837
39907
|
const firstSignerMaterial = signerMaterials[0];
|
|
@@ -39857,62 +39927,8 @@ function parseB64u(value, label) {
|
|
|
39857
39927
|
decoded.fill(0);
|
|
39858
39928
|
return encoded;
|
|
39859
39929
|
}
|
|
39860
|
-
function isOrdinaryResealedExportRootRecordV1(value) {
|
|
39861
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "envelope";
|
|
39862
|
-
}
|
|
39863
|
-
function isOrdinaryMaterialPreparationResultRecordV1(value) {
|
|
39864
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "kind|preparations|targetFactor";
|
|
39865
|
-
}
|
|
39866
|
-
function isOrdinaryRecipientRequirementRecordV1(value) {
|
|
39867
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "keyFamily|kind|walletKeyId";
|
|
39868
|
-
}
|
|
39869
|
-
function isOrdinaryEd25519RecipientRequestRecordV1(value) {
|
|
39870
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "keyFamily|kind|recipientPublicKeyB64u|walletKeyId";
|
|
39871
|
-
}
|
|
39872
|
-
function isOrdinaryEcdsaRecipientRequestRecordV1(value) {
|
|
39873
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "clientEphemeralPublicKey|keyFamily|kind|walletKeyId";
|
|
39874
|
-
}
|
|
39875
|
-
function isOrdinaryRecipientPreparationResultRecordV1(value) {
|
|
39876
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "kind|recipientInputs|recipientRequests";
|
|
39877
|
-
}
|
|
39878
|
-
function isOrdinaryEd25519RecipientInputRecordV1(value) {
|
|
39879
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "keyFamily|kind|recipientPrivateKey|walletKeyId";
|
|
39880
|
-
}
|
|
39881
|
-
function isOrdinaryEcdsaRecipientInputRecordV1(value) {
|
|
39882
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "clientEphemeralPrivateKey|keyFamily|kind|walletKeyId";
|
|
39883
|
-
}
|
|
39884
|
-
function isOrdinaryPasskeyTargetFactorRecordV1(value) {
|
|
39885
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "credentialIdB64u|kind|rpId|verificationDigestB64u|walletAuthMethodId";
|
|
39886
|
-
}
|
|
39887
|
-
function isOrdinaryEmailOtpTargetFactorRecordV1(value) {
|
|
39888
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "emailHashHex|kind|registrationAuthorityId|verificationDigestB64u|walletAuthMethodId";
|
|
39889
|
-
}
|
|
39890
|
-
function isWalletAuthorityExportRootRecordV1(value) {
|
|
39891
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "authorityId|envelope|kind|walletAuthMethodId|walletKeyId";
|
|
39892
|
-
}
|
|
39893
|
-
function isSealedLocalAuthorityMaterialSetRecordV1(value) {
|
|
39894
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "exportRoot|installedRecordSetDigestB64u|signerMaterials";
|
|
39895
|
-
}
|
|
39896
39930
|
//#endregion
|
|
39897
39931
|
//#region src/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.ts
|
|
39898
|
-
function isDeviceLinkingKeyHandleRecordV1(value) {
|
|
39899
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "handleId|kind";
|
|
39900
|
-
}
|
|
39901
|
-
function isDeviceLinkingKeyCreateResultRecordV1(value) {
|
|
39902
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "deliveryRecipientPublicKey65B64u|devicePublicKeyB64u|handleId|linkPublicKeyB64u";
|
|
39903
|
-
}
|
|
39904
|
-
function isDeviceLinkingEmailOtpFactorReleaseResultRecordV1(value) {
|
|
39905
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "factorSecret|kind|verificationGrant";
|
|
39906
|
-
}
|
|
39907
|
-
function isDeviceLinkingRequestSignatureResultRecordV1(value) {
|
|
39908
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "signatureB64u";
|
|
39909
|
-
}
|
|
39910
|
-
function isDeviceLinkingWorkerSuccessFrameRecordV1(value) {
|
|
39911
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "id|ok|result" && "ok" in value && value.ok === true;
|
|
39912
|
-
}
|
|
39913
|
-
function isDeviceLinkingWorkerFailureFrameRecordV1(value) {
|
|
39914
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "error|id|ok" && "ok" in value && value.ok === false;
|
|
39915
|
-
}
|
|
39916
39932
|
function nonEmpty(value, label) {
|
|
39917
39933
|
if (typeof value !== "string" || value.trim() !== value || value.length === 0) throw new Error(`${label} is required`);
|
|
39918
39934
|
return value;
|
|
@@ -39938,7 +39954,7 @@ function parseFixedB64u(value, length, label) {
|
|
|
39938
39954
|
return encoded;
|
|
39939
39955
|
}
|
|
39940
39956
|
function parseHandle(value) {
|
|
39941
|
-
if (!
|
|
39957
|
+
if (!hasExactKeys(value, ["kind", "handleId"])) throw new Error("device-linking key handle has invalid fields");
|
|
39942
39958
|
const record = value;
|
|
39943
39959
|
if (record.kind !== "device_linking_key_material_handle_v1") throw new Error("device-linking key handle kind is invalid");
|
|
39944
39960
|
return {
|
|
@@ -39947,7 +39963,12 @@ function parseHandle(value) {
|
|
|
39947
39963
|
};
|
|
39948
39964
|
}
|
|
39949
39965
|
function parseCreateResult(value) {
|
|
39950
|
-
if (!
|
|
39966
|
+
if (!hasExactKeys(value, [
|
|
39967
|
+
"handleId",
|
|
39968
|
+
"linkPublicKeyB64u",
|
|
39969
|
+
"devicePublicKeyB64u",
|
|
39970
|
+
"deliveryRecipientPublicKey65B64u"
|
|
39971
|
+
])) throw new Error("device-linking key create response has invalid fields");
|
|
39951
39972
|
const record = value;
|
|
39952
39973
|
return {
|
|
39953
39974
|
handle: {
|
|
@@ -39960,7 +39981,11 @@ function parseCreateResult(value) {
|
|
|
39960
39981
|
};
|
|
39961
39982
|
}
|
|
39962
39983
|
function parseEmailOtpFactorReleaseResult(value) {
|
|
39963
|
-
if (!
|
|
39984
|
+
if (!hasExactKeys(value, [
|
|
39985
|
+
"kind",
|
|
39986
|
+
"verificationGrant",
|
|
39987
|
+
"factorSecret"
|
|
39988
|
+
])) throw new Error("device-linking Email OTP factor release response has invalid fields");
|
|
39964
39989
|
const record = value;
|
|
39965
39990
|
if (record.kind !== "device_linking_email_otp_factor_release_result_v1") throw new Error("device-linking Email OTP factor release response kind is invalid");
|
|
39966
39991
|
if (!(record.factorSecret instanceof ArrayBuffer) || record.factorSecret.byteLength !== 32) throw new Error("device-linking Email OTP factor release secret is invalid");
|
|
@@ -39974,11 +39999,15 @@ function parseWalletSessionCredentialDeliveryResult(value) {
|
|
|
39974
39999
|
return parseWalletSessionOperationCredentialV1(value);
|
|
39975
40000
|
}
|
|
39976
40001
|
function parseSignatureResult(value) {
|
|
39977
|
-
if (!
|
|
40002
|
+
if (!hasExactKeys(value, ["signatureB64u"])) throw new Error("device-linking request signature response has invalid fields");
|
|
39978
40003
|
return { signatureB64u: parseFixedB64u(value.signatureB64u, 64, "signatureB64u") };
|
|
39979
40004
|
}
|
|
39980
40005
|
function parseResponseFrame(value) {
|
|
39981
|
-
if (
|
|
40006
|
+
if (hasExactKeys(value, [
|
|
40007
|
+
"id",
|
|
40008
|
+
"ok",
|
|
40009
|
+
"result"
|
|
40010
|
+
]) && value.ok === true) {
|
|
39982
40011
|
const id = value.id;
|
|
39983
40012
|
if (typeof id !== "string" || id.trim() !== id || id.length === 0) return null;
|
|
39984
40013
|
return {
|
|
@@ -39987,7 +40016,11 @@ function parseResponseFrame(value) {
|
|
|
39987
40016
|
result: value.result
|
|
39988
40017
|
};
|
|
39989
40018
|
}
|
|
39990
|
-
if (
|
|
40019
|
+
if (hasExactKeys(value, [
|
|
40020
|
+
"id",
|
|
40021
|
+
"ok",
|
|
40022
|
+
"error"
|
|
40023
|
+
]) && value.ok === false) {
|
|
39991
40024
|
const id = value.id;
|
|
39992
40025
|
if (typeof id !== "string" || id.trim() !== id || id.length === 0) return null;
|
|
39993
40026
|
if (typeof value.error !== "string" || !value.error.trim()) return null;
|
|
@@ -42486,6 +42519,14 @@ var SeamsWeb = class {
|
|
|
42486
42519
|
async getWalletIframeExactSessionState() {
|
|
42487
42520
|
return await this.walletIframe.getExactSessionState();
|
|
42488
42521
|
}
|
|
42522
|
+
/** @internal One wallet-host restore owns all configured-chain prefills. */
|
|
42523
|
+
async prefillRestoredWalletSession(state) {
|
|
42524
|
+
await scheduleRestoredSessionPresignaturePrefills({
|
|
42525
|
+
state,
|
|
42526
|
+
chainTargets: this.configuredChainTargets(),
|
|
42527
|
+
prefill: prefillRouterAbEcdsaDerivationPresignaturePoolDomain.bind(null, this.getWalletAuthDeps())
|
|
42528
|
+
});
|
|
42529
|
+
}
|
|
42489
42530
|
async openHostedAuthMenu(request, anchorElement) {
|
|
42490
42531
|
return await this.walletIframe.openHostedAuthMenu(request, anchorElement);
|
|
42491
42532
|
}
|