@seams/wallet 0.7.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -5
- package/THIRD_PARTY_NOTICES.md +1 -113
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/SeamsWeb.js +12 -3
- package/dist/esm/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +2 -2
- package/dist/esm/SeamsWeb/assembly/createBrowserRecoveryPublicDeps.js +1 -1
- package/dist/esm/SeamsWeb/assembly/createBrowserSigningStores.js +1 -1
- package/dist/esm/SeamsWeb/assembly/createBrowserWarmSessionPublicDeps.js +0 -2
- package/dist/esm/SeamsWeb/operations/auth/login.js +34 -49
- 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/auth/walletUnlockSubject.js +2 -8
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +1 -1
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +5 -9
- package/dist/esm/SeamsWeb/operations/authMethods/passkey/addPasskey.js +1 -1
- package/dist/esm/SeamsWeb/operations/authMethods/revokeAuthMethod.js +1 -1
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +11 -12
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingResume.js +2 -9
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +24 -24
- package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlow.js +38 -13
- package/dist/esm/SeamsWeb/operations/devices/scanDevice.js +1 -1
- package/dist/esm/SeamsWeb/operations/near/signNEP413.js +0 -1
- package/dist/esm/SeamsWeb/operations/recovery/syncAccount.js +2 -4
- package/dist/esm/SeamsWeb/operations/recovery/walletRecovery.js +1 -2
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCommit.js +4 -5
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +5 -9
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryRotation.js +1 -2
- package/dist/esm/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +5 -20
- package/dist/esm/SeamsWeb/operations/registration/registration.js +5 -5
- package/dist/esm/SeamsWeb/operations/registration/registrationStrictEcdsa.js +1 -1
- package/dist/esm/SeamsWeb/operations/registration/registrationTerminalCommit.js +1 -1
- package/dist/esm/SeamsWeb/operations/session/thresholdEcdsaProvisioning.js +2 -6
- package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +4 -1
- package/dist/esm/SeamsWeb/publicApi/auth.js +2 -1
- package/dist/esm/SeamsWeb/publicApi/near.js +1 -1
- package/dist/esm/SeamsWeb/publicApi/tempo.js +6 -0
- package/dist/esm/SeamsWeb/publicApi/transactionReview.js +4 -1
- package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +28 -19
- package/dist/esm/SeamsWeb/walletIframe/client/router.js +1 -2
- package/dist/esm/SeamsWeb/walletIframe/client/surface/domain.js +0 -2
- package/dist/esm/SeamsWeb/walletIframe/client/transport/IframeTransport.js +0 -4
- package/dist/esm/SeamsWeb/walletIframe/client/transport/iframe-transport-handshake.js +1 -1
- package/dist/esm/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.js +29 -0
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.js +64 -0
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +194 -385
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/icons.js +136 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +6 -26
- package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +6 -6
- package/dist/esm/SeamsWeb/walletIframe/shared/transactionReview.js +11 -1
- package/dist/esm/advanced.js +0 -1
- package/dist/esm/base-styles.js +2 -2
- package/dist/esm/build-paths.js +0 -2
- package/dist/esm/core/accountData/near/accountProjection.js +0 -1
- package/dist/esm/core/accountData/near/keyMaterial.js +0 -1
- package/dist/esm/core/browser/walletIframe/events.js +1 -5
- package/dist/esm/core/browser/walletIframe/host-mode.js +0 -10
- package/dist/esm/core/config/chains.js +1 -2
- package/dist/esm/core/config/configBuilder.js +0 -1
- package/dist/esm/core/config/configHelpers.js +0 -1
- package/dist/esm/core/indexedDB/accountKeyMaterial.js +0 -1
- package/dist/esm/core/indexedDB/index.js +3 -4
- package/dist/esm/core/indexedDB/pendingWalletRecoveryCommit.js +6 -14
- package/dist/esm/core/indexedDB/pendingWalletRegistrationCommit.js +139 -273
- package/dist/esm/core/indexedDB/schemaNames.js +0 -22
- package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +3 -3
- package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +3 -3
- package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +1 -1
- package/dist/esm/core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.js +0 -1
- package/dist/esm/core/indexedDB/seamsWalletDB/registrationSetup.js +103 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +2 -3
- package/dist/esm/core/indexedDB/seamsWalletDB/signingSessionSeals.js +0 -35
- package/dist/esm/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +4 -4
- package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +37 -19
- package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +10 -3
- package/dist/esm/core/indexedDB/walletCustodyEd25519MaterialRecord.js +1 -1
- package/dist/esm/core/platform/browser/createBrowserPlatformRuntime.js +8 -25
- package/dist/esm/core/rpcClients/near/rpcCalls.js +39 -1
- package/dist/esm/core/rpcClients/relayer/passkeyCustodyEnvelope.js +3 -13
- package/dist/esm/core/rpcClients/relayer/thresholdEcdsa.js +0 -2
- package/dist/esm/core/rpcClients/relayer/walletRecoveryPrepare.js +72 -125
- package/dist/esm/core/rpcClients/relayer/walletRegistration.js +21 -15
- package/dist/esm/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +1 -2
- package/dist/esm/core/signingEngine/assembly/createManagers.js +1 -1
- package/dist/esm/core/signingEngine/assembly/ports/recovery.js +1 -1
- package/dist/esm/core/signingEngine/assembly/ports/shared.js +1 -2
- package/dist/esm/core/signingEngine/assembly/warmup.js +1 -5
- package/dist/esm/core/signingEngine/chains/evm/display/functionSelectors.js +2 -5
- package/dist/esm/core/signingEngine/chains/near/nearSignerWasm.js +2 -33
- package/dist/esm/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +0 -1
- package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportFlow.js +2 -2
- package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +35 -29
- 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 +2 -5
- package/dist/esm/core/signingEngine/flows/recovery/stepUpAuthorization.js +1 -1
- package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +3 -8
- package/dist/esm/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +1 -2
- package/dist/esm/core/signingEngine/flows/shared/signingStateMachine.js +2 -5
- 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/readySecp256k1Material.js +0 -2
- 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 +7 -5
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +10 -9
- package/dist/esm/core/signingEngine/flows/signEvmFamily/transactionExecutor.js +3 -7
- package/dist/esm/core/signingEngine/flows/signNear/implicitAccountFunding.js +1 -1
- package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +33 -42
- package/dist/esm/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +0 -2
- package/dist/esm/core/signingEngine/flows/signNear/shared/signingMaterials.js +1 -7
- package/dist/esm/core/signingEngine/flows/signNear/shared/signingSessionAuthMode.js +4 -14
- package/dist/esm/core/signingEngine/flows/signNear/signDelegate.js +2 -6
- package/dist/esm/core/signingEngine/flows/signNear/signNear.js +2 -2
- package/dist/esm/core/signingEngine/flows/signNear/signNep413.js +2 -6
- package/dist/esm/core/signingEngine/nonce/NonceCoordinator.js +1 -1
- package/dist/esm/core/signingEngine/nonce/nearNonceLane.js +1 -1
- package/dist/esm/core/signingEngine/nonce/nonceDiagnostics.js +1 -1
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.js +0 -1
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +2 -1
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +0 -3
- package/dist/esm/core/signingEngine/session/SigningSessionCoordinator.js +1 -4
- package/dist/esm/core/signingEngine/session/authority/authorityOperationResolver.js +17 -68
- 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 +107 -24
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaBootstrapCommit.js +1 -1
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLifecycleRuntime.js +0 -3
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLogin.js +4 -15
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaRecovery.js +12 -16
- package/dist/esm/core/signingEngine/session/emailOtp/ed25519ExportContext.js +0 -3
- package/dist/esm/core/signingEngine/session/emailOtp/exportRecovery.js +0 -2
- package/dist/esm/core/signingEngine/session/identity/clientSessionPersistenceState.js +5 -16
- package/dist/esm/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +0 -1
- package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +1 -1
- package/dist/esm/core/signingEngine/session/identity/exactWalletSessionCredential.js +0 -2
- package/dist/esm/core/signingEngine/session/identity/selectLane.js +7 -21
- package/dist/esm/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +3 -9
- package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +4 -16
- package/dist/esm/core/signingEngine/session/material/ecdsaRoleLocalMaterialResolver.js +1 -14
- package/dist/esm/core/signingEngine/session/material/ecdsaSigningCapability.js +1 -1
- package/dist/esm/core/signingEngine/session/operationState/preparedOperation.js +1 -5
- package/dist/esm/core/signingEngine/session/passkey/ecdsaBootstrap.js +3 -6
- package/dist/esm/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +0 -1
- package/dist/esm/core/signingEngine/session/passkey/ecdsaRecovery.js +1 -4
- package/dist/esm/core/signingEngine/session/passkey/ed25519SessionProvision.js +0 -1
- package/dist/esm/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +2 -3
- package/dist/esm/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +13 -49
- package/dist/esm/core/signingEngine/session/persistence/clientSessionPersistence.js +8 -16
- package/dist/esm/core/signingEngine/session/persistence/sealedSessionRecords.js +5 -10
- package/dist/esm/core/signingEngine/session/postconditions/runtimePostconditions.js +0 -2
- package/dist/esm/core/signingEngine/session/routerAbSigningWalletSession.js +2 -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/session/warmCapabilities/readModel.js +2 -8
- package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbWalletSessionCredential.js +1 -12
- package/dist/esm/core/signingEngine/session/warmCapabilities/transitions.js +7 -11
- package/dist/esm/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.js +0 -1
- package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +6 -30
- package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.js +0 -3
- package/dist/esm/core/signingEngine/stepUpConfirmation/requireStepUpAuth.js +1 -5
- 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/crypto/ed25519YaoLaneWasm.js +0 -3
- package/dist/esm/core/signingEngine/threshold/ecdsa/bootstrapSession.js +1 -5
- 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/threshold/ed25519/walletSession.js +1 -1
- package/dist/esm/core/signingEngine/threshold/ed25519/yaoClient.js +1 -35
- package/dist/esm/core/signingEngine/threshold/sessionPolicy.js +0 -1
- package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +1 -4
- package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +4 -3
- package/dist/esm/core/signingEngine/uiConfirm/UiConfirmManager.js +0 -1
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +1 -1
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/localOnly.js +0 -1
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +25 -16
- package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/abi/abiDecode.js +3 -13
- package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +1 -10
- package/dist/esm/core/signingEngine/walletCustody/activateEd25519Capability.js +0 -1
- package/dist/esm/core/signingEngine/walletCustody/emailOtpLink.js +10 -13
- package/dist/esm/core/signingEngine/walletCustody/openCustodyCache.js +2 -6
- package/dist/esm/core/signingEngine/walletCustody/passkeyLink.js +7 -10
- package/dist/esm/core/signingEngine/walletCustody/registrationCeremony.js +0 -1
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryCredential.js +0 -1
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEcdsa.js +0 -1
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEd25519.js +1 -1
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryManifest.js +0 -2
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryRotation.js +0 -1
- package/dist/esm/core/signingEngine/webauthnAuth/walletOriginWebAuthn.js +109 -0
- package/dist/esm/core/signingEngine/workerManager/SignerWorkerManager.js +0 -2
- package/dist/esm/core/signingEngine/workerManager/deviceLinkingPorts.js +67 -48
- package/dist/esm/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +0 -4
- package/dist/esm/core/signingEngine/workerManager/validation.js +1 -1
- package/dist/esm/core/signingEngine/workerManager/workerTransport.js +4 -47
- package/dist/esm/core/signingEngine/workerManager/workerTypes.js +0 -2
- package/dist/esm/core/types/accountIds.js +0 -1
- package/dist/esm/core/types/sdkSentEvents.js +1 -2
- package/dist/esm/core/types/signer-worker.js +1 -36
- package/dist/esm/core/walletRuntimePaths/base.js +11 -1
- package/dist/esm/plugins/headers.js +0 -1
- package/dist/esm/plugins/next.js +0 -1
- package/dist/esm/plugins/plugin-utils.js +0 -1
- package/dist/esm/plugins/shared-ts/src/utils/normalize.js +1 -1
- package/dist/esm/react/components/AccountMenuButton/AccountsSection.js +1 -1
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +3 -3
- package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.js +2 -2
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +8 -8
- 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/ProfileDropdown.js +1 -1
- package/dist/esm/react/components/AccountMenuButton/UserAccountButton.css +0 -5
- package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.css +8 -0
- package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +21 -13
- 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/TouchIcon.js +1 -1
- 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 +11 -11
- package/dist/esm/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.js +1 -1
- package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +1 -1
- package/dist/esm/react/components/QRCodeScanner.css +0 -15
- package/dist/esm/react/components/QRCodeScanner.js +2 -2
- package/dist/esm/react/components/ShowQRCode.css +0 -14
- package/dist/esm/react/components/ShowQRCode.js +4 -4
- package/dist/esm/react/components/theme/design-tokens.js +1 -2
- package/dist/esm/react/context/index.js +1 -1
- package/dist/esm/react/context/reactLoginStateBuilders.js +1 -1
- package/dist/esm/react/context/seamsManagerSingleton.js +2 -2
- package/dist/esm/react/context/useLoginStateRefresher.js +2 -5
- package/dist/esm/react/context/useSeamsContextValue.js +1 -1
- package/dist/esm/react/context/useSeamsWithSdkFlow.js +2 -3
- package/dist/esm/react/context/useWalletIframeLifecycle.js +1 -15
- package/dist/esm/react/hooks/useAccountInput.js +4 -4
- package/dist/esm/react/hooks/useNearClient.js +3 -3
- package/dist/esm/react/hooks/usePreconnectWalletAssets.js +1 -1
- package/dist/esm/react/hooks/useQRCamera.js +2 -2
- package/dist/esm/react/hooks/useWallet.js +1 -1
- package/dist/esm/react/index.js +10 -10
- package/dist/esm/react/styles/styles.css +25 -86
- package/dist/esm/react/transactionReview/TransactionReviewHost.js +1 -1
- package/dist/esm/react/transactionReview/boundCalls.js +2 -2
- package/dist/esm/react/transactionReview/contract.js +1 -1
- package/dist/esm/react/transactionReview/controller.js +2 -2
- package/dist/esm/react/transactionReview/snapshot.js +2 -2
- package/dist/esm/sdk/ConfirmationDrawer-DrsREojk.js +1 -0
- package/dist/esm/sdk/EvmClient-DoxytQaJ.js +1 -0
- package/dist/esm/sdk/NearClient-vJ65Wjrq.js +1 -0
- package/dist/esm/sdk/NonceCoordinator-BBeadCSq.js +1 -0
- package/dist/esm/sdk/accountIds-C3Ihsd2c.js +1 -0
- package/dist/esm/sdk/accountLifecycle-EyfYPnuT.js +1 -0
- package/dist/esm/sdk/actions-DZLxCcrU.js +1 -0
- package/dist/esm/sdk/adapters-DtAyuoiA.js +2 -0
- package/dist/esm/sdk/base-Xtd32asf.js +1 -0
- package/dist/esm/sdk/base64-ojm5DKcF.js +1 -0
- package/dist/esm/sdk/browser-CsOGMbMy.js +8 -0
- package/dist/esm/sdk/bytes-t5S5mkat.js +1 -0
- package/dist/esm/sdk/canonicalPrimitives-MPGET2cl.js +1 -0
- package/dist/esm/sdk/canonicalSignerErrorCode-C0hh_SVi.js +1 -0
- package/dist/esm/sdk/capabilityKinds-XaXXiD2B.js +1 -0
- package/dist/esm/sdk/chains-yAls2d9X.js +1 -0
- package/dist/esm/sdk/challengeDelivery-cAsaUC6U.js +1 -0
- package/dist/esm/sdk/chunk-dVx5-UGu.js +1 -0
- package/dist/esm/sdk/configHelpers-CseiVoZD.js +1 -0
- package/dist/esm/sdk/csp-stylesheet-B1fAhrGB.js +2 -0
- package/dist/esm/sdk/defaultConfigs-CWpApkMq.js +1 -0
- package/dist/esm/sdk/display-jK7_hYho.js +1 -0
- package/dist/esm/sdk/domainIds-GDzjOs6i.js +1 -0
- package/dist/esm/sdk/ecdsaCapabilityManifest-CHFu-QrV.js +1 -0
- package/dist/esm/sdk/ecdsaChainTarget-CRcRR78w.js +1 -0
- package/dist/esm/sdk/ecdsaPresignLifecycle-CQnCxSlq.js +1 -0
- package/dist/esm/sdk/ecdsaPresignPoolIdentity-Ci-ovDlv.js +1 -0
- package/dist/esm/sdk/ecdsaWalletRecords-Cm1DdexN.js +1 -0
- package/dist/esm/sdk/enrichDisplayModelWithAbi-CR-4ebuU.js +1 -0
- package/dist/esm/sdk/enrichDisplayModelWithAbi-CwHKFqF4.js +569 -0
- package/dist/esm/sdk/errors-DfbnsXjO.js +1 -0
- package/dist/esm/sdk/events-BJyVcnsn.js +1 -0
- package/dist/esm/sdk/evmCryptoWasm-CwEXiLrC.js +1 -0
- package/dist/esm/sdk/evmFamilyEcdsaIdentity-Br3iFdQx.js +1 -0
- package/dist/esm/sdk/exactSessionState-CjD8gekO.js +210 -0
- package/dist/esm/sdk/exactSigningLaneIdentity-olheZx_n.js +1 -0
- package/dist/esm/sdk/executeWorkerOperation-CrFf3FkL.js +1 -0
- package/dist/esm/sdk/export-viewer-host-jo7h_0wl.js +1 -0
- package/dist/esm/sdk/helpers-D4QckQhq.js +1 -0
- package/dist/esm/sdk/host-BAqOYnju.js +1 -0
- package/dist/esm/sdk/intentDigest-CB6zy3lN.js +1 -0
- package/dist/esm/sdk/jsonRpc-C85RYR0A.js +1 -0
- package/dist/esm/sdk/jsxRuntime.module-CoHsKD_3.js +1 -0
- package/dist/esm/sdk/keccak-zexutGfG.js +1 -0
- package/dist/esm/sdk/keyMaterialBrands-uVZHfAh3.js +1 -0
- package/dist/esm/sdk/localOnly-DBQRG6Qh.js +1 -0
- package/dist/esm/sdk/messages-Cv2j4SKI.js +1 -0
- package/dist/esm/sdk/mountExportPrivateKeySurface-G7Z_9JMQ.js +1 -0
- package/dist/esm/sdk/mountRecoveryCodeBackupSurface-BBCTaQsu.js +2 -0
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-DQIw8ho3.js +1 -0
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-Bp_CvWRz.js +1 -0
- package/dist/esm/sdk/nearRpcResults--cBcfmp4.js +1 -0
- package/dist/esm/sdk/nonceLaneKeys-BBYi4g51.js +1 -0
- package/dist/esm/sdk/normalization-BGPR6osg.js +1 -0
- package/dist/esm/sdk/operationFingerprint-5-wH2Ht8.js +1 -0
- package/dist/esm/sdk/operationFingerprint-DtQb0pdp.js +1 -0
- package/dist/esm/sdk/passkey-custody-LP4UTFbn.js +1 -0
- package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-BNk4ebsY.js +1 -0
- package/dist/esm/sdk/prfCache-Mbo7_USg.js +1 -0
- package/dist/esm/sdk/profileAccountProjection-DHCaMtOu.js +1 -0
- package/dist/esm/sdk/promptText-s8TQ6ckX.js +1 -0
- package/dist/esm/sdk/recovery-entrypoint-DkT8sFO5.js +1 -0
- package/dist/esm/sdk/registration-Btozh7uh.js +1 -0
- package/dist/esm/sdk/registration-CSAG_h4Y.js +1 -0
- package/dist/esm/sdk/registrationAccounts-DIeEVy6W.js +1 -0
- package/dist/esm/sdk/registrationIds-BIel5S0i.js +1 -0
- package/dist/esm/sdk/registrationIntent-DV1GYZ3K.js +1 -0
- package/dist/esm/sdk/registrationPreparationPreload-vOCqNuG4.js +1 -0
- package/dist/esm/sdk/registrationSignerPlan-FzD3TwxB.js +1 -0
- package/dist/esm/sdk/relayerHttp-DaPeS929.js +1 -0
- package/dist/esm/sdk/routePlan-B_KJaPtm.js +1 -0
- package/dist/esm/sdk/router-Dd3fFHk3.js +1 -0
- package/dist/esm/sdk/routerAbNormalSigning-D_fHjq5l.js +1 -0
- package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/esm/sdk/runtime-auth-B2M91rSx.js +1 -0
- package/dist/esm/sdk/runtime-device-link-ojjPSRaG.js +1 -0
- package/dist/esm/sdk/runtime-ecdsa-tempo-CE4JLgmn.js +1 -0
- package/dist/esm/sdk/runtime-email-otp-DDwtKVAe.js +1 -0
- package/dist/esm/sdk/runtime-export-JXYk8sQ-.js +1 -0
- package/dist/esm/sdk/runtime-near-BB8AG6dV.js +1 -0
- package/dist/esm/sdk/runtime-preferences-DKFZYccW.js +1 -0
- package/dist/esm/sdk/runtime-recovery-C_XjsDBg.js +1 -0
- package/dist/esm/sdk/runtime-recovery-codes-CWp839mH.js +1 -0
- package/dist/esm/sdk/runtimeContext-BpObgzbj.js +6 -0
- package/dist/esm/sdk/runtimeLoader-DjgBf_yF.js +1 -0
- package/dist/esm/sdk/sdkSentEvents-_RGAEeld.js +1 -0
- package/dist/esm/sdk/secp256k1-B_6W9QDJ.js +1 -0
- package/dist/esm/sdk/secureRandomId-CTdlJ5Mx.js +1 -0
- package/dist/esm/sdk/sessionPolicy-CNVK7nJ6.js +1 -0
- package/dist/esm/sdk/shared-j_KsFbCT.js +1 -0
- package/dist/esm/sdk/signEvmFamily-CcLVBm0f.js +1 -0
- package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-DgTbh6jX.js +1 -0
- package/dist/esm/sdk/signEvmWithUiConfirm-ChreN7aZ.js +1 -0
- package/dist/esm/sdk/signNear-mWbTE2Dl.js +1 -0
- package/dist/esm/sdk/signatureUses-CQkkUcwT.js +1 -0
- package/dist/esm/sdk/signerDomain-BhUTzDmF.js +1 -0
- package/dist/esm/sdk/signerLoader-By0IY24G.js +1 -0
- package/dist/esm/sdk/signerSlot-BQ1g5JNV.js +1 -0
- package/dist/esm/sdk/signingFlow-LUWrZi2d.js +2 -0
- package/dist/esm/sdk/signingSessionSeal-Mr2Xp44o.js +1 -0
- package/dist/esm/sdk/surface-measurement-reporter-OICExWKE.js +1 -0
- package/dist/esm/sdk/trace-M34pNGuF.js +1 -0
- package/dist/esm/sdk/transaction-activity-BbDod7ji.js +1 -0
- package/dist/esm/sdk/transactionReview-CBE5oH4c.js +1 -0
- package/dist/esm/sdk/transactionReviewAdmission-0ZgWs6q3.js +1 -0
- package/dist/esm/sdk/transactionState-9d7f3xVj.js +1 -0
- package/dist/esm/sdk/tx-confirm-ui.js +23 -204
- package/dist/esm/sdk/types-M7vxrYtJ.js +1 -0
- package/dist/esm/sdk/validation-dC1-_uyG.js +1 -0
- package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -13
- package/dist/esm/sdk/wallet-iframe-host-full.js +1 -6
- package/dist/esm/sdk/wallet-iframe-host-near.js +1 -13
- package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -4
- package/dist/esm/sdk/wallet-recovery-CcDZ1hMH.js +1 -0
- package/dist/esm/sdk/wallet-ui.css +1 -6134
- package/dist/esm/sdk/walletAuthority-CoWSeqvQ.js +1 -0
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-B7xi7nwh.js +1 -0
- package/dist/esm/sdk/walletIframeIdentity-C0b0XMQF.js +1 -0
- package/dist/esm/sdk/walletRecoveryCommit-ljxVeo-d.js +1 -0
- package/dist/esm/sdk/walletRecoveryRotate-HztDcDaY.js +1 -0
- package/dist/esm/sdk/warmSessionHydration-BPGM0YRU.js +1 -0
- package/dist/esm/sdk/webauthnP256-qu06GNFm.js +1 -0
- package/dist/esm/sdk/webauthnPromptCoordinator-DO-qfECu.js +1 -0
- 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/parsers.js +41 -1
- package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +6 -9
- package/dist/esm/shared-ts/src/near/actions.js +10 -1
- package/dist/esm/shared-ts/src/near/nearClient.js +0 -2
- package/dist/esm/shared-ts/src/passkey-custody/primitives.js +5 -1
- package/dist/esm/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.js +1 -1
- package/dist/esm/shared-ts/src/signing-lanes/index.js +1 -4
- package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +3 -8
- package/dist/esm/shared-ts/src/signing-lanes/participantDigest.js +0 -1
- package/dist/esm/shared-ts/src/signing-lanes/participants.js +1 -1
- package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +13 -17
- package/dist/esm/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.js +0 -1
- package/dist/esm/shared-ts/src/threshold/participants.js +0 -1
- package/dist/esm/shared-ts/src/threshold/signingRootScope.js +4 -2
- package/dist/esm/shared-ts/src/utils/domainIds.js +1 -7
- package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +2 -5
- package/dist/esm/shared-ts/src/utils/ecdsaServerTiming.js +0 -1
- package/dist/esm/shared-ts/src/utils/encoders.js +1 -1
- package/dist/esm/shared-ts/src/utils/errors.js +0 -1
- package/dist/esm/shared-ts/src/utils/exactKeys.js +17 -0
- package/dist/esm/shared-ts/src/utils/index.js +4 -5
- package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +1 -1
- package/dist/esm/shared-ts/src/utils/registrationIds.js +1 -5
- package/dist/esm/shared-ts/src/utils/registrationIntent.js +2 -9
- package/dist/esm/shared-ts/src/utils/registrationSetupOperation.js +12 -0
- package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +3 -6
- package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +2 -3
- 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/utils/validation.js +0 -1
- package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +0 -1
- package/dist/esm/shared-ts/src/utils/walletCapabilityBindings.js +10 -1
- package/dist/esm/shared-ts/src/utils/walletManagementProtocol.js +6 -0
- package/dist/esm/shared-ts/src/wallet-recovery/index.js +1 -1
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +0 -1
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +0 -2
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +1 -4
- package/dist/esm/theme/base-styles.js +11 -11
- package/dist/esm/utils/deviceDetection.js +16 -1
- package/dist/esm/utils/menuItemBlink.js +24 -0
- package/dist/esm/utils/qrScanner.js +288 -0
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.d.ts +12 -753
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +126 -3701
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
- package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client.d.ts +0 -42
- package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client.js +2 -106
- package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
- package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client.d.ts +3 -158
- package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client.js +2 -452
- package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/ConfirmationDrawer-DrsREojk.js +1 -0
- package/dist/public/sdk/EvmClient-DoxytQaJ.js +1 -0
- package/dist/public/sdk/NearClient-vJ65Wjrq.js +1 -0
- package/dist/public/sdk/NonceCoordinator-BBeadCSq.js +1 -0
- package/dist/public/sdk/accountIds-C3Ihsd2c.js +1 -0
- package/dist/public/sdk/accountLifecycle-EyfYPnuT.js +1 -0
- package/dist/public/sdk/actions-DZLxCcrU.js +1 -0
- package/dist/public/sdk/adapters-DtAyuoiA.js +2 -0
- package/dist/public/sdk/base-Xtd32asf.js +1 -0
- package/dist/public/sdk/base64-ojm5DKcF.js +1 -0
- package/dist/public/sdk/browser-CsOGMbMy.js +8 -0
- package/dist/public/sdk/bytes-t5S5mkat.js +1 -0
- package/dist/public/sdk/canonicalPrimitives-MPGET2cl.js +1 -0
- package/dist/public/sdk/canonicalSignerErrorCode-C0hh_SVi.js +1 -0
- package/dist/public/sdk/capabilityKinds-XaXXiD2B.js +1 -0
- package/dist/public/sdk/chains-yAls2d9X.js +1 -0
- package/dist/public/sdk/challengeDelivery-cAsaUC6U.js +1 -0
- package/dist/public/sdk/chunk-dVx5-UGu.js +1 -0
- package/dist/public/sdk/configHelpers-CseiVoZD.js +1 -0
- package/dist/public/sdk/csp-stylesheet-B1fAhrGB.js +2 -0
- package/dist/public/sdk/defaultConfigs-CWpApkMq.js +1 -0
- package/dist/public/sdk/display-jK7_hYho.js +1 -0
- package/dist/public/sdk/domainIds-GDzjOs6i.js +1 -0
- package/dist/public/sdk/ecdsaCapabilityManifest-CHFu-QrV.js +1 -0
- package/dist/public/sdk/ecdsaChainTarget-CRcRR78w.js +1 -0
- package/dist/public/sdk/ecdsaPresignLifecycle-CQnCxSlq.js +1 -0
- package/dist/public/sdk/ecdsaPresignPoolIdentity-Ci-ovDlv.js +1 -0
- package/dist/public/sdk/ecdsaWalletRecords-Cm1DdexN.js +1 -0
- package/dist/public/sdk/enrichDisplayModelWithAbi-CR-4ebuU.js +1 -0
- package/dist/public/sdk/enrichDisplayModelWithAbi-CwHKFqF4.js +569 -0
- package/dist/public/sdk/errors-DfbnsXjO.js +1 -0
- package/dist/public/sdk/events-BJyVcnsn.js +1 -0
- package/dist/public/sdk/evmCryptoWasm-CwEXiLrC.js +1 -0
- package/dist/public/sdk/evmFamilyEcdsaIdentity-Br3iFdQx.js +1 -0
- package/dist/public/sdk/exactSessionState-CjD8gekO.js +210 -0
- package/dist/public/sdk/exactSigningLaneIdentity-olheZx_n.js +1 -0
- package/dist/public/sdk/executeWorkerOperation-CrFf3FkL.js +1 -0
- package/dist/public/sdk/export-viewer-host-jo7h_0wl.js +1 -0
- package/dist/public/sdk/helpers-D4QckQhq.js +1 -0
- package/dist/public/sdk/host-BAqOYnju.js +1 -0
- package/dist/public/sdk/intentDigest-CB6zy3lN.js +1 -0
- package/dist/public/sdk/jsonRpc-C85RYR0A.js +1 -0
- package/dist/public/sdk/jsxRuntime.module-CoHsKD_3.js +1 -0
- package/dist/public/sdk/keccak-zexutGfG.js +1 -0
- package/dist/public/sdk/keyMaterialBrands-uVZHfAh3.js +1 -0
- package/dist/public/sdk/localOnly-DBQRG6Qh.js +1 -0
- package/dist/public/sdk/messages-Cv2j4SKI.js +1 -0
- package/dist/public/sdk/mountExportPrivateKeySurface-G7Z_9JMQ.js +1 -0
- package/dist/public/sdk/mountRecoveryCodeBackupSurface-BBCTaQsu.js +2 -0
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-DQIw8ho3.js +1 -0
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-Bp_CvWRz.js +1 -0
- package/dist/public/sdk/nearRpcResults--cBcfmp4.js +1 -0
- package/dist/public/sdk/nonceLaneKeys-BBYi4g51.js +1 -0
- package/dist/public/sdk/normalization-BGPR6osg.js +1 -0
- package/dist/public/sdk/operationFingerprint-5-wH2Ht8.js +1 -0
- package/dist/public/sdk/operationFingerprint-DtQb0pdp.js +1 -0
- package/dist/public/sdk/passkey-custody-LP4UTFbn.js +1 -0
- package/dist/public/sdk/pendingWalletRecoveryCodeBackup-BNk4ebsY.js +1 -0
- package/dist/public/sdk/prfCache-Mbo7_USg.js +1 -0
- package/dist/public/sdk/profileAccountProjection-DHCaMtOu.js +1 -0
- package/dist/public/sdk/promptText-s8TQ6ckX.js +1 -0
- package/dist/public/sdk/recovery-entrypoint-DkT8sFO5.js +1 -0
- package/dist/public/sdk/registration-Btozh7uh.js +1 -0
- package/dist/public/sdk/registration-CSAG_h4Y.js +1 -0
- package/dist/public/sdk/registrationAccounts-DIeEVy6W.js +1 -0
- package/dist/public/sdk/registrationIds-BIel5S0i.js +1 -0
- package/dist/public/sdk/registrationIntent-DV1GYZ3K.js +1 -0
- package/dist/public/sdk/registrationPreparationPreload-vOCqNuG4.js +1 -0
- package/dist/public/sdk/registrationSignerPlan-FzD3TwxB.js +1 -0
- package/dist/public/sdk/relayerHttp-DaPeS929.js +1 -0
- package/dist/public/sdk/routePlan-B_KJaPtm.js +1 -0
- package/dist/public/sdk/router-Dd3fFHk3.js +1 -0
- package/dist/public/sdk/routerAbNormalSigning-D_fHjq5l.js +1 -0
- package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/sdk/runtime-auth-B2M91rSx.js +1 -0
- package/dist/public/sdk/runtime-device-link-ojjPSRaG.js +1 -0
- package/dist/public/sdk/runtime-ecdsa-tempo-CE4JLgmn.js +1 -0
- package/dist/public/sdk/runtime-email-otp-DDwtKVAe.js +1 -0
- package/dist/public/sdk/runtime-export-JXYk8sQ-.js +1 -0
- package/dist/public/sdk/runtime-near-BB8AG6dV.js +1 -0
- package/dist/public/sdk/runtime-preferences-DKFZYccW.js +1 -0
- package/dist/public/sdk/runtime-recovery-C_XjsDBg.js +1 -0
- package/dist/public/sdk/runtime-recovery-codes-CWp839mH.js +1 -0
- package/dist/public/sdk/runtimeContext-BpObgzbj.js +6 -0
- package/dist/public/sdk/runtimeLoader-DjgBf_yF.js +1 -0
- package/dist/public/sdk/sdkSentEvents-_RGAEeld.js +1 -0
- package/dist/public/sdk/secp256k1-B_6W9QDJ.js +1 -0
- package/dist/public/sdk/secureRandomId-CTdlJ5Mx.js +1 -0
- package/dist/public/sdk/sessionPolicy-CNVK7nJ6.js +1 -0
- package/dist/public/sdk/shared-j_KsFbCT.js +1 -0
- package/dist/public/sdk/signEvmFamily-CcLVBm0f.js +1 -0
- package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-DgTbh6jX.js +1 -0
- package/dist/public/sdk/signEvmWithUiConfirm-ChreN7aZ.js +1 -0
- package/dist/public/sdk/signNear-mWbTE2Dl.js +1 -0
- package/dist/public/sdk/signatureUses-CQkkUcwT.js +1 -0
- package/dist/public/sdk/signerDomain-BhUTzDmF.js +1 -0
- package/dist/public/sdk/signerLoader-By0IY24G.js +1 -0
- package/dist/public/sdk/signerSlot-BQ1g5JNV.js +1 -0
- package/dist/public/sdk/signingFlow-LUWrZi2d.js +2 -0
- package/dist/public/sdk/signingSessionSeal-Mr2Xp44o.js +1 -0
- package/dist/public/sdk/surface-measurement-reporter-OICExWKE.js +1 -0
- package/dist/public/sdk/trace-M34pNGuF.js +1 -0
- package/dist/public/sdk/transaction-activity-BbDod7ji.js +1 -0
- package/dist/public/sdk/transactionReview-CBE5oH4c.js +1 -0
- package/dist/public/sdk/transactionReviewAdmission-0ZgWs6q3.js +1 -0
- package/dist/public/sdk/transactionState-9d7f3xVj.js +1 -0
- package/dist/public/sdk/tx-confirm-ui.js +23 -204
- package/dist/public/sdk/types-M7vxrYtJ.js +1 -0
- package/dist/public/sdk/validation-dC1-_uyG.js +1 -0
- package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -13
- package/dist/public/sdk/wallet-iframe-host-full.js +1 -6
- package/dist/public/sdk/wallet-iframe-host-near.js +1 -13
- package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -4
- package/dist/public/sdk/wallet-recovery-CcDZ1hMH.js +1 -0
- package/dist/public/sdk/wallet-ui.css +1 -6134
- package/dist/public/sdk/walletAuthority-CoWSeqvQ.js +1 -0
- package/dist/public/sdk/walletCustodyEcdsaContinuity-B7xi7nwh.js +1 -0
- package/dist/public/sdk/walletIframeIdentity-C0b0XMQF.js +1 -0
- package/dist/public/sdk/walletRecoveryCommit-ljxVeo-d.js +1 -0
- package/dist/public/sdk/walletRecoveryRotate-HztDcDaY.js +1 -0
- package/dist/public/sdk/warmSessionHydration-BPGM0YRU.js +1 -0
- package/dist/public/sdk/webauthnP256-qu06GNFm.js +1 -0
- package/dist/public/sdk/webauthnPromptCoordinator-DO-qfECu.js +1 -0
- package/dist/public/sdk/workers/device-linking-key.worker.js +567 -2131
- package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +1529 -2683
- package/dist/public/sdk/workers/ecdsa-online-client.worker.js +1 -273
- package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +59 -346
- package/dist/public/sdk/workers/email-otp.worker.js +307 -2185
- package/dist/public/sdk/workers/email_otp_runtime_bg.wasm +0 -0
- package/dist/public/sdk/workers/evm-crypto.worker.js +0 -188
- 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.worker.js +16 -718
- package/dist/public/sdk/workers/near_signer.wasm +0 -0
- package/dist/public/sdk/workers/passkey-confirm.worker.js +0 -134
- package/dist/public/sdk/workers/passkey-mpc-export.worker.js +149 -506
- package/dist/public/sdk/workers/passkey-mpc-session.worker.js +0 -134
- 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/shamir3pass.worker.js +0 -134
- package/dist/public/sdk/workers/shamir3pass_runtime_bg.wasm +0 -0
- package/dist/public/sdk/workers/tempo-signer.worker.js +0 -134
- 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 +136 -1636
- package/dist/public/sdk/workers/wallet_custody_ceremony.js +0 -14
- 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 +234 -258
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +0 -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 +6 -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/evmFamilySigningKeySlotId.d.ts +0 -2
- package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +11 -12
- package/dist/types/shared-ts/src/signing-lanes/ids.d.ts +3 -17
- package/dist/types/shared-ts/src/signing-lanes/index.d.ts +0 -4
- package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.d.ts +0 -1
- package/dist/types/shared-ts/src/signing-lanes/participantDigest.d.ts +0 -18
- package/dist/types/shared-ts/src/signing-lanes/participants.d.ts +6 -35
- package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +6 -845
- 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/keyMaterialBrands.d.ts +0 -10
- package/dist/types/shared-ts/src/threshold/participants.d.ts +1 -1
- package/dist/types/shared-ts/src/threshold/signingRootScope.d.ts +1 -0
- package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +1 -133
- package/dist/types/shared-ts/src/utils/addWalletAuthMethod.typecheck.d.ts +4 -18
- package/dist/types/shared-ts/src/utils/domainIds.d.ts +0 -12
- 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/errors.d.ts +0 -4
- 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/near.d.ts +0 -20
- package/dist/types/shared-ts/src/utils/nearRpcResults.d.ts +1 -0
- package/dist/types/shared-ts/src/utils/normalize.d.ts +0 -2
- package/dist/types/shared-ts/src/utils/registrationAuthMethodInput.d.ts +3 -8
- package/dist/types/shared-ts/src/utils/registrationSetupOperation.d.ts +3 -0
- 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/validation.d.ts +1 -3
- 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/walletCapabilityBindings.d.ts +0 -1
- package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +3 -0
- package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +4 -2
- package/dist/types/shared-ts/src/utils/wireSchema.d.ts +0 -2
- package/dist/types/shared-ts/src/wallet-recovery/backupAcknowledgement.d.ts +0 -1
- package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeReservation.d.ts +1 -10
- package/dist/types/shared-ts/src/wallet-recovery/recoveryCodes.d.ts +1 -3
- package/dist/types/shared-ts/src/wallet-recovery/recoveryEnvelopes.d.ts +3 -16
- package/dist/types/shared-ts/src/wallet-recovery/recoveryKeyId.d.ts +5 -21
- 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/walletUnlockEcdsaSubject.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/operations/auth/walletUnlockSubject.d.ts +3 -20
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/challenge.d.ts +0 -4
- 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/devices/deviceLinkingResume.d.ts +0 -1
- package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceFlow.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +0 -10
- package/dist/types/wallet/src/SeamsWeb/operations/session/thresholdEcdsaProvisioning.d.ts +1 -2
- 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/signingSurface/ports.d.ts +0 -2
- package/dist/types/wallet/src/SeamsWeb/signingSurface/types.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/surface/domain.d.ts +0 -8
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/iframe-transport-handshake.d.ts +1 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +9 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/hostedWalletSeamsSession.d.ts +0 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.d.ts +17 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +12 -5
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/icons.d.ts +15 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionReconciliation.d.ts +3 -3
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +5 -15
- package/dist/types/wallet/src/advanced.d.ts +1 -1
- package/dist/types/wallet/src/core/accountData/near/keyMaterial.d.ts +3 -5
- package/dist/types/wallet/src/core/browser/walletIframe/events.d.ts +0 -2
- package/dist/types/wallet/src/core/indexedDB/index.d.ts +3 -5
- package/dist/types/wallet/src/core/indexedDB/passkeyClientDB.types.d.ts +2 -38
- package/dist/types/wallet/src/core/indexedDB/pendingWalletRecoveryCommit.d.ts +1 -4
- package/dist/types/wallet/src/core/indexedDB/pendingWalletRegistrationCommit.d.ts +3 -4
- package/dist/types/wallet/src/core/indexedDB/schemaNames.d.ts +0 -22
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.d.ts +7 -12
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.d.ts +1 -1
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.d.ts +1 -1
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.d.ts +0 -1
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/registrationSetup.d.ts +42 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/signingSessionSeals.d.ts +1 -5
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.d.ts +8 -7
- package/dist/types/wallet/src/core/indexedDB/unifiedIndexedDBManager.d.ts +1 -0
- package/dist/types/wallet/src/core/platform/browser/createBrowserPlatformRuntime.d.ts +1 -6
- package/dist/types/wallet/src/core/platform/ecdsaRoleLocalRecords.d.ts +7 -51
- package/dist/types/wallet/src/core/platform/http.d.ts +3 -5
- package/dist/types/wallet/src/core/platform/index.d.ts +4 -4
- package/dist/types/wallet/src/core/platform/ports.d.ts +4 -58
- package/dist/types/wallet/src/core/platform/runtime.d.ts +0 -2
- package/dist/types/wallet/src/core/platform/secretSources.d.ts +0 -29
- package/dist/types/wallet/src/core/rpcClients/near/NearClient.d.ts +1 -1
- 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/passkeyCustodyEnvelope.d.ts +0 -6
- package/dist/types/wallet/src/core/rpcClients/relayer/thresholdEcdsa.d.ts +2 -9
- package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryPrepare.d.ts +2 -14
- package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +2 -19
- package/dist/types/wallet/src/core/signingEngine/assembly/ports/shared.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/assembly/ports/warmSigning.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/assembly/warmup.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/chains/near/nearSignerWasm.d.ts +0 -10
- 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/keyExportConfirmation.d.ts +0 -15
- 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 +2 -21
- package/dist/types/wallet/src/core/signingEngine/flows/registration/public.d.ts +1 -9
- package/dist/types/wallet/src/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/flows/shared/signingStateMachine.d.ts +0 -6
- 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 +7 -18
- 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 +4 -14
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.d.ts +0 -5
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/operationStepUpPreparation.d.ts +3 -5
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signingMaterials.d.ts +0 -4
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signingSessionAuthMode.d.ts +0 -9
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNep413.d.ts +3 -7
- package/dist/types/wallet/src/core/signingEngine/interfaces/index.d.ts +0 -1
- 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/NonceCoordinator.d.ts +1 -1
- 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 -11
- 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/routerAb/ecdsaDerivation/signingMaterialRef.d.ts +0 -3
- package/dist/types/wallet/src/core/signingEngine/session/authority/authorityOperationResolver.d.ts +1 -24
- package/dist/types/wallet/src/core/signingEngine/session/availability/persistedAvailableSigningLanes.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/availability/readiness.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.d.ts +37 -14
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaLogin.d.ts +0 -3
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaPublication.d.ts +3 -5
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaRecovery.d.ts +0 -5
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ed25519ExportContext.d.ts +2 -7
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/secretEscrow.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/walletUnlock.d.ts +6 -15
- package/dist/types/wallet/src/core/signingEngine/session/identity/clientSessionPersistenceState.d.ts +0 -6
- package/dist/types/wallet/src/core/signingEngine/session/identity/emailOtpEcdsaDerivationIdentity.d.ts +0 -3
- package/dist/types/wallet/src/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.d.ts +3 -8
- package/dist/types/wallet/src/core/signingEngine/session/identity/exactSigningLaneIdentity.d.ts +0 -3
- package/dist/types/wallet/src/core/signingEngine/session/identity/exactWalletSessionCredential.d.ts +3 -7
- 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 -14
- package/dist/types/wallet/src/core/signingEngine/session/identity/signingLaneAuthBinding.d.ts +3 -5
- package/dist/types/wallet/src/core/signingEngine/session/identity/walletUnlockSubject.d.ts +0 -8
- package/dist/types/wallet/src/core/signingEngine/session/keyMaterialBrands.d.ts +1 -4
- 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 +4 -7
- 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/ecdsaRoleLocalMaterialResolver.d.ts +0 -3
- 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 +4 -9
- package/dist/types/wallet/src/core/signingEngine/session/operationState/preparedOperation.d.ts +0 -2
- 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/ed25519YaoLocalMaterial.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.d.ts +7 -25
- package/dist/types/wallet/src/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.d.ts +1 -10
- package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionRecords.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionTransportAuth.d.ts +0 -5
- package/dist/types/wallet/src/core/signingEngine/session/postconditions/runtimePostconditions.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/session/routerAbSigningWalletSession.d.ts +1 -1
- 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/ecdsaProvisionPlan.d.ts +0 -105
- 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/session/warmCapabilities/public.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/routerAbWalletSessionCredential.d.ts +0 -12
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/transitions.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/types.typecheck.d.ts +1 -10
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmTypes.d.ts +11 -36
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/methodRunners.d.ts +1 -5
- 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 +4 -7
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.d.ts +3 -9
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/requireStepUpAuth.d.ts +1 -19
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/types.d.ts +7 -32
- 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/crypto/ed25519YaoLaneWasm.d.ts +1 -15
- package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/activation.d.ts +0 -4
- package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/bootstrapSession.d.ts +3 -8
- 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/connectSession.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/walletSession.d.ts +6 -36
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +1 -8
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.d.ts +3 -4
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/requestRegistrationCredentialConfirmation.d.ts +1 -4
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.d.ts +5 -9
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/abi/abiDecode.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/walletCustody/emailOtpLink.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/walletCustody/openCustodyCache.d.ts +0 -3
- package/dist/types/wallet/src/core/signingEngine/walletCustody/passkeyLink.d.ts +0 -3
- package/dist/types/wallet/src/core/signingEngine/walletCustody/registrationCeremony.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/webauthnAuth/walletOriginWebAuthn.d.ts +8 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/SignerWorkerManager.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaClientWorkerChannels.d.ts +0 -8
- package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignLifecycle.d.ts +5 -16
- package/dist/types/wallet/src/core/signingEngine/workerManager/validation.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +9 -109
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/requests.d.ts +0 -5
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/crypto.d.ts +2 -12
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/custodyRestore.d.ts +0 -10
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/otpVerification.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/payloadParsing.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/unlock.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/near-signer.worker.d.ts +3 -31
- package/dist/types/wallet/src/core/types/accountIds.d.ts +1 -1
- package/dist/types/wallet/src/core/types/index.d.ts +0 -18
- 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 +5 -23
- package/dist/types/wallet/src/core/types/seams.d.ts +17 -71
- package/dist/types/wallet/src/core/types/secure-confirm-worker.d.ts +0 -5
- package/dist/types/wallet/src/core/types/signer-worker.d.ts +75 -134
- package/dist/types/wallet/src/externalEvm/types.d.ts +5 -12
- package/dist/types/wallet/src/react/components/AccountMenuButton/Toggle.d.ts +0 -15
- 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/components/theme/design-tokens.d.ts +0 -19
- 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/types/wallet/src/utils/qrScanner.d.ts +1 -21
- package/dist/workers/device-linking-key.worker.js +567 -2131
- package/dist/workers/ecdsa-derivation-client.worker.js +1529 -2683
- package/dist/workers/ecdsa-online-client.worker.js +1 -273
- package/dist/workers/ecdsa-presign-client.worker.js +59 -346
- package/dist/workers/email-otp.worker.js +307 -2185
- package/dist/workers/email_otp_runtime_bg.wasm +0 -0
- package/dist/workers/evm-crypto.worker.js +0 -188
- package/dist/workers/evm_crypto.wasm +0 -0
- package/dist/workers/evm_crypto_bg.wasm +0 -0
- package/dist/workers/near-signer.worker.js +16 -718
- package/dist/workers/near_signer.wasm +0 -0
- package/dist/workers/passkey-confirm.worker.js +0 -134
- package/dist/workers/passkey-mpc-export.worker.js +149 -506
- package/dist/workers/passkey-mpc-session.worker.js +0 -134
- 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/shamir3pass.worker.js +0 -134
- package/dist/workers/shamir3pass_runtime_bg.wasm +0 -0
- package/dist/workers/tempo-signer.worker.js +0 -134
- 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 +136 -1636
- package/dist/workers/wallet_custody_ceremony.js +0 -14
- package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
- package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
- package/package.json +1 -14
- package/dist/esm/SeamsWeb/walletIframe/client/transport/webauthn-bridge.js +0 -99
- package/dist/esm/components/AccountMenuButton/AccountsSection.css +0 -81
- package/dist/esm/components/AccountMenuButton/ExportKeysSection.css +0 -96
- package/dist/esm/components/AccountMenuButton/HaloBorder/HaloBorder.css +0 -101
- package/dist/esm/components/AccountMenuButton/LinkedDevicesModal.css +0 -612
- package/dist/esm/components/AccountMenuButton/MenuItem.css +0 -181
- package/dist/esm/components/AccountMenuButton/ProfileDropdown.css +0 -80
- package/dist/esm/components/AccountMenuButton/TransactionSettingsSection.css +0 -107
- package/dist/esm/components/AccountMenuButton/UserAccountButton.css +0 -182
- package/dist/esm/components/AccountMenuButton/WalletSettingsLayout.css +0 -456
- package/dist/esm/components/AccountMenuButton/Web3AuthProfileButton.css +0 -75
- package/dist/esm/components/AccountMenuButton/icons/TouchIcon.css +0 -46
- package/dist/esm/components/QRCodeScanner.css +0 -502
- package/dist/esm/components/ShowQRCode.css +0 -345
- package/dist/esm/core/indexedDB/seamsWalletDB/laneHolderMaterialStore.js +0 -239
- 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/core/signingEngine/webauthnAuth/fallbacks/safari-fallbacks.js +0 -171
- package/dist/esm/core/signingEngine/workerManager/nearKeyOps/createNearKeyOps.js +0 -32
- package/dist/esm/plugins/shared-ts/src/utils/base58.js +0 -1
- package/dist/esm/plugins/shared-ts/src/utils/near.js +0 -1
- package/dist/esm/plugins/shared-ts/src/utils/validation.js +0 -2
- package/dist/esm/react/SeamsWeb/SeamsWeb.js +0 -1909
- package/dist/esm/react/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +0 -817
- package/dist/esm/react/SeamsWeb/assembly/browserWorkerWarmupPolicy.js +0 -31
- package/dist/esm/react/SeamsWeb/assembly/configureBrowserIndexedDB.js +0 -10
- package/dist/esm/react/SeamsWeb/assembly/createBrowserRecoveryPublicDeps.js +0 -95
- package/dist/esm/react/SeamsWeb/assembly/createBrowserSigningRuntime.js +0 -34
- package/dist/esm/react/SeamsWeb/assembly/createBrowserSigningStores.js +0 -39
- package/dist/esm/react/SeamsWeb/assembly/createBrowserStepUpRuntime.js +0 -34
- package/dist/esm/react/SeamsWeb/assembly/createBrowserWarmSessionPublicDeps.js +0 -31
- package/dist/esm/react/SeamsWeb/assembly/createWalletIframeOverlayState.js +0 -9
- package/dist/esm/react/SeamsWeb/assembly/createWalletIframeRouter.js +0 -44
- package/dist/esm/react/SeamsWeb/assembly/initializeBrowserSigningRuntime.js +0 -19
- package/dist/esm/react/SeamsWeb/assembly/runtimeConfig.js +0 -12
- package/dist/esm/react/SeamsWeb/operations/auth/login.js +0 -4398
- package/dist/esm/react/SeamsWeb/operations/auth/scheduleEcdsaSessionPresignaturePrefill.js +0 -41
- package/dist/esm/react/SeamsWeb/operations/auth/walletAuth.js +0 -143
- package/dist/esm/react/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.js +0 -36
- package/dist/esm/react/SeamsWeb/operations/auth/walletUnlockSubject.js +0 -294
- package/dist/esm/react/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.js +0 -72
- package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +0 -191
- package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/challenge.js +0 -247
- package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +0 -572
- package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.js +0 -69
- package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/registrationAuthority.js +0 -62
- package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.js +0 -69
- package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/walletActivation.js +0 -95
- package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/addPasskey.js +0 -260
- package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/ecdsaBootstrap.js +0 -17
- package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.js +0 -34
- package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/localPasskeyProjection.js +0 -117
- package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/localUnlock.js +0 -16
- package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/loginAssertion.js +0 -25
- package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/registrationAuthority.js +0 -84
- package/dist/esm/react/SeamsWeb/operations/authMethods/revokeAuthMethod.js +0 -205
- package/dist/esm/react/SeamsWeb/operations/authMethods/sourcePasskeyProof.js +0 -12
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.js +0 -444
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingComposition.js +0 -106
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.js +0 -194
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +0 -525
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.js +0 -135
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingResume.js +0 -219
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingTargetCredential.js +0 -63
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingTargetEd25519ExportRoot.js +0 -61
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +0 -337
- package/dist/esm/react/SeamsWeb/operations/devices/linkDevice.js +0 -75
- package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceFlow.js +0 -1358
- package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceFlowSupport.js +0 -143
- package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceTargetActivation.js +0 -119
- package/dist/esm/react/SeamsWeb/operations/devices/scanDevice.js +0 -384
- package/dist/esm/react/SeamsWeb/operations/devices/walletHostComposition.js +0 -130
- package/dist/esm/react/SeamsWeb/operations/devices/walletHostOwnerAuthority.js +0 -191
- package/dist/esm/react/SeamsWeb/operations/evm/index.js +0 -35
- package/dist/esm/react/SeamsWeb/operations/near/actions.js +0 -484
- package/dist/esm/react/SeamsWeb/operations/near/commandSubject.js +0 -14
- package/dist/esm/react/SeamsWeb/operations/near/delegateAction.js +0 -247
- package/dist/esm/react/SeamsWeb/operations/near/index.js +0 -37
- package/dist/esm/react/SeamsWeb/operations/near/signNEP413.js +0 -117
- package/dist/esm/react/SeamsWeb/operations/near/signingEventHelpers.js +0 -15
- package/dist/esm/react/SeamsWeb/operations/recovery/accountSync.js +0 -21
- package/dist/esm/react/SeamsWeb/operations/recovery/recoveryWalletBinding.js +0 -43
- package/dist/esm/react/SeamsWeb/operations/recovery/syncAccount.js +0 -914
- package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryCodeBackup.js +0 -100
- package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryCommit.js +0 -477
- package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +0 -386
- package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryJournal.js +0 -118
- package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryRotation.js +0 -214
- package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.js +0 -184
- package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryUnlock.js +0 -247
- package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.js +0 -134
- package/dist/esm/react/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +0 -369
- package/dist/esm/react/SeamsWeb/operations/registration/registration.js +0 -3818
- package/dist/esm/react/SeamsWeb/operations/registration/registrationEd25519Yao.js +0 -166
- package/dist/esm/react/SeamsWeb/operations/registration/registrationSignerSet.js +0 -60
- package/dist/esm/react/SeamsWeb/operations/registration/registrationStrictEcdsa.js +0 -343
- package/dist/esm/react/SeamsWeb/operations/registration/registrationTerminalCommit.js +0 -296
- package/dist/esm/react/SeamsWeb/operations/registration/registrationTiming.js +0 -682
- package/dist/esm/react/SeamsWeb/operations/session/thresholdEcdsaProvisioning.js +0 -40
- package/dist/esm/react/SeamsWeb/operations/session/thresholdWarmSessionBootstrap.js +0 -20
- package/dist/esm/react/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +0 -565
- package/dist/esm/react/SeamsWeb/operations/tempo/feeTokenPreference.js +0 -67
- package/dist/esm/react/SeamsWeb/operations/tempo/index.js +0 -39
- package/dist/esm/react/SeamsWeb/publicApi/auth.js +0 -23
- package/dist/esm/react/SeamsWeb/publicApi/awaitNearReady.js +0 -72
- package/dist/esm/react/SeamsWeb/publicApi/capabilitySelection.js +0 -63
- package/dist/esm/react/SeamsWeb/publicApi/chainTargets.js +0 -48
- package/dist/esm/react/SeamsWeb/publicApi/createPublicApi.js +0 -133
- package/dist/esm/react/SeamsWeb/publicApi/currentWallet.js +0 -46
- package/dist/esm/react/SeamsWeb/publicApi/devices.js +0 -83
- package/dist/esm/react/SeamsWeb/publicApi/evm.js +0 -103
- package/dist/esm/react/SeamsWeb/publicApi/keyExport.js +0 -90
- package/dist/esm/react/SeamsWeb/publicApi/near.js +0 -449
- package/dist/esm/react/SeamsWeb/publicApi/preferences.js +0 -61
- package/dist/esm/react/SeamsWeb/publicApi/recovery.js +0 -19
- package/dist/esm/react/SeamsWeb/publicApi/tempo.js +0 -238
- package/dist/esm/react/SeamsWeb/publicApi/transactionReview.js +0 -12
- package/dist/esm/react/SeamsWeb/publicApi/types.js +0 -10
- package/dist/esm/react/SeamsWeb/signingSurface/BrowserSigningSurface.js +0 -3908
- package/dist/esm/react/SeamsWeb/walletIframe/client/overlay/overlay-controller.js +0 -530
- package/dist/esm/react/SeamsWeb/walletIframe/client/overlay/overlay-styles.js +0 -417
- package/dist/esm/react/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +0 -134
- package/dist/esm/react/SeamsWeb/walletIframe/client/router.js +0 -3368
- package/dist/esm/react/SeamsWeb/walletIframe/client/surface/domain.js +0 -288
- package/dist/esm/react/SeamsWeb/walletIframe/client/surface/geometry.js +0 -128
- package/dist/esm/react/SeamsWeb/walletIframe/client/surface/renderer.js +0 -119
- package/dist/esm/react/SeamsWeb/walletIframe/client/surface/transactionSurfaceQueue.js +0 -125
- package/dist/esm/react/SeamsWeb/walletIframe/client/transactionReviewReservation.js +0 -96
- package/dist/esm/react/SeamsWeb/walletIframe/client/transport/IframeTransport.js +0 -252
- package/dist/esm/react/SeamsWeb/walletIframe/client/transport/iframe-transport-dom.js +0 -71
- package/dist/esm/react/SeamsWeb/walletIframe/client/transport/iframe-transport-handshake.js +0 -211
- package/dist/esm/react/SeamsWeb/walletIframe/client/transport/webauthn-bridge.js +0 -99
- package/dist/esm/react/SeamsWeb/walletIframe/coordinator.js +0 -235
- package/dist/esm/react/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +0 -158
- package/dist/esm/react/SeamsWeb/walletIframe/shared/exactSessionState.js +0 -625
- package/dist/esm/react/SeamsWeb/walletIframe/shared/is-dev-host.js +0 -11
- package/dist/esm/react/SeamsWeb/walletIframe/shared/messages.js +0 -588
- package/dist/esm/react/SeamsWeb/walletIframe/shared/transactionReview.js +0 -83
- package/dist/esm/react/SeamsWeb/walletIframe/shared/unlockOptions.js +0 -54
- package/dist/esm/react/base-styles.js +0 -13
- package/dist/esm/react/build-paths.js +0 -111
- package/dist/esm/react/components/AccountMenuButton/HaloBorder/HaloBorder.css +0 -101
- package/dist/esm/react/config.js +0 -37
- package/dist/esm/react/core/accountData/near/accountProjection.js +0 -119
- package/dist/esm/react/core/accountData/near/accountRefs.js +0 -21
- package/dist/esm/react/core/accountData/near/keyMaterial.js +0 -171
- package/dist/esm/react/core/accountData/near/profileId.js +0 -24
- package/dist/esm/react/core/browser/walletIframe/csp-stylesheet.js +0 -189
- package/dist/esm/react/core/browser/walletIframe/events.js +0 -10
- package/dist/esm/react/core/browser/walletIframe/host-mode.js +0 -19
- package/dist/esm/react/core/browser/walletIframe/hostVariant.js +0 -16
- package/dist/esm/react/core/config/chains.js +0 -90
- package/dist/esm/react/core/config/configBuilder.js +0 -231
- package/dist/esm/react/core/config/configHelpers.js +0 -183
- package/dist/esm/react/core/config/defaultConfigs.js +0 -120
- package/dist/esm/react/core/config/defineConfig.js +0 -48
- package/dist/esm/react/core/config/managedRuntimeScope.js +0 -16
- package/dist/esm/react/core/indexedDB/accountKeyMaterial.js +0 -68
- package/dist/esm/react/core/indexedDB/accountSignerLifecycle.js +0 -143
- package/dist/esm/react/core/indexedDB/index.js +0 -60
- package/dist/esm/react/core/indexedDB/keyMaterialEnvelope.js +0 -69
- package/dist/esm/react/core/indexedDB/lastProfileState.js +0 -22
- package/dist/esm/react/core/indexedDB/linkedAuthoritySignerMaterial.js +0 -291
- package/dist/esm/react/core/indexedDB/nonceLaneCoordinationStore.js +0 -115
- package/dist/esm/react/core/indexedDB/normalization.js +0 -24
- package/dist/esm/react/core/indexedDB/pendingWalletRecoveryCommit.js +0 -482
- package/dist/esm/react/core/indexedDB/pendingWalletRegistrationCommit.js +0 -879
- package/dist/esm/react/core/indexedDB/profileAccountProjection.js +0 -70
- package/dist/esm/react/core/indexedDB/schemaNames.js +0 -845
- package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.js +0 -209
- package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +0 -848
- package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +0 -1215
- package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +0 -235
- package/dist/esm/react/core/indexedDB/seamsWalletDB/manager.js +0 -140
- package/dist/esm/react/core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.js +0 -145
- package/dist/esm/react/core/indexedDB/seamsWalletDB/repositories.js +0 -4747
- package/dist/esm/react/core/indexedDB/seamsWalletDB/schema.js +0 -23
- package/dist/esm/react/core/indexedDB/seamsWalletDB/signingSessionSeals.js +0 -205
- package/dist/esm/react/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +0 -198
- package/dist/esm/react/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +0 -569
- package/dist/esm/react/core/indexedDB/singletons.js +0 -7
- package/dist/esm/react/core/indexedDB/unifiedIndexedDBManager.js +0 -578
- package/dist/esm/react/core/indexedDB/walletCustodyEd25519MaterialRecord.js +0 -60
- package/dist/esm/react/core/platform/browser/createBrowserPlatformRuntime.js +0 -552
- package/dist/esm/react/core/platform/secretSources.js +0 -111
- package/dist/esm/react/core/platform/signerCoreCommandAdapters.js +0 -122
- package/dist/esm/react/core/rpcClients/evm/EvmClient.js +0 -549
- package/dist/esm/react/core/rpcClients/evm/nonceBackend.js +0 -279
- package/dist/esm/react/core/rpcClients/near/NearClient.js +0 -56
- package/dist/esm/react/core/rpcClients/near/NearRpcError.js +0 -105
- package/dist/esm/react/core/rpcClients/near/rpcCalls.js +0 -376
- package/dist/esm/react/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.js +0 -67
- package/dist/esm/react/core/rpcClients/relayer/passkeyCustodyEnvelope.js +0 -228
- package/dist/esm/react/core/rpcClients/relayer/registrationSignerSetRequest.js +0 -8
- package/dist/esm/react/core/rpcClients/relayer/relayerHttp.js +0 -26
- package/dist/esm/react/core/rpcClients/relayer/routerAbNormalSigning.js +0 -812
- package/dist/esm/react/core/rpcClients/relayer/routerAbNormalSigningValidation.js +0 -23
- package/dist/esm/react/core/rpcClients/relayer/sealedRefreshCapabilities.js +0 -148
- package/dist/esm/react/core/rpcClients/relayer/thresholdEcdsa.js +0 -237
- package/dist/esm/react/core/rpcClients/relayer/walletRecoveryFinalize.js +0 -174
- package/dist/esm/react/core/rpcClients/relayer/walletRecoveryGoogleEmailOtp.js +0 -161
- package/dist/esm/react/core/rpcClients/relayer/walletRecoveryPrepare.js +0 -295
- package/dist/esm/react/core/rpcClients/relayer/walletRecoveryRotate.js +0 -311
- package/dist/esm/react/core/rpcClients/relayer/walletRegistration.js +0 -2349
- package/dist/esm/react/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +0 -719
- package/dist/esm/react/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +0 -214
- package/dist/esm/react/core/runtime/createSigningRuntime.js +0 -100
- package/dist/esm/react/core/signingEngine/assembly/createManagers.js +0 -80
- package/dist/esm/react/core/signingEngine/assembly/createPorts.js +0 -54
- package/dist/esm/react/core/signingEngine/assembly/ports/emailOtp.js +0 -30
- package/dist/esm/react/core/signingEngine/assembly/ports/evmFamily.js +0 -73
- package/dist/esm/react/core/signingEngine/assembly/ports/near.js +0 -21
- package/dist/esm/react/core/signingEngine/assembly/ports/recovery.js +0 -75
- package/dist/esm/react/core/signingEngine/assembly/ports/registration.js +0 -22
- package/dist/esm/react/core/signingEngine/assembly/ports/session.js +0 -25
- package/dist/esm/react/core/signingEngine/assembly/ports/shared.js +0 -40
- package/dist/esm/react/core/signingEngine/assembly/ports/stepUpRuntime.js +0 -67
- package/dist/esm/react/core/signingEngine/assembly/ports/warmSigning.js +0 -92
- package/dist/esm/react/core/signingEngine/assembly/warmup.js +0 -68
- package/dist/esm/react/core/signingEngine/chains/evm/bytes.js +0 -22
- package/dist/esm/react/core/signingEngine/chains/evm/display/calldata.js +0 -25
- package/dist/esm/react/core/signingEngine/chains/evm/display/evmTx.js +0 -119
- package/dist/esm/react/core/signingEngine/chains/evm/display/functionSelectors.js +0 -75
- package/dist/esm/react/core/signingEngine/chains/evm/display/gas.js +0 -19
- package/dist/esm/react/core/signingEngine/chains/evm/display/normalization.js +0 -23
- package/dist/esm/react/core/signingEngine/chains/evm/evmAdapter.js +0 -44
- package/dist/esm/react/core/signingEngine/chains/evm/evmCryptoWasm.js +0 -198
- package/dist/esm/react/core/signingEngine/chains/near/display.js +0 -248
- package/dist/esm/react/core/signingEngine/chains/near/nearSignerWasm.js +0 -170
- package/dist/esm/react/core/signingEngine/chains/near/payloads.js +0 -58
- package/dist/esm/react/core/signingEngine/chains/tempo/display.js +0 -130
- package/dist/esm/react/core/signingEngine/chains/tempo/feeToken.js +0 -187
- package/dist/esm/react/core/signingEngine/chains/tempo/tempoAdapter.js +0 -49
- package/dist/esm/react/core/signingEngine/chains/tempo/tempoSignerWasm.js +0 -90
- package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +0 -428
- package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaExportFlow.js +0 -660
- package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +0 -243
- package/dist/esm/react/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +0 -353
- package/dist/esm/react/core/signingEngine/flows/recovery/exportKeypairOperation.js +0 -216
- package/dist/esm/react/core/signingEngine/flows/recovery/exportLaneSelection.js +0 -283
- package/dist/esm/react/core/signingEngine/flows/recovery/keyExportConfirmation.js +0 -325
- package/dist/esm/react/core/signingEngine/flows/recovery/keyExportFlow.js +0 -81
- package/dist/esm/react/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +0 -195
- package/dist/esm/react/core/signingEngine/flows/recovery/public.js +0 -26
- package/dist/esm/react/core/signingEngine/flows/recovery/stepUpAuthorization.js +0 -139
- package/dist/esm/react/core/signingEngine/flows/registration/accountLifecycle.js +0 -1098
- package/dist/esm/react/core/signingEngine/flows/registration/nearProvisioningRegistry.js +0 -79
- package/dist/esm/react/core/signingEngine/flows/registration/public.js +0 -85
- package/dist/esm/react/core/signingEngine/flows/registration/services/ecdsaRegistrationSessions.js +0 -77
- package/dist/esm/react/core/signingEngine/flows/registration/services/ecdsaWalletRecords.js +0 -15
- package/dist/esm/react/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +0 -83
- package/dist/esm/react/core/signingEngine/flows/registration/services/registrationAccounts.js +0 -30
- package/dist/esm/react/core/signingEngine/flows/registration/session.js +0 -24
- package/dist/esm/react/core/signingEngine/flows/shared/signingConfirmation.js +0 -194
- package/dist/esm/react/core/signingEngine/flows/shared/signingStateMachine.js +0 -485
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/accountAuth.js +0 -12
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/addresses.js +0 -10
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/authPlanning.js +0 -139
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/ecdsaLanes.js +0 -102
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +0 -233
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/emailOtpPublic.js +0 -123
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +0 -227
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/errors.js +0 -127
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/events.js +0 -39
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/evmNonceLifecycle.js +0 -49
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/executorThresholdState.js +0 -22
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/freshAuthRetryPolicy.js +0 -98
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/freshWalletSessionRetry.js +0 -76
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/nonceLifecycleAdapter.js +0 -245
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/nonceResolution.js +0 -91
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/operationIds.js +0 -33
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/preparedSigning.js +0 -383
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.js +0 -191
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/requireEvmFamilyStepUpAuth.js +0 -128
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +0 -512
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmFamilyWithUiConfirmForTempo.js +0 -65
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmWithUiConfirm.js +0 -26
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signatureUses.js +0 -12
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signerLoader.js +0 -25
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.js +0 -76
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +0 -182
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signers/webauthnP256.js +0 -84
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlow.js +0 -631
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +0 -391
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/stepUpAuthorization.js +0 -56
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/tempoNonceLifecycle.js +0 -47
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/thresholdAdmission.js +0 -87
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/transactionExecutor.js +0 -143
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/types.js +0 -20
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/webauthnP256KeyRef.js +0 -33
- package/dist/esm/react/core/signingEngine/flows/signNear/implicitAccountFunding.js +0 -202
- package/dist/esm/react/core/signingEngine/flows/signNear/nearSigningFlow.js +0 -56
- package/dist/esm/react/core/signingEngine/flows/signNear/requireNearStepUpAuth.js +0 -102
- package/dist/esm/react/core/signingEngine/flows/signNear/shared/confirmationProgress.js +0 -28
- package/dist/esm/react/core/signingEngine/flows/signNear/shared/ed25519YaoCapabilityResolution.js +0 -101
- package/dist/esm/react/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +0 -822
- package/dist/esm/react/core/signingEngine/flows/signNear/shared/implicitAccountFundingPort.js +0 -24
- package/dist/esm/react/core/signingEngine/flows/signNear/shared/operationStepUpPreparation.js +0 -68
- package/dist/esm/react/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +0 -343
- package/dist/esm/react/core/signingEngine/flows/signNear/shared/signingMaterials.js +0 -25
- package/dist/esm/react/core/signingEngine/flows/signNear/shared/signingSessionAuthMode.js +0 -138
- package/dist/esm/react/core/signingEngine/flows/signNear/signDelegate.js +0 -290
- package/dist/esm/react/core/signingEngine/flows/signNear/signNear.js +0 -1238
- package/dist/esm/react/core/signingEngine/flows/signNear/signNep413.js +0 -144
- package/dist/esm/react/core/signingEngine/flows/signNear/signTransactions.js +0 -897
- package/dist/esm/react/core/signingEngine/flows/signNear/signatureUses.js +0 -12
- package/dist/esm/react/core/signingEngine/flows/signNear/stepUpAuthorization.js +0 -42
- package/dist/esm/react/core/signingEngine/interfaces/accountAuthMetadata.js +0 -14
- package/dist/esm/react/core/signingEngine/interfaces/ecdsaChainTarget.js +0 -142
- package/dist/esm/react/core/signingEngine/interfaces/operationStepUpPreparation.js +0 -18
- package/dist/esm/react/core/signingEngine/nonce/NonceCoordinator.js +0 -1026
- package/dist/esm/react/core/signingEngine/nonce/evmNonceLane.js +0 -182
- package/dist/esm/react/core/signingEngine/nonce/nearNonceLane.js +0 -669
- package/dist/esm/react/core/signingEngine/nonce/nearNonceLaneIdentity.js +0 -24
- package/dist/esm/react/core/signingEngine/nonce/nonceCoordinationRecordBoundary.js +0 -216
- package/dist/esm/react/core/signingEngine/nonce/nonceDiagnostics.js +0 -232
- package/dist/esm/react/core/signingEngine/nonce/nonceLaneKeys.js +0 -110
- package/dist/esm/react/core/signingEngine/nonce/nonceLeaseState.js +0 -128
- package/dist/esm/react/core/signingEngine/nonce/nonceTypes.js +0 -59
- package/dist/esm/react/core/signingEngine/nonce/nonceUtils.js +0 -33
- package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/httpRequest.js +0 -74
- package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.js +0 -217
- package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +0 -1216
- package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/presignatureRefillProgress.js +0 -53
- package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +0 -22
- package/dist/esm/react/core/signingEngine/session/SigningSessionCoordinator.js +0 -347
- package/dist/esm/react/core/signingEngine/session/authority/authorityOperationResolver.js +0 -165
- package/dist/esm/react/core/signingEngine/session/availability/availableSigningLanes.js +0 -1073
- package/dist/esm/react/core/signingEngine/session/availability/canonicalLaneInventory.js +0 -127
- package/dist/esm/react/core/signingEngine/session/availability/clientSessionExpiryInvalidator.js +0 -72
- package/dist/esm/react/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +0 -213
- package/dist/esm/react/core/signingEngine/session/availability/readiness.js +0 -464
- package/dist/esm/react/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.js +0 -47
- package/dist/esm/react/core/signingEngine/session/emailOtp/challengeDelivery.js +0 -56
- package/dist/esm/react/core/signingEngine/session/emailOtp/coordinatorRuntime.js +0 -131
- package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaBootstrapCommit.js +0 -106
- package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaLifecycleRuntime.js +0 -50
- package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaLogin.js +0 -941
- package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaPublication.js +0 -414
- package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaRecovery.js +0 -268
- package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.js +0 -95
- package/dist/esm/react/core/signingEngine/session/emailOtp/ed25519ExportContext.js +0 -376
- package/dist/esm/react/core/signingEngine/session/emailOtp/exportRecovery.js +0 -286
- package/dist/esm/react/core/signingEngine/session/emailOtp/exportRecoveryRuntime.js +0 -50
- package/dist/esm/react/core/signingEngine/session/emailOtp/persistedSnapshot.js +0 -22
- package/dist/esm/react/core/signingEngine/session/emailOtp/publicTypes.js +0 -38
- package/dist/esm/react/core/signingEngine/session/emailOtp/routePlan.js +0 -60
- package/dist/esm/react/core/signingEngine/session/emailOtp/runtimeConfig.js +0 -24
- package/dist/esm/react/core/signingEngine/session/emailOtp/sealedRefreshPolicy.js +0 -49
- package/dist/esm/react/core/signingEngine/session/emailOtp/sealedRestoreOrchestrator.js +0 -234
- package/dist/esm/react/core/signingEngine/session/emailOtp/sealedRuntimePurpose.js +0 -16
- package/dist/esm/react/core/signingEngine/session/emailOtp/sealedSessionRegistry.js +0 -40
- package/dist/esm/react/core/signingEngine/session/emailOtp/status.js +0 -72
- package/dist/esm/react/core/signingEngine/session/emailOtp/walletUnlock.js +0 -168
- package/dist/esm/react/core/signingEngine/session/emailOtp/warmSessionRuntime.js +0 -70
- package/dist/esm/react/core/signingEngine/session/emailOtp/workerEnrollment.js +0 -159
- package/dist/esm/react/core/signingEngine/session/emailOtp/workerRequests.js +0 -84
- package/dist/esm/react/core/signingEngine/session/emailOtp/zeroize.js +0 -9
- package/dist/esm/react/core/signingEngine/session/identity/clientSessionPersistenceState.js +0 -95
- package/dist/esm/react/core/signingEngine/session/identity/emailOtpEcdsaDerivationIdentity.js +0 -23
- package/dist/esm/react/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +0 -265
- package/dist/esm/react/core/signingEngine/session/identity/exactSigningLaneIdentity.js +0 -338
- package/dist/esm/react/core/signingEngine/session/identity/exactWalletSessionCredential.js +0 -106
- package/dist/esm/react/core/signingEngine/session/identity/exactWalletSessionReader.js +0 -54
- package/dist/esm/react/core/signingEngine/session/identity/laneIdentity.js +0 -168
- package/dist/esm/react/core/signingEngine/session/identity/ownerLaneScope.js +0 -185
- package/dist/esm/react/core/signingEngine/session/identity/selectLane.js +0 -349
- package/dist/esm/react/core/signingEngine/session/identity/signingLaneAuthBinding.js +0 -29
- package/dist/esm/react/core/signingEngine/session/keyMaterialBrands.js +0 -75
- package/dist/esm/react/core/signingEngine/session/lanes/walletExecutionLaneHydration.js +0 -194
- package/dist/esm/react/core/signingEngine/session/lifecycle/canonicalWalletSessionStatus.js +0 -32
- package/dist/esm/react/core/signingEngine/session/lifecycle/walletSessionFailure.js +0 -69
- package/dist/esm/react/core/signingEngine/session/lifecycle/walletSessionStatus.js +0 -123
- package/dist/esm/react/core/signingEngine/session/material/activeEcdsaCapabilityRuntime.js +0 -171
- package/dist/esm/react/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +0 -323
- package/dist/esm/react/core/signingEngine/session/material/ecdsaCapabilityHydration.js +0 -75
- package/dist/esm/react/core/signingEngine/session/material/ecdsaCapabilityManifest.js +0 -510
- package/dist/esm/react/core/signingEngine/session/material/ecdsaRoleLocalMaterialResolver.js +0 -122
- package/dist/esm/react/core/signingEngine/session/material/ecdsaSealedRuntime.js +0 -197
- package/dist/esm/react/core/signingEngine/session/material/ecdsaSigningCapability.js +0 -231
- package/dist/esm/react/core/signingEngine/session/material/linkedEcdsaHolderRuntime.js +0 -36
- package/dist/esm/react/core/signingEngine/session/material/mpcCapabilityHydration.js +0 -79
- package/dist/esm/react/core/signingEngine/session/material/nearEd25519YaoMaterialActivation.js +0 -80
- package/dist/esm/react/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.js +0 -122
- package/dist/esm/react/core/signingEngine/session/material/restorableMpcMaterialRef.internal.js +0 -21
- package/dist/esm/react/core/signingEngine/session/material/walletSigningStateFailure.js +0 -84
- package/dist/esm/react/core/signingEngine/session/operationState/authorizationAdmission.js +0 -98
- package/dist/esm/react/core/signingEngine/session/operationState/lanes.js +0 -127
- package/dist/esm/react/core/signingEngine/session/operationState/preparedOperation.js +0 -38
- package/dist/esm/react/core/signingEngine/session/operationState/trace.js +0 -94
- package/dist/esm/react/core/signingEngine/session/operationState/transactionState.js +0 -106
- package/dist/esm/react/core/signingEngine/session/operationState/types.js +0 -88
- package/dist/esm/react/core/signingEngine/session/passkey/ecdsaBootstrap.js +0 -187
- package/dist/esm/react/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +0 -206
- package/dist/esm/react/core/signingEngine/session/passkey/ecdsaRecovery.js +0 -87
- package/dist/esm/react/core/signingEngine/session/passkey/ecdsaSessionProvision.js +0 -224
- package/dist/esm/react/core/signingEngine/session/passkey/ecdsaWarmCapabilityBootstrap.js +0 -147
- package/dist/esm/react/core/signingEngine/session/passkey/ed25519Provisioner.js +0 -55
- package/dist/esm/react/core/signingEngine/session/passkey/ed25519SessionProvision.js +0 -229
- package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +0 -537
- package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +0 -94
- package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoSealedSession.js +0 -57
- package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +0 -317
- package/dist/esm/react/core/signingEngine/session/passkey/passkeyCustodySessionCache.js +0 -90
- package/dist/esm/react/core/signingEngine/session/passkey/prfCache.js +0 -60
- package/dist/esm/react/core/signingEngine/session/passkey/public.js +0 -15
- package/dist/esm/react/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.js +0 -247
- package/dist/esm/react/core/signingEngine/session/passkey/warmSessionHydration.js +0 -9
- package/dist/esm/react/core/signingEngine/session/persistence/clientSessionPersistence.js +0 -143
- package/dist/esm/react/core/signingEngine/session/persistence/durableSealedSessionCommands.js +0 -30
- package/dist/esm/react/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.js +0 -316
- package/dist/esm/react/core/signingEngine/session/persistence/ecdsaSealedRecordKey.js +0 -20
- package/dist/esm/react/core/signingEngine/session/persistence/sealedSessionRecords.js +0 -764
- package/dist/esm/react/core/signingEngine/session/persistence/sealedSessionStore.js +0 -518
- package/dist/esm/react/core/signingEngine/session/persistence/walletSessionAuthorizationProjection.js +0 -51
- package/dist/esm/react/core/signingEngine/session/planning/operationFingerprint.js +0 -30
- package/dist/esm/react/core/signingEngine/session/planning/operationIdBinding.js +0 -36
- package/dist/esm/react/core/signingEngine/session/planning/planner.js +0 -98
- package/dist/esm/react/core/signingEngine/session/postconditions/runtimePostconditions.js +0 -165
- package/dist/esm/react/core/signingEngine/session/public.js +0 -44
- package/dist/esm/react/core/signingEngine/session/routerAbSigningWalletSession.js +0 -125
- package/dist/esm/react/core/signingEngine/session/sealedRecovery/exactRecordLookup.js +0 -148
- package/dist/esm/react/core/signingEngine/session/sealedRecovery/materialActivationKey.js +0 -22
- package/dist/esm/react/core/signingEngine/session/sealedRecovery/recoveryRecord.js +0 -248
- package/dist/esm/react/core/signingEngine/session/sealedRecovery/restoreCoordinator.js +0 -229
- package/dist/esm/react/core/signingEngine/session/userPreferences.js +0 -212
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/capabilityReader.js +0 -62
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/capabilityReaderCore.js +0 -293
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/clearVolatileWarmSigningMaterial.js +0 -44
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaBootstrapPersistence.js +0 -107
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaBootstrapQueue.js +0 -22
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.js +0 -93
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefillSigningMaterialSource.js +0 -50
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.js +0 -9
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.js +0 -251
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +0 -98
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/public.js +0 -31
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/readModel.js +0 -161
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.js +0 -256
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/routerAbWalletSessionCredential.js +0 -73
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/sealedRefreshParity.js +0 -67
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/statusReader.js +0 -100
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/transitions.js +0 -51
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/types.js +0 -122
- package/dist/esm/react/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.js +0 -45
- package/dist/esm/react/core/signingEngine/stepUpConfirmation/channel/confirmCommon.js +0 -89
- package/dist/esm/react/core/signingEngine/stepUpConfirmation/channel/confirmTypes.js +0 -12
- package/dist/esm/react/core/signingEngine/stepUpConfirmation/confirmOperation.js +0 -51
- package/dist/esm/react/core/signingEngine/stepUpConfirmation/intentDigestPreparation.js +0 -29
- package/dist/esm/react/core/signingEngine/stepUpConfirmation/methodSelection.js +0 -41
- package/dist/esm/react/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.js +0 -32
- package/dist/esm/react/core/signingEngine/stepUpConfirmation/otpPrompt/exportAuthorization.js +0 -108
- package/dist/esm/react/core/signingEngine/stepUpConfirmation/otpPrompt/promptText.js +0 -8
- package/dist/esm/react/core/signingEngine/stepUpConfirmation/otpPrompt/signingPrompt.js +0 -15
- package/dist/esm/react/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +0 -295
- package/dist/esm/react/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.js +0 -170
- package/dist/esm/react/core/signingEngine/stepUpConfirmation/requireStepUpAuth.js +0 -63
- package/dist/esm/react/core/signingEngine/stepUpConfirmation/types.js +0 -29
- package/dist/esm/react/core/signingEngine/stepUpConfirmation/userConfirmationType.js +0 -15
- package/dist/esm/react/core/signingEngine/threshold/commitQueueShared.js +0 -125
- package/dist/esm/react/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +0 -616
- package/dist/esm/react/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.js +0 -70
- package/dist/esm/react/core/signingEngine/threshold/ecdsa/activation.js +0 -267
- package/dist/esm/react/core/signingEngine/threshold/ecdsa/bootstrapSession.js +0 -119
- package/dist/esm/react/core/signingEngine/threshold/ecdsa/operationStepUp.js +0 -110
- package/dist/esm/react/core/signingEngine/threshold/ecdsa/postRegistrationSessionActivation.js +0 -132
- package/dist/esm/react/core/signingEngine/threshold/ecdsa/signingQueue.js +0 -58
- package/dist/esm/react/core/signingEngine/threshold/ed25519/commitQueue.js +0 -52
- package/dist/esm/react/core/signingEngine/threshold/ed25519/connectSession.js +0 -137
- package/dist/esm/react/core/signingEngine/threshold/ed25519/walletSession.js +0 -363
- package/dist/esm/react/core/signingEngine/threshold/ed25519/yaoActiveClientRegistry.js +0 -146
- package/dist/esm/react/core/signingEngine/threshold/ed25519/yaoClient.js +0 -597
- package/dist/esm/react/core/signingEngine/threshold/ed25519/yaoPageLifecycleOwner.js +0 -23
- package/dist/esm/react/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.js +0 -295
- package/dist/esm/react/core/signingEngine/threshold/sessionPolicy.js +0 -94
- package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcExportManager.js +0 -233
- package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +0 -496
- package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +0 -745
- package/dist/esm/react/core/signingEngine/uiConfirm/UiConfirmManager.js +0 -600
- package/dist/esm/react/core/signingEngine/uiConfirm/confirmationReadinessRegistry.js +0 -41
- package/dist/esm/react/core/signingEngine/uiConfirm/exportConfirmRequest.js +0 -149
- package/dist/esm/react/core/signingEngine/uiConfirm/handlers/determineConfirmationConfig.js +0 -82
- package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flowOrchestrator.js +0 -363
- package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +0 -337
- package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/adapters/request.js +0 -120
- package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/localOnly.js +0 -150
- package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/registration.js +0 -235
- package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/requestRegistrationCredentialConfirmation.js +0 -178
- package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/signing.js +0 -684
- package/dist/esm/react/core/signingEngine/uiConfirm/handlers/handlePromptFromWorker.js +0 -90
- package/dist/esm/react/core/signingEngine/uiConfirm/nearFundingNotice.js +0 -50
- package/dist/esm/react/core/signingEngine/uiConfirm/transactionReviewAdmission.js +0 -8
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/appearance-token-vars.js +0 -31
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/appearance.js +0 -27
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +0 -346
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/confirm-ui.js +0 -516
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/confirmation-body-model.js +0 -24
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/confirmation-model.js +0 -161
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/drawer-gesture.js +0 -16
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/export-private-key-reveal.js +0 -155
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/export-viewer-host.js +0 -207
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.js +0 -131
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.js +0 -29
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.js +0 -49
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +0 -137
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.js +0 -294
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +0 -67
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/CopyStatusIcon.js +0 -41
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/EmailOtpContent.js +0 -141
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.js +0 -92
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.js +0 -318
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/HaloBorder.js +0 -91
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/PadlockIcon.js +0 -32
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/PasskeyHaloLoading.js +0 -63
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.js +0 -75
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.js +0 -33
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +0 -518
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +0 -128
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/SeamsWordmark.js +0 -22
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +0 -158
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +0 -287
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +0 -311
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionTree.js +0 -284
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/clipboard.js +0 -26
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.js +0 -80
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/confirmation-styles.js +0 -20
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/email-otp-session.js +0 -178
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +0 -297
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/mountExportPrivateKeySurface.js +0 -86
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +0 -82
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/seamsWordmarkPaths.js +0 -6
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/surface-measurement-binding.js +0 -12
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/surface-resize-events.js +0 -18
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-activity.js +0 -46
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/abi/abiDecode.js +0 -325
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/abi/enrichDisplayModelWithAbi.js +0 -77
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/confirmation-tree.js +0 -27
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/formatters.js +0 -57
- 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/fallback.js +0 -52
- 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/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/renderers/types.js +0 -62
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +0 -258
- package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-receipt.js +0 -50
- package/dist/esm/react/core/signingEngine/uiConfirm/warmSessionUiConfirm.js +0 -65
- package/dist/esm/react/core/signingEngine/walletCustody/activateEd25519Capability.js +0 -123
- package/dist/esm/react/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.js +0 -94
- package/dist/esm/react/core/signingEngine/walletCustody/ceremonyDriver.js +0 -171
- package/dist/esm/react/core/signingEngine/walletCustody/ceremonyStepRunner.js +0 -20
- package/dist/esm/react/core/signingEngine/walletCustody/ed25519ActiveClient.js +0 -100
- package/dist/esm/react/core/signingEngine/walletCustody/ed25519Projection.js +0 -32
- package/dist/esm/react/core/signingEngine/walletCustody/ed25519SeedMaterial.js +0 -92
- package/dist/esm/react/core/signingEngine/walletCustody/emailOtpLink.js +0 -135
- package/dist/esm/react/core/signingEngine/walletCustody/joinCustodyWire.js +0 -64
- package/dist/esm/react/core/signingEngine/walletCustody/openCustodyCache.js +0 -130
- package/dist/esm/react/core/signingEngine/walletCustody/passkeyLink.js +0 -183
- package/dist/esm/react/core/signingEngine/walletCustody/recoveryReplacementEnvelope.js +0 -60
- package/dist/esm/react/core/signingEngine/walletCustody/registrationCeremony.js +0 -461
- package/dist/esm/react/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +0 -258
- package/dist/esm/react/core/signingEngine/walletCustody/walletRecoveryCredential.js +0 -24
- package/dist/esm/react/core/signingEngine/walletCustody/walletRecoveryEcdsa.js +0 -76
- package/dist/esm/react/core/signingEngine/walletCustody/walletRecoveryEd25519.js +0 -129
- package/dist/esm/react/core/signingEngine/walletCustody/walletRecoveryManifest.js +0 -180
- package/dist/esm/react/core/signingEngine/walletCustody/walletRecoveryRotation.js +0 -103
- package/dist/esm/react/core/signingEngine/webauthnAuth/credentials/collectAuthenticationCredentialForChallengeB64u.js +0 -154
- package/dist/esm/react/core/signingEngine/webauthnAuth/credentials/credentialExtensions.js +0 -36
- package/dist/esm/react/core/signingEngine/webauthnAuth/credentials/helpers.js +0 -273
- package/dist/esm/react/core/signingEngine/webauthnAuth/device/signerSlot.js +0 -25
- package/dist/esm/react/core/signingEngine/webauthnAuth/fallbacks/safari-fallbacks.js +0 -171
- package/dist/esm/react/core/signingEngine/workerManager/SignerWorkerManager.js +0 -70
- package/dist/esm/react/core/signingEngine/workerManager/deviceLinkingPorts.js +0 -323
- package/dist/esm/react/core/signingEngine/workerManager/deviceLinkingSourceContribution.js +0 -158
- package/dist/esm/react/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +0 -17
- package/dist/esm/react/core/signingEngine/workerManager/ecdsaPresignLifecycle.js +0 -6
- package/dist/esm/react/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.js +0 -49
- package/dist/esm/react/core/signingEngine/workerManager/executeWorkerOperation.js +0 -12
- package/dist/esm/react/core/signingEngine/workerManager/nearKeyOps/createNearKeyOps.js +0 -32
- package/dist/esm/react/core/signingEngine/workerManager/validation.js +0 -114
- package/dist/esm/react/core/signingEngine/workerManager/workerTransport.js +0 -777
- package/dist/esm/react/core/signingEngine/workerManager/workerTypes.js +0 -109
- package/dist/esm/react/core/types/accountIds.js +0 -26
- package/dist/esm/react/core/types/actionBuilders.js +0 -73
- package/dist/esm/react/core/types/confirmationConfig.js +0 -39
- package/dist/esm/react/core/types/eventLogging.js +0 -28
- package/dist/esm/react/core/types/linkDevice.js +0 -49
- package/dist/esm/react/core/types/sdkSentEvents.js +0 -602
- package/dist/esm/react/core/types/secure-confirm-worker.js +0 -22
- package/dist/esm/react/core/types/signer-worker.js +0 -50
- package/dist/esm/react/core/types/walletIframeIdentity.js +0 -15
- package/dist/esm/react/core/walletRuntimePaths/base.js +0 -60
- package/dist/esm/react/core/walletRuntimePaths/emailOtpWorker.js +0 -12
- package/dist/esm/react/core/walletRuntimePaths/multichainWorkers.js +0 -25
- package/dist/esm/react/core/walletRuntimePaths/walletCustodyCeremonyWorker.js +0 -18
- package/dist/esm/react/core/walletRuntimePaths/workers.js +0 -93
- package/dist/esm/react/externalEvm/boundary.js +0 -309
- package/dist/esm/react/externalEvm/controller.js +0 -440
- package/dist/esm/react/externalEvm/types.js +0 -31
- package/dist/esm/react/node_modules/@noble/hashes/esm/_u64.js +0 -36
- package/dist/esm/react/node_modules/@noble/hashes/esm/sha3.js +0 -197
- package/dist/esm/react/node_modules/@noble/hashes/esm/utils.js +0 -87
- package/dist/esm/react/node_modules/viem/_esm/errors/abi.js +0 -48
- package/dist/esm/react/node_modules/viem/_esm/errors/address.js +0 -14
- package/dist/esm/react/node_modules/viem/_esm/errors/base.js +0 -86
- package/dist/esm/react/node_modules/viem/_esm/errors/data.js +0 -16
- package/dist/esm/react/node_modules/viem/_esm/errors/encoding.js +0 -16
- package/dist/esm/react/node_modules/viem/_esm/errors/typedData.js +0 -28
- package/dist/esm/react/node_modules/viem/_esm/errors/version.js +0 -6
- package/dist/esm/react/node_modules/viem/_esm/utils/abi/encodeAbiParameters.js +0 -243
- package/dist/esm/react/node_modules/viem/_esm/utils/address/getAddress.js +0 -28
- package/dist/esm/react/node_modules/viem/_esm/utils/address/isAddress.js +0 -23
- package/dist/esm/react/node_modules/viem/_esm/utils/data/concat.js +0 -23
- package/dist/esm/react/node_modules/viem/_esm/utils/data/isHex.js +0 -10
- package/dist/esm/react/node_modules/viem/_esm/utils/data/pad.js +0 -40
- package/dist/esm/react/node_modules/viem/_esm/utils/data/size.js +0 -16
- package/dist/esm/react/node_modules/viem/_esm/utils/data/slice.js +0 -59
- package/dist/esm/react/node_modules/viem/_esm/utils/encoding/fromHex.js +0 -13
- package/dist/esm/react/node_modules/viem/_esm/utils/encoding/toBytes.js +0 -175
- package/dist/esm/react/node_modules/viem/_esm/utils/encoding/toHex.js +0 -168
- package/dist/esm/react/node_modules/viem/_esm/utils/hash/keccak256.js +0 -15
- package/dist/esm/react/node_modules/viem/_esm/utils/lru.js +0 -38
- package/dist/esm/react/node_modules/viem/_esm/utils/regex.js +0 -7
- package/dist/esm/react/node_modules/viem/_esm/utils/signature/hashTypedData.js +0 -113
- package/dist/esm/react/node_modules/viem/_esm/utils/stringify.js +0 -9
- package/dist/esm/react/node_modules/viem/_esm/utils/typedData.js +0 -80
- package/dist/esm/react/shared-ts/src/authorization/capabilityKinds.js +0 -111
- package/dist/esm/react/shared-ts/src/authorization/delegatedAuthority.js +0 -121
- package/dist/esm/react/shared-ts/src/authorization/index.js +0 -6
- package/dist/esm/react/shared-ts/src/authorization/operationFingerprint.js +0 -57
- package/dist/esm/react/shared-ts/src/authorization/walletAuthority.js +0 -719
- package/dist/esm/react/shared-ts/src/authorization/walletCustodyOperation.js +0 -16
- package/dist/esm/react/shared-ts/src/authorization/walletSessionIssuance.js +0 -118
- package/dist/esm/react/shared-ts/src/device-linking/activeWalletSession.js +0 -104
- package/dist/esm/react/shared-ts/src/device-linking/authorityActivation.js +0 -142
- package/dist/esm/react/shared-ts/src/device-linking/committedSignerPackages.js +0 -273
- package/dist/esm/react/shared-ts/src/device-linking/contracts.js +0 -8
- package/dist/esm/react/shared-ts/src/device-linking/delegatedActivationPlan.js +0 -134
- package/dist/esm/react/shared-ts/src/device-linking/deviceManagement.js +0 -120
- package/dist/esm/react/shared-ts/src/device-linking/digests.js +0 -115
- package/dist/esm/react/shared-ts/src/device-linking/ed25519ExportRoot.js +0 -171
- package/dist/esm/react/shared-ts/src/device-linking/index.js +0 -12
- package/dist/esm/react/shared-ts/src/device-linking/parsers.js +0 -1029
- package/dist/esm/react/shared-ts/src/device-linking/requestProof.js +0 -25
- package/dist/esm/react/shared-ts/src/device-linking/sourceContribution.js +0 -545
- package/dist/esm/react/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +0 -173
- package/dist/esm/react/shared-ts/src/device-linking/wireFields.js +0 -59
- package/dist/esm/react/shared-ts/src/near/actions.js +0 -236
- package/dist/esm/react/shared-ts/src/near/nearClient.js +0 -252
- package/dist/esm/react/shared-ts/src/passkey-custody/ceremonyCommitPayload.js +0 -43
- package/dist/esm/react/shared-ts/src/passkey-custody/custodyEnvelope.js +0 -278
- package/dist/esm/react/shared-ts/src/passkey-custody/custodySecretBinding.js +0 -181
- package/dist/esm/react/shared-ts/src/passkey-custody/index.js +0 -4
- package/dist/esm/react/shared-ts/src/passkey-custody/primitives.js +0 -58
- package/dist/esm/react/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.js +0 -49
- package/dist/esm/react/shared-ts/src/signing-lanes/index.js +0 -8
- package/dist/esm/react/shared-ts/src/signing-lanes/ownerContinuity.js +0 -66
- package/dist/esm/react/shared-ts/src/signing-lanes/participantDigest.js +0 -2
- package/dist/esm/react/shared-ts/src/signing-lanes/participants.js +0 -256
- package/dist/esm/react/shared-ts/src/signing-lanes/recordParsers.js +0 -483
- package/dist/esm/react/shared-ts/src/signing-lanes/rotationDigests.js +0 -6
- package/dist/esm/react/shared-ts/src/signing-lanes/rotationParsers.js +0 -3
- package/dist/esm/react/shared-ts/src/signing-lanes/rotationProtocolParsers.js +0 -8
- package/dist/esm/react/shared-ts/src/signing-lanes/rotationWireFields.js +0 -3
- package/dist/esm/react/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.js +0 -39
- package/dist/esm/react/shared-ts/src/threshold/ed25519OperationFingerprint.js +0 -222
- package/dist/esm/react/shared-ts/src/threshold/keyMaterialBrands.js +0 -25
- package/dist/esm/react/shared-ts/src/threshold/participants.js +0 -67
- package/dist/esm/react/shared-ts/src/threshold/secp256k1.js +0 -6
- package/dist/esm/react/shared-ts/src/threshold/sessionPolicy.js +0 -8
- package/dist/esm/react/shared-ts/src/threshold/signingRootScope.js +0 -40
- package/dist/esm/react/shared-ts/src/utils/addAuthMethodRegistration.js +0 -103
- package/dist/esm/react/shared-ts/src/utils/addWalletAuthMethod.js +0 -1
- package/dist/esm/react/shared-ts/src/utils/authenticatorOptions.js +0 -22
- package/dist/esm/react/shared-ts/src/utils/base58.js +0 -28
- package/dist/esm/react/shared-ts/src/utils/base64.js +0 -70
- package/dist/esm/react/shared-ts/src/utils/canonicalPrimitives.js +0 -38
- package/dist/esm/react/shared-ts/src/utils/digestEncoding.js +0 -63
- package/dist/esm/react/shared-ts/src/utils/digests.js +0 -33
- package/dist/esm/react/shared-ts/src/utils/domainIds.js +0 -257
- package/dist/esm/react/shared-ts/src/utils/ecdsaCapabilityActivation.js +0 -67
- package/dist/esm/react/shared-ts/src/utils/ecdsaKeyFactsInventory.js +0 -46
- package/dist/esm/react/shared-ts/src/utils/ecdsaServerTiming.js +0 -39
- package/dist/esm/react/shared-ts/src/utils/emailOtpDomain.js +0 -28
- package/dist/esm/react/shared-ts/src/utils/emailOtpRecoveryKey.js +0 -65
- package/dist/esm/react/shared-ts/src/utils/encoders.js +0 -2
- package/dist/esm/react/shared-ts/src/utils/errors.js +0 -95
- package/dist/esm/react/shared-ts/src/utils/evmRpcResults.js +0 -101
- package/dist/esm/react/shared-ts/src/utils/exactRecord.js +0 -44
- package/dist/esm/react/shared-ts/src/utils/index.js +0 -38
- package/dist/esm/react/shared-ts/src/utils/jsonRpc.js +0 -64
- package/dist/esm/react/shared-ts/src/utils/keccak.js +0 -150
- package/dist/esm/react/shared-ts/src/utils/near.js +0 -205
- package/dist/esm/react/shared-ts/src/utils/nearRpcResults.js +0 -205
- package/dist/esm/react/shared-ts/src/utils/normalize.js +0 -86
- package/dist/esm/react/shared-ts/src/utils/registrationAuthMethodInput.js +0 -84
- package/dist/esm/react/shared-ts/src/utils/registrationEstablishedSession.js +0 -275
- package/dist/esm/react/shared-ts/src/utils/registrationIds.js +0 -226
- package/dist/esm/react/shared-ts/src/utils/registrationIntent.js +0 -396
- package/dist/esm/react/shared-ts/src/utils/registrationSignerPlan.js +0 -442
- package/dist/esm/react/shared-ts/src/utils/routerAbEcdsaDerivation.js +0 -1334
- package/dist/esm/react/shared-ts/src/utils/routerAbEd25519Yao.js +0 -747
- package/dist/esm/react/shared-ts/src/utils/routerAbEd25519YaoDigests.js +0 -76
- package/dist/esm/react/shared-ts/src/utils/routerAbNormalSigningIdentity.js +0 -115
- package/dist/esm/react/shared-ts/src/utils/routerAbPublicKeyset.js +0 -11
- package/dist/esm/react/shared-ts/src/utils/routerAbTraceContext.js +0 -36
- package/dist/esm/react/shared-ts/src/utils/secureRandomId.js +0 -35
- package/dist/esm/react/shared-ts/src/utils/signerDomain.js +0 -37
- package/dist/esm/react/shared-ts/src/utils/signerSlot.js +0 -12
- package/dist/esm/react/shared-ts/src/utils/signingSessionSeal.js +0 -98
- package/dist/esm/react/shared-ts/src/utils/theme.js +0 -8
- package/dist/esm/react/shared-ts/src/utils/thresholdEcdsaKeyHandle.js +0 -28
- package/dist/esm/react/shared-ts/src/utils/validation.js +0 -92
- package/dist/esm/react/shared-ts/src/utils/walletAddSignerActivation.js +0 -32
- package/dist/esm/react/shared-ts/src/utils/walletAuthAuthority.js +0 -224
- package/dist/esm/react/shared-ts/src/utils/walletAuthMethodRecord.js +0 -357
- package/dist/esm/react/shared-ts/src/utils/walletCapabilityBindings.js +0 -277
- package/dist/esm/react/shared-ts/src/utils/walletSessionFailure.js +0 -28
- package/dist/esm/react/shared-ts/src/utils/webauthnDeviceInfo.js +0 -50
- package/dist/esm/react/shared-ts/src/utils/wireSchema.js +0 -66
- package/dist/esm/react/shared-ts/src/wallet-recovery/index.js +0 -10
- package/dist/esm/react/shared-ts/src/wallet-recovery/recoveryCodeIssuance.js +0 -35
- package/dist/esm/react/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +0 -34
- package/dist/esm/react/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +0 -24
- package/dist/esm/react/shared-ts/src/wallet-recovery/recoveryCodes.js +0 -3
- package/dist/esm/react/shared-ts/src/wallet-recovery/recoveryKeyId.js +0 -14
- package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +0 -254
- package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +0 -153
- package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +0 -84
- package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryRotation.js +0 -64
- package/dist/esm/react/theme/base-styles.js +0 -117
- package/dist/esm/react/theme/palette.js +0 -170
- package/dist/esm/react/utils/deviceDetection.js +0 -95
- package/dist/esm/react/utils/intentDigest.js +0 -77
- package/dist/esm/react/utils/qrScanner.js +0 -297
- package/dist/esm/sdk/ConfirmationDrawer-MgFTBwwK.js +0 -425
- package/dist/esm/sdk/EvmClient-f3gUhS2L.js +0 -644
- package/dist/esm/sdk/NearClient-DY4NfHeD.js +0 -402
- package/dist/esm/sdk/NonceCoordinator-4XWPhYww.js +0 -2253
- package/dist/esm/sdk/accountIds-DhIPGOSN.js +0 -23
- package/dist/esm/sdk/accountLifecycle-BAGG_rbk.js +0 -1341
- package/dist/esm/sdk/actions-CCvThiKe.js +0 -225
- package/dist/esm/sdk/adapters-B4JeK1nJ.js +0 -4864
- package/dist/esm/sdk/base-D1B5mGin.js +0 -64
- package/dist/esm/sdk/base64-Clm8C-e9.js +0 -68
- package/dist/esm/sdk/browser-D6eZGhzE.js +0 -2393
- package/dist/esm/sdk/bytes-qKxKn4gg.js +0 -40
- package/dist/esm/sdk/canonicalPrimitives-BTHWz80v.js +0 -36
- package/dist/esm/sdk/canonicalSignerErrorCode-CRoJMVpp.js +0 -153
- package/dist/esm/sdk/capabilityKinds-hvYqa6S_.js +0 -109
- package/dist/esm/sdk/chains-BMh3btVo.js +0 -124
- package/dist/esm/sdk/challengeDelivery-Dd0586fo.js +0 -74
- package/dist/esm/sdk/chunk-BtrIJ4_z.js +0 -33
- package/dist/esm/sdk/configHelpers-vAQCzUD0.js +0 -179
- package/dist/esm/sdk/csp-stylesheet-btENhsNp.js +0 -215
- package/dist/esm/sdk/defaultConfigs-B3c16M_8.js +0 -355
- package/dist/esm/sdk/display-KdIL0ff7.js +0 -126
- package/dist/esm/sdk/domainIds-lcrFg6Sa.js +0 -338
- package/dist/esm/sdk/ecdsaCapabilityManifest-kzO_fW09.js +0 -817
- package/dist/esm/sdk/ecdsaChainTarget-Bl-JWyuw.js +0 -121
- package/dist/esm/sdk/ecdsaPresignLifecycle-BFOTNYCK.js +0 -1983
- package/dist/esm/sdk/ecdsaPresignPoolIdentity-BjxZVIqn.js +0 -47
- package/dist/esm/sdk/ecdsaWalletRecords-Cz4m6bIz.js +0 -18
- package/dist/esm/sdk/encoders-D8d07vpx.js +0 -0
- package/dist/esm/sdk/enrichDisplayModelWithAbi-CWggsykc.js +0 -395
- package/dist/esm/sdk/enrichDisplayModelWithAbi-SDRwTd_M.js +0 -579
- package/dist/esm/sdk/errors-93h9uAW9.js +0 -92
- package/dist/esm/sdk/events-DYoBL2HO.js +0 -8
- package/dist/esm/sdk/evmCryptoWasm-DWklhEEb.js +0 -196
- package/dist/esm/sdk/evmFamilyEcdsaIdentity-Co5XDcEA.js +0 -4288
- package/dist/esm/sdk/exactSessionState-CiD5fBEs.js +0 -2612
- package/dist/esm/sdk/exactSigningLaneIdentity-DQeqPMST.js +0 -335
- package/dist/esm/sdk/executeWorkerOperation-Cl9whMK7.js +0 -10
- package/dist/esm/sdk/export-viewer-host-ZqA2Yz3H.js +0 -204
- package/dist/esm/sdk/helpers-ZrowMnev.js +0 -302
- package/dist/esm/sdk/host-BWBbCAMu.js +0 -533
- package/dist/esm/sdk/intentDigest-CvOSNlCH.js +0 -75
- package/dist/esm/sdk/jsonRpc-VVkaQkFD.js +0 -62
- package/dist/esm/sdk/jsxRuntime.module-CuH5ZEIA.js +0 -298
- package/dist/esm/sdk/keccak-DUL3d8SF.js +0 -148
- package/dist/esm/sdk/keyMaterialBrands-CX41hur6.js +0 -94
- package/dist/esm/sdk/localOnly-Bg8UuLZ5.js +0 -146
- package/dist/esm/sdk/messages-C7Dbx9iN.js +0 -594
- package/dist/esm/sdk/mountExportPrivateKeySurface-DgX-IBG_.js +0 -542
- package/dist/esm/sdk/mountRecoveryCodeBackupSurface-DXrExiJ7.js +0 -590
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-DPb0s3hQ.js +0 -4008
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-BeD-SmbK.js +0 -405
- package/dist/esm/sdk/nearRpcResults-DoUgDATm.js +0 -216
- package/dist/esm/sdk/nonceLaneKeys-C3c9lG6u.js +0 -164
- package/dist/esm/sdk/normalization-CBt413-z.js +0 -22
- package/dist/esm/sdk/operationFingerprint-C8Trar4R.js +0 -929
- package/dist/esm/sdk/operationFingerprint-CGZui5dR.js +0 -55
- package/dist/esm/sdk/passkey-custody-Bk1jAknm.js +0 -487
- package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-DLzBb3WQ.js +0 -237
- package/dist/esm/sdk/prfCache-wqQSjYLn.js +0 -58
- package/dist/esm/sdk/profileAccountProjection-uZVJuBvS.js +0 -86
- package/dist/esm/sdk/promptText-CuRa_ivd.js +0 -32
- package/dist/esm/sdk/recovery-entrypoint-DW2tGyMs.js +0 -779
- package/dist/esm/sdk/registration-BZDzDv91.js +0 -14414
- package/dist/esm/sdk/registration-BzVHODuD.js +0 -233
- package/dist/esm/sdk/registrationAccounts-CKku_Sgy.js +0 -33
- package/dist/esm/sdk/registrationIds-DLSdEKSv.js +0 -310
- package/dist/esm/sdk/registrationIntent-D0PxwEY4.js +0 -393
- package/dist/esm/sdk/registrationPreparationPreload-CIAuRlxI.js +0 -13
- package/dist/esm/sdk/registrationSignerPlan-CAikVZZQ.js +0 -440
- package/dist/esm/sdk/relayerHttp-VC8Holz1.js +0 -24
- package/dist/esm/sdk/routePlan-D59x5xzQ.js +0 -83
- package/dist/esm/sdk/router-C5lF_J_u.js +0 -4721
- package/dist/esm/sdk/routerAbNormalSigning-fhvpDtmY.js +0 -992
- package/dist/esm/sdk/runtime-auth-DFTqwj3u.js +0 -5540
- package/dist/esm/sdk/runtime-device-link-C1Oub8Lw.js +0 -259
- package/dist/esm/sdk/runtime-ecdsa-tempo-rkWwolw1.js +0 -177
- package/dist/esm/sdk/runtime-email-otp-vuUG5LYl.js +0 -320
- package/dist/esm/sdk/runtime-export-FZWj0HxJ.js +0 -112
- package/dist/esm/sdk/runtime-near-B9cjurVD.js +0 -278
- package/dist/esm/sdk/runtime-preferences-Dq0bfyS5.js +0 -67
- package/dist/esm/sdk/runtime-recovery-C-vfFKF3.js +0 -45
- package/dist/esm/sdk/runtime-recovery-codes-bTm3fLV4.js +0 -95
- package/dist/esm/sdk/runtimeContext-iLXnxVlZ.js +0 -44443
- package/dist/esm/sdk/runtimeLoader-hod6T2-m.js +0 -44
- package/dist/esm/sdk/sdkSentEvents-MqDkbQg1.js +0 -599
- package/dist/esm/sdk/secp256k1-el9aE4Sv.js +0 -2504
- package/dist/esm/sdk/secureRandomId-BORsmdS4.js +0 -33
- package/dist/esm/sdk/sessionPolicy-CHiilOAB.js +0 -453
- package/dist/esm/sdk/shared-DkbeLCI3.js +0 -33
- package/dist/esm/sdk/signEvmFamily-e4IWWsZs.js +0 -4666
- package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-Cu9qdk8M.js +0 -226
- package/dist/esm/sdk/signEvmWithUiConfirm-C61TCBnh.js +0 -27
- package/dist/esm/sdk/signNear-Bblwn2kT.js +0 -5929
- package/dist/esm/sdk/signatureUses-BkGyYt8F.js +0 -51
- package/dist/esm/sdk/signerDomain-IEAVrOrc.js +0 -59
- package/dist/esm/sdk/signerLoader-D7Aey0FD.js +0 -23
- package/dist/esm/sdk/signerSlot-_ovonwVX.js +0 -10
- package/dist/esm/sdk/signingFlow-rZfPegH9.js +0 -1320
- package/dist/esm/sdk/signingSessionSeal-Cu-GHm6y.js +0 -96
- package/dist/esm/sdk/surface-measurement-reporter-CSTyRsMa.js +0 -156
- package/dist/esm/sdk/trace-rHe0wz7q.js +0 -127
- package/dist/esm/sdk/transaction-activity-CSMCveBn.js +0 -218
- package/dist/esm/sdk/transactionReview-DpHLTznU.js +0 -100
- package/dist/esm/sdk/transactionReviewAdmission-BCPvl8OZ.js +0 -172
- package/dist/esm/sdk/transactionState-DP9O8F6f.js +0 -1885
- package/dist/esm/sdk/types-Dx9fczU7.js +0 -111
- package/dist/esm/sdk/validation-gat4LEKm.js +0 -409
- package/dist/esm/sdk/wallet-recovery-Bz9qKgaL.js +0 -1905
- package/dist/esm/sdk/walletAuthority-BQBxgUBn.js +0 -1251
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-Hn4ORIbf.js +0 -11130
- package/dist/esm/sdk/walletIframeIdentity-DB6Z2EC9.js +0 -13
- package/dist/esm/sdk/walletRecoveryCommit-sjGNTHUj.js +0 -2159
- package/dist/esm/sdk/walletRecoveryRotate-BgLlW5ih.js +0 -309
- package/dist/esm/sdk/warmSessionHydration-Os8niEm7.js +0 -7
- package/dist/esm/sdk/webauthnP256-DC5EIbKN.js +0 -82
- package/dist/esm/sdk/webauthnPromptCoordinator-L96oVvLz.js +0 -168
- package/dist/esm/shared-ts/src/signing-lanes/rotationDigests.js +0 -6
- package/dist/esm/shared-ts/src/signing-lanes/rotationParsers.js +0 -3
- package/dist/esm/shared-ts/src/signing-lanes/rotationProtocolParsers.js +0 -8
- package/dist/esm/shared-ts/src/signing-lanes/rotationWireFields.js +0 -3
- package/dist/esm/shared-ts/src/utils/addWalletAuthMethod.js +0 -1
- package/dist/esm/styles.css +0 -43
- package/dist/public/sdk/ConfirmationDrawer-MgFTBwwK.js +0 -425
- package/dist/public/sdk/EvmClient-f3gUhS2L.js +0 -644
- package/dist/public/sdk/NearClient-DY4NfHeD.js +0 -402
- package/dist/public/sdk/NonceCoordinator-4XWPhYww.js +0 -2253
- package/dist/public/sdk/accountIds-DhIPGOSN.js +0 -23
- package/dist/public/sdk/accountLifecycle-BAGG_rbk.js +0 -1341
- package/dist/public/sdk/actions-CCvThiKe.js +0 -225
- package/dist/public/sdk/adapters-B4JeK1nJ.js +0 -4864
- package/dist/public/sdk/base-D1B5mGin.js +0 -64
- package/dist/public/sdk/base64-Clm8C-e9.js +0 -68
- package/dist/public/sdk/browser-D6eZGhzE.js +0 -2393
- package/dist/public/sdk/bytes-qKxKn4gg.js +0 -40
- package/dist/public/sdk/canonicalPrimitives-BTHWz80v.js +0 -36
- package/dist/public/sdk/canonicalSignerErrorCode-CRoJMVpp.js +0 -153
- package/dist/public/sdk/capabilityKinds-hvYqa6S_.js +0 -109
- package/dist/public/sdk/chains-BMh3btVo.js +0 -124
- package/dist/public/sdk/challengeDelivery-Dd0586fo.js +0 -74
- package/dist/public/sdk/chunk-BtrIJ4_z.js +0 -33
- package/dist/public/sdk/configHelpers-vAQCzUD0.js +0 -179
- package/dist/public/sdk/csp-stylesheet-btENhsNp.js +0 -215
- package/dist/public/sdk/defaultConfigs-B3c16M_8.js +0 -355
- package/dist/public/sdk/display-KdIL0ff7.js +0 -126
- package/dist/public/sdk/domainIds-lcrFg6Sa.js +0 -338
- package/dist/public/sdk/ecdsaCapabilityManifest-kzO_fW09.js +0 -817
- package/dist/public/sdk/ecdsaChainTarget-Bl-JWyuw.js +0 -121
- package/dist/public/sdk/ecdsaPresignLifecycle-BFOTNYCK.js +0 -1983
- package/dist/public/sdk/ecdsaPresignPoolIdentity-BjxZVIqn.js +0 -47
- package/dist/public/sdk/ecdsaWalletRecords-Cz4m6bIz.js +0 -18
- package/dist/public/sdk/encoders-D8d07vpx.js +0 -0
- package/dist/public/sdk/enrichDisplayModelWithAbi-CWggsykc.js +0 -395
- package/dist/public/sdk/enrichDisplayModelWithAbi-SDRwTd_M.js +0 -579
- package/dist/public/sdk/errors-93h9uAW9.js +0 -92
- package/dist/public/sdk/events-DYoBL2HO.js +0 -8
- package/dist/public/sdk/evmCryptoWasm-DWklhEEb.js +0 -196
- package/dist/public/sdk/evmFamilyEcdsaIdentity-Co5XDcEA.js +0 -4288
- package/dist/public/sdk/exactSessionState-CiD5fBEs.js +0 -2612
- package/dist/public/sdk/exactSigningLaneIdentity-DQeqPMST.js +0 -335
- package/dist/public/sdk/executeWorkerOperation-Cl9whMK7.js +0 -10
- package/dist/public/sdk/export-viewer-host-ZqA2Yz3H.js +0 -204
- package/dist/public/sdk/helpers-ZrowMnev.js +0 -302
- package/dist/public/sdk/host-BWBbCAMu.js +0 -533
- package/dist/public/sdk/intentDigest-CvOSNlCH.js +0 -75
- package/dist/public/sdk/jsonRpc-VVkaQkFD.js +0 -62
- package/dist/public/sdk/jsxRuntime.module-CuH5ZEIA.js +0 -298
- package/dist/public/sdk/keccak-DUL3d8SF.js +0 -148
- package/dist/public/sdk/keyMaterialBrands-CX41hur6.js +0 -94
- package/dist/public/sdk/localOnly-Bg8UuLZ5.js +0 -146
- package/dist/public/sdk/messages-C7Dbx9iN.js +0 -594
- package/dist/public/sdk/mountExportPrivateKeySurface-DgX-IBG_.js +0 -542
- package/dist/public/sdk/mountRecoveryCodeBackupSurface-DXrExiJ7.js +0 -590
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-DPb0s3hQ.js +0 -4008
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-BeD-SmbK.js +0 -405
- package/dist/public/sdk/nearRpcResults-DoUgDATm.js +0 -216
- package/dist/public/sdk/nonceLaneKeys-C3c9lG6u.js +0 -164
- package/dist/public/sdk/normalization-CBt413-z.js +0 -22
- package/dist/public/sdk/operationFingerprint-C8Trar4R.js +0 -929
- package/dist/public/sdk/operationFingerprint-CGZui5dR.js +0 -55
- package/dist/public/sdk/passkey-custody-Bk1jAknm.js +0 -487
- package/dist/public/sdk/pendingWalletRecoveryCodeBackup-DLzBb3WQ.js +0 -237
- package/dist/public/sdk/prfCache-wqQSjYLn.js +0 -58
- package/dist/public/sdk/profileAccountProjection-uZVJuBvS.js +0 -86
- package/dist/public/sdk/promptText-CuRa_ivd.js +0 -32
- package/dist/public/sdk/recovery-entrypoint-DW2tGyMs.js +0 -779
- package/dist/public/sdk/registration-BZDzDv91.js +0 -14414
- package/dist/public/sdk/registration-BzVHODuD.js +0 -233
- package/dist/public/sdk/registrationAccounts-CKku_Sgy.js +0 -33
- package/dist/public/sdk/registrationIds-DLSdEKSv.js +0 -310
- package/dist/public/sdk/registrationIntent-D0PxwEY4.js +0 -393
- package/dist/public/sdk/registrationPreparationPreload-CIAuRlxI.js +0 -13
- package/dist/public/sdk/registrationSignerPlan-CAikVZZQ.js +0 -440
- package/dist/public/sdk/relayerHttp-VC8Holz1.js +0 -24
- package/dist/public/sdk/routePlan-D59x5xzQ.js +0 -83
- package/dist/public/sdk/router-C5lF_J_u.js +0 -4721
- package/dist/public/sdk/routerAbNormalSigning-fhvpDtmY.js +0 -992
- package/dist/public/sdk/runtime-auth-DFTqwj3u.js +0 -5540
- package/dist/public/sdk/runtime-device-link-C1Oub8Lw.js +0 -259
- package/dist/public/sdk/runtime-ecdsa-tempo-rkWwolw1.js +0 -177
- package/dist/public/sdk/runtime-email-otp-vuUG5LYl.js +0 -320
- package/dist/public/sdk/runtime-export-FZWj0HxJ.js +0 -112
- package/dist/public/sdk/runtime-near-B9cjurVD.js +0 -278
- package/dist/public/sdk/runtime-preferences-Dq0bfyS5.js +0 -67
- package/dist/public/sdk/runtime-recovery-C-vfFKF3.js +0 -45
- package/dist/public/sdk/runtime-recovery-codes-bTm3fLV4.js +0 -95
- package/dist/public/sdk/runtimeContext-iLXnxVlZ.js +0 -44443
- package/dist/public/sdk/runtimeLoader-hod6T2-m.js +0 -44
- package/dist/public/sdk/sdkSentEvents-MqDkbQg1.js +0 -599
- package/dist/public/sdk/secp256k1-el9aE4Sv.js +0 -2504
- package/dist/public/sdk/secureRandomId-BORsmdS4.js +0 -33
- package/dist/public/sdk/sessionPolicy-CHiilOAB.js +0 -453
- package/dist/public/sdk/shared-DkbeLCI3.js +0 -33
- package/dist/public/sdk/signEvmFamily-e4IWWsZs.js +0 -4666
- package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-Cu9qdk8M.js +0 -226
- package/dist/public/sdk/signEvmWithUiConfirm-C61TCBnh.js +0 -27
- package/dist/public/sdk/signNear-Bblwn2kT.js +0 -5929
- package/dist/public/sdk/signatureUses-BkGyYt8F.js +0 -51
- package/dist/public/sdk/signerDomain-IEAVrOrc.js +0 -59
- package/dist/public/sdk/signerLoader-D7Aey0FD.js +0 -23
- package/dist/public/sdk/signerSlot-_ovonwVX.js +0 -10
- package/dist/public/sdk/signingFlow-rZfPegH9.js +0 -1320
- package/dist/public/sdk/signingSessionSeal-Cu-GHm6y.js +0 -96
- package/dist/public/sdk/surface-measurement-reporter-CSTyRsMa.js +0 -156
- package/dist/public/sdk/trace-rHe0wz7q.js +0 -127
- package/dist/public/sdk/transaction-activity-CSMCveBn.js +0 -218
- package/dist/public/sdk/transactionReview-DpHLTznU.js +0 -100
- package/dist/public/sdk/transactionReviewAdmission-BCPvl8OZ.js +0 -172
- package/dist/public/sdk/transactionState-DP9O8F6f.js +0 -1885
- package/dist/public/sdk/types-Dx9fczU7.js +0 -111
- package/dist/public/sdk/validation-gat4LEKm.js +0 -409
- package/dist/public/sdk/wallet-recovery-Bz9qKgaL.js +0 -1905
- package/dist/public/sdk/walletAuthority-BQBxgUBn.js +0 -1251
- package/dist/public/sdk/walletCustodyEcdsaContinuity-Hn4ORIbf.js +0 -11130
- package/dist/public/sdk/walletIframeIdentity-DB6Z2EC9.js +0 -13
- package/dist/public/sdk/walletRecoveryCommit-sjGNTHUj.js +0 -2159
- package/dist/public/sdk/walletRecoveryRotate-BgLlW5ih.js +0 -309
- package/dist/public/sdk/warmSessionHydration-Os8niEm7.js +0 -7
- package/dist/public/sdk/webauthnP256-DC5EIbKN.js +0 -82
- package/dist/public/sdk/webauthnPromptCoordinator-L96oVvLz.js +0 -168
- package/dist/types/shared-ts/src/signing-lanes/participantDigest.typecheck.d.ts +0 -2
- package/dist/types/shared-ts/src/signing-lanes/rotation.typecheck.d.ts +0 -2
- package/dist/types/shared-ts/src/signing-lanes/rotationDigests.d.ts +0 -13
- package/dist/types/shared-ts/src/signing-lanes/rotationLifecycle.d.ts +0 -78
- package/dist/types/shared-ts/src/signing-lanes/rotationParsers.d.ts +0 -27
- package/dist/types/shared-ts/src/signing-lanes/rotationProtocolParsers.d.ts +0 -6
- package/dist/types/shared-ts/src/signing-lanes/rotationWireFields.d.ts +0 -20
- package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeAttempt.d.ts +0 -59
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/webauthn-bridge.d.ts +0 -3
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/laneHolderMaterialStore.d.ts +0 -52
- package/dist/types/wallet/src/core/signingEngine/interfaces/nearKeyOps.d.ts +0 -15
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/coordinatorRuntime.d.ts +0 -43
- package/dist/types/wallet/src/core/signingEngine/session/holderShares/forbiddenHolderSharePayloads.typecheck.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/session/holderShares/holderShareHandle.d.ts +0 -6
- package/dist/types/wallet/src/core/signingEngine/session/identity/emailOtpEcdsaDerivationIdentity.typecheck.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/activationCoordinator.d.ts +0 -37
- package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/laneMaterialInvalidation.d.ts +0 -23
- package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/operations.typecheck.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/recipientPreparation.d.ts +0 -55
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.typecheck.d.ts +0 -6
- package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ecdsaLaneWasm.d.ts +0 -4
- 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/dist/types/wallet/src/core/signingEngine/webauthnAuth/fallbacks/safari-fallbacks.d.ts +0 -44
- package/dist/types/wallet/src/core/signingEngine/workerManager/nearKeyOps/createNearKeyOps.d.ts +0 -4
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/ecdsaLaneHolderWorkerRuntime.d.ts +0 -20
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/passkeyCustodyLink.d.ts +0 -18
- /package/dist/esm/{react/SeamsWeb → SeamsWeb}/assembly/preconnectWalletAssets.js +0 -0
|
@@ -1,2504 +0,0 @@
|
|
|
1
|
-
import { n as __exportAll } from "./chunk-BtrIJ4_z.js";
|
|
2
|
-
import { B as normalizeTrimmedString, V as stripTrailingSlashes, h as parseMpcMaterialActivationRef, r as mpcMaterialActivationRefsEqual } from "./domainIds-lcrFg6Sa.js";
|
|
3
|
-
import { i as base64UrlEncode, r as base64UrlDecode } from "./base64-Clm8C-e9.js";
|
|
4
|
-
import { r as secureRandomId } from "./secureRandomId-BORsmdS4.js";
|
|
5
|
-
import { F as routerAbEcdsaDerivationNormalSigningScopeCanonicalBytesV1, I as routerAbEcdsaRerandomizationClientCommitmentV1, bt as canonicalRouterAbMpcMaterialActivationRefBytes, d as buildRouterAbEcdsaDerivationEvmDigestSigningRequestV1, et as parseWalletAuthAuthorityRef, g as parseRouterAbEcdsaDerivationNormalSigningScopeV1, l as ROUTER_AB_ECDSA_PRESIGN_CEREMONY_MAX_LIFETIME_MS, o as ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_POOL_FILL_INIT_PATH, s as ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_POOL_FILL_STEP_PATH, t as MAX_DURABLE_CLIENT_PRESIGNATURE_LIFETIME_MS, u as buildRouterAbEcdsaDerivationEvmDigestSigningFinalizeRequestV1, wt as routerAbMpcMaterialActivationRefToWire } from "./ecdsaPresignLifecycle-BFOTNYCK.js";
|
|
6
|
-
import { a as parseEcdsaRoleLocalPersistedMaterialRef, c as formatEcdsaKeyHandleForWire, l as parseEcdsaClientVerifyingShareB64u, o as parseEcdsaRoleLocalWorkerHandle, s as parseEcdsaThresholdKeyId, u as parseEcdsaKeyHandle } from "./keyMaterialBrands-CX41hur6.js";
|
|
7
|
-
import { t as executeWorkerOperation } from "./executeWorkerOperation-Cl9whMK7.js";
|
|
8
|
-
import { n as ecdsaClientPresignPoolKey, t as FIXED_ECDSA_PRESIGN_PROTOCOL_ID } from "./ecdsaPresignPoolIdentity-BjxZVIqn.js";
|
|
9
|
-
import { i as emitEcdsaSigningTiming, n as emitEcdsaPresignServerTiming, r as emitEcdsaServerTiming, u as emitSigningSessionFlowTrace } from "./trace-rHe0wz7q.js";
|
|
10
|
-
import { t as DEFAULT_ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_POOL_POLICY } from "./defaultConfigs-B3c16M_8.js";
|
|
11
|
-
import { c as prepareRouterAbEcdsaDerivationEvmDigestSigningV1, o as finalizeRouterAbEcdsaDerivationEvmDigestSigningV1, t as RouterAbSigningRequestError } from "./routerAbNormalSigning-fhvpDtmY.js";
|
|
12
|
-
import { o as validateSecp256k1PublicKey33Wasm, s as verifySecp256k1RecoverableSignatureAgainstPublicKey33Wasm, t as addSecp256k1PublicKeys33Wasm } from "./evmCryptoWasm-DWklhEEb.js";
|
|
13
|
-
//#region src/core/signingEngine/workerManager/workerTypes.ts
|
|
14
|
-
/**
|
|
15
|
-
* Control messages exchanged between worker shims and the main thread.
|
|
16
|
-
*
|
|
17
|
-
* These messages are JS-only and do NOT go through the Rust WASM JSON request/response pipeline.
|
|
18
|
-
* They are used for:
|
|
19
|
-
* - Readiness signals for persisted signer-worker availability.
|
|
20
|
-
*/
|
|
21
|
-
const WorkerControlMessage = { WORKER_READY: "WORKER_READY" };
|
|
22
|
-
const EcdsaDerivationClientCustomRequestType = {
|
|
23
|
-
PrepareThresholdEcdsaDerivationRoleLocalClientBootstrap: 7e4,
|
|
24
|
-
FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrap: 70001,
|
|
25
|
-
CreateRouterAbEcdsaRegistrationCeremony: 70005,
|
|
26
|
-
VerifyRouterAbEcdsaRegistrationClientProofs: 70006,
|
|
27
|
-
CloseRouterAbEcdsaRegistrationCeremony: 70007,
|
|
28
|
-
FinalizeRouterAbEcdsaRegistrationActivation: 70008,
|
|
29
|
-
CreateRouterAbEcdsaPostRegistrationCeremony: 70009,
|
|
30
|
-
FinalizeRouterAbEcdsaExplicitExport: 70010,
|
|
31
|
-
CloseRouterAbEcdsaPostRegistrationCeremony: 70011,
|
|
32
|
-
StoreThresholdEcdsaRoleLocalSigningMaterial: 70004,
|
|
33
|
-
RehydrateEcdsaRoleLocalSigningMaterial: 70015,
|
|
34
|
-
PersistInitialCanonicalEcdsaActivation: 70016,
|
|
35
|
-
ReconcileCanonicalEcdsaActivation: 70017,
|
|
36
|
-
PrewarmEcdsaRegistrationCrypto: 70018,
|
|
37
|
-
VerifyRouterAbEcdsaPostRegistrationProofs: 70019,
|
|
38
|
-
SignWalletRecoveryEcdsaMaterialPossessionProof: 70020,
|
|
39
|
-
PrepareEcdsaAdditiveLaneHolder: 70021,
|
|
40
|
-
PrepareLinkedDeviceEcdsaSourceContribution: 70022,
|
|
41
|
-
StoreLinkedDeviceEcdsaHolderMaterial: 70023,
|
|
42
|
-
DisposeLinkedDeviceEcdsaHolderMaterials: 70024,
|
|
43
|
-
CreateEcdsaHolderOrdinaryExportRequest: 70027,
|
|
44
|
-
FinalizeEcdsaHolderOrdinaryExport: 70028
|
|
45
|
-
};
|
|
46
|
-
const EcdsaDerivationClientCustomResponseType = {
|
|
47
|
-
PrepareThresholdEcdsaDerivationRoleLocalClientBootstrapSuccess: 70100,
|
|
48
|
-
FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrapSuccess: 70101,
|
|
49
|
-
CreateRouterAbEcdsaRegistrationCeremonySuccess: 70105,
|
|
50
|
-
VerifyRouterAbEcdsaRegistrationClientProofsSuccess: 70106,
|
|
51
|
-
CloseRouterAbEcdsaRegistrationCeremonySuccess: 70107,
|
|
52
|
-
FinalizeRouterAbEcdsaRegistrationActivationSuccess: 70108,
|
|
53
|
-
CreateRouterAbEcdsaPostRegistrationCeremonySuccess: 70109,
|
|
54
|
-
FinalizeRouterAbEcdsaExplicitExportSuccess: 70110,
|
|
55
|
-
CloseRouterAbEcdsaPostRegistrationCeremonySuccess: 70111,
|
|
56
|
-
StoreThresholdEcdsaRoleLocalSigningMaterialSuccess: 70104,
|
|
57
|
-
RehydrateEcdsaRoleLocalSigningMaterialSuccess: 70115,
|
|
58
|
-
PersistInitialCanonicalEcdsaActivationSuccess: 70116,
|
|
59
|
-
ReconcileCanonicalEcdsaActivationSuccess: 70117,
|
|
60
|
-
PrewarmEcdsaRegistrationCryptoSuccess: 70118,
|
|
61
|
-
VerifyRouterAbEcdsaPostRegistrationProofsSuccess: 70119,
|
|
62
|
-
SignWalletRecoveryEcdsaMaterialPossessionProofSuccess: 70120,
|
|
63
|
-
PrepareEcdsaAdditiveLaneHolderSuccess: 70121,
|
|
64
|
-
PrepareLinkedDeviceEcdsaSourceContributionSuccess: 70122,
|
|
65
|
-
StoreLinkedDeviceEcdsaHolderMaterialSuccess: 70123,
|
|
66
|
-
DisposeLinkedDeviceEcdsaHolderMaterialsSuccess: 70124,
|
|
67
|
-
CreateEcdsaHolderOrdinaryExportRequestSuccess: 70127,
|
|
68
|
-
FinalizeEcdsaHolderOrdinaryExportSuccess: 70128
|
|
69
|
-
};
|
|
70
|
-
const EcdsaPresignClientRequestType = {
|
|
71
|
-
SessionInit: 71e3,
|
|
72
|
-
SessionStep: 71001,
|
|
73
|
-
SessionAbort: 71002,
|
|
74
|
-
Admit: 71003,
|
|
75
|
-
Destroy: 71004,
|
|
76
|
-
Reserve: 71005,
|
|
77
|
-
Commit: 71006,
|
|
78
|
-
ListAvailable: 71007,
|
|
79
|
-
ClearWallet: 71008
|
|
80
|
-
};
|
|
81
|
-
const EcdsaPresignClientResponseType = {
|
|
82
|
-
SessionInitSuccess: 71100,
|
|
83
|
-
SessionStepSuccess: 71101,
|
|
84
|
-
SessionAbortSuccess: 71102,
|
|
85
|
-
AdmitSuccess: 71103,
|
|
86
|
-
DestroySuccess: 71104,
|
|
87
|
-
ReserveSuccess: 71105,
|
|
88
|
-
CommitSuccess: 71106,
|
|
89
|
-
ListAvailableSuccess: 71107,
|
|
90
|
-
ClearWalletSuccess: 71108
|
|
91
|
-
};
|
|
92
|
-
const EcdsaOnlineClientRequestType = { ComputeSignatureShare: 72e3 };
|
|
93
|
-
const EcdsaOnlineClientResponseType = { ComputeSignatureShareSuccess: 72100 };
|
|
94
|
-
const DEFAULT_SIGNER_HOST_ERROR_CODE = "SIGNER_INTERNAL";
|
|
95
|
-
var SignerWorkerOperationError = class extends Error {
|
|
96
|
-
constructor(args) {
|
|
97
|
-
super(args.message);
|
|
98
|
-
this.name = "SignerWorkerOperationError";
|
|
99
|
-
this.code = (args.code || DEFAULT_SIGNER_HOST_ERROR_CODE).trim();
|
|
100
|
-
this.coreCode = args.coreCode?.trim() || void 0;
|
|
101
|
-
this.workerKind = args.workerKind;
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
function getSignerWorkerOperationErrorCode(error) {
|
|
105
|
-
if (!error || typeof error !== "object") return void 0;
|
|
106
|
-
const code = error.code;
|
|
107
|
-
if (typeof code !== "string") return void 0;
|
|
108
|
-
const trimmed = code.trim();
|
|
109
|
-
return trimmed.length ? trimmed : void 0;
|
|
110
|
-
}
|
|
111
|
-
function getSignerWorkerOperationCoreCode(error) {
|
|
112
|
-
if (!error || typeof error !== "object") return void 0;
|
|
113
|
-
const code = error.coreCode;
|
|
114
|
-
if (typeof code !== "string") return void 0;
|
|
115
|
-
const trimmed = code.trim();
|
|
116
|
-
return trimmed.length ? trimmed : void 0;
|
|
117
|
-
}
|
|
118
|
-
//#endregion
|
|
119
|
-
//#region src/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.ts
|
|
120
|
-
const ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS = 2e4;
|
|
121
|
-
function parseListedClientPresignature(ref) {
|
|
122
|
-
return {
|
|
123
|
-
presignatureId: ref.presignatureId,
|
|
124
|
-
materialHandle: ref.materialHandle,
|
|
125
|
-
bigR33: new Uint8Array(ref.bigR33),
|
|
126
|
-
createdAtMs: ref.createdAtMs,
|
|
127
|
-
expiresAtMs: ref.expiresAtMs
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
async function requestEcdsaDerivationRoleLocalMaterialOperation(args) {
|
|
131
|
-
return await executeWorkerOperation({
|
|
132
|
-
ctx: args.workerCtx,
|
|
133
|
-
kind: "ecdsaDerivationClient",
|
|
134
|
-
request: args.request
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
async function requestEcdsaHolderOrdinaryExportOperation(args) {
|
|
138
|
-
return await executeWorkerOperation({
|
|
139
|
-
ctx: args.workerCtx,
|
|
140
|
-
kind: "ecdsaDerivationClient",
|
|
141
|
-
request: args.request
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
async function requestEcdsaPresignOperation(args) {
|
|
145
|
-
return await executeWorkerOperation({
|
|
146
|
-
ctx: args.workerCtx,
|
|
147
|
-
kind: "ecdsaPresignClient",
|
|
148
|
-
request: args.request
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
async function requestEcdsaOnlineOperation(args) {
|
|
152
|
-
return await executeWorkerOperation({
|
|
153
|
-
ctx: args.workerCtx,
|
|
154
|
-
kind: "ecdsaOnlineClient",
|
|
155
|
-
request: args.request
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
async function prepareEcdsaClientBootstrapCommandWasm(input) {
|
|
159
|
-
const response = await requestEcdsaDerivationRoleLocalMaterialOperation({
|
|
160
|
-
workerCtx: input.workerCtx,
|
|
161
|
-
request: {
|
|
162
|
-
type: EcdsaDerivationClientCustomRequestType.PrepareThresholdEcdsaDerivationRoleLocalClientBootstrap,
|
|
163
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
164
|
-
payload: input.command
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.PrepareThresholdEcdsaDerivationRoleLocalClientBootstrapSuccess) throw new Error("PrepareThresholdEcdsaDerivationRoleLocalClientBootstrap failed");
|
|
168
|
-
return response.payload;
|
|
169
|
-
}
|
|
170
|
-
async function finalizeEcdsaClientBootstrapCommandWasm(input) {
|
|
171
|
-
const response = await requestEcdsaDerivationRoleLocalMaterialOperation({
|
|
172
|
-
workerCtx: input.workerCtx,
|
|
173
|
-
request: {
|
|
174
|
-
type: EcdsaDerivationClientCustomRequestType.FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrap,
|
|
175
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
176
|
-
payload: input.command
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrapSuccess) throw new Error("FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrap failed");
|
|
180
|
-
return response.payload;
|
|
181
|
-
}
|
|
182
|
-
async function createRouterAbEcdsaRegistrationCeremonyWasm(input) {
|
|
183
|
-
const response = await requestEcdsaDerivationRoleLocalMaterialOperation({
|
|
184
|
-
workerCtx: input.workerCtx,
|
|
185
|
-
request: {
|
|
186
|
-
type: EcdsaDerivationClientCustomRequestType.CreateRouterAbEcdsaRegistrationCeremony,
|
|
187
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
188
|
-
payload: input.command
|
|
189
|
-
}
|
|
190
|
-
});
|
|
191
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.CreateRouterAbEcdsaRegistrationCeremonySuccess) throw new Error("Router A/B ECDSA registration ceremony creation failed");
|
|
192
|
-
return response.payload;
|
|
193
|
-
}
|
|
194
|
-
async function verifyRouterAbEcdsaRegistrationClientProofsWasm(input) {
|
|
195
|
-
const response = await requestEcdsaDerivationRoleLocalMaterialOperation({
|
|
196
|
-
workerCtx: input.workerCtx,
|
|
197
|
-
request: {
|
|
198
|
-
type: EcdsaDerivationClientCustomRequestType.VerifyRouterAbEcdsaRegistrationClientProofs,
|
|
199
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
200
|
-
payload: input.command
|
|
201
|
-
}
|
|
202
|
-
});
|
|
203
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.VerifyRouterAbEcdsaRegistrationClientProofsSuccess) throw new Error("Router A/B ECDSA registration client proof verification failed");
|
|
204
|
-
return response.payload;
|
|
205
|
-
}
|
|
206
|
-
async function finalizeRouterAbEcdsaRegistrationActivationWasm(input) {
|
|
207
|
-
const response = await requestEcdsaDerivationRoleLocalMaterialOperation({
|
|
208
|
-
workerCtx: input.workerCtx,
|
|
209
|
-
request: {
|
|
210
|
-
type: EcdsaDerivationClientCustomRequestType.FinalizeRouterAbEcdsaRegistrationActivation,
|
|
211
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
212
|
-
payload: input.command
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.FinalizeRouterAbEcdsaRegistrationActivationSuccess) throw new Error("Router A/B ECDSA registration activation finalization failed");
|
|
216
|
-
return response.payload;
|
|
217
|
-
}
|
|
218
|
-
async function persistInitialCanonicalEcdsaActivationWasm(input) {
|
|
219
|
-
const response = await requestEcdsaDerivationRoleLocalMaterialOperation({
|
|
220
|
-
workerCtx: input.workerCtx,
|
|
221
|
-
request: {
|
|
222
|
-
type: EcdsaDerivationClientCustomRequestType.PersistInitialCanonicalEcdsaActivation,
|
|
223
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
224
|
-
payload: input.command
|
|
225
|
-
}
|
|
226
|
-
});
|
|
227
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.PersistInitialCanonicalEcdsaActivationSuccess) throw new Error("Initial canonical ECDSA activation persistence failed");
|
|
228
|
-
return response.payload;
|
|
229
|
-
}
|
|
230
|
-
async function reconcileCanonicalEcdsaActivationWasm(input) {
|
|
231
|
-
const response = await requestEcdsaDerivationRoleLocalMaterialOperation({
|
|
232
|
-
workerCtx: input.workerCtx,
|
|
233
|
-
request: {
|
|
234
|
-
type: EcdsaDerivationClientCustomRequestType.ReconcileCanonicalEcdsaActivation,
|
|
235
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
236
|
-
payload: input.command
|
|
237
|
-
}
|
|
238
|
-
});
|
|
239
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.ReconcileCanonicalEcdsaActivationSuccess) throw new Error("Canonical ECDSA activation reconciliation failed");
|
|
240
|
-
const result = response.payload;
|
|
241
|
-
if (result.kind !== "canonical_ecdsa_activation_committed_finalization_required_v1") return result;
|
|
242
|
-
return {
|
|
243
|
-
kind: "canonical_ecdsa_activation_reconciliation_pending_v1",
|
|
244
|
-
journalId: result.journalId,
|
|
245
|
-
reason: "wallet_custody_rejoin_required",
|
|
246
|
-
activationCommand: null
|
|
247
|
-
};
|
|
248
|
-
}
|
|
249
|
-
async function closeRouterAbEcdsaRegistrationCeremonyWasm(input) {
|
|
250
|
-
const response = await requestEcdsaDerivationRoleLocalMaterialOperation({
|
|
251
|
-
workerCtx: input.workerCtx,
|
|
252
|
-
request: {
|
|
253
|
-
type: EcdsaDerivationClientCustomRequestType.CloseRouterAbEcdsaRegistrationCeremony,
|
|
254
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
255
|
-
payload: input.command
|
|
256
|
-
}
|
|
257
|
-
});
|
|
258
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.CloseRouterAbEcdsaRegistrationCeremonySuccess) throw new Error("Router A/B ECDSA registration ceremony close failed");
|
|
259
|
-
return response.payload;
|
|
260
|
-
}
|
|
261
|
-
async function createRouterAbEcdsaPostRegistrationCeremonyWasm(input) {
|
|
262
|
-
const response = await requestEcdsaDerivationRoleLocalMaterialOperation({
|
|
263
|
-
workerCtx: input.workerCtx,
|
|
264
|
-
request: {
|
|
265
|
-
type: EcdsaDerivationClientCustomRequestType.CreateRouterAbEcdsaPostRegistrationCeremony,
|
|
266
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
267
|
-
payload: input.command
|
|
268
|
-
}
|
|
269
|
-
});
|
|
270
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.CreateRouterAbEcdsaPostRegistrationCeremonySuccess) throw new Error("Router A/B ECDSA post-registration ceremony creation failed");
|
|
271
|
-
return response.payload;
|
|
272
|
-
}
|
|
273
|
-
async function finalizeRouterAbEcdsaExplicitExportWasm(input) {
|
|
274
|
-
const response = await requestEcdsaDerivationRoleLocalMaterialOperation({
|
|
275
|
-
workerCtx: input.workerCtx,
|
|
276
|
-
request: {
|
|
277
|
-
type: EcdsaDerivationClientCustomRequestType.FinalizeRouterAbEcdsaExplicitExport,
|
|
278
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
279
|
-
payload: input.command
|
|
280
|
-
}
|
|
281
|
-
});
|
|
282
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.FinalizeRouterAbEcdsaExplicitExportSuccess) throw new Error("Router A/B ECDSA post-registration client proof finalization failed");
|
|
283
|
-
return response.payload;
|
|
284
|
-
}
|
|
285
|
-
async function closeRouterAbEcdsaPostRegistrationCeremonyWasm(input) {
|
|
286
|
-
const response = await requestEcdsaDerivationRoleLocalMaterialOperation({
|
|
287
|
-
workerCtx: input.workerCtx,
|
|
288
|
-
request: {
|
|
289
|
-
type: EcdsaDerivationClientCustomRequestType.CloseRouterAbEcdsaPostRegistrationCeremony,
|
|
290
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
291
|
-
payload: input.command
|
|
292
|
-
}
|
|
293
|
-
});
|
|
294
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.CloseRouterAbEcdsaPostRegistrationCeremonySuccess) throw new Error("Router A/B ECDSA post-registration ceremony close failed");
|
|
295
|
-
return response.payload;
|
|
296
|
-
}
|
|
297
|
-
async function storeEcdsaRoleLocalSigningMaterialWasm(input) {
|
|
298
|
-
const response = await requestEcdsaDerivationRoleLocalMaterialOperation({
|
|
299
|
-
workerCtx: input.workerCtx,
|
|
300
|
-
request: {
|
|
301
|
-
type: EcdsaDerivationClientCustomRequestType.StoreThresholdEcdsaRoleLocalSigningMaterial,
|
|
302
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
303
|
-
payload: {
|
|
304
|
-
materialHandle: input.materialHandle,
|
|
305
|
-
bindingDigest: input.bindingDigest,
|
|
306
|
-
stateBlob: input.stateBlob
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
});
|
|
310
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.StoreThresholdEcdsaRoleLocalSigningMaterialSuccess) throw new Error("StoreThresholdEcdsaRoleLocalSigningMaterial failed");
|
|
311
|
-
return response.payload;
|
|
312
|
-
}
|
|
313
|
-
function ecdsaRoleLocalWorkerHandleMatchesPersistedRef(materialRef, liveHandle) {
|
|
314
|
-
return liveHandle.durableMaterialRef === materialRef.durableMaterialRef && liveHandle.bindingDigest === materialRef.bindingDigest;
|
|
315
|
-
}
|
|
316
|
-
async function openEcdsaRoleLocalSigningMaterialWasm(input) {
|
|
317
|
-
const authority = parseWalletAuthAuthorityRef(input.authority);
|
|
318
|
-
if (!authority) throw new Error("ECDSA role-local signing material authority is invalid");
|
|
319
|
-
const materialActivationResult = parseMpcMaterialActivationRef(input.materialActivation);
|
|
320
|
-
if (!materialActivationResult.ok) throw new Error(materialActivationResult.error.message);
|
|
321
|
-
const materialActivation = materialActivationResult.value;
|
|
322
|
-
const response = await requestEcdsaDerivationRoleLocalMaterialOperation({
|
|
323
|
-
workerCtx: input.workerCtx,
|
|
324
|
-
request: {
|
|
325
|
-
type: EcdsaDerivationClientCustomRequestType.RehydrateEcdsaRoleLocalSigningMaterial,
|
|
326
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
327
|
-
payload: {
|
|
328
|
-
kind: "open_ecdsa_role_local_signing_material_v1",
|
|
329
|
-
authority,
|
|
330
|
-
materialActivation
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
});
|
|
334
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.RehydrateEcdsaRoleLocalSigningMaterialSuccess) throw new Error("OpenEcdsaRoleLocalSigningMaterial failed");
|
|
335
|
-
const payload = response.payload;
|
|
336
|
-
switch (payload.kind) {
|
|
337
|
-
case "ecdsa_role_local_signing_material_unavailable_v1": return {
|
|
338
|
-
ok: false,
|
|
339
|
-
reason: payload.reason
|
|
340
|
-
};
|
|
341
|
-
case "ecdsa_role_local_signing_material_opened_v1": {
|
|
342
|
-
const materialRef = parseEcdsaRoleLocalPersistedMaterialRef(payload.materialRef);
|
|
343
|
-
if (!mpcMaterialActivationRefsEqual(materialActivation, materialRef.materialActivation)) throw new Error("ECDSA role-local signing material open changed its activation identity");
|
|
344
|
-
const liveHandle = parseEcdsaRoleLocalWorkerHandle(payload.liveHandle);
|
|
345
|
-
if (!ecdsaRoleLocalWorkerHandleMatchesPersistedRef(materialRef, liveHandle)) throw new Error("ECDSA role-local signing material hydration changed its identity");
|
|
346
|
-
return {
|
|
347
|
-
ok: true,
|
|
348
|
-
liveHandle,
|
|
349
|
-
materialRef
|
|
350
|
-
};
|
|
351
|
-
}
|
|
352
|
-
default: {
|
|
353
|
-
const exhaustive = payload;
|
|
354
|
-
throw new Error(`ECDSA role-local signing material hydration response kind is invalid: ${String(exhaustive)}`);
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
async function signWalletRecoveryEcdsaMaterialPossessionProofWasm(input) {
|
|
359
|
-
const response = await requestEcdsaDerivationRoleLocalMaterialOperation({
|
|
360
|
-
workerCtx: input.workerCtx,
|
|
361
|
-
request: {
|
|
362
|
-
type: EcdsaDerivationClientCustomRequestType.SignWalletRecoveryEcdsaMaterialPossessionProof,
|
|
363
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
364
|
-
payload: {
|
|
365
|
-
kind: "sign_wallet_recovery_ecdsa_material_possession_proof_v1",
|
|
366
|
-
challenge: input.challenge,
|
|
367
|
-
stateBlob: input.stateBlob
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
});
|
|
371
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.SignWalletRecoveryEcdsaMaterialPossessionProofSuccess) throw new Error("Wallet recovery ECDSA possession proof signing failed");
|
|
372
|
-
return response.payload;
|
|
373
|
-
}
|
|
374
|
-
async function prepareLinkedDeviceEcdsaSourceContributionWasm(input) {
|
|
375
|
-
const response = await requestEcdsaDerivationRoleLocalMaterialOperation({
|
|
376
|
-
workerCtx: input.workerCtx,
|
|
377
|
-
request: {
|
|
378
|
-
type: EcdsaDerivationClientCustomRequestType.PrepareLinkedDeviceEcdsaSourceContribution,
|
|
379
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
380
|
-
payload: {
|
|
381
|
-
kind: "prepare_linked_device_ecdsa_source_contribution_v1",
|
|
382
|
-
preparation: input.preparation,
|
|
383
|
-
...input.linkedHolderHandleId === void 0 ? {} : { linkedHolderHandleId: input.linkedHolderHandleId }
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
});
|
|
387
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.PrepareLinkedDeviceEcdsaSourceContributionSuccess) throw new Error("Linked-device ECDSA source contribution preparation failed");
|
|
388
|
-
return response.payload;
|
|
389
|
-
}
|
|
390
|
-
function asEcdsaDerivationPresignProgress(raw) {
|
|
391
|
-
const outgoingMessages = Array.isArray(raw.outgoingMessages) ? raw.outgoingMessages.map((entry) => new Uint8Array(entry)) : [];
|
|
392
|
-
switch (raw.event) {
|
|
393
|
-
case "final_batch_ready": return {
|
|
394
|
-
stage: "presign",
|
|
395
|
-
event: raw.event,
|
|
396
|
-
outgoingMessages,
|
|
397
|
-
candidateBigR33: new Uint8Array(raw.candidateBigR33)
|
|
398
|
-
};
|
|
399
|
-
case "presign_done": return {
|
|
400
|
-
stage: "done",
|
|
401
|
-
event: raw.event,
|
|
402
|
-
outgoingMessages,
|
|
403
|
-
presignatureHandle: raw.presignatureHandle,
|
|
404
|
-
presignatureBigR33: new Uint8Array(raw.presignatureBigR33)
|
|
405
|
-
};
|
|
406
|
-
case "none":
|
|
407
|
-
case "triples_done": return {
|
|
408
|
-
stage: raw.stage,
|
|
409
|
-
event: raw.event,
|
|
410
|
-
outgoingMessages
|
|
411
|
-
};
|
|
412
|
-
}
|
|
413
|
-
}
|
|
414
|
-
async function thresholdEcdsaRoleLocalPresignSessionInitFromMaterialHandleWasm(input) {
|
|
415
|
-
const groupPublicKey33 = input.groupPublicKey33.slice();
|
|
416
|
-
const response = await requestEcdsaPresignOperation({
|
|
417
|
-
workerCtx: input.workerCtx,
|
|
418
|
-
request: {
|
|
419
|
-
type: EcdsaPresignClientRequestType.SessionInit,
|
|
420
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
421
|
-
payload: {
|
|
422
|
-
authority: {
|
|
423
|
-
kind: "role_local_derivation_handle",
|
|
424
|
-
materialHandle: input.materialHandle,
|
|
425
|
-
material: input.material
|
|
426
|
-
},
|
|
427
|
-
sessionId: input.sessionId,
|
|
428
|
-
groupPublicKey33: groupPublicKey33.buffer,
|
|
429
|
-
ceremonyExpiresAtMs: input.ceremonyExpiresAtMs,
|
|
430
|
-
materialExpiresAtMs: input.materialExpiresAtMs,
|
|
431
|
-
poolIdentity: input.poolIdentity
|
|
432
|
-
},
|
|
433
|
-
transfer: [groupPublicKey33.buffer]
|
|
434
|
-
}
|
|
435
|
-
});
|
|
436
|
-
if (response.type !== EcdsaPresignClientResponseType.SessionInitSuccess) throw new Error("ThresholdEcdsaRoleLocalPresignSessionInitFromMaterialHandle failed");
|
|
437
|
-
if (response.payload.authority.kind !== "role_local_derivation_handle") throw new Error("ECDSA role-local presign returned a different authority");
|
|
438
|
-
return asEcdsaDerivationPresignProgress(response.payload.progress);
|
|
439
|
-
}
|
|
440
|
-
async function thresholdEcdsaLinkedHolderPresignSessionInitWasm(input) {
|
|
441
|
-
const groupPublicKey33 = input.groupPublicKey33.slice();
|
|
442
|
-
const response = await requestEcdsaPresignOperation({
|
|
443
|
-
workerCtx: input.workerCtx,
|
|
444
|
-
request: {
|
|
445
|
-
type: EcdsaPresignClientRequestType.SessionInit,
|
|
446
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
447
|
-
payload: {
|
|
448
|
-
authority: {
|
|
449
|
-
kind: "linked_holder_signing_material",
|
|
450
|
-
holderHandleId: input.holderHandleId
|
|
451
|
-
},
|
|
452
|
-
sessionId: input.sessionId,
|
|
453
|
-
groupPublicKey33: groupPublicKey33.buffer,
|
|
454
|
-
ceremonyExpiresAtMs: input.ceremonyExpiresAtMs,
|
|
455
|
-
materialExpiresAtMs: input.materialExpiresAtMs,
|
|
456
|
-
poolIdentity: input.poolIdentity
|
|
457
|
-
},
|
|
458
|
-
transfer: [groupPublicKey33.buffer]
|
|
459
|
-
}
|
|
460
|
-
});
|
|
461
|
-
if (response.type !== EcdsaPresignClientResponseType.SessionInitSuccess) throw new Error("Linked holder ECDSA presign initialization failed");
|
|
462
|
-
if (response.payload.authority.kind !== "linked_holder_signing_material") throw new Error("Linked holder ECDSA presign returned a different authority");
|
|
463
|
-
return asEcdsaDerivationPresignProgress(response.payload.progress);
|
|
464
|
-
}
|
|
465
|
-
async function createEcdsaHolderOrdinaryExportRequestWasm(input) {
|
|
466
|
-
if (input.holderHandleId.trim().length === 0) throw new Error("ECDSA holder handle must be non-empty");
|
|
467
|
-
const response = await requestEcdsaHolderOrdinaryExportOperation({
|
|
468
|
-
workerCtx: input.workerCtx,
|
|
469
|
-
request: {
|
|
470
|
-
type: EcdsaDerivationClientCustomRequestType.CreateEcdsaHolderOrdinaryExportRequest,
|
|
471
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
472
|
-
payload: {
|
|
473
|
-
kind: "create_ecdsa_holder_ordinary_export_request_v1",
|
|
474
|
-
holderHandleId: input.holderHandleId,
|
|
475
|
-
request: input.request
|
|
476
|
-
},
|
|
477
|
-
transfer: []
|
|
478
|
-
}
|
|
479
|
-
});
|
|
480
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.CreateEcdsaHolderOrdinaryExportRequestSuccess) throw new Error("ECDSA holder ordinary-export request preparation failed");
|
|
481
|
-
if (response.payload.holderHandleId !== input.holderHandleId) throw new Error("ECDSA holder ordinary-export request returned a different holder");
|
|
482
|
-
if (response.payload.requestDigestB64u.trim().length === 0) throw new Error("ECDSA holder ordinary-export request digest is empty");
|
|
483
|
-
return response.payload;
|
|
484
|
-
}
|
|
485
|
-
async function finalizeEcdsaHolderOrdinaryExportWasm(input) {
|
|
486
|
-
if (input.holderHandleId.trim().length === 0) throw new Error("ECDSA holder handle must be non-empty");
|
|
487
|
-
if (input.requestDigestB64u !== input.expectedBinding.export_request_digest_b64u) throw new Error("ECDSA holder ordinary-export request digest differs from its binding");
|
|
488
|
-
const response = await requestEcdsaHolderOrdinaryExportOperation({
|
|
489
|
-
workerCtx: input.workerCtx,
|
|
490
|
-
request: {
|
|
491
|
-
type: EcdsaDerivationClientCustomRequestType.FinalizeEcdsaHolderOrdinaryExport,
|
|
492
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
493
|
-
payload: {
|
|
494
|
-
kind: "finalize_ecdsa_holder_ordinary_export_v1",
|
|
495
|
-
holderHandleId: input.holderHandleId,
|
|
496
|
-
requestDigestB64u: input.requestDigestB64u,
|
|
497
|
-
expectedBinding: input.expectedBinding,
|
|
498
|
-
forwardedResponse: input.forwardedResponse
|
|
499
|
-
},
|
|
500
|
-
transfer: []
|
|
501
|
-
}
|
|
502
|
-
});
|
|
503
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.FinalizeEcdsaHolderOrdinaryExportSuccess) throw new Error("ECDSA holder ordinary-export finalization failed");
|
|
504
|
-
if (response.payload.holderHandleId !== input.holderHandleId) throw new Error("ECDSA holder ordinary-export finalization returned a different holder");
|
|
505
|
-
return response.payload;
|
|
506
|
-
}
|
|
507
|
-
async function storeLinkedDeviceEcdsaHolderMaterialWasm(input) {
|
|
508
|
-
if (input.holderHandleId.trim().length === 0) throw new Error("Linked holder ECDSA handle must be non-empty");
|
|
509
|
-
if (input.ownedSigningShare32.byteLength !== 32) throw new Error("Linked holder ECDSA signing share must contain 32 bytes");
|
|
510
|
-
if (input.activationReceiptJson.trim().length === 0) throw new Error("Linked holder ECDSA activation receipt must be non-empty");
|
|
511
|
-
const ownedSigningShare32 = input.ownedSigningShare32.slice();
|
|
512
|
-
try {
|
|
513
|
-
const response = await executeWorkerOperation({
|
|
514
|
-
kind: "ecdsaDerivationClient",
|
|
515
|
-
ctx: input.workerCtx,
|
|
516
|
-
request: {
|
|
517
|
-
type: EcdsaDerivationClientCustomRequestType.StoreLinkedDeviceEcdsaHolderMaterial,
|
|
518
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
519
|
-
payload: {
|
|
520
|
-
holderHandleId: input.holderHandleId,
|
|
521
|
-
ownedSigningShare32: ownedSigningShare32.buffer,
|
|
522
|
-
activationReceiptJson: input.activationReceiptJson
|
|
523
|
-
},
|
|
524
|
-
transfer: [ownedSigningShare32.buffer]
|
|
525
|
-
}
|
|
526
|
-
});
|
|
527
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.StoreLinkedDeviceEcdsaHolderMaterialSuccess) throw new Error("Linked holder ECDSA material import failed");
|
|
528
|
-
if (response.payload.holderHandleId !== input.holderHandleId) throw new Error("Linked holder ECDSA material import returned a different handle");
|
|
529
|
-
return response.payload;
|
|
530
|
-
} finally {
|
|
531
|
-
if (ownedSigningShare32.byteLength > 0) ownedSigningShare32.fill(0);
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
async function disposeLinkedDeviceEcdsaHolderMaterialsWasm(input) {
|
|
535
|
-
const response = await executeWorkerOperation({
|
|
536
|
-
kind: "ecdsaDerivationClient",
|
|
537
|
-
ctx: input.workerCtx,
|
|
538
|
-
request: {
|
|
539
|
-
type: EcdsaDerivationClientCustomRequestType.DisposeLinkedDeviceEcdsaHolderMaterials,
|
|
540
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
541
|
-
payload: input.disposal,
|
|
542
|
-
transfer: []
|
|
543
|
-
}
|
|
544
|
-
});
|
|
545
|
-
if (response.type !== EcdsaDerivationClientCustomResponseType.DisposeLinkedDeviceEcdsaHolderMaterialsSuccess) throw new Error("Linked holder ECDSA material disposal failed");
|
|
546
|
-
if (response.payload.kind !== input.disposal.kind) throw new Error("Linked holder ECDSA material disposal returned a different scope");
|
|
547
|
-
if (input.disposal.kind === "one" && response.payload.kind === "one" && response.payload.holderHandleId !== input.disposal.holderHandleId) throw new Error("Linked holder ECDSA material disposal returned a different handle");
|
|
548
|
-
}
|
|
549
|
-
async function destroyLinkedDeviceEcdsaHolderMaterialWasm(input) {
|
|
550
|
-
if (input.holderHandleId.trim().length === 0) throw new Error("Linked holder ECDSA handle must be non-empty");
|
|
551
|
-
await disposeLinkedDeviceEcdsaHolderMaterialsWasm({
|
|
552
|
-
disposal: {
|
|
553
|
-
kind: "one",
|
|
554
|
-
holderHandleId: input.holderHandleId
|
|
555
|
-
},
|
|
556
|
-
workerCtx: input.workerCtx
|
|
557
|
-
});
|
|
558
|
-
}
|
|
559
|
-
async function destroyLinkedDeviceEcdsaHolderMaterialsWasm(input) {
|
|
560
|
-
let cleanupFailed = false;
|
|
561
|
-
let firstCleanupError;
|
|
562
|
-
for (const holderHandleId of input.holderHandleIds) try {
|
|
563
|
-
await destroyLinkedDeviceEcdsaHolderMaterialWasm({
|
|
564
|
-
holderHandleId,
|
|
565
|
-
workerCtx: input.workerCtx
|
|
566
|
-
});
|
|
567
|
-
} catch (error) {
|
|
568
|
-
if (!cleanupFailed) {
|
|
569
|
-
cleanupFailed = true;
|
|
570
|
-
firstCleanupError = error;
|
|
571
|
-
}
|
|
572
|
-
}
|
|
573
|
-
if (cleanupFailed) throw firstCleanupError;
|
|
574
|
-
}
|
|
575
|
-
async function clearLinkedDeviceEcdsaHolderMaterialsWasm(input) {
|
|
576
|
-
await disposeLinkedDeviceEcdsaHolderMaterialsWasm({
|
|
577
|
-
disposal: { kind: "all" },
|
|
578
|
-
workerCtx: input.workerCtx
|
|
579
|
-
});
|
|
580
|
-
}
|
|
581
|
-
async function thresholdEcdsaRoleLocalPresignSessionStepWasm(input) {
|
|
582
|
-
const incomingMessages = input.incomingMessages.map((entry) => entry.slice());
|
|
583
|
-
const transfer = incomingMessages.map((entry) => entry.buffer);
|
|
584
|
-
const response = await requestEcdsaPresignOperation({
|
|
585
|
-
workerCtx: input.workerCtx,
|
|
586
|
-
request: {
|
|
587
|
-
type: EcdsaPresignClientRequestType.SessionStep,
|
|
588
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
589
|
-
payload: {
|
|
590
|
-
sessionId: input.sessionId,
|
|
591
|
-
stage: input.stage,
|
|
592
|
-
incomingMessages: incomingMessages.map((entry) => entry.buffer)
|
|
593
|
-
},
|
|
594
|
-
transfer
|
|
595
|
-
}
|
|
596
|
-
});
|
|
597
|
-
if (response.type !== EcdsaPresignClientResponseType.SessionStepSuccess) throw new Error("ThresholdEcdsaRoleLocalPresignSessionStep failed");
|
|
598
|
-
return asEcdsaDerivationPresignProgress(response.payload);
|
|
599
|
-
}
|
|
600
|
-
async function thresholdEcdsaRoleLocalPresignSessionAbortWasm(input) {
|
|
601
|
-
const response = await requestEcdsaPresignOperation({
|
|
602
|
-
workerCtx: input.workerCtx,
|
|
603
|
-
request: {
|
|
604
|
-
type: EcdsaPresignClientRequestType.SessionAbort,
|
|
605
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
606
|
-
payload: { sessionId: input.sessionId }
|
|
607
|
-
}
|
|
608
|
-
});
|
|
609
|
-
if (response.type !== EcdsaPresignClientResponseType.SessionAbortSuccess) throw new Error("ThresholdEcdsaRoleLocalPresignSessionAbort failed");
|
|
610
|
-
const result = response.payload;
|
|
611
|
-
if (result.kind !== "threshold_ecdsa_presign_session_aborted" || result.sessionId !== input.sessionId) throw new Error("ThresholdEcdsaRoleLocalPresignSessionAbort returned invalid result");
|
|
612
|
-
}
|
|
613
|
-
async function thresholdEcdsaRoleLocalAdmitPresignatureWasm(input) {
|
|
614
|
-
const response = await requestEcdsaPresignOperation({
|
|
615
|
-
workerCtx: input.workerCtx,
|
|
616
|
-
request: {
|
|
617
|
-
type: EcdsaPresignClientRequestType.Admit,
|
|
618
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
619
|
-
payload: {
|
|
620
|
-
materialHandle: input.materialHandle,
|
|
621
|
-
expectedPresignatureId: input.expectedPresignatureId,
|
|
622
|
-
poolIdentity: input.poolIdentity,
|
|
623
|
-
admissionMode: input.admissionMode
|
|
624
|
-
}
|
|
625
|
-
}
|
|
626
|
-
});
|
|
627
|
-
if (response.type !== EcdsaPresignClientResponseType.AdmitSuccess) throw new Error("ThresholdEcdsaRoleLocalAdmitPresignature failed");
|
|
628
|
-
if (response.payload.kind !== "ecdsa_client_presignature_admitted_v1" || response.payload.materialHandle !== input.materialHandle || response.payload.presignatureId !== input.expectedPresignatureId) throw new Error("ThresholdEcdsaRoleLocalAdmitPresignature returned invalid binding");
|
|
629
|
-
return response.payload.storage;
|
|
630
|
-
}
|
|
631
|
-
async function thresholdEcdsaRoleLocalDestroyPresignatureWasm(input) {
|
|
632
|
-
const response = await requestEcdsaPresignOperation({
|
|
633
|
-
workerCtx: input.workerCtx,
|
|
634
|
-
request: {
|
|
635
|
-
type: EcdsaPresignClientRequestType.Destroy,
|
|
636
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
637
|
-
payload: {
|
|
638
|
-
materialHandle: input.materialHandle,
|
|
639
|
-
poolIdentity: input.poolIdentity
|
|
640
|
-
}
|
|
641
|
-
}
|
|
642
|
-
});
|
|
643
|
-
if (response.type !== EcdsaPresignClientResponseType.DestroySuccess) throw new Error("ThresholdEcdsaRoleLocalDestroyPresignature failed");
|
|
644
|
-
if (response.payload.kind !== "ecdsa_client_presignature_destroyed_v1" || response.payload.materialHandle !== input.materialHandle) throw new Error("ThresholdEcdsaRoleLocalDestroyPresignature returned invalid handle");
|
|
645
|
-
}
|
|
646
|
-
async function thresholdEcdsaRoleLocalReservePresignatureWasm(input) {
|
|
647
|
-
const response = await requestEcdsaPresignOperation({
|
|
648
|
-
workerCtx: input.workerCtx,
|
|
649
|
-
request: {
|
|
650
|
-
type: EcdsaPresignClientRequestType.Reserve,
|
|
651
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
652
|
-
payload: {
|
|
653
|
-
materialHandle: input.materialHandle,
|
|
654
|
-
expectedPresignatureId: input.expectedPresignatureId,
|
|
655
|
-
poolIdentity: input.poolIdentity,
|
|
656
|
-
requestBinding: input.requestBinding,
|
|
657
|
-
reservationId: input.reservationId,
|
|
658
|
-
leaseExpiresAtMs: input.leaseExpiresAtMs
|
|
659
|
-
}
|
|
660
|
-
}
|
|
661
|
-
});
|
|
662
|
-
if (response.type !== EcdsaPresignClientResponseType.ReserveSuccess) throw new Error("ThresholdEcdsaRoleLocalReservePresignature failed");
|
|
663
|
-
return response.payload;
|
|
664
|
-
}
|
|
665
|
-
async function thresholdEcdsaRoleLocalCommitPresignatureWasm(input) {
|
|
666
|
-
if ((await requestEcdsaPresignOperation({
|
|
667
|
-
workerCtx: input.workerCtx,
|
|
668
|
-
request: {
|
|
669
|
-
type: EcdsaPresignClientRequestType.Commit,
|
|
670
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
671
|
-
payload: {
|
|
672
|
-
materialHandle: input.materialHandle,
|
|
673
|
-
poolIdentity: input.poolIdentity,
|
|
674
|
-
requestBinding: input.requestBinding,
|
|
675
|
-
reservationId: input.reservationId
|
|
676
|
-
}
|
|
677
|
-
}
|
|
678
|
-
})).type !== EcdsaPresignClientResponseType.CommitSuccess) throw new Error("ThresholdEcdsaRoleLocalCommitPresignature failed");
|
|
679
|
-
}
|
|
680
|
-
async function thresholdEcdsaRoleLocalListAvailablePresignaturesWasm(input) {
|
|
681
|
-
const response = await requestEcdsaPresignOperation({
|
|
682
|
-
workerCtx: input.workerCtx,
|
|
683
|
-
request: {
|
|
684
|
-
type: EcdsaPresignClientRequestType.ListAvailable,
|
|
685
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
686
|
-
payload: { poolIdentity: input.poolIdentity }
|
|
687
|
-
}
|
|
688
|
-
});
|
|
689
|
-
if (response.type !== EcdsaPresignClientResponseType.ListAvailableSuccess) throw new Error("ThresholdEcdsaRoleLocalListAvailablePresignatures failed");
|
|
690
|
-
return response.payload.map(parseListedClientPresignature);
|
|
691
|
-
}
|
|
692
|
-
async function thresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandleWasm(input) {
|
|
693
|
-
const groupPublicKey33 = input.groupPublicKey33.slice();
|
|
694
|
-
const expectedPresignBigR33 = input.expectedPresignBigR33.slice();
|
|
695
|
-
const digest32 = input.digest32.slice();
|
|
696
|
-
const clientRerandomizationContribution32 = input.clientRerandomizationContribution32.slice();
|
|
697
|
-
const signingWorkerRerandomizationContribution32 = input.signingWorkerRerandomizationContribution32.slice();
|
|
698
|
-
const response = await requestEcdsaOnlineOperation({
|
|
699
|
-
workerCtx: input.workerCtx,
|
|
700
|
-
request: {
|
|
701
|
-
type: EcdsaOnlineClientRequestType.ComputeSignatureShare,
|
|
702
|
-
timeoutMs: ECDSA_DERIVATION_CLIENT_WORKER_TIMEOUT_MS,
|
|
703
|
-
payload: {
|
|
704
|
-
materialHandle: input.materialHandle,
|
|
705
|
-
poolIdentity: input.poolIdentity,
|
|
706
|
-
requestBinding: input.requestBinding,
|
|
707
|
-
reservationId: input.reservationId,
|
|
708
|
-
groupPublicKey33: groupPublicKey33.buffer,
|
|
709
|
-
expectedPresignBigR33: expectedPresignBigR33.buffer,
|
|
710
|
-
digest32: digest32.buffer,
|
|
711
|
-
clientRerandomizationContribution32: clientRerandomizationContribution32.buffer,
|
|
712
|
-
signingWorkerRerandomizationContribution32: signingWorkerRerandomizationContribution32.buffer
|
|
713
|
-
},
|
|
714
|
-
transfer: [
|
|
715
|
-
groupPublicKey33.buffer,
|
|
716
|
-
expectedPresignBigR33.buffer,
|
|
717
|
-
digest32.buffer,
|
|
718
|
-
clientRerandomizationContribution32.buffer,
|
|
719
|
-
signingWorkerRerandomizationContribution32.buffer
|
|
720
|
-
]
|
|
721
|
-
}
|
|
722
|
-
});
|
|
723
|
-
if (response.type !== EcdsaOnlineClientResponseType.ComputeSignatureShareSuccess) throw new Error("ThresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandle failed");
|
|
724
|
-
return new Uint8Array(response.payload);
|
|
725
|
-
}
|
|
726
|
-
//#endregion
|
|
727
|
-
//#region src/core/signingEngine/routerAb/ecdsaDerivation/httpRequest.ts
|
|
728
|
-
const DEFAULT_ROUTER_AB_ECDSA_DERIVATION_REQUEST_TIMEOUT_MS = 2e4;
|
|
729
|
-
function resolveRequestTimeoutMs(timeoutMs) {
|
|
730
|
-
const parsed = Math.floor(Number(timeoutMs));
|
|
731
|
-
if (Number.isFinite(parsed) && parsed > 0) return parsed;
|
|
732
|
-
return DEFAULT_ROUTER_AB_ECDSA_DERIVATION_REQUEST_TIMEOUT_MS;
|
|
733
|
-
}
|
|
734
|
-
function toErrorMessage(error) {
|
|
735
|
-
return String(error && typeof error === "object" && "message" in error ? error.message : error || "");
|
|
736
|
-
}
|
|
737
|
-
function createRouterAbEcdsaDerivationTimeoutError(args) {
|
|
738
|
-
return /* @__PURE__ */ new Error(`[router-ab-ecdsa-derivation] ${args.operation} request timed out after ${args.timeoutMs}ms`);
|
|
739
|
-
}
|
|
740
|
-
async function fetchRouterAbEcdsaDerivationJson(args) {
|
|
741
|
-
const timeoutMs = resolveRequestTimeoutMs(args.timeoutMs);
|
|
742
|
-
const abortController = typeof AbortController === "function" ? new AbortController() : null;
|
|
743
|
-
const baseInit = { ...args.init };
|
|
744
|
-
let timeoutId = null;
|
|
745
|
-
let abortCleanup = null;
|
|
746
|
-
let didTimeout = false;
|
|
747
|
-
try {
|
|
748
|
-
let response;
|
|
749
|
-
if (abortController) {
|
|
750
|
-
const upstreamSignal = args.init.signal;
|
|
751
|
-
if (upstreamSignal) {
|
|
752
|
-
if (upstreamSignal.aborted) abortController.abort();
|
|
753
|
-
else if (typeof upstreamSignal.addEventListener === "function") {
|
|
754
|
-
const onAbort = () => abortController.abort();
|
|
755
|
-
upstreamSignal.addEventListener("abort", onAbort, { once: true });
|
|
756
|
-
abortCleanup = () => upstreamSignal.removeEventListener("abort", onAbort);
|
|
757
|
-
}
|
|
758
|
-
}
|
|
759
|
-
timeoutId = setTimeout(() => {
|
|
760
|
-
didTimeout = true;
|
|
761
|
-
abortController.abort();
|
|
762
|
-
}, timeoutMs);
|
|
763
|
-
response = await fetch(args.url, {
|
|
764
|
-
...baseInit,
|
|
765
|
-
signal: abortController.signal
|
|
766
|
-
});
|
|
767
|
-
} else response = await Promise.race([fetch(args.url, baseInit), new Promise((_, reject) => {
|
|
768
|
-
timeoutId = setTimeout(() => {
|
|
769
|
-
didTimeout = true;
|
|
770
|
-
reject(createRouterAbEcdsaDerivationTimeoutError({
|
|
771
|
-
operation: args.operation,
|
|
772
|
-
timeoutMs
|
|
773
|
-
}));
|
|
774
|
-
}, timeoutMs);
|
|
775
|
-
})]);
|
|
776
|
-
const data = await response.json().catch(() => ({}));
|
|
777
|
-
if (didTimeout) throw createRouterAbEcdsaDerivationTimeoutError({
|
|
778
|
-
operation: args.operation,
|
|
779
|
-
timeoutMs
|
|
780
|
-
});
|
|
781
|
-
return {
|
|
782
|
-
response,
|
|
783
|
-
data
|
|
784
|
-
};
|
|
785
|
-
} catch (error) {
|
|
786
|
-
if (didTimeout) throw createRouterAbEcdsaDerivationTimeoutError({
|
|
787
|
-
operation: args.operation,
|
|
788
|
-
timeoutMs
|
|
789
|
-
});
|
|
790
|
-
const message = toErrorMessage(error);
|
|
791
|
-
throw new Error(message || `[router-ab-ecdsa-derivation] ${args.operation} request failed`);
|
|
792
|
-
} finally {
|
|
793
|
-
if (timeoutId) clearTimeout(timeoutId);
|
|
794
|
-
abortCleanup?.();
|
|
795
|
-
}
|
|
796
|
-
}
|
|
797
|
-
//#endregion
|
|
798
|
-
//#region src/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.ts
|
|
799
|
-
const PRESIGN_EXCHANGE_TIMEOUT_MS = 5e3;
|
|
800
|
-
function presignRequestTimeoutMs(expiresAtMs, requestedMs) {
|
|
801
|
-
const remainingMs = Math.min(expiresAtMs - Date.now(), requestedMs ?? PRESIGN_EXCHANGE_TIMEOUT_MS, PRESIGN_EXCHANGE_TIMEOUT_MS);
|
|
802
|
-
return Number.isFinite(remainingMs) && remainingMs > 0 ? remainingMs : null;
|
|
803
|
-
}
|
|
804
|
-
function resolveRelayerUrl(input) {
|
|
805
|
-
return stripTrailingSlashes(normalizeTrimmedString(input)) || null;
|
|
806
|
-
}
|
|
807
|
-
function resolvePresignAuthHeaders(args) {
|
|
808
|
-
const headers = { "Content-Type": "application/json" };
|
|
809
|
-
switch (args.credential.kind) {
|
|
810
|
-
case "operation_step_up": return {
|
|
811
|
-
ok: true,
|
|
812
|
-
headers,
|
|
813
|
-
credentials: "omit"
|
|
814
|
-
};
|
|
815
|
-
case "wallet_session_opaque": {
|
|
816
|
-
const walletSessionToken = String(args.credential.walletSessionToken || "").trim();
|
|
817
|
-
if (!walletSessionToken) return {
|
|
818
|
-
ok: false,
|
|
819
|
-
code: "invalid_args",
|
|
820
|
-
message: "Missing opaque Wallet Session token for Router A/B ECDSA derivation presign pool fill"
|
|
821
|
-
};
|
|
822
|
-
headers.Authorization = `Bearer ${walletSessionToken}`;
|
|
823
|
-
return {
|
|
824
|
-
ok: true,
|
|
825
|
-
headers,
|
|
826
|
-
credentials: "omit"
|
|
827
|
-
};
|
|
828
|
-
}
|
|
829
|
-
}
|
|
830
|
-
}
|
|
831
|
-
function poolFillAuthorizationBody(input) {
|
|
832
|
-
switch (input.authorization.kind) {
|
|
833
|
-
case "reusable_wallet_session": return { authorization: input.authorization };
|
|
834
|
-
case "operation_step_up": {
|
|
835
|
-
const operation = input.operation;
|
|
836
|
-
if (!operation) throw new Error("Operation step-up pool fill requires exact operation preparation");
|
|
837
|
-
return {
|
|
838
|
-
authorization: input.authorization,
|
|
839
|
-
operation
|
|
840
|
-
};
|
|
841
|
-
}
|
|
842
|
-
}
|
|
843
|
-
}
|
|
844
|
-
function resolveRouterAbEcdsaDerivationPoolFillInitKeySelector(args) {
|
|
845
|
-
const keyHandle = String(args.keyHandle || "").trim();
|
|
846
|
-
if (!keyHandle) return {
|
|
847
|
-
ok: false,
|
|
848
|
-
code: "invalid_args",
|
|
849
|
-
message: "Missing keyHandle for Router A/B ECDSA derivation pool-fill init"
|
|
850
|
-
};
|
|
851
|
-
return {
|
|
852
|
-
ok: true,
|
|
853
|
-
value: { keyHandle }
|
|
854
|
-
};
|
|
855
|
-
}
|
|
856
|
-
async function postEcdsaPresignInit(args) {
|
|
857
|
-
const relayerUrl = resolveRelayerUrl(args.relayerUrl);
|
|
858
|
-
if (!relayerUrl) return {
|
|
859
|
-
ok: false,
|
|
860
|
-
code: "invalid_args",
|
|
861
|
-
message: "Missing relayerUrl for Router A/B ECDSA derivation pool-fill init"
|
|
862
|
-
};
|
|
863
|
-
if (typeof fetch !== "function") return {
|
|
864
|
-
ok: false,
|
|
865
|
-
code: "unsupported",
|
|
866
|
-
message: "fetch is not available for Router A/B ECDSA derivation pool-fill init"
|
|
867
|
-
};
|
|
868
|
-
const keySelector = resolveRouterAbEcdsaDerivationPoolFillInitKeySelector(args);
|
|
869
|
-
if (!keySelector.ok) return keySelector;
|
|
870
|
-
const requestTag = String(args.requestTag || "").trim();
|
|
871
|
-
const auth = resolvePresignAuthHeaders(args);
|
|
872
|
-
if (!auth.ok) return auth;
|
|
873
|
-
const timeoutMs = presignRequestTimeoutMs(args.poolFill.ceremonyExpiresAtMs, args.requestTimeoutMs);
|
|
874
|
-
if (timeoutMs === null) return {
|
|
875
|
-
ok: false,
|
|
876
|
-
code: "presign_timeout",
|
|
877
|
-
message: "Presign ceremony deadline has elapsed"
|
|
878
|
-
};
|
|
879
|
-
try {
|
|
880
|
-
const { response, data } = await fetchRouterAbEcdsaDerivationJson({
|
|
881
|
-
url: `${relayerUrl}${args.path}`,
|
|
882
|
-
operation: "presign/init",
|
|
883
|
-
timeoutMs,
|
|
884
|
-
init: {
|
|
885
|
-
method: "POST",
|
|
886
|
-
headers: auth.headers,
|
|
887
|
-
credentials: auth.credentials,
|
|
888
|
-
body: JSON.stringify({
|
|
889
|
-
...keySelector.value,
|
|
890
|
-
count: Number.isFinite(args.count) ? Math.max(1, Math.floor(Number(args.count))) : 1,
|
|
891
|
-
...requestTag ? { requestTag } : {},
|
|
892
|
-
poolFill: args.poolFill,
|
|
893
|
-
presignSessionId: args.presignSessionId,
|
|
894
|
-
firstMessageB64u: args.firstMessageB64u,
|
|
895
|
-
...poolFillAuthorizationBody(args)
|
|
896
|
-
})
|
|
897
|
-
}
|
|
898
|
-
});
|
|
899
|
-
if (typeof data.presignSessionId === "string") emitEcdsaPresignServerTiming(data.presignSessionId, "init", response.headers.get("Server-Timing"));
|
|
900
|
-
if (!response.ok) return {
|
|
901
|
-
ok: false,
|
|
902
|
-
code: data.code || "http_error",
|
|
903
|
-
message: data.message || `HTTP ${response.status}`
|
|
904
|
-
};
|
|
905
|
-
return {
|
|
906
|
-
ok: data.ok === true,
|
|
907
|
-
presignSessionId: data.presignSessionId,
|
|
908
|
-
...Number.isSafeInteger(data.ceremonyExpiresAtMs) ? { ceremonyExpiresAtMs: data.ceremonyExpiresAtMs } : {},
|
|
909
|
-
...Number.isSafeInteger(data.materialExpiresAtMs) ? { materialExpiresAtMs: data.materialExpiresAtMs } : {},
|
|
910
|
-
stage: data.stage,
|
|
911
|
-
outgoingMessagesB64u: Array.isArray(data.outgoingMessagesB64u) ? data.outgoingMessagesB64u : [],
|
|
912
|
-
...data.code ? { code: data.code } : {},
|
|
913
|
-
...data.message ? { message: data.message } : {}
|
|
914
|
-
};
|
|
915
|
-
} catch (e) {
|
|
916
|
-
return {
|
|
917
|
-
ok: false,
|
|
918
|
-
code: "network_error",
|
|
919
|
-
message: String(e && typeof e === "object" && "message" in e ? e.message : e || "Failed Router A/B ECDSA derivation pool-fill init")
|
|
920
|
-
};
|
|
921
|
-
}
|
|
922
|
-
}
|
|
923
|
-
async function routerAbEcdsaDerivationPresignaturePoolFillInit(args) {
|
|
924
|
-
return postEcdsaPresignInit({
|
|
925
|
-
...args,
|
|
926
|
-
path: ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_POOL_FILL_INIT_PATH
|
|
927
|
-
});
|
|
928
|
-
}
|
|
929
|
-
async function postEcdsaPresignStep(args) {
|
|
930
|
-
const relayerUrl = resolveRelayerUrl(args.relayerUrl);
|
|
931
|
-
if (!relayerUrl) return {
|
|
932
|
-
ok: false,
|
|
933
|
-
code: "invalid_args",
|
|
934
|
-
message: "Missing relayerUrl for Router A/B ECDSA derivation pool-fill step"
|
|
935
|
-
};
|
|
936
|
-
if (typeof fetch !== "function") return {
|
|
937
|
-
ok: false,
|
|
938
|
-
code: "unsupported",
|
|
939
|
-
message: "fetch is not available for Router A/B ECDSA derivation pool-fill step"
|
|
940
|
-
};
|
|
941
|
-
const presignSessionId = String(args.presignSessionId || "").trim();
|
|
942
|
-
if (!presignSessionId) return {
|
|
943
|
-
ok: false,
|
|
944
|
-
code: "invalid_args",
|
|
945
|
-
message: "Missing presignSessionId for Router A/B ECDSA derivation pool-fill step"
|
|
946
|
-
};
|
|
947
|
-
const requestTag = String(args.requestTag || "").trim();
|
|
948
|
-
const auth = resolvePresignAuthHeaders(args);
|
|
949
|
-
if (!auth.ok) return auth;
|
|
950
|
-
const timeoutMs = presignRequestTimeoutMs(args.ceremonyExpiresAtMs, args.requestTimeoutMs);
|
|
951
|
-
if (timeoutMs === null) return {
|
|
952
|
-
ok: false,
|
|
953
|
-
code: "presign_timeout",
|
|
954
|
-
message: "Presign ceremony deadline has elapsed"
|
|
955
|
-
};
|
|
956
|
-
try {
|
|
957
|
-
const { response, data } = await fetchRouterAbEcdsaDerivationJson({
|
|
958
|
-
url: `${relayerUrl}${args.path}`,
|
|
959
|
-
operation: "presign/step",
|
|
960
|
-
timeoutMs,
|
|
961
|
-
init: {
|
|
962
|
-
method: "POST",
|
|
963
|
-
headers: auth.headers,
|
|
964
|
-
credentials: auth.credentials,
|
|
965
|
-
body: JSON.stringify({
|
|
966
|
-
presignSessionId,
|
|
967
|
-
ceremonyExpiresAtMs: args.ceremonyExpiresAtMs,
|
|
968
|
-
materialExpiresAtMs: args.materialExpiresAtMs,
|
|
969
|
-
stage: args.stage,
|
|
970
|
-
outgoingMessagesB64u: Array.isArray(args.outgoingMessagesB64u) ? args.outgoingMessagesB64u : [],
|
|
971
|
-
...requestTag ? { requestTag } : {},
|
|
972
|
-
...poolFillAuthorizationBody(args)
|
|
973
|
-
})
|
|
974
|
-
}
|
|
975
|
-
});
|
|
976
|
-
emitEcdsaPresignServerTiming(presignSessionId, "step", response.headers.get("Server-Timing"));
|
|
977
|
-
if (!response.ok) return {
|
|
978
|
-
ok: false,
|
|
979
|
-
code: data.code || "http_error",
|
|
980
|
-
message: data.message || `HTTP ${response.status}`
|
|
981
|
-
};
|
|
982
|
-
return {
|
|
983
|
-
ok: data.ok === true,
|
|
984
|
-
stage: data.stage,
|
|
985
|
-
event: data.event,
|
|
986
|
-
outgoingMessagesB64u: Array.isArray(data.outgoingMessagesB64u) ? data.outgoingMessagesB64u : [],
|
|
987
|
-
...data.presignatureId ? { presignatureId: data.presignatureId } : {},
|
|
988
|
-
...data.bigRB64u ? { bigRB64u: data.bigRB64u } : {},
|
|
989
|
-
...data.code ? { code: data.code } : {},
|
|
990
|
-
...data.message ? { message: data.message } : {}
|
|
991
|
-
};
|
|
992
|
-
} catch (e) {
|
|
993
|
-
return {
|
|
994
|
-
ok: false,
|
|
995
|
-
code: "network_error",
|
|
996
|
-
message: String(e && typeof e === "object" && "message" in e ? e.message : e || "Failed Router A/B ECDSA derivation pool-fill step")
|
|
997
|
-
};
|
|
998
|
-
}
|
|
999
|
-
}
|
|
1000
|
-
async function routerAbEcdsaDerivationPresignaturePoolFillStep(args) {
|
|
1001
|
-
return postEcdsaPresignStep({
|
|
1002
|
-
...args,
|
|
1003
|
-
path: ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_POOL_FILL_STEP_PATH
|
|
1004
|
-
});
|
|
1005
|
-
}
|
|
1006
|
-
//#endregion
|
|
1007
|
-
//#region src/core/signingEngine/routerAb/ecdsaDerivation/presignatureRefillProgress.ts
|
|
1008
|
-
var PresignatureRefillProgressV1 = class {
|
|
1009
|
-
constructor() {
|
|
1010
|
-
this.state = {
|
|
1011
|
-
kind: "refilling",
|
|
1012
|
-
revision: 0
|
|
1013
|
-
};
|
|
1014
|
-
this.waiters = /* @__PURE__ */ new Map();
|
|
1015
|
-
}
|
|
1016
|
-
snapshot() {
|
|
1017
|
-
return this.state;
|
|
1018
|
-
}
|
|
1019
|
-
hasForegroundWaiters() {
|
|
1020
|
-
for (const priority of this.waiters.values()) if (priority === "foreground") return true;
|
|
1021
|
-
return false;
|
|
1022
|
-
}
|
|
1023
|
-
publishAvailable() {
|
|
1024
|
-
if (this.state.kind === "settled") return;
|
|
1025
|
-
this.state = {
|
|
1026
|
-
kind: "refilling",
|
|
1027
|
-
revision: this.state.revision + 1
|
|
1028
|
-
};
|
|
1029
|
-
this.flushWaiters();
|
|
1030
|
-
}
|
|
1031
|
-
settle() {
|
|
1032
|
-
if (this.state.kind === "settled") return;
|
|
1033
|
-
this.state = {
|
|
1034
|
-
kind: "settled",
|
|
1035
|
-
revision: this.state.revision
|
|
1036
|
-
};
|
|
1037
|
-
this.flushWaiters();
|
|
1038
|
-
}
|
|
1039
|
-
waitForChange(observed, priority) {
|
|
1040
|
-
if (this.state.kind === "settled" || this.state.revision !== observed.revision) return Promise.resolve(this.state);
|
|
1041
|
-
return new Promise((resolve) => {
|
|
1042
|
-
this.waiters.set(resolve, priority);
|
|
1043
|
-
if (this.state.kind === "settled" || this.state.revision !== observed.revision) {
|
|
1044
|
-
this.waiters.delete(resolve);
|
|
1045
|
-
resolve(this.state);
|
|
1046
|
-
}
|
|
1047
|
-
});
|
|
1048
|
-
}
|
|
1049
|
-
flushWaiters() {
|
|
1050
|
-
const snapshot = this.state;
|
|
1051
|
-
const waiters = [...this.waiters.keys()];
|
|
1052
|
-
this.waiters.clear();
|
|
1053
|
-
for (const waiter of waiters) waiter(snapshot);
|
|
1054
|
-
}
|
|
1055
|
-
};
|
|
1056
|
-
//#endregion
|
|
1057
|
-
//#region src/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.ts
|
|
1058
|
-
function secureRerandomizationContribution32() {
|
|
1059
|
-
const cryptoApi = globalThis.crypto;
|
|
1060
|
-
if (!cryptoApi || typeof cryptoApi.getRandomValues !== "function") throw new Error("WebCrypto getRandomValues is required for ECDSA rerandomization");
|
|
1061
|
-
return cryptoApi.getRandomValues(new Uint8Array(32));
|
|
1062
|
-
}
|
|
1063
|
-
function ecdsaPoolFillAuthorization(input) {
|
|
1064
|
-
switch (input.authorization.kind) {
|
|
1065
|
-
case "reusable_wallet_session": return { authorization: input.authorization };
|
|
1066
|
-
case "operation_step_up": {
|
|
1067
|
-
const operation = input.operation;
|
|
1068
|
-
if (!operation) throw new Error("Operation step-up pool fill requires exact operation preparation");
|
|
1069
|
-
return {
|
|
1070
|
-
authorization: input.authorization,
|
|
1071
|
-
operation
|
|
1072
|
-
};
|
|
1073
|
-
}
|
|
1074
|
-
}
|
|
1075
|
-
}
|
|
1076
|
-
function recoverableSignatureErrorMessage(error) {
|
|
1077
|
-
return String(error && typeof error === "object" && "message" in error ? error.message : error || "signature recovery failed");
|
|
1078
|
-
}
|
|
1079
|
-
function zeroizeBytes(bytes) {
|
|
1080
|
-
if (!(bytes instanceof Uint8Array)) return;
|
|
1081
|
-
bytes.fill(0);
|
|
1082
|
-
}
|
|
1083
|
-
function assertRouterAbEcdsaDerivationClientSigningMaterialSource(source) {
|
|
1084
|
-
if (source?.kind !== "router_ab_ecdsa_derivation_client_signing_material_source_v1") throw new Error("Router A/B ECDSA derivation client signing material source is required");
|
|
1085
|
-
}
|
|
1086
|
-
const MAX_HANDSHAKE_STEPS = 64;
|
|
1087
|
-
const ROUTER_AB_ECDSA_DERIVATION_SIGNING_TTL_MS = 6e4;
|
|
1088
|
-
const PRESIGN_CEREMONY_CLOCK_SKEW_MARGIN_MS = 3e4;
|
|
1089
|
-
const ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_EXPIRY_SKEW_MS = 2e3;
|
|
1090
|
-
const MAX_CLIENT_PRESIGNATURE_CLAIM_RETRIES = 4;
|
|
1091
|
-
const clientPresignaturePool = /* @__PURE__ */ new Map();
|
|
1092
|
-
const clientPresignaturePoolIdentityByPoolKey = /* @__PURE__ */ new Map();
|
|
1093
|
-
const clientPresignatureRefillInFlightByPoolKey = /* @__PURE__ */ new Map();
|
|
1094
|
-
const clientPresignatureHydrationInFlightByPoolKey = /* @__PURE__ */ new Map();
|
|
1095
|
-
const foregroundSignInFlightByPoolKey = /* @__PURE__ */ new Map();
|
|
1096
|
-
const clientPresignaturePoolGenerationByPoolKey = /* @__PURE__ */ new Map();
|
|
1097
|
-
function triplesAreComplete(stage) {
|
|
1098
|
-
return stage === "triples_done" || stage === "presign" || stage === "done";
|
|
1099
|
-
}
|
|
1100
|
-
function resolvePresignExchangeStage(input) {
|
|
1101
|
-
return triplesAreComplete(input.clientStage) && triplesAreComplete(input.serverStage) ? "presign" : "triples";
|
|
1102
|
-
}
|
|
1103
|
-
function normalizeIntInRange(value, fallback, min, max) {
|
|
1104
|
-
const n = Math.floor(Number(value));
|
|
1105
|
-
if (!Number.isFinite(n)) return fallback;
|
|
1106
|
-
if (n < min) return min;
|
|
1107
|
-
if (n > max) return max;
|
|
1108
|
-
return n;
|
|
1109
|
-
}
|
|
1110
|
-
function normalizePresignPoolTargetDepth(value, fallback) {
|
|
1111
|
-
return normalizeIntInRange(value, fallback, 1, 5);
|
|
1112
|
-
}
|
|
1113
|
-
function normalizePresignPoolLowWatermark(value, fallback, targetDepth) {
|
|
1114
|
-
return normalizeIntInRange(value, fallback, 0, targetDepth);
|
|
1115
|
-
}
|
|
1116
|
-
function resolveRouterAbEcdsaDerivationPresignaturePoolPolicy(input) {
|
|
1117
|
-
const source = input || DEFAULT_ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_POOL_POLICY;
|
|
1118
|
-
const targetDepth = normalizePresignPoolTargetDepth(source.targetDepth, DEFAULT_ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_POOL_POLICY.targetDepth);
|
|
1119
|
-
const lowWatermark = normalizePresignPoolLowWatermark(source.lowWatermark, DEFAULT_ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_POOL_POLICY.lowWatermark, targetDepth);
|
|
1120
|
-
return {
|
|
1121
|
-
enabled: typeof source.enabled === "boolean" ? source.enabled : DEFAULT_ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_POOL_POLICY.enabled,
|
|
1122
|
-
targetDepth,
|
|
1123
|
-
lowWatermark,
|
|
1124
|
-
maxRefillInFlight: normalizeIntInRange(source.maxRefillInFlight, DEFAULT_ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_POOL_POLICY.maxRefillInFlight, 1, 8),
|
|
1125
|
-
refillAttemptTimeoutMs: normalizeIntInRange(source.refillAttemptTimeoutMs, DEFAULT_ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_POOL_POLICY.refillAttemptTimeoutMs, 5e3, 12e4)
|
|
1126
|
-
};
|
|
1127
|
-
}
|
|
1128
|
-
function makeClientPresignPoolIdentity(args) {
|
|
1129
|
-
const parsedScope = parseRouterAbEcdsaDerivationNormalSigningScopeV1(args.scope);
|
|
1130
|
-
const materialActivation = args.materialActivation;
|
|
1131
|
-
return {
|
|
1132
|
-
relayerUrl: String(args.relayerUrl || "").trim().replace(/\/+$/g, ""),
|
|
1133
|
-
materialActivationB64u: base64UrlEncode(canonicalRouterAbMpcMaterialActivationRefBytes(materialActivation)),
|
|
1134
|
-
materialActivationId: materialActivation.activation_id,
|
|
1135
|
-
capability: materialActivation.capability,
|
|
1136
|
-
keyBinding: materialActivation.key_binding,
|
|
1137
|
-
walletId: parsedScope.wallet_id,
|
|
1138
|
-
signingScopeB64u: base64UrlEncode(routerAbEcdsaDerivationNormalSigningScopeCanonicalBytesV1(parsedScope)),
|
|
1139
|
-
pairRole: "client",
|
|
1140
|
-
keyEpoch: parsedScope.signing_worker.key_epoch,
|
|
1141
|
-
activationEpoch: parsedScope.activation_epoch,
|
|
1142
|
-
protocolId: FIXED_ECDSA_PRESIGN_PROTOCOL_ID
|
|
1143
|
-
};
|
|
1144
|
-
}
|
|
1145
|
-
function popClientPresignature(poolKey) {
|
|
1146
|
-
const list = clientPresignaturePool.get(poolKey);
|
|
1147
|
-
if (!list?.length) return null;
|
|
1148
|
-
const item = list.shift() ?? null;
|
|
1149
|
-
if (!list.length) clientPresignaturePool.delete(poolKey);
|
|
1150
|
-
else clientPresignaturePool.set(poolKey, list);
|
|
1151
|
-
return item;
|
|
1152
|
-
}
|
|
1153
|
-
async function takeClientPresignature(input) {
|
|
1154
|
-
await destroyExpiredClientPresignatures(input);
|
|
1155
|
-
return popClientPresignature(input.poolKey);
|
|
1156
|
-
}
|
|
1157
|
-
function pushClientPresignature(poolKey, poolIdentity, item) {
|
|
1158
|
-
if (!isClientPresignatureUsable(item)) return "invalid";
|
|
1159
|
-
const list = clientPresignaturePool.get(poolKey) || [];
|
|
1160
|
-
for (const existing of list) if (existing.materialHandle === item.materialHandle) return "duplicate";
|
|
1161
|
-
if (list.filter((entry) => isClientPresignatureUsable(entry)).length >= 5) return "capacity_full";
|
|
1162
|
-
list.push(item);
|
|
1163
|
-
clientPresignaturePool.set(poolKey, list);
|
|
1164
|
-
clientPresignaturePoolIdentityByPoolKey.set(poolKey, poolIdentity);
|
|
1165
|
-
return "stored";
|
|
1166
|
-
}
|
|
1167
|
-
function removeExpiredClientPresignatures(poolKey, nowMs = Date.now()) {
|
|
1168
|
-
const list = clientPresignaturePool.get(poolKey);
|
|
1169
|
-
if (!list?.length) return [];
|
|
1170
|
-
const live = [];
|
|
1171
|
-
const expired = [];
|
|
1172
|
-
for (const entry of list) if (isClientPresignatureUsable(entry, nowMs)) live.push(entry);
|
|
1173
|
-
else expired.push(entry);
|
|
1174
|
-
if (live.length > 0) clientPresignaturePool.set(poolKey, live);
|
|
1175
|
-
else clientPresignaturePool.delete(poolKey);
|
|
1176
|
-
return expired;
|
|
1177
|
-
}
|
|
1178
|
-
async function destroyClientPresignatureRefs(input) {
|
|
1179
|
-
for (const ref of input.refs) await input.clientSigningMaterial.destroyClientPresignature({
|
|
1180
|
-
materialHandle: ref.materialHandle,
|
|
1181
|
-
poolIdentity: input.poolIdentity,
|
|
1182
|
-
workerCtx: input.workerCtx
|
|
1183
|
-
}).catch(() => {});
|
|
1184
|
-
}
|
|
1185
|
-
async function destroyExpiredClientPresignatures(input) {
|
|
1186
|
-
await destroyClientPresignatureRefs({
|
|
1187
|
-
refs: removeExpiredClientPresignatures(input.poolKey),
|
|
1188
|
-
poolIdentity: input.poolIdentity,
|
|
1189
|
-
clientSigningMaterial: input.clientSigningMaterial,
|
|
1190
|
-
workerCtx: input.workerCtx
|
|
1191
|
-
});
|
|
1192
|
-
}
|
|
1193
|
-
async function hydrateClientPresignaturePool(input) {
|
|
1194
|
-
const existing = clientPresignatureHydrationInFlightByPoolKey.get(input.poolKey);
|
|
1195
|
-
if (existing) {
|
|
1196
|
-
await existing;
|
|
1197
|
-
return;
|
|
1198
|
-
}
|
|
1199
|
-
const hydration = runClientPresignaturePoolHydration(input);
|
|
1200
|
-
clientPresignatureHydrationInFlightByPoolKey.set(input.poolKey, hydration);
|
|
1201
|
-
try {
|
|
1202
|
-
await hydration;
|
|
1203
|
-
} finally {
|
|
1204
|
-
if (clientPresignatureHydrationInFlightByPoolKey.get(input.poolKey) === hydration) clientPresignatureHydrationInFlightByPoolKey.delete(input.poolKey);
|
|
1205
|
-
}
|
|
1206
|
-
}
|
|
1207
|
-
async function runClientPresignaturePoolHydration(input) {
|
|
1208
|
-
await destroyExpiredClientPresignatures(input);
|
|
1209
|
-
let durableRefs;
|
|
1210
|
-
durableRefs = await input.clientSigningMaterial.listAvailableClientPresignatures({
|
|
1211
|
-
poolIdentity: input.poolIdentity,
|
|
1212
|
-
workerCtx: input.workerCtx
|
|
1213
|
-
});
|
|
1214
|
-
if (getClientPresignaturePoolGeneration(input.poolKey) !== input.generation) {
|
|
1215
|
-
for (const ref of durableRefs) {
|
|
1216
|
-
zeroizeBytes(ref.bigR33);
|
|
1217
|
-
await input.clientSigningMaterial.destroyClientPresignature({
|
|
1218
|
-
materialHandle: ref.materialHandle,
|
|
1219
|
-
poolIdentity: input.poolIdentity,
|
|
1220
|
-
workerCtx: input.workerCtx
|
|
1221
|
-
}).catch(() => {});
|
|
1222
|
-
}
|
|
1223
|
-
return;
|
|
1224
|
-
}
|
|
1225
|
-
for (const ref of durableRefs) {
|
|
1226
|
-
const result = pushClientPresignature(input.poolKey, input.poolIdentity, {
|
|
1227
|
-
presignatureId: ref.presignatureId,
|
|
1228
|
-
materialHandle: ref.materialHandle,
|
|
1229
|
-
bigRB64u: base64UrlEncode(ref.bigR33),
|
|
1230
|
-
createdAtMs: ref.createdAtMs,
|
|
1231
|
-
expiresAtMs: ref.expiresAtMs
|
|
1232
|
-
});
|
|
1233
|
-
zeroizeBytes(ref.bigR33);
|
|
1234
|
-
if (result === "invalid" || result === "capacity_full") await input.clientSigningMaterial.destroyClientPresignature({
|
|
1235
|
-
materialHandle: ref.materialHandle,
|
|
1236
|
-
poolIdentity: input.poolIdentity,
|
|
1237
|
-
workerCtx: input.workerCtx
|
|
1238
|
-
}).catch(() => {});
|
|
1239
|
-
}
|
|
1240
|
-
}
|
|
1241
|
-
function getClientPresignaturePoolDepth(poolKey) {
|
|
1242
|
-
const list = clientPresignaturePool.get(poolKey);
|
|
1243
|
-
if (!list) return 0;
|
|
1244
|
-
return list.reduce((count, item) => count + (isClientPresignatureUsable(item) ? 1 : 0), 0);
|
|
1245
|
-
}
|
|
1246
|
-
function isClientPresignatureUsable(item, nowMs = Date.now()) {
|
|
1247
|
-
const expiresAtMs = Math.floor(Number(item.expiresAtMs));
|
|
1248
|
-
return Boolean(item.presignatureId && item.bigRB64u && item.materialHandle) && Number.isSafeInteger(expiresAtMs) && expiresAtMs > nowMs + ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_EXPIRY_SKEW_MS;
|
|
1249
|
-
}
|
|
1250
|
-
function getClientPresignaturePoolGeneration(poolKey) {
|
|
1251
|
-
const generation = clientPresignaturePoolGenerationByPoolKey.get(poolKey);
|
|
1252
|
-
if (generation !== void 0) return generation;
|
|
1253
|
-
clientPresignaturePoolGenerationByPoolKey.set(poolKey, 0);
|
|
1254
|
-
return 0;
|
|
1255
|
-
}
|
|
1256
|
-
function bumpClientPresignaturePoolGeneration(poolKey) {
|
|
1257
|
-
stopPresignatureMaintenance(poolKey);
|
|
1258
|
-
const nextGeneration = getClientPresignaturePoolGeneration(poolKey) + 1;
|
|
1259
|
-
clientPresignaturePoolGenerationByPoolKey.set(poolKey, nextGeneration);
|
|
1260
|
-
return nextGeneration;
|
|
1261
|
-
}
|
|
1262
|
-
async function invalidateClientPresignaturePool(input) {
|
|
1263
|
-
const refs = clientPresignaturePool.get(input.poolKey) ?? [];
|
|
1264
|
-
clientPresignaturePool.delete(input.poolKey);
|
|
1265
|
-
clientPresignaturePoolIdentityByPoolKey.delete(input.poolKey);
|
|
1266
|
-
bumpClientPresignaturePoolGeneration(input.poolKey);
|
|
1267
|
-
await destroyClientPresignatureRefs({
|
|
1268
|
-
...input,
|
|
1269
|
-
refs
|
|
1270
|
-
});
|
|
1271
|
-
}
|
|
1272
|
-
function getForegroundSignInFlightCount(poolKey) {
|
|
1273
|
-
return foregroundSignInFlightByPoolKey.get(poolKey) || 0;
|
|
1274
|
-
}
|
|
1275
|
-
function startForegroundSign(poolKey) {
|
|
1276
|
-
const current = getForegroundSignInFlightCount(poolKey);
|
|
1277
|
-
foregroundSignInFlightByPoolKey.set(poolKey, current + 1);
|
|
1278
|
-
}
|
|
1279
|
-
function finishForegroundSign(poolKey) {
|
|
1280
|
-
const current = getForegroundSignInFlightCount(poolKey);
|
|
1281
|
-
if (current <= 1) {
|
|
1282
|
-
foregroundSignInFlightByPoolKey.delete(poolKey);
|
|
1283
|
-
armPresignatureMaintenance(poolKey, 0);
|
|
1284
|
-
return;
|
|
1285
|
-
}
|
|
1286
|
-
foregroundSignInFlightByPoolKey.set(poolKey, current - 1);
|
|
1287
|
-
}
|
|
1288
|
-
async function waitForAvailablePresignatureFromInFlightRefill(poolKey, priority) {
|
|
1289
|
-
const progress = clientPresignatureRefillInFlightByPoolKey.get(poolKey);
|
|
1290
|
-
if (!progress) return;
|
|
1291
|
-
let observed = progress.snapshot();
|
|
1292
|
-
while (getClientPresignaturePoolDepth(poolKey) === 0 && observed.kind === "refilling") observed = await progress.waitForChange(observed, priority);
|
|
1293
|
-
}
|
|
1294
|
-
async function waitForRouterAbEcdsaDerivationClientPresignaturePoolReady(args) {
|
|
1295
|
-
const poolKey = ecdsaClientPresignPoolKey(makeClientPresignPoolIdentity({
|
|
1296
|
-
relayerUrl: args.relayerUrl,
|
|
1297
|
-
scope: args.scope,
|
|
1298
|
-
materialActivation: args.materialActivation
|
|
1299
|
-
}));
|
|
1300
|
-
if (getClientPresignaturePoolDepth(poolKey) > 0) return true;
|
|
1301
|
-
await waitForAvailablePresignatureFromInFlightRefill(poolKey, "background");
|
|
1302
|
-
return getClientPresignaturePoolDepth(poolKey) > 0;
|
|
1303
|
-
}
|
|
1304
|
-
function buildPresignatureRefillNotScheduledResult(reason, depth, targetDepth) {
|
|
1305
|
-
return {
|
|
1306
|
-
scheduled: false,
|
|
1307
|
-
reason,
|
|
1308
|
-
depth,
|
|
1309
|
-
targetDepth
|
|
1310
|
-
};
|
|
1311
|
-
}
|
|
1312
|
-
function clearAllRouterAbEcdsaDerivationClientPresignatures() {
|
|
1313
|
-
const invalidatedPoolKeys = new Set([
|
|
1314
|
-
...presignatureMaintenance.keys(),
|
|
1315
|
-
...clientPresignaturePool.keys(),
|
|
1316
|
-
...clientPresignatureRefillInFlightByPoolKey.keys(),
|
|
1317
|
-
...foregroundSignInFlightByPoolKey.keys(),
|
|
1318
|
-
...clientPresignaturePoolGenerationByPoolKey.keys()
|
|
1319
|
-
]);
|
|
1320
|
-
for (const poolKey of invalidatedPoolKeys) bumpClientPresignaturePoolGeneration(poolKey);
|
|
1321
|
-
clientPresignaturePool.clear();
|
|
1322
|
-
clientPresignaturePoolIdentityByPoolKey.clear();
|
|
1323
|
-
for (const progress of clientPresignatureRefillInFlightByPoolKey.values()) progress.settle();
|
|
1324
|
-
clientPresignatureRefillInFlightByPoolKey.clear();
|
|
1325
|
-
foregroundSignInFlightByPoolKey.clear();
|
|
1326
|
-
}
|
|
1327
|
-
function clearRouterAbEcdsaDerivationClientPresignaturesForWallet(walletIdInput) {
|
|
1328
|
-
const walletId = String(walletIdInput).trim();
|
|
1329
|
-
if (!walletId) throw new Error("ECDSA presignature wallet id is required");
|
|
1330
|
-
for (const [poolKey, identity] of [...clientPresignaturePoolIdentityByPoolKey]) {
|
|
1331
|
-
if (identity.walletId !== walletId) continue;
|
|
1332
|
-
clientPresignaturePool.delete(poolKey);
|
|
1333
|
-
clientPresignaturePoolIdentityByPoolKey.delete(poolKey);
|
|
1334
|
-
bumpClientPresignaturePoolGeneration(poolKey);
|
|
1335
|
-
clientPresignatureRefillInFlightByPoolKey.get(poolKey)?.settle();
|
|
1336
|
-
clientPresignatureRefillInFlightByPoolKey.delete(poolKey);
|
|
1337
|
-
foregroundSignInFlightByPoolKey.delete(poolKey);
|
|
1338
|
-
}
|
|
1339
|
-
}
|
|
1340
|
-
const presignatureMaintenance = /* @__PURE__ */ new Map();
|
|
1341
|
-
function stopPresignatureMaintenance(poolKey) {
|
|
1342
|
-
const maintenance = presignatureMaintenance.get(poolKey);
|
|
1343
|
-
if (maintenance && maintenance.timer !== null) clearTimeout(maintenance.timer);
|
|
1344
|
-
presignatureMaintenance.delete(poolKey);
|
|
1345
|
-
if (presignatureMaintenance.size === 0 && typeof window !== "undefined") {
|
|
1346
|
-
window.removeEventListener("online", resumePresignatureMaintenance);
|
|
1347
|
-
document.removeEventListener("visibilitychange", resumePresignatureMaintenance);
|
|
1348
|
-
}
|
|
1349
|
-
}
|
|
1350
|
-
function armPresignatureMaintenance(poolKey, delayMs) {
|
|
1351
|
-
const maintenance = presignatureMaintenance.get(poolKey);
|
|
1352
|
-
if (!maintenance) return;
|
|
1353
|
-
if (maintenance.timer !== null) clearTimeout(maintenance.timer);
|
|
1354
|
-
const remainingMs = maintenance.input.routerAbEcdsaDerivationPoolFill.ceremonyExpiresAtMs - Date.now();
|
|
1355
|
-
if (remainingMs <= 0 || getClientPresignaturePoolGeneration(poolKey) !== maintenance.generation) {
|
|
1356
|
-
stopPresignatureMaintenance(poolKey);
|
|
1357
|
-
return;
|
|
1358
|
-
}
|
|
1359
|
-
maintenance.timer = setTimeout(runPresignatureMaintenance, Math.min(delayMs, remainingMs), poolKey);
|
|
1360
|
-
}
|
|
1361
|
-
function resumePresignatureMaintenance() {
|
|
1362
|
-
if (typeof document !== "undefined" && document.visibilityState === "hidden") return;
|
|
1363
|
-
for (const poolKey of presignatureMaintenance.keys()) armPresignatureMaintenance(poolKey, 0);
|
|
1364
|
-
}
|
|
1365
|
-
function runPresignatureMaintenance(poolKey) {
|
|
1366
|
-
const maintenance = presignatureMaintenance.get(poolKey);
|
|
1367
|
-
if (!maintenance) return;
|
|
1368
|
-
maintenance.timer = null;
|
|
1369
|
-
if (Date.now() >= maintenance.input.routerAbEcdsaDerivationPoolFill.ceremonyExpiresAtMs) {
|
|
1370
|
-
stopPresignatureMaintenance(poolKey);
|
|
1371
|
-
return;
|
|
1372
|
-
}
|
|
1373
|
-
if (typeof navigator !== "undefined" && navigator.onLine === false) {
|
|
1374
|
-
armPresignatureMaintenance(poolKey, 3e4);
|
|
1375
|
-
return;
|
|
1376
|
-
}
|
|
1377
|
-
const result = scheduleRouterAbEcdsaDerivationClientPresignaturePoolRefill(maintenance.input);
|
|
1378
|
-
if (!result.scheduled) armPresignatureMaintenance(poolKey, result.depth >= result.targetDepth ? 3e4 : 5e3);
|
|
1379
|
-
}
|
|
1380
|
-
function rememberPresignatureMaintenance(poolKey, input) {
|
|
1381
|
-
if (input.authorization.kind !== "reusable_wallet_session") return;
|
|
1382
|
-
if (presignatureMaintenance.get(poolKey)?.input === input) return;
|
|
1383
|
-
stopPresignatureMaintenance(poolKey);
|
|
1384
|
-
if (presignatureMaintenance.size === 0 && typeof window !== "undefined") {
|
|
1385
|
-
window.addEventListener("online", resumePresignatureMaintenance);
|
|
1386
|
-
document.addEventListener("visibilitychange", resumePresignatureMaintenance);
|
|
1387
|
-
}
|
|
1388
|
-
presignatureMaintenance.set(poolKey, {
|
|
1389
|
-
input,
|
|
1390
|
-
generation: getClientPresignaturePoolGeneration(poolKey),
|
|
1391
|
-
failures: 0,
|
|
1392
|
-
timer: null
|
|
1393
|
-
});
|
|
1394
|
-
armPresignatureMaintenance(poolKey, 3e4);
|
|
1395
|
-
}
|
|
1396
|
-
function recordPresignatureRefillFailure(poolKey, attemptMaintenance, code) {
|
|
1397
|
-
const maintenance = presignatureMaintenance.get(poolKey);
|
|
1398
|
-
if (!maintenance || maintenance !== attemptMaintenance) return;
|
|
1399
|
-
switch (code) {
|
|
1400
|
-
case "network_error":
|
|
1401
|
-
case "internal":
|
|
1402
|
-
case "presign_timeout":
|
|
1403
|
-
case "temporarily_unavailable":
|
|
1404
|
-
case "service_unavailable":
|
|
1405
|
-
case "wallet_session_unavailable":
|
|
1406
|
-
maintenance.failures += 1;
|
|
1407
|
-
if (maintenance.failures <= 3) return;
|
|
1408
|
-
}
|
|
1409
|
-
stopPresignatureMaintenance(poolKey);
|
|
1410
|
-
}
|
|
1411
|
-
async function runBackgroundPresignatureRefill(input) {
|
|
1412
|
-
const { args, refillInput, poolKey, poolIdentity, scheduledGeneration, targetDepth, refillAttemptTimeoutMs, progress } = input;
|
|
1413
|
-
const attemptMaintenance = presignatureMaintenance.get(poolKey) ?? null;
|
|
1414
|
-
try {
|
|
1415
|
-
await hydrateClientPresignaturePool({
|
|
1416
|
-
poolKey,
|
|
1417
|
-
poolIdentity,
|
|
1418
|
-
clientSigningMaterial: args.clientSigningMaterial,
|
|
1419
|
-
workerCtx: args.workerCtx,
|
|
1420
|
-
generation: scheduledGeneration
|
|
1421
|
-
});
|
|
1422
|
-
if (getClientPresignaturePoolDepth(poolKey) > 0) {
|
|
1423
|
-
progress.publishAvailable();
|
|
1424
|
-
if (getForegroundSignInFlightCount(poolKey) > 0) return;
|
|
1425
|
-
}
|
|
1426
|
-
while (Date.now() < args.routerAbEcdsaDerivationPoolFill.ceremonyExpiresAtMs) {
|
|
1427
|
-
if (getClientPresignaturePoolGeneration(poolKey) !== scheduledGeneration) return;
|
|
1428
|
-
if ((presignatureMaintenance.get(poolKey) ?? null) !== attemptMaintenance) return;
|
|
1429
|
-
if (getClientPresignaturePoolDepth(poolKey) >= targetDepth) return;
|
|
1430
|
-
if (typeof navigator !== "undefined" && navigator.onLine === false) return;
|
|
1431
|
-
const attemptDeadlineAtMs = Math.min(Date.now() + refillAttemptTimeoutMs, args.routerAbEcdsaDerivationPoolFill.ceremonyExpiresAtMs);
|
|
1432
|
-
const refill = await refillRouterAbEcdsaDerivationClientPresignaturePool({
|
|
1433
|
-
...refillInput,
|
|
1434
|
-
routerAbEcdsaDerivationPoolFill: {
|
|
1435
|
-
kind: "router_ab_ecdsa_derivation_signing_worker_pool",
|
|
1436
|
-
scope: refillInput.routerAbEcdsaDerivationPoolFill.scope,
|
|
1437
|
-
ceremonyExpiresAtMs: attemptDeadlineAtMs,
|
|
1438
|
-
materialExpiresAtMs: refillInput.routerAbEcdsaDerivationPoolFill.materialExpiresAtMs
|
|
1439
|
-
},
|
|
1440
|
-
trafficClass: "background"
|
|
1441
|
-
});
|
|
1442
|
-
emitSigningSessionFlowTrace("evm-family", {
|
|
1443
|
-
event: "ecdsa_background_refill_result",
|
|
1444
|
-
authorization: args.authorization.kind,
|
|
1445
|
-
outcome: refill.ok ? "available" : "failed",
|
|
1446
|
-
code: refill.ok ? null : refill.code,
|
|
1447
|
-
depth: getClientPresignaturePoolDepth(poolKey),
|
|
1448
|
-
targetDepth
|
|
1449
|
-
});
|
|
1450
|
-
if (!refill.ok) {
|
|
1451
|
-
recordPresignatureRefillFailure(poolKey, attemptMaintenance, refill.code);
|
|
1452
|
-
return;
|
|
1453
|
-
}
|
|
1454
|
-
const maintenance = presignatureMaintenance.get(poolKey);
|
|
1455
|
-
if (maintenance && maintenance === attemptMaintenance) maintenance.failures = 0;
|
|
1456
|
-
progress.publishAvailable();
|
|
1457
|
-
if (getForegroundSignInFlightCount(poolKey) > 0) return;
|
|
1458
|
-
}
|
|
1459
|
-
} catch {
|
|
1460
|
-
recordPresignatureRefillFailure(poolKey, attemptMaintenance, "internal");
|
|
1461
|
-
} finally {
|
|
1462
|
-
progress.settle();
|
|
1463
|
-
if (clientPresignatureRefillInFlightByPoolKey.get(poolKey) === progress) clientPresignatureRefillInFlightByPoolKey.delete(poolKey);
|
|
1464
|
-
const maintenance = presignatureMaintenance.get(poolKey);
|
|
1465
|
-
if (maintenance) {
|
|
1466
|
-
let delayMs = maintenance.failures > 0 ? 2e3 * 2 ** maintenance.failures : 1e3;
|
|
1467
|
-
if (getClientPresignaturePoolDepth(poolKey) >= targetDepth) delayMs = 3e4;
|
|
1468
|
-
if (maintenance !== attemptMaintenance) delayMs = 0;
|
|
1469
|
-
armPresignatureMaintenance(poolKey, delayMs);
|
|
1470
|
-
}
|
|
1471
|
-
}
|
|
1472
|
-
}
|
|
1473
|
-
function scheduleRouterAbEcdsaDerivationClientPresignaturePoolRefill(args) {
|
|
1474
|
-
try {
|
|
1475
|
-
const policy = resolveRouterAbEcdsaDerivationPresignaturePoolPolicy(args.poolPolicy);
|
|
1476
|
-
const poolIdentity = makeClientPresignPoolIdentity({
|
|
1477
|
-
relayerUrl: args.relayerUrl,
|
|
1478
|
-
scope: args.routerAbEcdsaDerivationPoolFill.scope,
|
|
1479
|
-
materialActivation: args.materialActivation
|
|
1480
|
-
});
|
|
1481
|
-
const poolKey = ecdsaClientPresignPoolKey(poolIdentity);
|
|
1482
|
-
clientPresignaturePoolIdentityByPoolKey.set(poolKey, poolIdentity);
|
|
1483
|
-
const targetDepth = normalizePresignPoolTargetDepth(args.targetDepth, policy.targetDepth);
|
|
1484
|
-
const triggerDepth = normalizePresignPoolLowWatermark(args.triggerIfDepthAtOrBelow, policy.lowWatermark, targetDepth);
|
|
1485
|
-
const depth = getClientPresignaturePoolDepth(poolKey);
|
|
1486
|
-
const scheduledGeneration = getClientPresignaturePoolGeneration(poolKey);
|
|
1487
|
-
if (!policy.enabled) return buildPresignatureRefillNotScheduledResult("disabled", depth, targetDepth);
|
|
1488
|
-
if (args.routerAbEcdsaDerivationPoolFill.ceremonyExpiresAtMs <= Date.now()) {
|
|
1489
|
-
stopPresignatureMaintenance(poolKey);
|
|
1490
|
-
return buildPresignatureRefillNotScheduledResult("invalid_args", depth, targetDepth);
|
|
1491
|
-
}
|
|
1492
|
-
rememberPresignatureMaintenance(poolKey, args);
|
|
1493
|
-
if (depth > triggerDepth) return buildPresignatureRefillNotScheduledResult("depth_above_trigger", depth, targetDepth);
|
|
1494
|
-
if (depth >= targetDepth) return buildPresignatureRefillNotScheduledResult("depth_at_or_above_target", depth, targetDepth);
|
|
1495
|
-
if (clientPresignatureRefillInFlightByPoolKey.has(poolKey)) return buildPresignatureRefillNotScheduledResult("in_flight_for_pool_key", depth, targetDepth);
|
|
1496
|
-
if (getForegroundSignInFlightCount(poolKey) > 0) return buildPresignatureRefillNotScheduledResult("in_flight_for_pool_key", depth, targetDepth);
|
|
1497
|
-
if (clientPresignatureRefillInFlightByPoolKey.size >= policy.maxRefillInFlight) return buildPresignatureRefillNotScheduledResult("global_in_flight_limit", depth, targetDepth);
|
|
1498
|
-
const refillInput = {
|
|
1499
|
-
relayerUrl: args.relayerUrl,
|
|
1500
|
-
keyHandle: args.keyHandle,
|
|
1501
|
-
ecdsaThresholdKeyId: args.ecdsaThresholdKeyId,
|
|
1502
|
-
clientVerifyingShareB64u: args.clientVerifyingShareB64u,
|
|
1503
|
-
clientSigningMaterial: args.clientSigningMaterial,
|
|
1504
|
-
thresholdEcdsaPublicKeyB64u: args.thresholdEcdsaPublicKeyB64u,
|
|
1505
|
-
relayerVerifyingShareB64u: args.relayerVerifyingShareB64u,
|
|
1506
|
-
credential: args.credential,
|
|
1507
|
-
materialActivation: args.materialActivation,
|
|
1508
|
-
routerAbEcdsaDerivationPoolFill: args.routerAbEcdsaDerivationPoolFill,
|
|
1509
|
-
workerCtx: args.workerCtx,
|
|
1510
|
-
...ecdsaPoolFillAuthorization(args)
|
|
1511
|
-
};
|
|
1512
|
-
const progress = new PresignatureRefillProgressV1();
|
|
1513
|
-
clientPresignatureRefillInFlightByPoolKey.set(poolKey, progress);
|
|
1514
|
-
runBackgroundPresignatureRefill({
|
|
1515
|
-
args,
|
|
1516
|
-
refillInput,
|
|
1517
|
-
poolKey,
|
|
1518
|
-
poolIdentity,
|
|
1519
|
-
scheduledGeneration,
|
|
1520
|
-
targetDepth,
|
|
1521
|
-
refillAttemptTimeoutMs: policy.refillAttemptTimeoutMs,
|
|
1522
|
-
progress
|
|
1523
|
-
});
|
|
1524
|
-
return {
|
|
1525
|
-
scheduled: true,
|
|
1526
|
-
reason: "scheduled",
|
|
1527
|
-
depth,
|
|
1528
|
-
targetDepth
|
|
1529
|
-
};
|
|
1530
|
-
} catch {
|
|
1531
|
-
return buildPresignatureRefillNotScheduledResult("invalid_args", 0, 0);
|
|
1532
|
-
}
|
|
1533
|
-
}
|
|
1534
|
-
function toB64uMessages(messages) {
|
|
1535
|
-
return messages.map((entry) => base64UrlEncode(entry));
|
|
1536
|
-
}
|
|
1537
|
-
function fromB64uMessages(messagesB64u) {
|
|
1538
|
-
if (!Array.isArray(messagesB64u)) return [];
|
|
1539
|
-
return messagesB64u.map((entry) => String(entry || "").trim()).filter((entry) => Boolean(entry)).map((entry) => base64UrlDecode(entry));
|
|
1540
|
-
}
|
|
1541
|
-
async function resolveGroupPublicKey33(args) {
|
|
1542
|
-
const thresholdEcdsaPublicKeyB64u = String(args.thresholdEcdsaPublicKeyB64u || "").trim();
|
|
1543
|
-
if (thresholdEcdsaPublicKeyB64u) {
|
|
1544
|
-
const bytes = base64UrlDecode(thresholdEcdsaPublicKeyB64u);
|
|
1545
|
-
if (bytes.length !== 33) throw new Error("thresholdEcdsaPublicKeyB64u must decode to 33 bytes");
|
|
1546
|
-
return await validateSecp256k1PublicKey33Wasm({
|
|
1547
|
-
publicKey33: bytes,
|
|
1548
|
-
workerCtx: args.workerCtx
|
|
1549
|
-
});
|
|
1550
|
-
}
|
|
1551
|
-
const clientVerifyingShareB64u = String(args.clientVerifyingShareB64u || "").trim();
|
|
1552
|
-
const relayerVerifyingShareB64u = String(args.relayerVerifyingShareB64u || "").trim();
|
|
1553
|
-
if (!clientVerifyingShareB64u || !relayerVerifyingShareB64u) throw new Error("Missing thresholdEcdsaPublicKeyB64u (or relayerVerifyingShareB64u fallback) for Router A/B ECDSA derivation signing");
|
|
1554
|
-
const clientBytes = base64UrlDecode(clientVerifyingShareB64u);
|
|
1555
|
-
const relayerBytes = base64UrlDecode(relayerVerifyingShareB64u);
|
|
1556
|
-
if (clientBytes.length !== 33) throw new Error("clientVerifyingShareB64u must decode to 33 bytes");
|
|
1557
|
-
if (relayerBytes.length !== 33) throw new Error("relayerVerifyingShareB64u must decode to 33 bytes");
|
|
1558
|
-
return await addSecp256k1PublicKeys33Wasm({
|
|
1559
|
-
left33: await validateSecp256k1PublicKey33Wasm({
|
|
1560
|
-
publicKey33: clientBytes,
|
|
1561
|
-
workerCtx: args.workerCtx
|
|
1562
|
-
}),
|
|
1563
|
-
right33: await validateSecp256k1PublicKey33Wasm({
|
|
1564
|
-
publicKey33: relayerBytes,
|
|
1565
|
-
workerCtx: args.workerCtx
|
|
1566
|
-
}),
|
|
1567
|
-
workerCtx: args.workerCtx
|
|
1568
|
-
});
|
|
1569
|
-
}
|
|
1570
|
-
function presignHandshakeRequestTag(args) {
|
|
1571
|
-
if (args.trafficClass === "foreground" || clientPresignatureRefillInFlightByPoolKey.get(args.poolKey)?.hasForegroundWaiters()) return "foreground_presign_pool_refill";
|
|
1572
|
-
return "background_presign_pool_refill";
|
|
1573
|
-
}
|
|
1574
|
-
async function runPresignHandshake(args) {
|
|
1575
|
-
for (let attempt = 0; attempt < 2; attempt += 1) {
|
|
1576
|
-
const result = await runPresignHandshakeAttempt(args);
|
|
1577
|
-
if (result.ok || !isRetryablePoolFillStale(result) || attempt === 1) return result;
|
|
1578
|
-
}
|
|
1579
|
-
return {
|
|
1580
|
-
ok: false,
|
|
1581
|
-
code: "stale_session_state",
|
|
1582
|
-
message: "Router A/B ECDSA derivation pool-fill session stayed stale after retry"
|
|
1583
|
-
};
|
|
1584
|
-
}
|
|
1585
|
-
async function runPresignHandshakeAttempt(args) {
|
|
1586
|
-
assertRouterAbEcdsaDerivationClientSigningMaterialSource(args.clientSigningMaterial);
|
|
1587
|
-
const handshakeStartedAt = performance.now();
|
|
1588
|
-
const ceremonyExpiresAtMs = args.routerAbEcdsaDerivationPoolFill.ceremonyExpiresAtMs;
|
|
1589
|
-
const materialExpiresAtMs = args.routerAbEcdsaDerivationPoolFill.materialExpiresAtMs;
|
|
1590
|
-
const presignSessionId = `ecdsa-presign-v2:${ceremonyExpiresAtMs}:${base64UrlEncode(crypto.getRandomValues(new Uint8Array(32)))}`;
|
|
1591
|
-
const localSessionId = presignSessionId;
|
|
1592
|
-
const poolIdentity = makeClientPresignPoolIdentity({
|
|
1593
|
-
relayerUrl: args.relayerUrl,
|
|
1594
|
-
scope: args.routerAbEcdsaDerivationPoolFill.scope,
|
|
1595
|
-
materialActivation: args.materialActivation
|
|
1596
|
-
});
|
|
1597
|
-
let localPresignatureHandle = null;
|
|
1598
|
-
let localBigR33 = null;
|
|
1599
|
-
let serverPresignatureId = null;
|
|
1600
|
-
let serverBigRB64u = null;
|
|
1601
|
-
let serverDone = false;
|
|
1602
|
-
let clientStage = "triples";
|
|
1603
|
-
let pendingClientOutgoing = [];
|
|
1604
|
-
let shouldAbortLocalSession = true;
|
|
1605
|
-
let keepLocalMaterial = false;
|
|
1606
|
-
try {
|
|
1607
|
-
const localInit = await args.clientSigningMaterial.initClientPresignSession({
|
|
1608
|
-
sessionId: localSessionId,
|
|
1609
|
-
groupPublicKey33: args.groupPublicKey33,
|
|
1610
|
-
ceremonyExpiresAtMs,
|
|
1611
|
-
materialExpiresAtMs,
|
|
1612
|
-
poolIdentity,
|
|
1613
|
-
workerCtx: args.workerCtx
|
|
1614
|
-
});
|
|
1615
|
-
if (localInit.stage !== "triples" || localInit.outgoingMessages.length !== 1) return {
|
|
1616
|
-
ok: false,
|
|
1617
|
-
code: "presign_init_failed",
|
|
1618
|
-
message: "Client presign init must emit exactly one first message"
|
|
1619
|
-
};
|
|
1620
|
-
clientStage = localInit.stage;
|
|
1621
|
-
const init = await routerAbEcdsaDerivationPresignaturePoolFillInit({
|
|
1622
|
-
relayerUrl: args.relayerUrl,
|
|
1623
|
-
...args.poolFillInitKeySelector,
|
|
1624
|
-
count: 1,
|
|
1625
|
-
presignSessionId,
|
|
1626
|
-
firstMessageB64u: base64UrlEncode(localInit.outgoingMessages[0]),
|
|
1627
|
-
credential: args.credential,
|
|
1628
|
-
requestTag: presignHandshakeRequestTag(args),
|
|
1629
|
-
poolFill: args.routerAbEcdsaDerivationPoolFill,
|
|
1630
|
-
...ecdsaPoolFillAuthorization(args)
|
|
1631
|
-
});
|
|
1632
|
-
if (!init.ok) return {
|
|
1633
|
-
ok: false,
|
|
1634
|
-
code: init.code || "presign_init_failed",
|
|
1635
|
-
message: init.message || "Presign initialization failed"
|
|
1636
|
-
};
|
|
1637
|
-
if (init.presignSessionId !== presignSessionId || init.ceremonyExpiresAtMs !== ceremonyExpiresAtMs || init.materialExpiresAtMs !== materialExpiresAtMs || ceremonyExpiresAtMs <= Date.now()) return {
|
|
1638
|
-
ok: false,
|
|
1639
|
-
code: "invalid_pool_fill_expiry",
|
|
1640
|
-
message: "Presign initialization changed the bound identity or deadlines"
|
|
1641
|
-
};
|
|
1642
|
-
let serverStage = init.stage || "triples";
|
|
1643
|
-
let pendingServerOutgoing = fromB64uMessages(init.outgoingMessagesB64u);
|
|
1644
|
-
for (let i = 0; i < MAX_HANDSHAKE_STEPS; i++) {
|
|
1645
|
-
if (pendingServerOutgoing.length > 0 && !localPresignatureHandle) {
|
|
1646
|
-
const localStepped = await args.clientSigningMaterial.stepClientPresignSession({
|
|
1647
|
-
sessionId: localSessionId,
|
|
1648
|
-
stage: resolvePresignExchangeStage({
|
|
1649
|
-
clientStage,
|
|
1650
|
-
serverStage
|
|
1651
|
-
}),
|
|
1652
|
-
incomingMessages: pendingServerOutgoing,
|
|
1653
|
-
workerCtx: args.workerCtx
|
|
1654
|
-
});
|
|
1655
|
-
clientStage = localStepped.stage;
|
|
1656
|
-
pendingServerOutgoing = [];
|
|
1657
|
-
pendingClientOutgoing.push(...localStepped.outgoingMessages);
|
|
1658
|
-
if (localStepped.presignatureHandle && localStepped.presignatureBigR33) {
|
|
1659
|
-
localPresignatureHandle = localStepped.presignatureHandle;
|
|
1660
|
-
localBigR33 = localStepped.presignatureBigR33;
|
|
1661
|
-
}
|
|
1662
|
-
}
|
|
1663
|
-
if (!serverDone) {
|
|
1664
|
-
const roundStartedAt = performance.now();
|
|
1665
|
-
const requestTag = presignHandshakeRequestTag(args);
|
|
1666
|
-
const stepArgs = {
|
|
1667
|
-
relayerUrl: args.relayerUrl,
|
|
1668
|
-
presignSessionId,
|
|
1669
|
-
ceremonyExpiresAtMs,
|
|
1670
|
-
materialExpiresAtMs,
|
|
1671
|
-
stage: resolvePresignExchangeStage({
|
|
1672
|
-
clientStage,
|
|
1673
|
-
serverStage
|
|
1674
|
-
}),
|
|
1675
|
-
outgoingMessagesB64u: toB64uMessages(pendingClientOutgoing),
|
|
1676
|
-
credential: args.credential,
|
|
1677
|
-
requestTag,
|
|
1678
|
-
...ecdsaPoolFillAuthorization(args)
|
|
1679
|
-
};
|
|
1680
|
-
const stepped = await routerAbEcdsaDerivationPresignaturePoolFillStep(stepArgs);
|
|
1681
|
-
emitSigningSessionFlowTrace("evm-family", {
|
|
1682
|
-
event: "ecdsa_presignature_round",
|
|
1683
|
-
requestTag,
|
|
1684
|
-
presignSessionId,
|
|
1685
|
-
authorization: args.authorization.kind,
|
|
1686
|
-
round: i,
|
|
1687
|
-
stage: stepArgs.stage,
|
|
1688
|
-
durationMs: performance.now() - roundStartedAt,
|
|
1689
|
-
outcome: stepped.ok ? "succeeded" : "failed"
|
|
1690
|
-
});
|
|
1691
|
-
pendingClientOutgoing = [];
|
|
1692
|
-
if (!stepped.ok) return {
|
|
1693
|
-
ok: false,
|
|
1694
|
-
code: stepped.code || "presign_step_failed",
|
|
1695
|
-
message: stepped.message || "Router A/B ECDSA derivation pool-fill step failed"
|
|
1696
|
-
};
|
|
1697
|
-
pendingServerOutgoing = fromB64uMessages(stepped.outgoingMessagesB64u);
|
|
1698
|
-
serverStage = stepped.stage || serverStage;
|
|
1699
|
-
if (stepped.event === "presign_done") {
|
|
1700
|
-
serverPresignatureId = String(stepped.presignatureId || "").trim() || null;
|
|
1701
|
-
serverBigRB64u = String(stepped.bigRB64u || "").trim() || null;
|
|
1702
|
-
serverDone = true;
|
|
1703
|
-
}
|
|
1704
|
-
}
|
|
1705
|
-
if (localPresignatureHandle && localBigR33 && serverPresignatureId && serverBigRB64u) break;
|
|
1706
|
-
}
|
|
1707
|
-
if (!localPresignatureHandle || !localBigR33) return {
|
|
1708
|
-
ok: false,
|
|
1709
|
-
code: "presign_timeout",
|
|
1710
|
-
message: "Client presign session did not reach done state"
|
|
1711
|
-
};
|
|
1712
|
-
if (!serverPresignatureId || !serverBigRB64u) return {
|
|
1713
|
-
ok: false,
|
|
1714
|
-
code: "presign_timeout",
|
|
1715
|
-
message: "Server presign session did not reach done state"
|
|
1716
|
-
};
|
|
1717
|
-
if (localBigR33.length !== 33) return {
|
|
1718
|
-
ok: false,
|
|
1719
|
-
code: "internal",
|
|
1720
|
-
message: `Invalid local presignature bigR bytes (expected 33, got ${localBigR33.length})`
|
|
1721
|
-
};
|
|
1722
|
-
try {
|
|
1723
|
-
const createdAtMs = Date.now();
|
|
1724
|
-
const localBigRB64u = base64UrlEncode(localBigR33);
|
|
1725
|
-
if (localBigRB64u !== serverBigRB64u) return {
|
|
1726
|
-
ok: false,
|
|
1727
|
-
code: "presign_mismatch",
|
|
1728
|
-
message: "Client/server presignature mismatch (bigR mismatch)"
|
|
1729
|
-
};
|
|
1730
|
-
const admission = await args.clientSigningMaterial.admitClientPresignature({
|
|
1731
|
-
materialHandle: localPresignatureHandle,
|
|
1732
|
-
expectedPresignatureId: serverPresignatureId,
|
|
1733
|
-
poolIdentity,
|
|
1734
|
-
admissionMode: args.authorization.kind === "operation_step_up" ? "resident" : "durable",
|
|
1735
|
-
workerCtx: args.workerCtx
|
|
1736
|
-
});
|
|
1737
|
-
if (admission.kind === "discarded_capacity") return {
|
|
1738
|
-
ok: false,
|
|
1739
|
-
code: "pool_full",
|
|
1740
|
-
message: "Router A/B ECDSA derivation client presignature pool is full"
|
|
1741
|
-
};
|
|
1742
|
-
if (admission.kind === "discarded_ambiguous") return {
|
|
1743
|
-
ok: false,
|
|
1744
|
-
code: "presign_failed",
|
|
1745
|
-
message: "Router A/B ECDSA derivation client presignature admission was ambiguous"
|
|
1746
|
-
};
|
|
1747
|
-
keepLocalMaterial = true;
|
|
1748
|
-
shouldAbortLocalSession = false;
|
|
1749
|
-
return {
|
|
1750
|
-
ok: true,
|
|
1751
|
-
kind: "available",
|
|
1752
|
-
presignature: {
|
|
1753
|
-
presignatureId: serverPresignatureId,
|
|
1754
|
-
bigRB64u: localBigRB64u,
|
|
1755
|
-
materialHandle: localPresignatureHandle,
|
|
1756
|
-
createdAtMs,
|
|
1757
|
-
expiresAtMs: materialExpiresAtMs
|
|
1758
|
-
}
|
|
1759
|
-
};
|
|
1760
|
-
} finally {
|
|
1761
|
-
zeroizeBytes(localBigR33);
|
|
1762
|
-
}
|
|
1763
|
-
} catch (e) {
|
|
1764
|
-
return {
|
|
1765
|
-
ok: false,
|
|
1766
|
-
code: "presign_failed",
|
|
1767
|
-
message: String(e && typeof e === "object" && "message" in e ? e.message : e || "Router A/B ECDSA derivation pool-fill handshake failed")
|
|
1768
|
-
};
|
|
1769
|
-
} finally {
|
|
1770
|
-
emitSigningSessionFlowTrace("evm-family", {
|
|
1771
|
-
event: "ecdsa_presignature_generation",
|
|
1772
|
-
requestTag: presignHandshakeRequestTag(args),
|
|
1773
|
-
presignSessionId,
|
|
1774
|
-
authorization: args.authorization.kind,
|
|
1775
|
-
durationMs: performance.now() - handshakeStartedAt,
|
|
1776
|
-
outcome: keepLocalMaterial ? "available" : "failed"
|
|
1777
|
-
});
|
|
1778
|
-
zeroizeBytes(localBigR33);
|
|
1779
|
-
if (!keepLocalMaterial && localPresignatureHandle) await args.clientSigningMaterial.destroyClientPresignature({
|
|
1780
|
-
materialHandle: localPresignatureHandle,
|
|
1781
|
-
poolIdentity,
|
|
1782
|
-
workerCtx: args.workerCtx
|
|
1783
|
-
}).catch(() => {});
|
|
1784
|
-
if (shouldAbortLocalSession) await args.clientSigningMaterial.abortClientPresignSession({
|
|
1785
|
-
sessionId: localSessionId,
|
|
1786
|
-
workerCtx: args.workerCtx
|
|
1787
|
-
}).catch(() => {});
|
|
1788
|
-
}
|
|
1789
|
-
}
|
|
1790
|
-
function isRetryablePoolFillStale(result) {
|
|
1791
|
-
return result.code === "stale_session_state" || result.code === "stale_pool_fill_session";
|
|
1792
|
-
}
|
|
1793
|
-
function routerAbEcdsaDerivationSigningIdentityFromScope(scope) {
|
|
1794
|
-
const parsed = parseRouterAbEcdsaDerivationNormalSigningScopeV1(scope);
|
|
1795
|
-
return {
|
|
1796
|
-
ecdsaThresholdKeyId: parseEcdsaThresholdKeyId(parsed.ecdsa_threshold_key_id),
|
|
1797
|
-
clientVerifyingShareB64u: parseEcdsaClientVerifyingShareB64u(parsed.public_identity.derivation_client_share_public_key33_b64u),
|
|
1798
|
-
thresholdEcdsaPublicKeyB64u: parsed.public_identity.threshold_public_key33_b64u
|
|
1799
|
-
};
|
|
1800
|
-
}
|
|
1801
|
-
function resolveSigningRequestExpiresAtMs(input) {
|
|
1802
|
-
const materialExpiresAtMs = Math.floor(Number(input.materialExpiresAtMs));
|
|
1803
|
-
const authorizationExpiresAtMs = Number.isSafeInteger(input.authorizationExpiresAtMs) ? Math.floor(Number(input.authorizationExpiresAtMs)) : input.nowMs + ROUTER_AB_ECDSA_DERIVATION_SIGNING_TTL_MS;
|
|
1804
|
-
const expiresAtMs = Math.min(materialExpiresAtMs, authorizationExpiresAtMs, input.nowMs + ROUTER_AB_ECDSA_DERIVATION_SIGNING_TTL_MS);
|
|
1805
|
-
return Number.isSafeInteger(expiresAtMs) && expiresAtMs > input.nowMs ? expiresAtMs : null;
|
|
1806
|
-
}
|
|
1807
|
-
async function signRouterAbEcdsaDerivationDigestWithPoolHitAttempt(args, retryCount, supply) {
|
|
1808
|
-
let poolKey = null;
|
|
1809
|
-
let poolIdentity = null;
|
|
1810
|
-
let foregroundStarted = false;
|
|
1811
|
-
let presignature = null;
|
|
1812
|
-
let clientSignatureShare32 = null;
|
|
1813
|
-
let clientRerandomizationContribution32 = null;
|
|
1814
|
-
let clientPresignatureCleanupState = { kind: "unclaimed" };
|
|
1815
|
-
let poolGeneration = null;
|
|
1816
|
-
let preparationState = { kind: "before_prepare" };
|
|
1817
|
-
try {
|
|
1818
|
-
const relayerUrl = String(args.relayerUrl || "").trim().replace(/\/+$/g, "");
|
|
1819
|
-
if (!relayerUrl) return {
|
|
1820
|
-
ok: false,
|
|
1821
|
-
code: "invalid_args",
|
|
1822
|
-
message: "Missing relayerUrl for Router A/B ECDSA derivation signing"
|
|
1823
|
-
};
|
|
1824
|
-
const signingIdentity = routerAbEcdsaDerivationSigningIdentityFromScope(args.scope);
|
|
1825
|
-
if (!signingIdentity.ecdsaThresholdKeyId) return {
|
|
1826
|
-
ok: false,
|
|
1827
|
-
code: "invalid_args",
|
|
1828
|
-
message: "Missing ecdsaThresholdKeyId for Router A/B ECDSA derivation signing"
|
|
1829
|
-
};
|
|
1830
|
-
const clientVerifyingShareB64u = signingIdentity.clientVerifyingShareB64u;
|
|
1831
|
-
if (!clientVerifyingShareB64u) return {
|
|
1832
|
-
ok: false,
|
|
1833
|
-
code: "invalid_args",
|
|
1834
|
-
message: "Missing clientVerifyingShareB64u for Router A/B ECDSA derivation signing"
|
|
1835
|
-
};
|
|
1836
|
-
if (!(args.signingDigest32 instanceof Uint8Array) || args.signingDigest32.length !== 32) return {
|
|
1837
|
-
ok: false,
|
|
1838
|
-
code: "invalid_args",
|
|
1839
|
-
message: "signingDigest32 must be 32 bytes for Router A/B ECDSA derivation signing"
|
|
1840
|
-
};
|
|
1841
|
-
const publicKeyStartedAt = performance.now();
|
|
1842
|
-
const groupPublicKey33 = await resolveGroupPublicKey33({
|
|
1843
|
-
clientVerifyingShareB64u,
|
|
1844
|
-
thresholdEcdsaPublicKeyB64u: signingIdentity.thresholdEcdsaPublicKeyB64u,
|
|
1845
|
-
workerCtx: args.workerCtx
|
|
1846
|
-
});
|
|
1847
|
-
emitEcdsaSigningTiming(args.operationId, "public_key_validation", publicKeyStartedAt);
|
|
1848
|
-
poolIdentity = makeClientPresignPoolIdentity({
|
|
1849
|
-
relayerUrl,
|
|
1850
|
-
scope: args.scope,
|
|
1851
|
-
materialActivation: args.materialActivation
|
|
1852
|
-
});
|
|
1853
|
-
poolKey = ecdsaClientPresignPoolKey(poolIdentity);
|
|
1854
|
-
clientPresignaturePoolIdentityByPoolKey.set(poolKey, poolIdentity);
|
|
1855
|
-
startForegroundSign(poolKey);
|
|
1856
|
-
foregroundStarted = true;
|
|
1857
|
-
poolGeneration = getClientPresignaturePoolGeneration(poolKey);
|
|
1858
|
-
const lookupStartedAt = performance.now();
|
|
1859
|
-
presignature = await takeClientPresignature({
|
|
1860
|
-
poolKey,
|
|
1861
|
-
poolIdentity,
|
|
1862
|
-
clientSigningMaterial: args.clientSigningMaterial,
|
|
1863
|
-
workerCtx: args.workerCtx
|
|
1864
|
-
});
|
|
1865
|
-
emitEcdsaSigningTiming(args.operationId, "pool_lookup", lookupStartedAt);
|
|
1866
|
-
if (!presignature) {
|
|
1867
|
-
const restoreStartedAt = performance.now();
|
|
1868
|
-
await hydrateClientPresignaturePool({
|
|
1869
|
-
poolKey,
|
|
1870
|
-
poolIdentity,
|
|
1871
|
-
clientSigningMaterial: args.clientSigningMaterial,
|
|
1872
|
-
workerCtx: args.workerCtx,
|
|
1873
|
-
generation: poolGeneration
|
|
1874
|
-
});
|
|
1875
|
-
emitEcdsaSigningTiming(args.operationId, "pool_restore", restoreStartedAt);
|
|
1876
|
-
poolGeneration = getClientPresignaturePoolGeneration(poolKey);
|
|
1877
|
-
presignature = await takeClientPresignature({
|
|
1878
|
-
poolKey,
|
|
1879
|
-
poolIdentity,
|
|
1880
|
-
clientSigningMaterial: args.clientSigningMaterial,
|
|
1881
|
-
workerCtx: args.workerCtx
|
|
1882
|
-
});
|
|
1883
|
-
}
|
|
1884
|
-
if (!presignature) {
|
|
1885
|
-
const refillWaitStartedAt = performance.now();
|
|
1886
|
-
await waitForAvailablePresignatureFromInFlightRefill(poolKey, "foreground");
|
|
1887
|
-
emitEcdsaSigningTiming(args.operationId, "refill_wait", refillWaitStartedAt);
|
|
1888
|
-
poolGeneration = getClientPresignaturePoolGeneration(poolKey);
|
|
1889
|
-
presignature = await takeClientPresignature({
|
|
1890
|
-
poolKey,
|
|
1891
|
-
poolIdentity,
|
|
1892
|
-
clientSigningMaterial: args.clientSigningMaterial,
|
|
1893
|
-
workerCtx: args.workerCtx
|
|
1894
|
-
});
|
|
1895
|
-
}
|
|
1896
|
-
if (!presignature && supply.kind === "on_demand") {
|
|
1897
|
-
let refill = await refillRouterAbEcdsaDerivationClientPresignaturePool({
|
|
1898
|
-
...supply.refill,
|
|
1899
|
-
trafficClass: "foreground"
|
|
1900
|
-
});
|
|
1901
|
-
if (!refill.ok && refill.code === "invalidated") refill = await refillRouterAbEcdsaDerivationClientPresignaturePool({
|
|
1902
|
-
...supply.refill,
|
|
1903
|
-
trafficClass: "foreground"
|
|
1904
|
-
});
|
|
1905
|
-
if (!refill.ok && refill.code !== "pool_full") return refill;
|
|
1906
|
-
if (!refill.ok && refill.code === "pool_full") await hydrateClientPresignaturePool({
|
|
1907
|
-
poolKey,
|
|
1908
|
-
poolIdentity,
|
|
1909
|
-
clientSigningMaterial: args.clientSigningMaterial,
|
|
1910
|
-
workerCtx: args.workerCtx,
|
|
1911
|
-
generation: getClientPresignaturePoolGeneration(poolKey)
|
|
1912
|
-
});
|
|
1913
|
-
poolGeneration = getClientPresignaturePoolGeneration(poolKey);
|
|
1914
|
-
presignature = await takeClientPresignature({
|
|
1915
|
-
poolKey,
|
|
1916
|
-
poolIdentity,
|
|
1917
|
-
clientSigningMaterial: args.clientSigningMaterial,
|
|
1918
|
-
workerCtx: args.workerCtx
|
|
1919
|
-
});
|
|
1920
|
-
}
|
|
1921
|
-
emitSigningSessionFlowTrace("evm-family", {
|
|
1922
|
-
event: "ecdsa_presignature_selection",
|
|
1923
|
-
operationId: args.operationId,
|
|
1924
|
-
authorization: args.authorization.kind,
|
|
1925
|
-
outcome: presignature ? "available" : "empty",
|
|
1926
|
-
remainingDepth: getClientPresignaturePoolDepth(poolKey),
|
|
1927
|
-
attempt: retryCount
|
|
1928
|
-
});
|
|
1929
|
-
if (!presignature) return {
|
|
1930
|
-
ok: false,
|
|
1931
|
-
code: "pool_empty",
|
|
1932
|
-
message: "Router A/B ECDSA derivation client presignature pool is empty"
|
|
1933
|
-
};
|
|
1934
|
-
const nowMs = Date.now();
|
|
1935
|
-
const expiresAtMs = resolveSigningRequestExpiresAtMs({
|
|
1936
|
-
authorizationExpiresAtMs: args.expiresAtMs,
|
|
1937
|
-
materialExpiresAtMs: presignature.expiresAtMs,
|
|
1938
|
-
nowMs
|
|
1939
|
-
});
|
|
1940
|
-
if (!expiresAtMs) return {
|
|
1941
|
-
ok: false,
|
|
1942
|
-
code: "pool_entry_expired",
|
|
1943
|
-
message: "Router A/B ECDSA derivation client presignature is expired"
|
|
1944
|
-
};
|
|
1945
|
-
if (poolGeneration !== getClientPresignaturePoolGeneration(poolKey)) return {
|
|
1946
|
-
ok: false,
|
|
1947
|
-
code: "pool_entry_unavailable",
|
|
1948
|
-
message: "Router A/B ECDSA derivation client presignature pool was invalidated before prepare"
|
|
1949
|
-
};
|
|
1950
|
-
clientRerandomizationContribution32 = secureRerandomizationContribution32();
|
|
1951
|
-
const clientRerandomizationCommitment32 = await routerAbEcdsaRerandomizationClientCommitmentV1(clientRerandomizationContribution32);
|
|
1952
|
-
const prepareRequest = buildRouterAbEcdsaDerivationEvmDigestSigningRequestV1({
|
|
1953
|
-
scope: args.scope,
|
|
1954
|
-
requestId: secureRandomId("router-ab-ecdsa-sign", 32, "Router A/B ECDSA derivation sign request"),
|
|
1955
|
-
operationId: args.operationId,
|
|
1956
|
-
operationDigests: args.operationDigests,
|
|
1957
|
-
authorization: args.authorization,
|
|
1958
|
-
materialActivation: args.materialActivation,
|
|
1959
|
-
clientPresignatureId: presignature.presignatureId,
|
|
1960
|
-
expiresAtMs,
|
|
1961
|
-
signingDigest32: args.signingDigest32,
|
|
1962
|
-
clientRerandomizationCommitment32
|
|
1963
|
-
});
|
|
1964
|
-
zeroizeBytes(clientRerandomizationCommitment32);
|
|
1965
|
-
const reservationId = secureRandomId("router-ab-ecdsa-reservation", 32, "Router A/B ECDSA Client presignature reservation");
|
|
1966
|
-
clientPresignatureCleanupState = { kind: "destroy" };
|
|
1967
|
-
const reserveStartedAt = performance.now();
|
|
1968
|
-
const reservation = await args.clientSigningMaterial.reserveClientPresignature({
|
|
1969
|
-
materialHandle: presignature.materialHandle,
|
|
1970
|
-
expectedPresignatureId: presignature.presignatureId,
|
|
1971
|
-
poolIdentity,
|
|
1972
|
-
requestBinding: prepareRequest.request_id,
|
|
1973
|
-
reservationId,
|
|
1974
|
-
leaseExpiresAtMs: prepareRequest.expires_at_ms,
|
|
1975
|
-
workerCtx: args.workerCtx
|
|
1976
|
-
});
|
|
1977
|
-
emitEcdsaSigningTiming(args.operationId, "presignature_reserve", reserveStartedAt);
|
|
1978
|
-
if (reservation.kind === "unavailable") {
|
|
1979
|
-
if (reservation.reason === "claimed_elsewhere") clientPresignatureCleanupState = { kind: "owned_elsewhere" };
|
|
1980
|
-
if (retryCount < MAX_CLIENT_PRESIGNATURE_CLAIM_RETRIES) return await signRouterAbEcdsaDerivationDigestWithPoolHitAttempt(args, retryCount + 1, supply);
|
|
1981
|
-
return {
|
|
1982
|
-
ok: false,
|
|
1983
|
-
code: reservation.reason === "expired" ? "pool_entry_expired" : "pool_entry_unavailable",
|
|
1984
|
-
message: `Router A/B ECDSA derivation client presignature is unavailable: ${reservation.reason}`
|
|
1985
|
-
};
|
|
1986
|
-
}
|
|
1987
|
-
if (poolGeneration !== getClientPresignaturePoolGeneration(poolKey)) return {
|
|
1988
|
-
ok: false,
|
|
1989
|
-
code: "pool_entry_unavailable",
|
|
1990
|
-
message: "Router A/B ECDSA derivation client presignature pool was invalidated before prepare"
|
|
1991
|
-
};
|
|
1992
|
-
preparationState = { kind: "prepare_submitted" };
|
|
1993
|
-
const prepareStartedAt = performance.now();
|
|
1994
|
-
const prepareResponse = await prepareRouterAbEcdsaDerivationEvmDigestSigningV1({
|
|
1995
|
-
relayServerUrl: relayerUrl,
|
|
1996
|
-
credential: args.credential,
|
|
1997
|
-
request: prepareRequest,
|
|
1998
|
-
onServerTiming: emitEcdsaServerTiming.bind(void 0, args.operationId, "prepare")
|
|
1999
|
-
});
|
|
2000
|
-
emitEcdsaSigningTiming(args.operationId, "prepare", prepareStartedAt);
|
|
2001
|
-
if (prepareResponse.server_big_r33_b64u !== presignature.bigRB64u) return {
|
|
2002
|
-
ok: false,
|
|
2003
|
-
code: "presign_mismatch",
|
|
2004
|
-
message: "Router A/B ECDSA derivation SigningWorker returned a different presignature bigR"
|
|
2005
|
-
};
|
|
2006
|
-
const commitStartedAt = performance.now();
|
|
2007
|
-
await args.clientSigningMaterial.commitClientPresignature({
|
|
2008
|
-
materialHandle: presignature.materialHandle,
|
|
2009
|
-
poolIdentity,
|
|
2010
|
-
requestBinding: prepareRequest.request_id,
|
|
2011
|
-
reservationId,
|
|
2012
|
-
workerCtx: args.workerCtx
|
|
2013
|
-
});
|
|
2014
|
-
emitEcdsaSigningTiming(args.operationId, "presignature_commit", commitStartedAt);
|
|
2015
|
-
const bigR33 = base64UrlDecode(presignature.bigRB64u);
|
|
2016
|
-
const signingWorkerRerandomizationContribution32 = base64UrlDecode(prepareResponse.signing_worker_rerandomization_contribution32_b64u);
|
|
2017
|
-
try {
|
|
2018
|
-
if (bigR33.length !== 33) return {
|
|
2019
|
-
ok: false,
|
|
2020
|
-
code: "internal",
|
|
2021
|
-
message: "Router A/B ECDSA derivation presign bigR must decode to 33 bytes"
|
|
2022
|
-
};
|
|
2023
|
-
if (signingWorkerRerandomizationContribution32.length !== 32) return {
|
|
2024
|
-
ok: false,
|
|
2025
|
-
code: "internal",
|
|
2026
|
-
message: "Router A/B ECDSA derivation SigningWorker rerandomization contribution must decode to 32 bytes"
|
|
2027
|
-
};
|
|
2028
|
-
const shareStartedAt = performance.now();
|
|
2029
|
-
clientSignatureShare32 = await args.clientSigningMaterial.computeSignatureShareFromPresignatureHandle({
|
|
2030
|
-
materialHandle: presignature.materialHandle,
|
|
2031
|
-
poolIdentity,
|
|
2032
|
-
requestBinding: prepareRequest.request_id,
|
|
2033
|
-
reservationId,
|
|
2034
|
-
groupPublicKey33,
|
|
2035
|
-
expectedPresignBigR33: bigR33,
|
|
2036
|
-
digest32: args.signingDigest32,
|
|
2037
|
-
clientRerandomizationContribution32,
|
|
2038
|
-
signingWorkerRerandomizationContribution32,
|
|
2039
|
-
workerCtx: args.workerCtx
|
|
2040
|
-
});
|
|
2041
|
-
emitEcdsaSigningTiming(args.operationId, "client_share", shareStartedAt);
|
|
2042
|
-
clientPresignatureCleanupState = { kind: "consumed" };
|
|
2043
|
-
} finally {
|
|
2044
|
-
zeroizeBytes(bigR33);
|
|
2045
|
-
zeroizeBytes(signingWorkerRerandomizationContribution32);
|
|
2046
|
-
}
|
|
2047
|
-
if (clientSignatureShare32.length !== 32) return {
|
|
2048
|
-
ok: false,
|
|
2049
|
-
code: "internal",
|
|
2050
|
-
message: `Invalid Router A/B ECDSA derivation client signature share length (expected 32, got ${clientSignatureShare32.length})`
|
|
2051
|
-
};
|
|
2052
|
-
const finalizeRequest = buildRouterAbEcdsaDerivationEvmDigestSigningFinalizeRequestV1({
|
|
2053
|
-
scope: args.scope,
|
|
2054
|
-
requestId: prepareRequest.request_id,
|
|
2055
|
-
operationId: prepareRequest.operation_id,
|
|
2056
|
-
operationDigests: prepareRequest.operation_digests,
|
|
2057
|
-
authorization: args.authorization,
|
|
2058
|
-
materialActivation: args.materialActivation,
|
|
2059
|
-
expiresAtMs: prepareRequest.expires_at_ms,
|
|
2060
|
-
signingDigest32: args.signingDigest32,
|
|
2061
|
-
serverPresignatureId: prepareResponse.server_presignature_id,
|
|
2062
|
-
clientSignatureShare32,
|
|
2063
|
-
clientRerandomizationContribution32
|
|
2064
|
-
});
|
|
2065
|
-
const finalizeStartedAt = performance.now();
|
|
2066
|
-
const finalized = await finalizeRouterAbEcdsaDerivationEvmDigestSigningV1({
|
|
2067
|
-
relayServerUrl: relayerUrl,
|
|
2068
|
-
credential: args.credential,
|
|
2069
|
-
request: finalizeRequest,
|
|
2070
|
-
onServerTiming: emitEcdsaServerTiming.bind(void 0, args.operationId, "finalize")
|
|
2071
|
-
});
|
|
2072
|
-
emitEcdsaSigningTiming(args.operationId, "finalize", finalizeStartedAt);
|
|
2073
|
-
const signature65 = base64UrlDecode(finalized.signature65_b64u);
|
|
2074
|
-
if (signature65.length !== 65) return {
|
|
2075
|
-
ok: false,
|
|
2076
|
-
code: "internal",
|
|
2077
|
-
message: `Router A/B ECDSA derivation returned invalid signature length (expected 65, got ${signature65.length})`
|
|
2078
|
-
};
|
|
2079
|
-
try {
|
|
2080
|
-
const verifyStartedAt = performance.now();
|
|
2081
|
-
await verifySecp256k1RecoverableSignatureAgainstPublicKey33Wasm({
|
|
2082
|
-
digest32: args.signingDigest32,
|
|
2083
|
-
signature65,
|
|
2084
|
-
publicKey33: groupPublicKey33,
|
|
2085
|
-
workerCtx: args.workerCtx
|
|
2086
|
-
});
|
|
2087
|
-
emitEcdsaSigningTiming(args.operationId, "signature_verify", verifyStartedAt);
|
|
2088
|
-
} catch (error) {
|
|
2089
|
-
return {
|
|
2090
|
-
ok: false,
|
|
2091
|
-
code: "internal",
|
|
2092
|
-
message: `Router A/B ECDSA derivation returned a signature that does not recover to the threshold group public key: ${recoverableSignatureErrorMessage(error)}`
|
|
2093
|
-
};
|
|
2094
|
-
}
|
|
2095
|
-
return {
|
|
2096
|
-
ok: true,
|
|
2097
|
-
signature65,
|
|
2098
|
-
signature65B64u: finalized.signature65_b64u,
|
|
2099
|
-
rB64u: base64UrlEncode(signature65.slice(0, 32)),
|
|
2100
|
-
sB64u: base64UrlEncode(signature65.slice(32, 64)),
|
|
2101
|
-
recId: signature65[64]
|
|
2102
|
-
};
|
|
2103
|
-
} catch (e) {
|
|
2104
|
-
const msg = String(e && typeof e === "object" && "message" in e ? e.message : e || "Router A/B ECDSA derivation signing failed");
|
|
2105
|
-
if (e instanceof RouterAbSigningRequestError && e.code === "expired_local_request") return {
|
|
2106
|
-
ok: false,
|
|
2107
|
-
code: "pool_entry_expired",
|
|
2108
|
-
message: msg
|
|
2109
|
-
};
|
|
2110
|
-
if (poolKey && poolIdentity && poolGeneration !== null && preparationState.kind === "before_prepare" && getClientPresignaturePoolGeneration(poolKey) !== poolGeneration) {
|
|
2111
|
-
await invalidateClientPresignaturePool({
|
|
2112
|
-
poolKey,
|
|
2113
|
-
poolIdentity,
|
|
2114
|
-
clientSigningMaterial: args.clientSigningMaterial,
|
|
2115
|
-
workerCtx: args.workerCtx
|
|
2116
|
-
});
|
|
2117
|
-
return {
|
|
2118
|
-
ok: false,
|
|
2119
|
-
code: "pool_entry_unavailable",
|
|
2120
|
-
message: "Router A/B ECDSA derivation client presignature pool was invalidated before prepare"
|
|
2121
|
-
};
|
|
2122
|
-
}
|
|
2123
|
-
return {
|
|
2124
|
-
ok: false,
|
|
2125
|
-
code: "router_ab_sign_failed",
|
|
2126
|
-
message: msg
|
|
2127
|
-
};
|
|
2128
|
-
} finally {
|
|
2129
|
-
zeroizeBytes(clientSignatureShare32);
|
|
2130
|
-
zeroizeBytes(clientRerandomizationContribution32);
|
|
2131
|
-
if (presignature && poolIdentity && clientPresignatureCleanupState.kind !== "consumed" && clientPresignatureCleanupState.kind !== "owned_elsewhere") {
|
|
2132
|
-
let retainedUnclaimedEntry = false;
|
|
2133
|
-
if (clientPresignatureCleanupState.kind === "unclaimed" && poolKey && poolGeneration !== null && poolGeneration === getClientPresignaturePoolGeneration(poolKey)) {
|
|
2134
|
-
const pushResult = pushClientPresignature(poolKey, poolIdentity, presignature);
|
|
2135
|
-
retainedUnclaimedEntry = pushResult === "stored" || pushResult === "duplicate";
|
|
2136
|
-
}
|
|
2137
|
-
if (!retainedUnclaimedEntry) await args.clientSigningMaterial.destroyClientPresignature({
|
|
2138
|
-
materialHandle: presignature.materialHandle,
|
|
2139
|
-
poolIdentity,
|
|
2140
|
-
workerCtx: args.workerCtx
|
|
2141
|
-
}).catch(() => {});
|
|
2142
|
-
}
|
|
2143
|
-
if (poolKey && foregroundStarted) finishForegroundSign(poolKey);
|
|
2144
|
-
}
|
|
2145
|
-
}
|
|
2146
|
-
async function signRouterAbEcdsaDerivationDigestWithPool(args) {
|
|
2147
|
-
const signingIdentity = routerAbEcdsaDerivationSigningIdentityFromScope(args.scope);
|
|
2148
|
-
const expiresAtMs = Math.floor(Number(args.expiresAtMs));
|
|
2149
|
-
if (!Number.isSafeInteger(expiresAtMs) || expiresAtMs <= Date.now()) return {
|
|
2150
|
-
ok: false,
|
|
2151
|
-
code: "invalid_pool_fill_expiry",
|
|
2152
|
-
message: "Router A/B ECDSA derivation pool fill expiry is unavailable or expired"
|
|
2153
|
-
};
|
|
2154
|
-
const poolKey = ecdsaClientPresignPoolKey(makeClientPresignPoolIdentity({
|
|
2155
|
-
relayerUrl: args.relayerUrl,
|
|
2156
|
-
scope: args.scope,
|
|
2157
|
-
materialActivation: args.materialActivation
|
|
2158
|
-
}));
|
|
2159
|
-
startForegroundSign(poolKey);
|
|
2160
|
-
try {
|
|
2161
|
-
const supply = {
|
|
2162
|
-
kind: "on_demand",
|
|
2163
|
-
refill: {
|
|
2164
|
-
relayerUrl: args.relayerUrl,
|
|
2165
|
-
keyHandle: args.keyHandle,
|
|
2166
|
-
ecdsaThresholdKeyId: signingIdentity.ecdsaThresholdKeyId,
|
|
2167
|
-
clientVerifyingShareB64u: signingIdentity.clientVerifyingShareB64u,
|
|
2168
|
-
clientSigningMaterial: args.clientSigningMaterial,
|
|
2169
|
-
thresholdEcdsaPublicKeyB64u: signingIdentity.thresholdEcdsaPublicKeyB64u,
|
|
2170
|
-
credential: args.credential,
|
|
2171
|
-
materialActivation: args.materialActivation,
|
|
2172
|
-
routerAbEcdsaDerivationPoolFill: {
|
|
2173
|
-
kind: "router_ab_ecdsa_derivation_signing_worker_pool",
|
|
2174
|
-
scope: args.scope,
|
|
2175
|
-
ceremonyExpiresAtMs: Math.min(expiresAtMs, Date.now() + ROUTER_AB_ECDSA_PRESIGN_CEREMONY_MAX_LIFETIME_MS - PRESIGN_CEREMONY_CLOCK_SKEW_MARGIN_MS),
|
|
2176
|
-
materialExpiresAtMs: args.authorization.kind === "operation_step_up" ? expiresAtMs : Date.now() + MAX_DURABLE_CLIENT_PRESIGNATURE_LIFETIME_MS
|
|
2177
|
-
},
|
|
2178
|
-
workerCtx: args.workerCtx,
|
|
2179
|
-
...ecdsaPoolFillAuthorization(args)
|
|
2180
|
-
}
|
|
2181
|
-
};
|
|
2182
|
-
const result = await signRouterAbEcdsaDerivationDigestWithPoolHitAttempt(args, 0, supply);
|
|
2183
|
-
if (!result.ok && (result.code === "pool_entry_expired" || result.code === "pool_entry_unavailable")) return await signRouterAbEcdsaDerivationDigestWithPoolHitAttempt(args, 0, supply);
|
|
2184
|
-
return result;
|
|
2185
|
-
} finally {
|
|
2186
|
-
finishForegroundSign(poolKey);
|
|
2187
|
-
}
|
|
2188
|
-
}
|
|
2189
|
-
async function refillRouterAbEcdsaDerivationClientPresignaturePool(args) {
|
|
2190
|
-
try {
|
|
2191
|
-
const poolIdentity = makeClientPresignPoolIdentity({
|
|
2192
|
-
relayerUrl: args.relayerUrl,
|
|
2193
|
-
scope: args.routerAbEcdsaDerivationPoolFill.scope,
|
|
2194
|
-
materialActivation: args.materialActivation
|
|
2195
|
-
});
|
|
2196
|
-
const poolKey = ecdsaClientPresignPoolKey(poolIdentity);
|
|
2197
|
-
await destroyExpiredClientPresignatures({
|
|
2198
|
-
poolKey,
|
|
2199
|
-
poolIdentity,
|
|
2200
|
-
clientSigningMaterial: args.clientSigningMaterial,
|
|
2201
|
-
workerCtx: args.workerCtx
|
|
2202
|
-
});
|
|
2203
|
-
const startedGeneration = getClientPresignaturePoolGeneration(poolKey);
|
|
2204
|
-
const groupPublicKey33 = await resolveGroupPublicKey33({
|
|
2205
|
-
clientVerifyingShareB64u: args.clientVerifyingShareB64u,
|
|
2206
|
-
thresholdEcdsaPublicKeyB64u: args.thresholdEcdsaPublicKeyB64u,
|
|
2207
|
-
relayerVerifyingShareB64u: args.relayerVerifyingShareB64u,
|
|
2208
|
-
workerCtx: args.workerCtx
|
|
2209
|
-
});
|
|
2210
|
-
const generated = await runPresignHandshake({
|
|
2211
|
-
relayerUrl: args.relayerUrl,
|
|
2212
|
-
poolFillInitKeySelector: { keyHandle: formatEcdsaKeyHandleForWire(args.keyHandle) },
|
|
2213
|
-
clientSigningMaterial: args.clientSigningMaterial,
|
|
2214
|
-
groupPublicKey33,
|
|
2215
|
-
materialActivation: args.materialActivation,
|
|
2216
|
-
credential: args.credential,
|
|
2217
|
-
poolKey,
|
|
2218
|
-
trafficClass: args.trafficClass,
|
|
2219
|
-
routerAbEcdsaDerivationPoolFill: args.routerAbEcdsaDerivationPoolFill,
|
|
2220
|
-
workerCtx: args.workerCtx,
|
|
2221
|
-
...ecdsaPoolFillAuthorization(args)
|
|
2222
|
-
});
|
|
2223
|
-
if (!generated.ok) return generated;
|
|
2224
|
-
if (getClientPresignaturePoolGeneration(poolKey) !== startedGeneration) {
|
|
2225
|
-
await args.clientSigningMaterial.destroyClientPresignature({
|
|
2226
|
-
materialHandle: generated.presignature.materialHandle,
|
|
2227
|
-
poolIdentity,
|
|
2228
|
-
workerCtx: args.workerCtx
|
|
2229
|
-
}).catch(() => {});
|
|
2230
|
-
return {
|
|
2231
|
-
ok: false,
|
|
2232
|
-
code: "invalidated",
|
|
2233
|
-
message: "Router A/B ECDSA derivation presignature pool invalidated"
|
|
2234
|
-
};
|
|
2235
|
-
}
|
|
2236
|
-
const pushResult = pushClientPresignature(poolKey, poolIdentity, generated.presignature);
|
|
2237
|
-
if (pushResult === "capacity_full" || pushResult === "invalid") await args.clientSigningMaterial.destroyClientPresignature({
|
|
2238
|
-
materialHandle: generated.presignature.materialHandle,
|
|
2239
|
-
poolIdentity,
|
|
2240
|
-
workerCtx: args.workerCtx
|
|
2241
|
-
}).catch(() => {});
|
|
2242
|
-
return {
|
|
2243
|
-
ok: true,
|
|
2244
|
-
presignatureId: generated.presignature.presignatureId
|
|
2245
|
-
};
|
|
2246
|
-
} catch (e) {
|
|
2247
|
-
return {
|
|
2248
|
-
ok: false,
|
|
2249
|
-
code: "internal",
|
|
2250
|
-
message: String(e && typeof e === "object" && "message" in e ? e.message : e || "Router A/B ECDSA derivation presignature refill failed")
|
|
2251
|
-
};
|
|
2252
|
-
}
|
|
2253
|
-
}
|
|
2254
|
-
//#endregion
|
|
2255
|
-
//#region src/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.ts
|
|
2256
|
-
async function ensureRoleLocalSigningMaterialLoaded(args) {
|
|
2257
|
-
const material = args.clientShare.material;
|
|
2258
|
-
if (material.kind === "worker_loaded") return;
|
|
2259
|
-
const stored = await storeEcdsaRoleLocalSigningMaterialWasm({
|
|
2260
|
-
materialHandle: args.clientShare.handle.materialHandle,
|
|
2261
|
-
bindingDigest: args.clientShare.handle.bindingDigest,
|
|
2262
|
-
stateBlob: material.stateBlob,
|
|
2263
|
-
workerCtx: args.workerCtx
|
|
2264
|
-
});
|
|
2265
|
-
if (stored.materialHandle !== args.clientShare.handle.materialHandle || stored.bindingDigest !== args.clientShare.handle.bindingDigest) throw new Error("[multichain] ECDSA role-local worker material handle mismatch");
|
|
2266
|
-
}
|
|
2267
|
-
async function loadRouterAbEcdsaDerivationSigningMaterialSource(args) {
|
|
2268
|
-
const signerSession = args.signerSession;
|
|
2269
|
-
const clientShare = signerSession.clientShare;
|
|
2270
|
-
if (clientShare.kind === "linked_holder_worker_share") {
|
|
2271
|
-
const holderHandleId = clientShare.holderHandleId;
|
|
2272
|
-
return {
|
|
2273
|
-
signerSession,
|
|
2274
|
-
clientSigningMaterial: {
|
|
2275
|
-
kind: "router_ab_ecdsa_derivation_client_signing_material_source_v1",
|
|
2276
|
-
initClientPresignSession: async (input) => await thresholdEcdsaLinkedHolderPresignSessionInitWasm({
|
|
2277
|
-
holderHandleId,
|
|
2278
|
-
...input
|
|
2279
|
-
}),
|
|
2280
|
-
stepClientPresignSession: thresholdEcdsaRoleLocalPresignSessionStepWasm,
|
|
2281
|
-
abortClientPresignSession: thresholdEcdsaRoleLocalPresignSessionAbortWasm,
|
|
2282
|
-
admitClientPresignature: thresholdEcdsaRoleLocalAdmitPresignatureWasm,
|
|
2283
|
-
destroyClientPresignature: thresholdEcdsaRoleLocalDestroyPresignatureWasm,
|
|
2284
|
-
reserveClientPresignature: thresholdEcdsaRoleLocalReservePresignatureWasm,
|
|
2285
|
-
commitClientPresignature: thresholdEcdsaRoleLocalCommitPresignatureWasm,
|
|
2286
|
-
listAvailableClientPresignatures: thresholdEcdsaRoleLocalListAvailablePresignaturesWasm,
|
|
2287
|
-
computeSignatureShareFromPresignatureHandle: thresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandleWasm
|
|
2288
|
-
},
|
|
2289
|
-
cleanupAfterSign: async () => void 0
|
|
2290
|
-
};
|
|
2291
|
-
}
|
|
2292
|
-
const roleLocalClientShare = clientShare;
|
|
2293
|
-
return {
|
|
2294
|
-
signerSession,
|
|
2295
|
-
clientSigningMaterial: {
|
|
2296
|
-
kind: "router_ab_ecdsa_derivation_client_signing_material_source_v1",
|
|
2297
|
-
initClientPresignSession: async (input) => {
|
|
2298
|
-
await ensureRoleLocalSigningMaterialLoaded({
|
|
2299
|
-
workerCtx: args.workerCtx,
|
|
2300
|
-
clientShare: roleLocalClientShare
|
|
2301
|
-
});
|
|
2302
|
-
return await thresholdEcdsaRoleLocalPresignSessionInitFromMaterialHandleWasm({
|
|
2303
|
-
materialHandle: roleLocalClientShare.handle.materialHandle,
|
|
2304
|
-
material: roleLocalClientShare.material.kind === "worker_loaded" ? {
|
|
2305
|
-
kind: "persisted",
|
|
2306
|
-
materialRef: roleLocalClientShare.material.materialRef
|
|
2307
|
-
} : {
|
|
2308
|
-
kind: "runtime_loaded",
|
|
2309
|
-
expectedBindingDigest: roleLocalClientShare.handle.bindingDigest
|
|
2310
|
-
},
|
|
2311
|
-
...input
|
|
2312
|
-
});
|
|
2313
|
-
},
|
|
2314
|
-
stepClientPresignSession: thresholdEcdsaRoleLocalPresignSessionStepWasm,
|
|
2315
|
-
abortClientPresignSession: thresholdEcdsaRoleLocalPresignSessionAbortWasm,
|
|
2316
|
-
admitClientPresignature: thresholdEcdsaRoleLocalAdmitPresignatureWasm,
|
|
2317
|
-
destroyClientPresignature: thresholdEcdsaRoleLocalDestroyPresignatureWasm,
|
|
2318
|
-
reserveClientPresignature: thresholdEcdsaRoleLocalReservePresignatureWasm,
|
|
2319
|
-
commitClientPresignature: thresholdEcdsaRoleLocalCommitPresignatureWasm,
|
|
2320
|
-
listAvailableClientPresignatures: thresholdEcdsaRoleLocalListAvailablePresignaturesWasm,
|
|
2321
|
-
computeSignatureShareFromPresignatureHandle: thresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandleWasm
|
|
2322
|
-
},
|
|
2323
|
-
cleanupAfterSign: async () => void 0
|
|
2324
|
-
};
|
|
2325
|
-
}
|
|
2326
|
-
//#endregion
|
|
2327
|
-
//#region src/core/signingEngine/flows/signEvmFamily/signers/secp256k1.ts
|
|
2328
|
-
var secp256k1_exports = /* @__PURE__ */ __exportAll({
|
|
2329
|
-
Secp256k1Engine: () => Secp256k1Engine,
|
|
2330
|
-
buildReadySecp256k1SigningMaterial: () => buildReadySecp256k1SigningMaterial
|
|
2331
|
-
});
|
|
2332
|
-
function buildReadySecp256k1SigningMaterial(args) {
|
|
2333
|
-
const walletId = String(args.walletId || "").trim();
|
|
2334
|
-
if (!walletId) throw new Error("[multichain] Missing wallet id for ready secp256k1 signing material");
|
|
2335
|
-
const signerSession = args.signerSession;
|
|
2336
|
-
if (walletId !== String(signerSession.walletId)) throw new Error("[multichain] ready secp256k1 material wallet identity mismatch");
|
|
2337
|
-
const expiresAtMs = Math.floor(Number(args.expiresAtMs));
|
|
2338
|
-
if (!Number.isSafeInteger(expiresAtMs) || expiresAtMs <= Date.now()) throw new Error("[multichain] ready secp256k1 authorization expiry is invalid");
|
|
2339
|
-
const base = {
|
|
2340
|
-
kind: "ready_secp256k1_signing_material",
|
|
2341
|
-
walletId,
|
|
2342
|
-
signerSession,
|
|
2343
|
-
expiresAtMs,
|
|
2344
|
-
singleUseEmailOtpSession: args.singleUseEmailOtpSession
|
|
2345
|
-
};
|
|
2346
|
-
switch (args.authorization.kind) {
|
|
2347
|
-
case "reusable_wallet_session":
|
|
2348
|
-
if (args.credential.kind !== "reusable_wallet_session") throw new Error("[multichain] exact Wallet Session authorization requires its operation credential");
|
|
2349
|
-
return {
|
|
2350
|
-
...base,
|
|
2351
|
-
authorization: args.authorization,
|
|
2352
|
-
credential: args.credential
|
|
2353
|
-
};
|
|
2354
|
-
case "operation_step_up":
|
|
2355
|
-
if (!args.operationStepUpPreparation) throw new Error("[multichain] operation step-up preparation is required");
|
|
2356
|
-
return {
|
|
2357
|
-
...base,
|
|
2358
|
-
authorization: args.authorization,
|
|
2359
|
-
credential: args.credential,
|
|
2360
|
-
operationStepUpPreparation: args.operationStepUpPreparation
|
|
2361
|
-
};
|
|
2362
|
-
}
|
|
2363
|
-
}
|
|
2364
|
-
function isSecp256k1DigestSignRequest(req) {
|
|
2365
|
-
return req.kind === "digest" && req.algorithm === "secp256k1";
|
|
2366
|
-
}
|
|
2367
|
-
function requireEvmSigningOperationId(operation) {
|
|
2368
|
-
const operationId = String(operation.intent.operationId || "").trim();
|
|
2369
|
-
if (!operationId) throw new Error("[multichain] exact EVM signing operation id is required");
|
|
2370
|
-
return operationId;
|
|
2371
|
-
}
|
|
2372
|
-
function routerAbTransportCredential(credential) {
|
|
2373
|
-
switch (credential.kind) {
|
|
2374
|
-
case "reusable_wallet_session": return {
|
|
2375
|
-
kind: "wallet_session_opaque",
|
|
2376
|
-
walletSessionToken: credential.walletSessionToken
|
|
2377
|
-
};
|
|
2378
|
-
case "operation_step_up": return {
|
|
2379
|
-
kind: "wallet_session_opaque",
|
|
2380
|
-
walletSessionToken: credential.walletSessionToken
|
|
2381
|
-
};
|
|
2382
|
-
}
|
|
2383
|
-
throw new Error("[multichain] unsupported ECDSA signing credential");
|
|
2384
|
-
}
|
|
2385
|
-
function scheduleRouterAbEcdsaDerivationPostSignRefill(args) {
|
|
2386
|
-
const signerSession = args.loadedMaterial.signerSession;
|
|
2387
|
-
const publicFacts = signerSession.publicFacts;
|
|
2388
|
-
const signingMaterial = signerSession.transport.signingMaterial;
|
|
2389
|
-
const result = scheduleRouterAbEcdsaDerivationClientPresignaturePoolRefill({
|
|
2390
|
-
relayerUrl: signerSession.transport.relayerUrl,
|
|
2391
|
-
keyHandle: parseEcdsaKeyHandle(publicFacts.keyHandle),
|
|
2392
|
-
ecdsaThresholdKeyId: signingMaterial.ecdsaThresholdKeyId,
|
|
2393
|
-
clientVerifyingShareB64u: signingMaterial.clientVerifier33B64u,
|
|
2394
|
-
clientSigningMaterial: args.loadedMaterial.clientSigningMaterial,
|
|
2395
|
-
thresholdEcdsaPublicKeyB64u: publicFacts.publicKeyB64u,
|
|
2396
|
-
relayerVerifyingShareB64u: signerSession.transport.relayerVerifyingShareB64u,
|
|
2397
|
-
credential: args.credential,
|
|
2398
|
-
materialActivation: routerAbMpcMaterialActivationRefToWire(signerSession.materialActivation),
|
|
2399
|
-
routerAbEcdsaDerivationPoolFill: {
|
|
2400
|
-
kind: "router_ab_ecdsa_derivation_signing_worker_pool",
|
|
2401
|
-
scope: signerSession.routerAbEcdsaDerivationNormalSigning.state.scope,
|
|
2402
|
-
ceremonyExpiresAtMs: args.expiresAtMs,
|
|
2403
|
-
materialExpiresAtMs: Date.now() + MAX_DURABLE_CLIENT_PRESIGNATURE_LIFETIME_MS
|
|
2404
|
-
},
|
|
2405
|
-
workerCtx: args.workerCtx,
|
|
2406
|
-
authorization: args.authorization
|
|
2407
|
-
});
|
|
2408
|
-
emitSigningSessionFlowTrace("evm-family", {
|
|
2409
|
-
event: "ecdsa_post_sign_refill",
|
|
2410
|
-
operationId: args.operationId,
|
|
2411
|
-
scheduled: result.scheduled,
|
|
2412
|
-
reason: result.reason,
|
|
2413
|
-
depth: result.depth,
|
|
2414
|
-
targetDepth: result.targetDepth
|
|
2415
|
-
});
|
|
2416
|
-
}
|
|
2417
|
-
var Secp256k1Engine = class {
|
|
2418
|
-
constructor(opts) {
|
|
2419
|
-
this.algorithm = "secp256k1";
|
|
2420
|
-
this.beforeSigning = opts.beforeSigning;
|
|
2421
|
-
this.shouldAbort = opts.shouldAbort;
|
|
2422
|
-
this.workerCtx = opts.workerCtx;
|
|
2423
|
-
}
|
|
2424
|
-
async signReadySecp256k1Digest(req, material, operation, operationDigests) {
|
|
2425
|
-
const operationId = requireEvmSigningOperationId(operation);
|
|
2426
|
-
const signStartedAt = performance.now();
|
|
2427
|
-
const loadedMaterial = await loadRouterAbEcdsaDerivationSigningMaterialSource({
|
|
2428
|
-
signerSession: material.signerSession,
|
|
2429
|
-
workerCtx: this.workerCtx
|
|
2430
|
-
});
|
|
2431
|
-
emitEcdsaSigningTiming(operationId, "material_load", signStartedAt);
|
|
2432
|
-
const signerSession = loadedMaterial.signerSession;
|
|
2433
|
-
const publicFacts = signerSession.publicFacts;
|
|
2434
|
-
const signerTransport = signerSession.transport;
|
|
2435
|
-
const transportCredential = routerAbTransportCredential(material.credential);
|
|
2436
|
-
let signatureCreated = false;
|
|
2437
|
-
try {
|
|
2438
|
-
const signingInput = {
|
|
2439
|
-
relayerUrl: signerTransport.relayerUrl,
|
|
2440
|
-
scope: signerSession.routerAbEcdsaDerivationNormalSigning.state.scope,
|
|
2441
|
-
operationId,
|
|
2442
|
-
operationDigests: {
|
|
2443
|
-
lane_digest_b64u: operationDigests.laneDigest,
|
|
2444
|
-
intent_digest_b64u: operationDigests.intentDigest,
|
|
2445
|
-
display_digest_b64u: operationDigests.displayDigest
|
|
2446
|
-
},
|
|
2447
|
-
materialActivation: routerAbMpcMaterialActivationRefToWire(signerSession.materialActivation),
|
|
2448
|
-
credential: transportCredential,
|
|
2449
|
-
keyHandle: parseEcdsaKeyHandle(publicFacts.keyHandle),
|
|
2450
|
-
signingDigest32: req.digest32,
|
|
2451
|
-
clientSigningMaterial: loadedMaterial.clientSigningMaterial,
|
|
2452
|
-
expiresAtMs: material.expiresAtMs,
|
|
2453
|
-
workerCtx: this.workerCtx
|
|
2454
|
-
};
|
|
2455
|
-
this.beforeSigning?.();
|
|
2456
|
-
let signed;
|
|
2457
|
-
if (material.authorization.kind === "reusable_wallet_session") signed = await signRouterAbEcdsaDerivationDigestWithPool({
|
|
2458
|
-
...signingInput,
|
|
2459
|
-
authorization: material.authorization
|
|
2460
|
-
});
|
|
2461
|
-
else {
|
|
2462
|
-
const operationStepUpPreparation = material.operationStepUpPreparation;
|
|
2463
|
-
if (!operationStepUpPreparation) throw new Error("[multichain] operation step-up preparation is required for signing");
|
|
2464
|
-
signed = await signRouterAbEcdsaDerivationDigestWithPool({
|
|
2465
|
-
...signingInput,
|
|
2466
|
-
authorization: material.authorization,
|
|
2467
|
-
operation: operationStepUpPreparation
|
|
2468
|
-
});
|
|
2469
|
-
}
|
|
2470
|
-
if (!signed.ok) throw new Error(signed.message || signed.code || "[multichain] Router A/B ECDSA derivation signing failed");
|
|
2471
|
-
if (material.authorization.kind === "reusable_wallet_session") scheduleRouterAbEcdsaDerivationPostSignRefill({
|
|
2472
|
-
operationId,
|
|
2473
|
-
loadedMaterial,
|
|
2474
|
-
workerCtx: this.workerCtx,
|
|
2475
|
-
credential: transportCredential,
|
|
2476
|
-
expiresAtMs: material.expiresAtMs,
|
|
2477
|
-
authorization: material.authorization
|
|
2478
|
-
});
|
|
2479
|
-
else emitSigningSessionFlowTrace("evm-family", {
|
|
2480
|
-
event: "ecdsa_post_sign_refill",
|
|
2481
|
-
operationId,
|
|
2482
|
-
scheduled: false,
|
|
2483
|
-
reason: "operation_step_up"
|
|
2484
|
-
});
|
|
2485
|
-
signatureCreated = true;
|
|
2486
|
-
return signed.signature65;
|
|
2487
|
-
} finally {
|
|
2488
|
-
await loadedMaterial.cleanupAfterSign({ singleUseEmailOtpSession: material.singleUseEmailOtpSession });
|
|
2489
|
-
emitEcdsaSigningTiming(operationId, "sign_total", signStartedAt, signatureCreated ? "succeeded" : "failed");
|
|
2490
|
-
}
|
|
2491
|
-
}
|
|
2492
|
-
async signReady(req, material, operation, operationDigests) {
|
|
2493
|
-
if (!isSecp256k1DigestSignRequest(req)) throw new Error("[Secp256k1Engine] unsupported sign request");
|
|
2494
|
-
if (req.digest32.length !== 32) throw new Error("[Secp256k1Engine] digest32 must be 32 bytes");
|
|
2495
|
-
if (this.shouldAbort?.()) {
|
|
2496
|
-
const aborted = /* @__PURE__ */ new Error("Request cancelled");
|
|
2497
|
-
aborted.code = "cancelled";
|
|
2498
|
-
throw aborted;
|
|
2499
|
-
}
|
|
2500
|
-
return await this.signReadySecp256k1Digest(req, material, operation, operationDigests);
|
|
2501
|
-
}
|
|
2502
|
-
};
|
|
2503
|
-
//#endregion
|
|
2504
|
-
export { thresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandleWasm as A, SignerWorkerOperationError as B, prepareLinkedDeviceEcdsaSourceContributionWasm as C, storeLinkedDeviceEcdsaHolderMaterialWasm as D, storeEcdsaRoleLocalSigningMaterialWasm as E, thresholdEcdsaRoleLocalPresignSessionStepWasm as F, getSignerWorkerOperationCoreCode as H, thresholdEcdsaRoleLocalReservePresignatureWasm as I, verifyRouterAbEcdsaRegistrationClientProofsWasm as L, thresholdEcdsaRoleLocalListAvailablePresignaturesWasm as M, thresholdEcdsaRoleLocalPresignSessionAbortWasm as N, thresholdEcdsaRoleLocalAdmitPresignatureWasm as O, thresholdEcdsaRoleLocalPresignSessionInitFromMaterialHandleWasm as P, EcdsaDerivationClientCustomRequestType as R, prepareEcdsaClientBootstrapCommandWasm as S, signWalletRecoveryEcdsaMaterialPossessionProofWasm as T, getSignerWorkerOperationErrorCode as U, WorkerControlMessage as V, finalizeEcdsaHolderOrdinaryExportWasm as _, resolveRouterAbEcdsaDerivationPresignaturePoolPolicy as a, openEcdsaRoleLocalSigningMaterialWasm as b, clearLinkedDeviceEcdsaHolderMaterialsWasm as c, createEcdsaHolderOrdinaryExportRequestWasm as d, createRouterAbEcdsaPostRegistrationCeremonyWasm as f, finalizeEcdsaClientBootstrapCommandWasm as g, destroyLinkedDeviceEcdsaHolderMaterialsWasm as h, clearRouterAbEcdsaDerivationClientPresignaturesForWallet as i, thresholdEcdsaRoleLocalDestroyPresignatureWasm as j, thresholdEcdsaRoleLocalCommitPresignatureWasm as k, closeRouterAbEcdsaPostRegistrationCeremonyWasm as l, destroyLinkedDeviceEcdsaHolderMaterialWasm as m, secp256k1_exports as n, scheduleRouterAbEcdsaDerivationClientPresignaturePoolRefill as o, createRouterAbEcdsaRegistrationCeremonyWasm as p, clearAllRouterAbEcdsaDerivationClientPresignatures as r, waitForRouterAbEcdsaDerivationClientPresignaturePoolReady as s, buildReadySecp256k1SigningMaterial as t, closeRouterAbEcdsaRegistrationCeremonyWasm as u, finalizeRouterAbEcdsaExplicitExportWasm as v, reconcileCanonicalEcdsaActivationWasm as w, persistInitialCanonicalEcdsaActivationWasm as x, finalizeRouterAbEcdsaRegistrationActivationWasm as y, EcdsaPresignClientRequestType as z };
|