@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
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -5,7 +5,7 @@ distributed Seams Wallet SDK, server runtime, Wasm, strict Workers, and CLI.
|
|
|
5
5
|
Dependency license expressions come from their package metadata. Packaged
|
|
6
6
|
license and notice wording is reproduced below with normalized whitespace.
|
|
7
7
|
|
|
8
|
-
Inventory:
|
|
8
|
+
Inventory: 518 dependency records (110 npm, 408 Cargo).
|
|
9
9
|
|
|
10
10
|
## Dependency inventory
|
|
11
11
|
|
|
@@ -26,7 +26,6 @@ Inventory: 522 dependency records (110 npm, 412 Cargo).
|
|
|
26
26
|
| cargo | base64 | 0.23.1 | MIT OR Apache-2.0 | Marshall Pierce <marshall@mpierce.org> |
|
|
27
27
|
| cargo | base64ct | 1.8.0 | Apache-2.0 OR MIT | RustCrypto Developers |
|
|
28
28
|
| cargo | base64ct | 1.8.3 | Apache-2.0 OR MIT | RustCrypto Developers |
|
|
29
|
-
| cargo | bincode | 1.3.3 | MIT | David Tolnay <dtolnay@gmail.com>; Francesco Mazzoli <f@mazzo.li>; Ty Overby <ty@pre-alpha.com>; Zoey Riordan <zoey@dos.cafe> |
|
|
30
29
|
| cargo | bitflags | 2.13.0 | MIT OR Apache-2.0 | The Rust Project Developers |
|
|
31
30
|
| cargo | bitflags | 2.13.1 | MIT OR Apache-2.0 | The Rust Project Developers |
|
|
32
31
|
| cargo | block-buffer | 0.10.4 | MIT OR Apache-2.0 | RustCrypto Developers |
|
|
@@ -157,7 +156,6 @@ Inventory: 522 dependency records (110 npm, 412 Cargo).
|
|
|
157
156
|
| cargo | hashbrown | 0.17.1 | MIT OR Apache-2.0 | |
|
|
158
157
|
| cargo | hashlink | 0.9.1 | MIT OR Apache-2.0 | kyren <kerriganw@gmail.com> |
|
|
159
158
|
| cargo | heapless | 0.7.17 | MIT OR Apache-2.0 | Emil Fresk <emil.fresk@gmail.com>; Jorge Aparicio <jorge@japaric.io>; Per Lindgren <per.lindgren@ltu.se> |
|
|
160
|
-
| cargo | hex-literal | 0.4.1 | MIT OR Apache-2.0 | RustCrypto Developers |
|
|
161
159
|
| cargo | hex | 0.4.3 | MIT OR Apache-2.0 | KokaKiwi <kokakiwi@kokakiwi.net> |
|
|
162
160
|
| cargo | hkdf | 0.12.4 | MIT OR Apache-2.0 | RustCrypto Developers |
|
|
163
161
|
| cargo | hkdf | 0.13.0 | MIT OR Apache-2.0 | RustCrypto Developers |
|
|
@@ -251,8 +249,6 @@ Inventory: 522 dependency records (110 npm, 412 Cargo).
|
|
|
251
249
|
| cargo | rand_core | 0.9.5 | MIT OR Apache-2.0 | The Rand Project Developers; The Rust Project Developers |
|
|
252
250
|
| cargo | rfc6979 | 0.4.0 | Apache-2.0 OR MIT | RustCrypto Developers |
|
|
253
251
|
| cargo | ring | 0.17.14 | Apache-2.0 AND ISC | |
|
|
254
|
-
| cargo | rmp-serde | 1.3.1 | MIT | Evgeny Safronov <division494@gmail.com> |
|
|
255
|
-
| cargo | rmp | 0.8.15 | MIT | Evgeny Safronov <division494@gmail.com>; Kornel <kornel@geekhood.net> |
|
|
256
252
|
| cargo | rusqlite | 0.32.1 | MIT | The rusqlite developers |
|
|
257
253
|
| cargo | rustc_version | 0.4.1 | MIT OR Apache-2.0 | |
|
|
258
254
|
| cargo | rustls-native-certs | 0.8.4 | Apache-2.0 OR ISC OR MIT | |
|
|
@@ -9739,37 +9735,6 @@ Applies to:
|
|
|
9739
9735
|
DEALINGS IN THE SOFTWARE.
|
|
9740
9736
|
|
|
9741
9737
|
|
|
9742
|
-
### 90d7e062634054e6
|
|
9743
|
-
|
|
9744
|
-
Packaged as: LICENSE.md
|
|
9745
|
-
|
|
9746
|
-
Applies to:
|
|
9747
|
-
|
|
9748
|
-
- cargo:bincode@1.3.3
|
|
9749
|
-
|
|
9750
|
-
The MIT License (MIT)
|
|
9751
|
-
|
|
9752
|
-
Copyright (c) 2014 Ty Overby
|
|
9753
|
-
|
|
9754
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
9755
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
9756
|
-
in the Software without restriction, including without limitation the rights
|
|
9757
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9758
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
9759
|
-
furnished to do so, subject to the following conditions:
|
|
9760
|
-
|
|
9761
|
-
The above copyright notice and this permission notice shall be included in all
|
|
9762
|
-
copies or substantial portions of the Software.
|
|
9763
|
-
|
|
9764
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
9765
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
9766
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
9767
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
9768
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
9769
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
9770
|
-
SOFTWARE.
|
|
9771
|
-
|
|
9772
|
-
|
|
9773
9738
|
### 9117d922e6671255
|
|
9774
9739
|
|
|
9775
9740
|
Packaged as: LICENSE-MIT
|
|
@@ -10033,38 +9998,6 @@ Applies to:
|
|
|
10033
9998
|
THE SOFTWARE.
|
|
10034
9999
|
|
|
10035
10000
|
|
|
10036
|
-
### 979d35e1d1572891
|
|
10037
|
-
|
|
10038
|
-
Packaged as: LICENSE
|
|
10039
|
-
|
|
10040
|
-
Applies to:
|
|
10041
|
-
|
|
10042
|
-
- cargo:rmp-serde@1.3.1
|
|
10043
|
-
- cargo:rmp@0.8.15
|
|
10044
|
-
|
|
10045
|
-
MIT License
|
|
10046
|
-
|
|
10047
|
-
Copyright (c) 2017 Evgeny Safronov
|
|
10048
|
-
|
|
10049
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
10050
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
10051
|
-
in the Software without restriction, including without limitation the rights
|
|
10052
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10053
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10054
|
-
furnished to do so, subject to the following conditions:
|
|
10055
|
-
|
|
10056
|
-
The above copyright notice and this permission notice shall be included in all
|
|
10057
|
-
copies or substantial portions of the Software.
|
|
10058
|
-
|
|
10059
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
10060
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
10061
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
10062
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
10063
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
10064
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
10065
|
-
SOFTWARE.
|
|
10066
|
-
|
|
10067
|
-
|
|
10068
10001
|
### 98181e7249d0c017
|
|
10069
10002
|
|
|
10070
10003
|
Packaged as: LICENSE-MIT
|
|
@@ -11372,7 +11305,6 @@ Applies to:
|
|
|
11372
11305
|
- cargo:ghash@0.5.1
|
|
11373
11306
|
- cargo:hash2curve@0.14.0
|
|
11374
11307
|
- cargo:hash2curve@0.14.0-rc.12
|
|
11375
|
-
- cargo:hex-literal@0.4.1
|
|
11376
11308
|
- cargo:hkdf@0.12.4
|
|
11377
11309
|
- cargo:hkdf@0.13.0
|
|
11378
11310
|
- cargo:hmac@0.12.1
|
|
@@ -15147,42 +15079,6 @@ Applies to:
|
|
|
15147
15079
|
DEALINGS IN THE SOFTWARE.
|
|
15148
15080
|
|
|
15149
15081
|
|
|
15150
|
-
### fbe7b9b51878efdf
|
|
15151
|
-
|
|
15152
|
-
Packaged as: LICENSE-MIT
|
|
15153
|
-
|
|
15154
|
-
Applies to:
|
|
15155
|
-
|
|
15156
|
-
- cargo:hex-literal@0.4.1
|
|
15157
|
-
|
|
15158
|
-
Copyright (c) 2018 Artyom Pavlov
|
|
15159
|
-
Copyright (c) 2018 The RustCrypto Project Developers
|
|
15160
|
-
|
|
15161
|
-
Permission is hereby granted, free of charge, to any
|
|
15162
|
-
person obtaining a copy of this software and associated
|
|
15163
|
-
documentation files (the "Software"), to deal in the
|
|
15164
|
-
Software without restriction, including without
|
|
15165
|
-
limitation the rights to use, copy, modify, merge,
|
|
15166
|
-
publish, distribute, sublicense, and/or sell copies of
|
|
15167
|
-
the Software, and to permit persons to whom the Software
|
|
15168
|
-
is furnished to do so, subject to the following
|
|
15169
|
-
conditions:
|
|
15170
|
-
|
|
15171
|
-
The above copyright notice and this permission notice
|
|
15172
|
-
shall be included in all copies or substantial portions
|
|
15173
|
-
of the Software.
|
|
15174
|
-
|
|
15175
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
|
|
15176
|
-
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
|
15177
|
-
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
15178
|
-
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
|
15179
|
-
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
15180
|
-
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
15181
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
|
15182
|
-
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
15183
|
-
DEALINGS IN THE SOFTWARE.
|
|
15184
|
-
|
|
15185
|
-
|
|
15186
15082
|
### fd80a26fbb3f644a
|
|
15187
15083
|
|
|
15188
15084
|
Packaged as: LICENSE-MIT.md
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3cc408d97f9589145a26282262beee98f19671404d60cfe9373dbe147ef10de6
|
|
@@ -42,11 +42,12 @@ import { parseWalletIframeExactSessionIdentity } from "./walletIframe/shared/exa
|
|
|
42
42
|
import { resolveBrowserWorkerWarmupPolicy } from "./assembly/browserWorkerWarmupPolicy.js";
|
|
43
43
|
import { configureBrowserIndexedDB } from "./assembly/configureBrowserIndexedDB.js";
|
|
44
44
|
import { createBrowserHostPlatformRuntime, createBrowserSigningRuntime } from "./assembly/createBrowserSigningRuntime.js";
|
|
45
|
+
import { scheduleRestoredSessionPresignaturePrefills } from "./walletIframe/host/restoredSessionPresignaturePrefill.js";
|
|
45
46
|
import { createBrowserSigningStores } from "./assembly/createBrowserSigningStores.js";
|
|
46
47
|
import { initializeBrowserSigningRuntime } from "./assembly/initializeBrowserSigningRuntime.js";
|
|
47
48
|
import { assertWalletRuntimePostconditions } from "../core/signingEngine/session/postconditions/runtimePostconditions.js";
|
|
48
49
|
import { resolveExactLinkedEmailOtpAuthority, resolveLinkedDeviceEmailOtpAuthoritySelection, unlockLinkedDeviceEmailOtpWallet } from "./operations/auth/login.js";
|
|
49
|
-
import { getWalletSessionDomain } from "./operations/auth/walletAuth.js";
|
|
50
|
+
import { getWalletSessionDomain, prefillRouterAbEcdsaDerivationPresignaturePoolDomain } from "./operations/auth/walletAuth.js";
|
|
50
51
|
import { LINKED_DEVICE_SESSION_HTTP_BASE_PATH_V1 } from "./operations/devices/deviceLinkingHttpTransport.js";
|
|
51
52
|
import { createWalletIframeLinkedDeviceManagementPortV1 } from "./publicApi/devices.js";
|
|
52
53
|
import { resolveConfiguredChainTarget } from "./publicApi/chainTargets.js";
|
|
@@ -620,6 +621,14 @@ var SeamsWeb = class {
|
|
|
620
621
|
async getWalletIframeExactSessionState() {
|
|
621
622
|
return await this.walletIframe.getExactSessionState();
|
|
622
623
|
}
|
|
624
|
+
/** @internal One wallet-host restore owns all configured-chain prefills. */
|
|
625
|
+
async prefillRestoredWalletSession(state) {
|
|
626
|
+
await scheduleRestoredSessionPresignaturePrefills({
|
|
627
|
+
state,
|
|
628
|
+
chainTargets: this.configuredChainTargets(),
|
|
629
|
+
prefill: prefillRouterAbEcdsaDerivationPresignaturePoolDomain.bind(null, this.getWalletAuthDeps())
|
|
630
|
+
});
|
|
631
|
+
}
|
|
623
632
|
async openHostedAuthMenu(request, anchorElement) {
|
|
624
633
|
return await this.walletIframe.openHostedAuthMenu(request, anchorElement);
|
|
625
634
|
}
|
|
@@ -61,6 +61,7 @@ import { passkeyCredentialIdB64uFromAuthentication, passkeyPrfFirstB64uFromCrede
|
|
|
61
61
|
import { scheduleEcdsaSessionPresignaturePrefill } from "./scheduleEcdsaSessionPresignaturePrefill.js";
|
|
62
62
|
import { resolveManagedRuntimeScopeBootstrap } from "../../../core/config/managedRuntimeScope.js";
|
|
63
63
|
import { exactPasskeyWalletAuthAuthorityRefForCredential, exactPasskeyWalletAuthMethodForCredential } from "../authMethods/passkey/exactPasskeyAuthority.js";
|
|
64
|
+
import { scheduleLinkedDevicePresignaturePrefill } from "./scheduleLinkedDevicePresignaturePrefill.js";
|
|
64
65
|
import { createRouterAbNormalSigningPolicy } from "../session/thresholdWarmSessionBootstrap.js";
|
|
65
66
|
import { assertWalletRuntimePostconditions } from "../../../core/signingEngine/session/postconditions/runtimePostconditions.js";
|
|
66
67
|
import { buildConfiguredTargetKeyCompletion, collectConfiguredTargetThresholdEcdsaWarmKeys, configuredTargetThresholdEcdsaWarmKey, mergeCanonicalThresholdEcdsaWarmSessionContexts, parseActiveEcdsaSignerRecordForUnlock, planUnlockEcdsaWarmup, requireCompleteConfiguredTargetKeyContext } from "../../../core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.js";
|
|
@@ -1324,12 +1325,21 @@ async function activateLinkedDeviceSignerRuntimesAfterLink(args) {
|
|
|
1324
1325
|
...providerIdentity ? { providerIdentity } : {}
|
|
1325
1326
|
});
|
|
1326
1327
|
const ecdsaMaterial = linkedDeviceEcdsaMaterial(openedMaterials);
|
|
1327
|
-
if (ecdsaMaterial)
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1328
|
+
if (ecdsaMaterial) {
|
|
1329
|
+
const { runtime } = await activateLinkedDeviceEcdsaHolderRuntime({
|
|
1330
|
+
context: args.context,
|
|
1331
|
+
selection,
|
|
1332
|
+
factorAuthority,
|
|
1333
|
+
material: ecdsaMaterial
|
|
1334
|
+
});
|
|
1335
|
+
scheduleLinkedDevicePresignaturePrefill({
|
|
1336
|
+
runtime,
|
|
1337
|
+
operationCredential: args.operationCredential,
|
|
1338
|
+
expiresAtMs: args.walletSession.expiresAtMs,
|
|
1339
|
+
relayerUrl,
|
|
1340
|
+
workerCtx: args.context.signingEngine.getSignerWorkerContext()
|
|
1341
|
+
});
|
|
1342
|
+
}
|
|
1333
1343
|
const ed25519Material = linkedDeviceEd25519Material(openedMaterials);
|
|
1334
1344
|
if (ed25519Material) {
|
|
1335
1345
|
const session = await linkedDeviceEd25519SessionAfterLink({
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { deriveEvmFamilyEcdsaKeyHandle } from "../../../core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js";
|
|
2
|
+
import { routerAbMpcMaterialActivationRefToWire } from "../../../shared-ts/src/utils/routerAbNormalSigningIdentity.js";
|
|
3
|
+
import { parseEcdsaKeyHandle } from "../../../shared-ts/src/threshold/keyMaterialBrands.js";
|
|
4
|
+
import { MAX_DURABLE_CLIENT_PRESIGNATURE_LIFETIME_MS } from "../../../core/signingEngine/workerManager/ecdsaPresignLifecycle.js";
|
|
5
|
+
import { resolveLinkedEcdsaHolderRuntimeV1 } from "../../../core/signingEngine/session/material/linkedEcdsaHolderRuntime.js";
|
|
6
|
+
import { emitSigningSessionFlowTrace } from "../../../core/signingEngine/session/operationState/trace.js";
|
|
7
|
+
import { buildRouterAbEcdsaDerivationSigningMaterialRef } from "../../../core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js";
|
|
8
|
+
import { scheduleRouterAbEcdsaDerivationClientPresignaturePoolRefill } from "../../../core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js";
|
|
9
|
+
import { createLinkedHolderClientSigningMaterialSource } from "../../../core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.js";
|
|
10
|
+
//#region src/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.ts
|
|
11
|
+
async function scheduleLinkedDevicePresignaturePrefill(args) {
|
|
12
|
+
try {
|
|
13
|
+
const scope = args.runtime.activationReceipt.normalSigning.scope;
|
|
14
|
+
const material = buildRouterAbEcdsaDerivationSigningMaterialRef({ routerAbState: args.runtime.activationReceipt.normalSigning });
|
|
15
|
+
const keyHandle = await deriveEvmFamilyEcdsaKeyHandle({
|
|
16
|
+
ecdsaThresholdKeyId: scope.ecdsa_threshold_key_id,
|
|
17
|
+
signingRootId: scope.signing_root_id,
|
|
18
|
+
signingRootVersion: scope.signing_root_version
|
|
19
|
+
});
|
|
20
|
+
if (resolveLinkedEcdsaHolderRuntimeV1(args.runtime) !== args.runtime) return;
|
|
21
|
+
const result = scheduleRouterAbEcdsaDerivationClientPresignaturePoolRefill({
|
|
22
|
+
relayerUrl: args.relayerUrl,
|
|
23
|
+
keyHandle: parseEcdsaKeyHandle(keyHandle),
|
|
24
|
+
ecdsaThresholdKeyId: material.ecdsaThresholdKeyId,
|
|
25
|
+
clientVerifyingShareB64u: material.clientVerifier33B64u,
|
|
26
|
+
clientSigningMaterial: createLinkedHolderClientSigningMaterialSource(args.runtime.holderHandleId),
|
|
27
|
+
thresholdEcdsaPublicKeyB64u: material.thresholdVerifier33B64u,
|
|
28
|
+
relayerVerifyingShareB64u: material.serverVerifier33B64u,
|
|
29
|
+
credential: {
|
|
30
|
+
kind: "wallet_session_opaque",
|
|
31
|
+
walletSessionToken: args.operationCredential.token
|
|
32
|
+
},
|
|
33
|
+
authorization: {
|
|
34
|
+
kind: "reusable_wallet_session",
|
|
35
|
+
wallet_session_id: args.operationCredential.walletSessionId
|
|
36
|
+
},
|
|
37
|
+
materialActivation: routerAbMpcMaterialActivationRefToWire(args.runtime.materialActivation),
|
|
38
|
+
routerAbEcdsaDerivationPoolFill: {
|
|
39
|
+
kind: "router_ab_ecdsa_derivation_signing_worker_pool",
|
|
40
|
+
scope,
|
|
41
|
+
ceremonyExpiresAtMs: args.expiresAtMs,
|
|
42
|
+
materialExpiresAtMs: Date.now() + MAX_DURABLE_CLIENT_PRESIGNATURE_LIFETIME_MS
|
|
43
|
+
},
|
|
44
|
+
workerCtx: args.workerCtx
|
|
45
|
+
});
|
|
46
|
+
emitSigningSessionFlowTrace("evm-family", {
|
|
47
|
+
event: "ecdsa_linked_device_prefill",
|
|
48
|
+
scheduled: result.scheduled,
|
|
49
|
+
reason: result.reason,
|
|
50
|
+
depth: result.depth,
|
|
51
|
+
targetDepth: result.targetDepth
|
|
52
|
+
});
|
|
53
|
+
} catch {
|
|
54
|
+
emitSigningSessionFlowTrace("evm-family", {
|
|
55
|
+
event: "ecdsa_linked_device_prefill",
|
|
56
|
+
scheduled: false,
|
|
57
|
+
reason: "unexpected_error"
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//#endregion
|
|
62
|
+
export { scheduleLinkedDevicePresignaturePrefill };
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=scheduleLinkedDevicePresignaturePrefill.js.map
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { WalletSessionStatusReadScope } from "../../../core/rpcClients/relayer/walletSessionAuthorizationStatus.js";
|
|
2
1
|
import { SIGNER_AUTH_METHODS } from "../../../shared-ts/src/utils/signerDomain.js";
|
|
3
2
|
import { toWalletId } from "../../../core/signingEngine/interfaces/ecdsaChainTarget.js";
|
|
4
3
|
import { toError } from "../../../shared-ts/src/utils/errors.js";
|
|
@@ -122,7 +121,7 @@ async function getRecentUnlocksDomain(deps) {
|
|
|
122
121
|
}
|
|
123
122
|
return await getRecentUnlocks(deps.getContext());
|
|
124
123
|
}
|
|
125
|
-
async function prefillRouterAbEcdsaDerivationPresignaturePoolDomain(deps, args) {
|
|
124
|
+
async function prefillRouterAbEcdsaDerivationPresignaturePoolDomain(deps, args, statusReads) {
|
|
126
125
|
if (deps.walletIframe.shouldUseWalletIframe()) return await (await deps.walletIframe.requireRouter(args.walletSession.walletId)).prefillRouterAbEcdsaDerivationPresignaturePool({
|
|
127
126
|
walletSession: args.walletSession,
|
|
128
127
|
options: {
|
|
@@ -135,7 +134,7 @@ async function prefillRouterAbEcdsaDerivationPresignaturePoolDomain(deps, args)
|
|
|
135
134
|
walletId,
|
|
136
135
|
chainTarget: args.chainTarget,
|
|
137
136
|
...typeof args.waitForPoolReady === "boolean" ? { waitForPoolReady: args.waitForPoolReady } : {}
|
|
138
|
-
},
|
|
137
|
+
}, statusReads);
|
|
139
138
|
}
|
|
140
139
|
//#endregion
|
|
141
140
|
export { getRecentUnlocksDomain, getWalletSessionDomain, hasPasskeyCredentialDomain, lockDomain, logoutDomain, prefillRouterAbEcdsaDerivationPresignaturePoolDomain, unlockDomain };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IndexedDbEcdsaCapabilityManifestStore } from "../../../core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js";
|
|
2
2
|
//#region src/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.ts
|
|
3
3
|
const ecdsaCapabilityManifestStore = new IndexedDbEcdsaCapabilityManifestStore();
|
|
4
|
-
async function
|
|
4
|
+
async function resolveEvmFamilyEcdsaWalletUnlockSubjects(walletId) {
|
|
5
5
|
const resolved = await ecdsaCapabilityManifestStore.listActiveWalletCapabilitySubjects(walletId);
|
|
6
6
|
if (resolved.kind === "persistence_unavailable") return {
|
|
7
7
|
kind: "failed",
|
|
@@ -24,9 +24,6 @@ async function listEvmFamilyEcdsaWalletUnlockSubjects(walletId) {
|
|
|
24
24
|
subjects
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
async function resolveEvmFamilyEcdsaWalletUnlockSubjects(walletId) {
|
|
28
|
-
return await listEvmFamilyEcdsaWalletUnlockSubjects(walletId);
|
|
29
|
-
}
|
|
30
27
|
async function resolveEcdsaActivationJournalSelectors(walletId) {
|
|
31
28
|
return await ecdsaCapabilityManifestStore.listWalletActivationJournalSelectors(walletId);
|
|
32
29
|
}
|
|
@@ -9,6 +9,7 @@ import { parseLinkSessionProjectionV1, parseLinkSessionTransportEventV1, parseLi
|
|
|
9
9
|
import { parseActivateInstalledAuthorityResultV1, parseLocalAuthorityActivationFinalAckV1, parseLocalAuthorityInstallationReceiptV1 } from "../../../shared-ts/src/device-linking/authorityActivation.js";
|
|
10
10
|
import { LINKED_DEVICE_REQUEST_PROOF_HEADER_V1, LINKED_DEVICE_REQUEST_PROOF_MAX_TTL_MS_V1, computeLinkedDevicePublicKeyDigestV1 } from "../../../shared-ts/src/device-linking/requestProof.js";
|
|
11
11
|
import "../../../shared-ts/src/device-linking/index.js";
|
|
12
|
+
import { hasExactKeys } from "../../../shared-ts/src/utils/exactKeys.js";
|
|
12
13
|
//#region src/SeamsWeb/operations/devices/deviceLinkingHttpTransport.ts
|
|
13
14
|
const LINKED_DEVICE_SESSION_HTTP_BASE_PATH_V1 = "/wallet/device-linking/v1/sessions";
|
|
14
15
|
const LINKED_DEVICE_POLL_MAX_DELAY_MS = 4e3;
|
|
@@ -425,7 +426,7 @@ async function createPollingSubscriptionV1(input) {
|
|
|
425
426
|
function parseSessionMutationEnvelopeV1(raw) {
|
|
426
427
|
const record = asPlainDeviceLinkingResponse(raw);
|
|
427
428
|
if (record === null) throw new Error("linked-device response must be an object");
|
|
428
|
-
if (!
|
|
429
|
+
if (!hasExactResponseKeys(record, SESSION_MUTATION_RESPONSE_FIELDS)) throw new Error("linked-device response contains invalid fields");
|
|
429
430
|
if (record.ok !== true) throw new Error("linked-device response outcome is invalid");
|
|
430
431
|
switch (record.outcome) {
|
|
431
432
|
case "applied": return {
|
|
@@ -444,7 +445,7 @@ function parseSessionMutationEnvelopeV1(raw) {
|
|
|
444
445
|
function parseTargetCredentialRegistrationResponseV1(raw) {
|
|
445
446
|
const record = asPlainDeviceLinkingResponse(raw);
|
|
446
447
|
if (record === null) throw new Error("linked-device target credential response must be an object");
|
|
447
|
-
if (!
|
|
448
|
+
if (!hasExactResponseKeys(record, TARGET_CREDENTIAL_RESPONSE_FIELDS)) throw new Error("linked-device target credential response contains invalid fields");
|
|
448
449
|
if (record.ok !== true) throw new Error("linked-device target credential response outcome is invalid");
|
|
449
450
|
switch (record.outcome) {
|
|
450
451
|
case "applied": return parseTargetCredentialRegistrationResponseBranch(record, "applied");
|
|
@@ -462,20 +463,20 @@ function parseTargetCredentialRegistrationResponseBranch(record, outcome) {
|
|
|
462
463
|
function parseHttpFailureMessageV1(response) {
|
|
463
464
|
const record = asPlainDeviceLinkingResponse(response.body);
|
|
464
465
|
if (record === null || record.ok !== false) return `linked-device request failed with HTTP ${response.status}`;
|
|
465
|
-
if (
|
|
466
|
-
if (
|
|
466
|
+
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}`;
|
|
467
|
+
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}`;
|
|
467
468
|
switch (record.outcome) {
|
|
468
469
|
case "conflict":
|
|
469
|
-
if (
|
|
470
|
+
if (hasExactResponseKeys(record, SESSION_CONFLICT_FAILURE_FIELDS)) return "linked-device request failed: conflict";
|
|
470
471
|
break;
|
|
471
472
|
case "expired":
|
|
472
|
-
if (
|
|
473
|
+
if (hasExactResponseKeys(record, SESSION_EXPIRED_FAILURE_FIELDS)) return "linked-device request failed: expired";
|
|
473
474
|
break;
|
|
474
475
|
case "invalid_state":
|
|
475
|
-
if (
|
|
476
|
+
if (hasExactResponseKeys(record, SESSION_INVALID_STATE_FAILURE_FIELDS)) return "linked-device request failed: invalid_state";
|
|
476
477
|
break;
|
|
477
478
|
case "integrity_error":
|
|
478
|
-
if (
|
|
479
|
+
if (hasExactResponseKeys(record, SESSION_INTEGRITY_FAILURE_FIELDS)) return "linked-device request failed: integrity_error";
|
|
479
480
|
break;
|
|
480
481
|
default: break;
|
|
481
482
|
}
|
|
@@ -493,11 +494,9 @@ function isPlainDeviceLinkingResponse(value) {
|
|
|
493
494
|
return false;
|
|
494
495
|
}
|
|
495
496
|
}
|
|
496
|
-
function
|
|
497
|
+
function hasExactResponseKeys(record, expectedKeys) {
|
|
497
498
|
try {
|
|
498
|
-
|
|
499
|
-
const expected = [...expectedKeys].sort();
|
|
500
|
-
return actualKeys.length === expected.length && actualKeys.every((key, index) => key === expected[index]);
|
|
499
|
+
return hasExactKeys(record, expectedKeys);
|
|
501
500
|
} catch {
|
|
502
501
|
return false;
|
|
503
502
|
}
|
|
@@ -3,6 +3,7 @@ import { parseDeviceId } from "../../../shared-ts/src/authorization/capabilityKi
|
|
|
3
3
|
import { parseDigestB64u } from "../../../shared-ts/src/utils/canonicalPrimitives.js";
|
|
4
4
|
import { encodeWalletSignerActivationSetV1, parseWalletSignerActivationSetV1 } from "../../../shared-ts/src/authorization/walletAuthority.js";
|
|
5
5
|
import { parseLocalAuthorityActivationFinalAckV1 } from "../../../shared-ts/src/device-linking/authorityActivation.js";
|
|
6
|
+
import { hasExactKeys } from "../../../shared-ts/src/utils/exactKeys.js";
|
|
6
7
|
//#region src/SeamsWeb/operations/devices/deviceLinkingResume.ts
|
|
7
8
|
const LINKED_DEVICE_COMMITTED_RESUME_KIND_V1 = "linked_device_committed_resume_v1";
|
|
8
9
|
const LINKED_DEVICE_PENDING_ACK_KIND_V1 = "linked_device_pending_ack_v1";
|
|
@@ -203,11 +204,6 @@ function isPlainDeviceLinkingResumeRecord(value) {
|
|
|
203
204
|
return false;
|
|
204
205
|
}
|
|
205
206
|
}
|
|
206
|
-
function hasExactKeys(record, expectedKeys) {
|
|
207
|
-
const actual = Object.keys(record).sort();
|
|
208
|
-
const expected = [...expectedKeys].sort();
|
|
209
|
-
return actual.length === expected.length && actual.every((key, index) => key === expected[index]);
|
|
210
|
-
}
|
|
211
207
|
function sameSignerActivations(left, right) {
|
|
212
208
|
const leftBytes = encodeWalletSignerActivationSetV1(left);
|
|
213
209
|
const rightBytes = encodeWalletSignerActivationSetV1(right);
|
|
@@ -5,27 +5,10 @@ import { parseWalletSessionOperationCredentialV1 } from "../../../shared-ts/src/
|
|
|
5
5
|
import { parseLinkDevicePublicKeyB64u, parseLinkedDeviceEmailOtpFactorReleaseEnvelopeV1, parseLinkedDeviceEmailOtpVerificationGrantV1 } from "../../../shared-ts/src/device-linking/parsers.js";
|
|
6
6
|
import { parseLinkedDeviceWalletSessionCredentialDeliveryBindingV1, parseLinkedDeviceWalletSessionCredentialDeliveryV1 } from "../../../shared-ts/src/device-linking/walletSessionCredentialDelivery.js";
|
|
7
7
|
import "../../../shared-ts/src/device-linking/index.js";
|
|
8
|
+
import { hasExactKeys } from "../../../shared-ts/src/utils/exactKeys.js";
|
|
8
9
|
import { resolveWorkerUrl } from "../../../core/walletRuntimePaths/workers.js";
|
|
9
10
|
import { createDeviceLinkingOrdinaryMaterialWorkerPortV1 } from "../../../core/signingEngine/workerManager/deviceLinkingPorts.js";
|
|
10
11
|
//#region src/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.ts
|
|
11
|
-
function isDeviceLinkingKeyHandleRecordV1(value) {
|
|
12
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "handleId|kind";
|
|
13
|
-
}
|
|
14
|
-
function isDeviceLinkingKeyCreateResultRecordV1(value) {
|
|
15
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "deliveryRecipientPublicKey65B64u|devicePublicKeyB64u|handleId|linkPublicKeyB64u";
|
|
16
|
-
}
|
|
17
|
-
function isDeviceLinkingEmailOtpFactorReleaseResultRecordV1(value) {
|
|
18
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "factorSecret|kind|verificationGrant";
|
|
19
|
-
}
|
|
20
|
-
function isDeviceLinkingRequestSignatureResultRecordV1(value) {
|
|
21
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "signatureB64u";
|
|
22
|
-
}
|
|
23
|
-
function isDeviceLinkingWorkerSuccessFrameRecordV1(value) {
|
|
24
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "id|ok|result" && "ok" in value && value.ok === true;
|
|
25
|
-
}
|
|
26
|
-
function isDeviceLinkingWorkerFailureFrameRecordV1(value) {
|
|
27
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).sort().join("|") === "error|id|ok" && "ok" in value && value.ok === false;
|
|
28
|
-
}
|
|
29
12
|
function nonEmpty(value, label) {
|
|
30
13
|
if (typeof value !== "string" || value.trim() !== value || value.length === 0) throw new Error(`${label} is required`);
|
|
31
14
|
return value;
|
|
@@ -51,7 +34,7 @@ function parseFixedB64u(value, length, label) {
|
|
|
51
34
|
return encoded;
|
|
52
35
|
}
|
|
53
36
|
function parseHandle(value) {
|
|
54
|
-
if (!
|
|
37
|
+
if (!hasExactKeys(value, ["kind", "handleId"])) throw new Error("device-linking key handle has invalid fields");
|
|
55
38
|
const record = value;
|
|
56
39
|
if (record.kind !== "device_linking_key_material_handle_v1") throw new Error("device-linking key handle kind is invalid");
|
|
57
40
|
return {
|
|
@@ -60,7 +43,12 @@ function parseHandle(value) {
|
|
|
60
43
|
};
|
|
61
44
|
}
|
|
62
45
|
function parseCreateResult(value) {
|
|
63
|
-
if (!
|
|
46
|
+
if (!hasExactKeys(value, [
|
|
47
|
+
"handleId",
|
|
48
|
+
"linkPublicKeyB64u",
|
|
49
|
+
"devicePublicKeyB64u",
|
|
50
|
+
"deliveryRecipientPublicKey65B64u"
|
|
51
|
+
])) throw new Error("device-linking key create response has invalid fields");
|
|
64
52
|
const record = value;
|
|
65
53
|
return {
|
|
66
54
|
handle: {
|
|
@@ -73,7 +61,11 @@ function parseCreateResult(value) {
|
|
|
73
61
|
};
|
|
74
62
|
}
|
|
75
63
|
function parseEmailOtpFactorReleaseResult(value) {
|
|
76
|
-
if (!
|
|
64
|
+
if (!hasExactKeys(value, [
|
|
65
|
+
"kind",
|
|
66
|
+
"verificationGrant",
|
|
67
|
+
"factorSecret"
|
|
68
|
+
])) throw new Error("device-linking Email OTP factor release response has invalid fields");
|
|
77
69
|
const record = value;
|
|
78
70
|
if (record.kind !== "device_linking_email_otp_factor_release_result_v1") throw new Error("device-linking Email OTP factor release response kind is invalid");
|
|
79
71
|
if (!(record.factorSecret instanceof ArrayBuffer) || record.factorSecret.byteLength !== 32) throw new Error("device-linking Email OTP factor release secret is invalid");
|
|
@@ -87,11 +79,15 @@ function parseWalletSessionCredentialDeliveryResult(value) {
|
|
|
87
79
|
return parseWalletSessionOperationCredentialV1(value);
|
|
88
80
|
}
|
|
89
81
|
function parseSignatureResult(value) {
|
|
90
|
-
if (!
|
|
82
|
+
if (!hasExactKeys(value, ["signatureB64u"])) throw new Error("device-linking request signature response has invalid fields");
|
|
91
83
|
return { signatureB64u: parseFixedB64u(value.signatureB64u, 64, "signatureB64u") };
|
|
92
84
|
}
|
|
93
85
|
function parseResponseFrame(value) {
|
|
94
|
-
if (
|
|
86
|
+
if (hasExactKeys(value, [
|
|
87
|
+
"id",
|
|
88
|
+
"ok",
|
|
89
|
+
"result"
|
|
90
|
+
]) && value.ok === true) {
|
|
95
91
|
const id = value.id;
|
|
96
92
|
if (typeof id !== "string" || id.trim() !== id || id.length === 0) return null;
|
|
97
93
|
return {
|
|
@@ -100,7 +96,11 @@ function parseResponseFrame(value) {
|
|
|
100
96
|
result: value.result
|
|
101
97
|
};
|
|
102
98
|
}
|
|
103
|
-
if (
|
|
99
|
+
if (hasExactKeys(value, [
|
|
100
|
+
"id",
|
|
101
|
+
"ok",
|
|
102
|
+
"error"
|
|
103
|
+
]) && value.ok === false) {
|
|
104
104
|
const id = value.id;
|
|
105
105
|
if (typeof id !== "string" || id.trim() !== id || id.length === 0) return null;
|
|
106
106
|
if (typeof value.error !== "string" || !value.error.trim()) return null;
|
|
@@ -81,9 +81,6 @@ function durableBase64Url(value, label, byteLength) {
|
|
|
81
81
|
if (byteLength !== void 0 && bytes.byteLength !== byteLength) throw new Error(label + " must decode to " + byteLength + " bytes");
|
|
82
82
|
return normalized;
|
|
83
83
|
}
|
|
84
|
-
function durableCompressedPublicKey(value, label) {
|
|
85
|
-
return parseSecp256k1CompressedPublicKeyB64u(value, label);
|
|
86
|
-
}
|
|
87
84
|
function durableSafeInteger(value, label) {
|
|
88
85
|
if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 0) throw new Error(label + " must be a non-negative safe integer");
|
|
89
86
|
return value;
|
|
@@ -154,10 +151,10 @@ function parseWalletRecoveryDurableEcdsaPublicFacts(raw) {
|
|
|
154
151
|
if (!/^0x[0-9a-f]{40}$/.test(ethereumAddress)) throw new Error("recovery durable ECDSA ethereumAddress is invalid");
|
|
155
152
|
return {
|
|
156
153
|
contextBinding32B64u: parseDigestField(record.contextBinding32B64u, "recovery durable ECDSA context binding"),
|
|
157
|
-
derivationClientSharePublicKey33B64u:
|
|
158
|
-
clientVerifyingShare33B64u:
|
|
159
|
-
relayerPublicKey33B64u:
|
|
160
|
-
groupPublicKey33B64u:
|
|
154
|
+
derivationClientSharePublicKey33B64u: parseSecp256k1CompressedPublicKeyB64u(record.derivationClientSharePublicKey33B64u, "recovery durable ECDSA client share"),
|
|
155
|
+
clientVerifyingShare33B64u: parseSecp256k1CompressedPublicKeyB64u(record.clientVerifyingShare33B64u, "recovery durable ECDSA client verifying share"),
|
|
156
|
+
relayerPublicKey33B64u: parseSecp256k1CompressedPublicKeyB64u(record.relayerPublicKey33B64u, "recovery durable ECDSA relayer public key"),
|
|
157
|
+
groupPublicKey33B64u: parseSecp256k1CompressedPublicKeyB64u(record.groupPublicKey33B64u, "recovery durable ECDSA group public key"),
|
|
161
158
|
ethereumAddress,
|
|
162
159
|
clientShareRetryCounter: durableSafeInteger(record.clientShareRetryCounter, "recovery durable ECDSA client-share retry counter"),
|
|
163
160
|
relayerShareRetryCounter: durableSafeInteger(record.relayerShareRetryCounter, "recovery durable ECDSA relayer-share retry counter")
|
|
@@ -18,19 +18,13 @@ import { unlockPendingEcdsaRegistration } from "./pendingEcdsaRegistrationRecove
|
|
|
18
18
|
//#region src/SeamsWeb/operations/registration/pendingRegistrationRecovery.ts
|
|
19
19
|
const defaultPendingRegistrationRecoveryPorts = {
|
|
20
20
|
listPendingWalletRegistrationCommits,
|
|
21
|
-
completeWalletRegistrationNearProvisioning
|
|
21
|
+
completeWalletRegistrationNearProvisioning,
|
|
22
22
|
publishPendingWalletRegistrationCommit
|
|
23
23
|
};
|
|
24
24
|
async function listPendingWalletRegistrationCommits() {
|
|
25
25
|
await IndexedDBManager.initialize();
|
|
26
26
|
return await IndexedDBManager.listPendingWalletRegistrationCommits();
|
|
27
27
|
}
|
|
28
|
-
async function completePendingWalletRegistrationNearProvisioning(input) {
|
|
29
|
-
return await completeWalletRegistrationNearProvisioning(input);
|
|
30
|
-
}
|
|
31
|
-
async function activatePendingWalletRegistration(input) {
|
|
32
|
-
return await activateWalletRegistration(input);
|
|
33
|
-
}
|
|
34
28
|
async function publishPendingWalletRegistrationCommit(input) {
|
|
35
29
|
return await IndexedDBManager.publishPendingWalletRegistrationCommit(input);
|
|
36
30
|
}
|
|
@@ -325,7 +319,7 @@ async function resumePendingNearRegistrations(args) {
|
|
|
325
319
|
return results;
|
|
326
320
|
}
|
|
327
321
|
const defaultPendingEcdsaRegistrationRecoveryPorts = {
|
|
328
|
-
activateWalletRegistration
|
|
322
|
+
activateWalletRegistration,
|
|
329
323
|
publishPendingWalletRegistrationCommit,
|
|
330
324
|
unlockPendingEcdsaRegistration
|
|
331
325
|
};
|
|
@@ -369,7 +369,10 @@ async function executeEvmFamilyTransactionLifecycle(args) {
|
|
|
369
369
|
}
|
|
370
370
|
});
|
|
371
371
|
const rawTxHex = assertRawTxHexOrThrow(signedResult.rawTxHex);
|
|
372
|
-
args.lifecycle.onBroadcastStarted
|
|
372
|
+
args.lifecycle.onBroadcastStarted({
|
|
373
|
+
walletSession: args.input.walletSession,
|
|
374
|
+
signedResult
|
|
375
|
+
});
|
|
373
376
|
txHash = normalizeTxHashOrThrow(await client.request({
|
|
374
377
|
method: "eth_sendRawTransaction",
|
|
375
378
|
params: [rawTxHex]
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { WalletSessionStatusReadScope } from "../../core/rpcClients/relayer/walletSessionAuthorizationStatus.js";
|
|
1
2
|
import { getRecentUnlocksDomain, getWalletSessionDomain, hasPasskeyCredentialDomain, lockDomain, logoutDomain, prefillRouterAbEcdsaDerivationPresignaturePoolDomain, unlockDomain } from "../operations/auth/walletAuth.js";
|
|
2
3
|
//#region src/SeamsWeb/publicApi/auth.ts
|
|
3
4
|
function createAuthCapability(deps) {
|
|
@@ -8,7 +9,7 @@ function createAuthCapability(deps) {
|
|
|
8
9
|
getWalletSession: async (walletId) => await getWalletSessionDomain(deps.getWalletAuthDeps(), walletId),
|
|
9
10
|
getRecentUnlocks: async () => await getRecentUnlocksDomain(deps.getWalletAuthDeps()),
|
|
10
11
|
hasPasskeyCredential: async (walletId) => await hasPasskeyCredentialDomain(deps.getWalletAuthDeps(), walletId),
|
|
11
|
-
prefillRouterAbEcdsaDerivationPresignaturePool: async (args) => await prefillRouterAbEcdsaDerivationPresignaturePoolDomain(deps.getWalletAuthDeps(), args),
|
|
12
|
+
prefillRouterAbEcdsaDerivationPresignaturePool: async (args) => await prefillRouterAbEcdsaDerivationPresignaturePoolDomain(deps.getWalletAuthDeps(), args, new WalletSessionStatusReadScope()),
|
|
12
13
|
requestEmailOtpChallenge: deps.domain.requestEmailOtpChallenge,
|
|
13
14
|
requestEmailOtpSigningSessionChallenge: deps.domain.requestEmailOtpSigningSessionChallenge,
|
|
14
15
|
refreshEmailOtpSigningSession: deps.domain.refreshEmailOtpSigningSession,
|
|
@@ -63,6 +63,11 @@ function createTempoSignerCapability(deps, transactionDispatch = { kind: "ordina
|
|
|
63
63
|
...args,
|
|
64
64
|
chainTarget: resolveTempoChainTarget(deps.configs.network.chains, args.chainTarget)
|
|
65
65
|
}));
|
|
66
|
+
const onBroadcastStarted = (args) => {
|
|
67
|
+
const walletIframe = deps.getWalletIframe();
|
|
68
|
+
if (!walletIframe.shouldUseWalletIframe()) return;
|
|
69
|
+
walletIframe.requireRouter(toWalletId(args.walletSession.walletId)).then((router) => router.notifyTransactionBroadcastStarted(args.signedResult)).catch(() => {});
|
|
70
|
+
};
|
|
66
71
|
const reportBroadcastAccepted = async (args) => {
|
|
67
72
|
const walletIframe = deps.getWalletIframe();
|
|
68
73
|
const walletId = toWalletId(args.walletSession.walletId);
|
|
@@ -178,6 +183,7 @@ function createTempoSignerCapability(deps, transactionDispatch = { kind: "ordina
|
|
|
178
183
|
}
|
|
179
184
|
};
|
|
180
185
|
const lifecycle = {
|
|
186
|
+
onBroadcastStarted,
|
|
181
187
|
signEvmFamily,
|
|
182
188
|
reportBroadcastAccepted,
|
|
183
189
|
reportBroadcastRejected,
|